ref 8819: Extend The Algorithms Importer to Manage Many Processes as Black Boxes
https://support.d4science.org/issues/8819 Updated support git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@149342 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
658dcd6d7f
commit
2e5a551a6a
|
@ -1,10 +1,10 @@
|
|||
package org.gcube.portlets.user.statisticalalgorithmsimporter.client;
|
||||
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.maindata.WorkAreaPanel;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.resource.StatAlgoImporterResources;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.ribbon.StatAlgoImporterRibbon;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.rpc.StatAlgoImporterService;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.rpc.StatAlgoImporterServiceAsync;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.workarea.WorkAreaPanel;
|
||||
|
||||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.core.client.EntryPoint;
|
||||
|
|
|
@ -69,6 +69,7 @@ public class StatAlgoImporterController {
|
|||
callHello();
|
||||
checkSession();
|
||||
pm = new ProjectManager(eventBus);
|
||||
//pm.startProjectManager();
|
||||
bindToEvents();
|
||||
}
|
||||
|
||||
|
@ -252,7 +253,7 @@ public class StatAlgoImporterController {
|
|||
|
||||
});
|
||||
|
||||
pm.startProjectManager();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
|||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.core.shared.GWT;
|
||||
import com.google.gwt.user.client.Command;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -22,15 +23,13 @@ import com.google.gwt.user.client.Command;
|
|||
*/
|
||||
public class ProjectFolderSelectionCard extends WizardCard {
|
||||
|
||||
// private DecoratorPanel decPanel;
|
||||
|
||||
private ItemDescription newProjectFolder;
|
||||
|
||||
public ProjectFolderSelectionCard() {
|
||||
super("Project Setup", "Select the project folder");
|
||||
super("Setup", "Select the project folder");
|
||||
try {
|
||||
WorkspaceExplorerSelectPanel wselectPanel = new WorkspaceExplorerSelectPanel("Select Project Folder", true);
|
||||
|
||||
|
||||
WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() {
|
||||
|
||||
@Override
|
||||
|
@ -40,7 +39,7 @@ public class ProjectFolderSelectionCard extends WizardCard {
|
|||
createNewProjectFolder(item);
|
||||
|
||||
} else {
|
||||
newProjectFolder=null;
|
||||
newProjectFolder = null;
|
||||
GWTMessages.alert("Attention", "Select a valid project folder!", getZIndex());
|
||||
}
|
||||
|
||||
|
@ -59,13 +58,16 @@ public class ProjectFolderSelectionCard extends WizardCard {
|
|||
|
||||
@Override
|
||||
public void onNotValidSelection() {
|
||||
newProjectFolder=null;
|
||||
newProjectFolder = null;
|
||||
GWTMessages.alert("Attention", "Select a valid project folder!", getZIndex());
|
||||
}
|
||||
};
|
||||
|
||||
wselectPanel.addWorkspaceExplorerSelectNotificationListener(handler);
|
||||
setContent(wselectPanel);
|
||||
SimplePanel mainPanel=new SimplePanel();
|
||||
mainPanel.setHeight("400px");
|
||||
mainPanel.setWidget(wselectPanel);
|
||||
setContent(mainPanel);
|
||||
} catch (Exception e) {
|
||||
GWT.log("Error: " + e.getLocalizedMessage());
|
||||
e.printStackTrace();
|
||||
|
@ -74,8 +76,8 @@ public class ProjectFolderSelectionCard extends WizardCard {
|
|||
|
||||
private void createNewProjectFolder(Item item) {
|
||||
Log.debug("Create Project Item selected: " + item);
|
||||
newProjectFolder = new ItemDescription(item.getId(), item.getName(), item.getOwner(),
|
||||
item.getPath(), item.getType().name());
|
||||
newProjectFolder = new ItemDescription(item.getId(), item.getName(), item.getOwner(), item.getPath(),
|
||||
item.getType().name());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -108,15 +110,16 @@ public class ProjectFolderSelectionCard extends WizardCard {
|
|||
setBackButtonVisible(true);
|
||||
setEnableNextButton(true);
|
||||
setNextButtonVisible(true);
|
||||
getWizardWindow().center();
|
||||
|
||||
}
|
||||
|
||||
private void checkData() {
|
||||
if(newProjectFolder!=null){
|
||||
ProjectCreateWizard wiz = (ProjectCreateWizard) getWizardWindow();
|
||||
wiz.getProjectCreateSession().setNewProjectFolder(newProjectFolder);
|
||||
goNext();
|
||||
|
||||
if (newProjectFolder != null) {
|
||||
ProjectCreateWizard wiz = (ProjectCreateWizard) getWizardWindow();
|
||||
wiz.getProjectCreateSession().setNewProjectFolder(newProjectFolder);
|
||||
goNext();
|
||||
|
||||
} else {
|
||||
GWTMessages.alert("Attention", "Select a valid project folder!", getZIndex());
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.gcube.portlets.widgets.githubconnector.client.util.GWTMessages;
|
|||
import org.gcube.portlets.widgets.githubconnector.client.util.WaitDialog;
|
||||
import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardCard;
|
||||
|
||||
import com.google.gwt.core.client.Scheduler;
|
||||
import com.google.gwt.core.shared.GWT;
|
||||
import com.google.gwt.user.client.Command;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
|
@ -23,31 +24,28 @@ import com.google.gwt.user.client.ui.SimplePanel;
|
|||
*
|
||||
*/
|
||||
public class ProjectSetupSelectionCard extends WizardCard {
|
||||
|
||||
|
||||
private SAIDescriptor saiDescription;
|
||||
private ListBox projectSetupListBox;
|
||||
|
||||
// private DecoratorPanel decPanel;
|
||||
|
||||
public ProjectSetupSelectionCard() {
|
||||
super("Project Setup", "Configure the project");
|
||||
retrieveSaiDescriptor();
|
||||
super("Setup", "Configure the project");
|
||||
create();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void init(){
|
||||
|
||||
private void create() {
|
||||
try {
|
||||
|
||||
SimplePanel projectSetupSelectionPanel = new SimplePanel();
|
||||
|
||||
projectSetupListBox = new ListBox();
|
||||
projectSetupListBox.setWidth("176px");
|
||||
projectSetupListBox.ensureDebugId("projectSetupListBox");
|
||||
|
||||
for (ProjectSetup projectSetup : saiDescription.getAvailableProjectConfigurations()) {
|
||||
projectSetupListBox.addItem(projectSetup.getLanguage());
|
||||
}
|
||||
|
||||
|
||||
projectSetupListBox.setEnabled(false);
|
||||
|
||||
// Form
|
||||
FlexTable layout = new FlexTable();
|
||||
layout.setCellSpacing(10);
|
||||
|
@ -61,20 +59,25 @@ public class ProjectSetupSelectionCard extends WizardCard {
|
|||
|
||||
projectSetupSelectionPanel.add(loginFlexTable);
|
||||
setContent(projectSetupSelectionPanel);
|
||||
|
||||
Scheduler.get().scheduleDeferred(new Command() {
|
||||
public void execute() {
|
||||
init();
|
||||
}
|
||||
});
|
||||
|
||||
} catch (Exception e) {
|
||||
GWT.log("Error: " + e.getLocalizedMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void retrieveSaiDescriptor() {
|
||||
private void init() {
|
||||
final WaitDialog waitDialog = new WaitDialog(getZIndex());
|
||||
waitDialog.show();
|
||||
|
||||
StatAlgoImporterServiceAsync.INSTANCE.getSAIDescripor(new AsyncCallback<SAIDescriptor>() {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
waitDialog.hide();
|
||||
|
@ -91,9 +94,14 @@ public class ProjectSetupSelectionCard extends WizardCard {
|
|||
@Override
|
||||
public void onSuccess(SAIDescriptor saiDesc) {
|
||||
waitDialog.hide();
|
||||
saiDescription=saiDesc;
|
||||
init();
|
||||
GWT.log("SAI Descriptor: " + saiDesc);
|
||||
saiDescription = saiDesc;
|
||||
for (ProjectSetup projectSetup : saiDescription.getAvailableProjectConfigurations()) {
|
||||
projectSetupListBox.addItem(projectSetup.getLanguage());
|
||||
}
|
||||
projectSetupListBox.setEnabled(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -129,7 +137,7 @@ public class ProjectSetupSelectionCard extends WizardCard {
|
|||
setBackButtonVisible(false);
|
||||
setEnableNextButton(true);
|
||||
setNextButtonVisible(true);
|
||||
|
||||
getWizardWindow().center();
|
||||
|
||||
}
|
||||
|
||||
|
@ -140,15 +148,15 @@ public class ProjectSetupSelectionCard extends WizardCard {
|
|||
if (language == null || language.isEmpty()) {
|
||||
GWTMessages.alert("Attention", "Select a type!", getZIndex());
|
||||
} else {
|
||||
ProjectSetup selectedSetup=null;
|
||||
ProjectSetup selectedSetup = null;
|
||||
ProjectCreateWizard wiz = (ProjectCreateWizard) getWizardWindow();
|
||||
for(ProjectSetup pSetup:saiDescription.getAvailableProjectConfigurations()){
|
||||
if(pSetup.getLanguage().compareTo(language)==0){
|
||||
selectedSetup=pSetup;
|
||||
for (ProjectSetup pSetup : saiDescription.getAvailableProjectConfigurations()) {
|
||||
if (pSetup.getLanguage().compareTo(language) == 0) {
|
||||
selectedSetup = pSetup;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(selectedSetup!=null){
|
||||
if (selectedSetup != null) {
|
||||
wiz.getProjectCreateSession().setProjectSetup(selectedSetup);
|
||||
goNext();
|
||||
} else {
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
package org.gcube.portlets.user.statisticalalgorithmsimporter.client.event;
|
||||
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.WorkAreaEventType;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
import com.google.gwt.event.shared.HandlerRegistration;
|
||||
import com.google.gwt.event.shared.HasHandlers;
|
||||
|
||||
/**
|
||||
* Project Status Event
|
||||
*
|
||||
*
|
||||
* @author Giancarlo Panichi
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class WorkAreaEvent extends GwtEvent<WorkAreaEvent.WorkAreaEventHandler> {
|
||||
|
||||
public static Type<WorkAreaEventHandler> TYPE = new Type<WorkAreaEventHandler>();
|
||||
private WorkAreaEventType workAreaEventType;
|
||||
private Project project;
|
||||
|
||||
public interface WorkAreaEventHandler extends EventHandler {
|
||||
void onWorkArea(WorkAreaEvent event);
|
||||
}
|
||||
|
||||
public interface HasWorkAreaEventHandler extends HasHandlers {
|
||||
public HandlerRegistration addWorkAreaEventHandler(WorkAreaEventHandler handler);
|
||||
}
|
||||
|
||||
public WorkAreaEvent() {
|
||||
this.workAreaEventType = WorkAreaEventType.WORK_AREA_SETUP;
|
||||
this.project = null;
|
||||
}
|
||||
|
||||
public WorkAreaEvent(WorkAreaEventType workAreaEventType, Project project) {
|
||||
this.workAreaEventType = workAreaEventType;
|
||||
this.project = project;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatch(WorkAreaEventHandler handler) {
|
||||
handler.onWorkArea(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<WorkAreaEventHandler> getAssociatedType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
public static Type<WorkAreaEventHandler> getType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
public static void fire(HasHandlers source, WorkAreaEvent workAreaEvent) {
|
||||
source.fireEvent(workAreaEvent);
|
||||
}
|
||||
|
||||
public WorkAreaEventType getWorkAreaEventType() {
|
||||
return workAreaEventType;
|
||||
}
|
||||
|
||||
public Project getProject() {
|
||||
return project;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WorkAreaEvent [workAreaEventType=" + workAreaEventType + ", project=" + project + "]";
|
||||
}
|
||||
|
||||
}
|
|
@ -23,6 +23,7 @@ public class MainDataPanel extends SimpleContainer {
|
|||
public MainDataPanel(EventBus eventBus) {
|
||||
super();
|
||||
this.eventBus = eventBus;
|
||||
Log.debug("MainDataPanel");
|
||||
init();
|
||||
create();
|
||||
bindToEvents();
|
||||
|
@ -46,11 +47,13 @@ public class MainDataPanel extends SimpleContainer {
|
|||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("Catch ProjectStatusEvent");
|
||||
Log.debug("Main Data Panel catch ProjectStatusEvent: "+event);
|
||||
doProjectStatusCommand(event);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Log.debug("Main Data Panel bind to event do!");
|
||||
}
|
||||
|
||||
private void doProjectStatusCommand(ProjectStatusEvent event) {
|
||||
|
|
|
@ -4,19 +4,22 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.create.ProjectCreateWizard;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.NewMainCodeEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.ProjectStatusEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.SessionExpiredEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.WorkAreaEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.monitor.StatAlgoImporterMonitor;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.rpc.StatAlgoImporterServiceAsync;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.ProjectStatusEventType;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.SessionExpiredType;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.WorkAreaEventType;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.utils.UtilsGXT3;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.descriptor.SAIDescriptor;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.StatAlgoImporterSessionExpiredException;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.InputData;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectFolder;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectCreateSession;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
|
||||
import org.gcube.portlets.widgets.githubconnector.client.GitHubConnectorWizard;
|
||||
import org.gcube.portlets.widgets.githubconnector.client.wizard.event.WizardEvent;
|
||||
|
@ -47,85 +50,98 @@ public class ProjectManager {
|
|||
|
||||
public ProjectManager(EventBus eventBus) {
|
||||
this.eventBus = eventBus;
|
||||
|
||||
// bind();
|
||||
}
|
||||
|
||||
public void bind(){
|
||||
eventBus.addHandler(ProjectStatusEvent.TYPE,
|
||||
new ProjectStatusEvent.ProjectStatusEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("Catch ProjectStatusEvent");
|
||||
doProjectStatusManage(event);
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
public void bind() {
|
||||
eventBus.addHandler(ProjectStatusEvent.TYPE, new ProjectStatusEvent.ProjectStatusEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("Project Manager catch ProjectStatusEvent:" + event);
|
||||
// doProjectStatusManage(event);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void doProjectStatusManage(ProjectStatusEvent event) {
|
||||
if(event==null|| event.getProjectStatusEventType()==null){
|
||||
return;
|
||||
}
|
||||
switch(event.getProjectStatusEventType()){
|
||||
case WORK_AREA_READY:
|
||||
fireProjectStatusOpenEvent();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void createProject() {
|
||||
|
||||
}
|
||||
|
||||
private void selectProjectFolder(){
|
||||
|
||||
|
||||
WorkspaceExplorerSelectDialog wselectDialog = new WorkspaceExplorerSelectDialog("Select Project Folder", true);
|
||||
|
||||
WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() {
|
||||
// Example
|
||||
WizardEvent.WizardEventHandler handler = new WizardEvent.WizardEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onSelectedItem(Item item) {
|
||||
|
||||
if (item.getType() == ItemType.FOLDER) {
|
||||
createProjectOnServer(item);
|
||||
|
||||
public void onResponse(WizardEvent event) {
|
||||
if (event == null || event.getWizardEventType() == null) {
|
||||
GWT.log("ProjectCreateWizard Response: null");
|
||||
return;
|
||||
} else {
|
||||
UtilsGXT3.info("Attention", "Select a valid project folder!");
|
||||
GWT.log("ProjectCreateWizard Response: " + event.getWizardEventType());
|
||||
switch (event.getWizardEventType()) {
|
||||
|
||||
case Completed:
|
||||
|
||||
ProjectCreateWizard wizard = (ProjectCreateWizard) event.getSource();
|
||||
ProjectCreateSession projectCreateSession = wizard.getProjectCreateSession();
|
||||
createProjectOnServer(projectCreateSession);
|
||||
|
||||
break;
|
||||
case Background:
|
||||
case Aborted:
|
||||
case Failed:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(Throwable throwable) {
|
||||
Log.error("Error in create project: " + throwable.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error", throwable.getLocalizedMessage());
|
||||
throwable.printStackTrace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAborted() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotValidSelection() {
|
||||
UtilsGXT3.info("Attention", "Select a valid project folder!");
|
||||
}
|
||||
};
|
||||
|
||||
wselectDialog.addWorkspaceExplorerSelectNotificationListener(handler);
|
||||
wselectDialog.setZIndex(XDOM.getTopZIndex());
|
||||
wselectDialog.show();
|
||||
final ProjectCreateWizard wizard = new ProjectCreateWizard();
|
||||
wizard.addWizardEventHandler(handler);
|
||||
wizard.setZIndex(XDOM.getTopZIndex());
|
||||
wizard.show();
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* private void selectProjectFolder() {
|
||||
*
|
||||
* WorkspaceExplorerSelectDialog wselectDialog = new
|
||||
* WorkspaceExplorerSelectDialog("Select Project Folder", true);
|
||||
*
|
||||
* WorskpaceExplorerSelectNotificationListener handler = new
|
||||
* WorskpaceExplorerSelectNotificationListener() {
|
||||
*
|
||||
* @Override public void onSelectedItem(Item item) {
|
||||
*
|
||||
* if (item.getType() == ItemType.FOLDER) {
|
||||
*
|
||||
* } else { UtilsGXT3.info("Attention", "Select a valid project folder!"); }
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onFailed(Throwable throwable) {
|
||||
* Log.error("Error in create project: " + throwable.getLocalizedMessage());
|
||||
* UtilsGXT3.alert("Error", throwable.getLocalizedMessage());
|
||||
* throwable.printStackTrace(); }
|
||||
*
|
||||
* @Override public void onAborted() {
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onNotValidSelection() { UtilsGXT3.info("Attention",
|
||||
* "Select a valid project folder!"); } };
|
||||
*
|
||||
* wselectDialog.addWorkspaceExplorerSelectNotificationListener(handler);
|
||||
* wselectDialog.setZIndex(XDOM.getTopZIndex()); wselectDialog.show(); }
|
||||
*/
|
||||
|
||||
public void openProject() {
|
||||
WorkspaceExplorerSelectDialog wselectDialog = new WorkspaceExplorerSelectDialog("Select Project Folder", true);
|
||||
|
||||
|
@ -297,36 +313,36 @@ public class ProjectManager {
|
|||
|
||||
}
|
||||
|
||||
private void createProjectOnServer(Item item) {
|
||||
private void createProjectOnServer(final ProjectCreateSession projectCreateSession) {
|
||||
final StatAlgoImporterMonitor monitor = new StatAlgoImporterMonitor();
|
||||
Log.debug("Create Project Item selected: " + item);
|
||||
final ItemDescription newProjectFolder = new ItemDescription(item.getId(), item.getName(), item.getOwner(),
|
||||
item.getPath(), item.getType().name());
|
||||
StatAlgoImporterServiceAsync.INSTANCE.createProjectOnWorkspace(newProjectFolder, new AsyncCallback<Void>() {
|
||||
Log.debug("Create Project: " + projectCreateSession);
|
||||
StatAlgoImporterServiceAsync.INSTANCE.createProjectOnWorkspace(projectCreateSession,
|
||||
new AsyncCallback<Project>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
monitor.hide();
|
||||
project = new Project(new ProjectFolder(newProjectFolder));
|
||||
fireProjectStatusWorkAreaSetupEvent();
|
||||
}
|
||||
@Override
|
||||
public void onSuccess(Project p) {
|
||||
monitor.hide();
|
||||
project = p;
|
||||
fireWorkAreaSetupEvent();
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
monitor.hide();
|
||||
if (caught instanceof StatAlgoImporterSessionExpiredException) {
|
||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||
} else {
|
||||
Log.error("Error in create project: " + caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
|
||||
}
|
||||
caught.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
monitor.hide();
|
||||
if (caught instanceof StatAlgoImporterSessionExpiredException) {
|
||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||
} else {
|
||||
Log.error("Error in create project: " + caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
|
||||
}
|
||||
caught.printStackTrace();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void openProjectOnServer(Item item) {
|
||||
private void openProjectOnServer(Item item) {
|
||||
final StatAlgoImporterMonitor monitor = new StatAlgoImporterMonitor();
|
||||
|
||||
Log.debug("Open Project Item selected: " + item);
|
||||
|
@ -339,7 +355,7 @@ public class ProjectManager {
|
|||
Log.debug("Open: " + projectOpened);
|
||||
monitor.hide();
|
||||
project = projectOpened;
|
||||
fireProjectStatusWorkAreaSetupEvent();
|
||||
fireWorkAreaSetupEvent();
|
||||
|
||||
}
|
||||
|
||||
|
@ -742,7 +758,7 @@ public class ProjectManager {
|
|||
public void onSuccess(Project p) {
|
||||
if (p != null) {
|
||||
project = p;
|
||||
fireProjectStatusWorkAreaSetupEvent();
|
||||
fireWorkAreaSetupEvent();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -750,93 +766,96 @@ public class ProjectManager {
|
|||
|
||||
}
|
||||
|
||||
private void fireProjectStatusWorkAreaSetupEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.WORK_AREA_SETUP, project);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void fireProjectStatusOpenEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.OPEN, project);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
private void fireWorkAreaSetupEvent() {
|
||||
WorkAreaEvent workAreaEvent = new WorkAreaEvent(WorkAreaEventType.WORK_AREA_SETUP, project);
|
||||
Log.debug("Project Manager workAreaEvent fire! " + workAreaEvent);
|
||||
eventBus.fireEvent(workAreaEvent);
|
||||
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private void fireProjectStatusSaveProjectEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.SAVE, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
private void fireProjectStatusAddResourceEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.ADD_RESOURCE, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
private void fireProjectStatusDeleteEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.DELETE_RESOURCE, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
private void fireProjectStatusDeleteMainCodeEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.DELETE_MAIN_CODE,
|
||||
project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private void fireProjectStatusUpdateEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.UPDATE, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
private void fireProjectStatusExplorerRefreshEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.EXPLORER_REFRESH,
|
||||
project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
private void fireProjectStatusMainCodeSetEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.MAIN_CODE_SET, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
private void fireProjectStatusSoftwareCreatedEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.SOFTWARE_CREATED,
|
||||
project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
private void fireProjectStatusSoftwarePublishEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.SOFTWARE_PUBLISH,
|
||||
project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
private void fireProjectStatusSoftwareRepackageEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.SOFTWARE_REPACKAGE,
|
||||
project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
}
|
||||
|
||||
private void fireProjectStatusStartEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.START, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
Log.debug("ProjectStatusEvent fired! " + projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
private void fireProjectStatusOpenEvent() {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.OPEN, project);
|
||||
Log.debug("Project Manager ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.St
|
|||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.file.FileUploadMonitor;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.InputData;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectCreateSession;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.session.UserInfo;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
|
||||
|
||||
|
@ -52,7 +53,7 @@ public interface StatAlgoImporterService extends RemoteService {
|
|||
// Code
|
||||
public ArrayList<CodeData> getCode() throws StatAlgoImporterServiceException;
|
||||
|
||||
public void createProjectOnWorkspace(ItemDescription itemDescription) throws StatAlgoImporterServiceException;
|
||||
public Project createProjectOnWorkspace(ProjectCreateSession projectCreateSession) throws StatAlgoImporterServiceException;
|
||||
|
||||
//
|
||||
public Project setMainCode(ItemDescription itemDescription) throws StatAlgoImporterServiceException;
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.descriptor.S
|
|||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.file.FileUploadMonitor;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.InputData;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectCreateSession;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.session.UserInfo;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
|
||||
|
||||
|
@ -35,7 +36,7 @@ public interface StatAlgoImporterServiceAsync {
|
|||
|
||||
void getCode(AsyncCallback<ArrayList<CodeData>> callback);
|
||||
|
||||
void createProjectOnWorkspace(ItemDescription itemDescription, AsyncCallback<Void> callback);
|
||||
void createProjectOnWorkspace(ProjectCreateSession projectCreateSession, AsyncCallback<Project> callback);
|
||||
|
||||
void setMainCode(ItemDescription itemDescription, AsyncCallback<Project> callback);
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ public class ToolsPanel extends ContentPanel {
|
|||
public ToolsPanel(EventBus eventBus) {
|
||||
super();
|
||||
this.eventBus = eventBus;
|
||||
Log.debug("ToolsPanel");
|
||||
init();
|
||||
create();
|
||||
bindToEvents();
|
||||
|
@ -49,11 +50,12 @@ public class ToolsPanel extends ContentPanel {
|
|||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("Catch ProjectStatusEvent");
|
||||
Log.debug("Tools Panel Catch ProjectStatusEvent"+event);
|
||||
doProjectStatusCommand(event);
|
||||
|
||||
}
|
||||
});
|
||||
Log.debug("ToolsPanel bind to Event do!");
|
||||
}
|
||||
|
||||
private void doProjectStatusCommand(ProjectStatusEvent event) {
|
||||
|
|
|
@ -65,13 +65,10 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
|
||||
}
|
||||
|
||||
public ExplorerProjectPanel(EventBus eventBus,
|
||||
AccordionLayoutAppearance appearance) {
|
||||
public ExplorerProjectPanel(EventBus eventBus, AccordionLayoutAppearance appearance) {
|
||||
super(appearance);
|
||||
Log.debug("ExplorerProjectPanel");
|
||||
this.eventBus = eventBus;
|
||||
|
||||
// msgs = GWT.create(ServiceCategoryMessages.class);
|
||||
init();
|
||||
bindToEvents();
|
||||
|
||||
|
@ -86,26 +83,26 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
setResize(true);
|
||||
setAnimCollapse(false);
|
||||
setHeadingText("Project Explorer");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void bindToEvents() {
|
||||
|
||||
eventBus.addHandler(ProjectStatusEvent.TYPE,
|
||||
new ProjectStatusEvent.ProjectStatusEventHandler() {
|
||||
eventBus.addHandler(ProjectStatusEvent.TYPE, new ProjectStatusEvent.ProjectStatusEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
manageProjectStatusEvents(event);
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("ExplorerProjectPanel Catch Event ProjectStatus: " + event);
|
||||
|
||||
}
|
||||
});
|
||||
manageProjectStatusEvents(event);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Log.debug("ExplorerProjectPanel bind to Event do!");
|
||||
}
|
||||
|
||||
private void manageProjectStatusEvents(ProjectStatusEvent event) {
|
||||
Log.debug("InputVariablePanel recieved event ProjectStatus: "
|
||||
+ event.toString());
|
||||
switch (event.getProjectStatusEventType()) {
|
||||
case START:
|
||||
break;
|
||||
|
@ -113,15 +110,15 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
case UPDATE:
|
||||
case ADD_RESOURCE:
|
||||
case DELETE_RESOURCE:
|
||||
case DELETE_MAIN_CODE:
|
||||
case DELETE_MAIN_CODE:
|
||||
create(event);
|
||||
break;
|
||||
case SAVE:
|
||||
case SAVE:
|
||||
case MAIN_CODE_SET:
|
||||
case SOFTWARE_CREATED:
|
||||
case SOFTWARE_PUBLISH:
|
||||
case SOFTWARE_REPACKAGE:
|
||||
case EXPLORER_REFRESH:
|
||||
case EXPLORER_REFRESH:
|
||||
reloadWSResourceExplorerPanel();
|
||||
break;
|
||||
default:
|
||||
|
@ -133,12 +130,8 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
try {
|
||||
|
||||
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
|
||||
event.getProject().getProjectFolder().getFolder()
|
||||
.getId(), false);
|
||||
|
||||
|
||||
|
||||
|
||||
event.getProject().getProjectFolder().getFolder().getId(), false);
|
||||
|
||||
WorskpaceExplorerSelectNotificationListener wsResourceExplorerListener = new WorskpaceExplorerSelectNotificationListener() {
|
||||
@Override
|
||||
public void onSelectedItem(Item item) {
|
||||
|
@ -164,27 +157,23 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
}
|
||||
};
|
||||
|
||||
wsResourcesExplorerPanel
|
||||
.addWorkspaceExplorerSelectNotificationListener(wsResourceExplorerListener);
|
||||
wsResourcesExplorerPanel.addWorkspaceExplorerSelectNotificationListener(wsResourceExplorerListener);
|
||||
wsResourcesExplorerPanel.ensureDebugId("wsResourceExplorerPanel");
|
||||
|
||||
VerticalLayoutContainer vResourcesExplorerContainer = new VerticalLayoutContainer();
|
||||
vResourcesExplorerContainer.setScrollMode(ScrollMode.AUTO);
|
||||
vResourcesExplorerContainer.add(wsResourcesExplorerPanel,
|
||||
new VerticalLayoutData(1, -1, new Margins(0)));
|
||||
vResourcesExplorerContainer.add(wsResourcesExplorerPanel, new VerticalLayoutData(1, -1, new Margins(0)));
|
||||
|
||||
// DND
|
||||
|
||||
dnd = new MultipleDNDUpload();
|
||||
dnd.setParameters(event.getProject().getProjectFolder()
|
||||
.getFolder().getId(), UPLOAD_TYPE.File);
|
||||
dnd.setParameters(event.getProject().getProjectFolder().getFolder().getId(), UPLOAD_TYPE.File);
|
||||
dnd.addUniqueContainer(vResourcesExplorerContainer);
|
||||
WorskpaceUploadNotificationListener workspaceUploaderListener = new WorskpaceUploadNotificationListener() {
|
||||
|
||||
@Override
|
||||
public void onUploadCompleted(String parentId, String itemId) {
|
||||
Log.debug("Upload completed: [parentID: " + parentId
|
||||
+ ", itemId: " + itemId + "]");
|
||||
Log.debug("Upload completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
||||
wsResourcesExplorerPanel.refreshRootFolderView();
|
||||
forceLayout();
|
||||
|
||||
|
@ -192,22 +181,18 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
|
||||
@Override
|
||||
public void onUploadAborted(String parentId, String itemId) {
|
||||
Log.debug("Upload Aborted: [parentID: " + parentId
|
||||
+ ", itemId: " + itemId + "]");
|
||||
Log.debug("Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String parentId, String itemId,
|
||||
Throwable throwable) {
|
||||
Log.debug("Upload Error: [parentID: " + parentId
|
||||
+ ", itemId: " + itemId + "]");
|
||||
public void onError(String parentId, String itemId, Throwable throwable) {
|
||||
Log.debug("Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
||||
throwable.printStackTrace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOverwriteCompleted(String parentId, String itemId) {
|
||||
Log.debug("Upload Override Completed: [parentID: "
|
||||
+ parentId + ", itemId: " + itemId + "]");
|
||||
Log.debug("Upload Override Completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
||||
wsResourcesExplorerPanel.refreshRootFolderView();
|
||||
forceLayout();
|
||||
}
|
||||
|
@ -277,7 +262,7 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
toolBar.add(btnOpen, new BoxLayoutData(new Margins(0)));
|
||||
toolBar.add(btnDelete, new BoxLayoutData(new Margins(0)));
|
||||
toolBar.add(btnReload, new BoxLayoutData(new Margins(0)));
|
||||
|
||||
|
||||
VerticalLayoutContainer v = new VerticalLayoutContainer();
|
||||
|
||||
v.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0)));
|
||||
|
@ -300,72 +285,57 @@ public class ExplorerProjectPanel extends ContentPanel {
|
|||
|
||||
private void setMainCode(SelectEvent event) {
|
||||
Log.debug("Set Main Code");
|
||||
if (selectedItem != null
|
||||
&& selectedItem.getType().compareTo(ItemType.EXTERNAL_FILE) == 0) {
|
||||
if (selectedItem != null && selectedItem.getType().compareTo(ItemType.EXTERNAL_FILE) == 0) {
|
||||
loadData();
|
||||
} else {
|
||||
UtilsGXT3.info("Attention",
|
||||
"Select a valid file to be used as main!");
|
||||
UtilsGXT3.info("Attention", "Select a valid file to be used as main!");
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteItem(SelectEvent event) {
|
||||
ItemDescription itemDescription = new ItemDescription(
|
||||
selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(),
|
||||
selectedItem.getType().name());
|
||||
DeleteItemEvent deleteItemEvent = new DeleteItemEvent(
|
||||
itemDescription);
|
||||
ItemDescription itemDescription = new ItemDescription(selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(), selectedItem.getType().name());
|
||||
DeleteItemEvent deleteItemEvent = new DeleteItemEvent(itemDescription);
|
||||
eventBus.fireEvent(deleteItemEvent);
|
||||
Log.debug("Fired: " + deleteItemEvent);
|
||||
}
|
||||
|
||||
private void loadData() {
|
||||
ItemDescription itemDescription = new ItemDescription(
|
||||
selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(), selectedItem
|
||||
.getType().name());
|
||||
MainCodeSetEvent mainCodeSetEvent = new MainCodeSetEvent(
|
||||
itemDescription);
|
||||
ItemDescription itemDescription = new ItemDescription(selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(), selectedItem.getType().name());
|
||||
MainCodeSetEvent mainCodeSetEvent = new MainCodeSetEvent(itemDescription);
|
||||
eventBus.fireEvent(mainCodeSetEvent);
|
||||
Log.debug("Fired: " + mainCodeSetEvent);
|
||||
|
||||
}
|
||||
|
||||
private void openFile() {
|
||||
if (selectedItem != null
|
||||
&& !selectedItem.isFolder()) {
|
||||
if (selectedItem != null && !selectedItem.isFolder()) {
|
||||
|
||||
final ItemDescription itemDescription = new ItemDescription(
|
||||
selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(),
|
||||
selectedItem.getType().name());
|
||||
|
||||
StatAlgoImporterServiceAsync.INSTANCE.getPublicLink(
|
||||
itemDescription, new AsyncCallback<String>() {
|
||||
final ItemDescription itemDescription = new ItemDescription(selectedItem.getId(), selectedItem.getName(),
|
||||
selectedItem.getOwner(), selectedItem.getPath(), selectedItem.getType().name());
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
if (caught instanceof StatAlgoImporterSessionExpiredException) {
|
||||
eventBus.fireEvent(new SessionExpiredEvent(
|
||||
SessionExpiredType.EXPIREDONSERVER));
|
||||
} else {
|
||||
Log.error("Error open file: "
|
||||
+ caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error",
|
||||
caught.getLocalizedMessage());
|
||||
}
|
||||
caught.printStackTrace();
|
||||
StatAlgoImporterServiceAsync.INSTANCE.getPublicLink(itemDescription, new AsyncCallback<String>() {
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
if (caught instanceof StatAlgoImporterSessionExpiredException) {
|
||||
eventBus.fireEvent(new SessionExpiredEvent(SessionExpiredType.EXPIREDONSERVER));
|
||||
} else {
|
||||
Log.error("Error open file: " + caught.getLocalizedMessage());
|
||||
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
|
||||
}
|
||||
caught.printStackTrace();
|
||||
|
||||
@Override
|
||||
public void onSuccess(String link) {
|
||||
Log.debug("Retrieved link: " + link);
|
||||
Window.open(link, itemDescription.getName(), "");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
@Override
|
||||
public void onSuccess(String link) {
|
||||
Log.debug("Retrieved link: " + link);
|
||||
Window.open(link, itemDescription.getName(), "");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
UtilsGXT3.info("Attention", "Select a file!");
|
||||
|
|
|
@ -26,7 +26,7 @@ public class InputVariablePanel extends ContentPanel {
|
|||
|
||||
public InputVariablePanel(EventBus eventBus) {
|
||||
super();
|
||||
Log.debug("Open InputVariablePanel");
|
||||
Log.debug("InputVariablePanel");
|
||||
this.eventBus = eventBus;
|
||||
init();
|
||||
bindToEvents();
|
||||
|
@ -91,7 +91,7 @@ public class InputVariablePanel extends ContentPanel {
|
|||
}
|
||||
|
||||
});
|
||||
|
||||
Log.debug("InputVariablePanel bind to Event do!");
|
||||
}
|
||||
|
||||
protected void addNewSelectedRowsVariable(
|
||||
|
|
|
@ -8,8 +8,6 @@ package org.gcube.portlets.user.statisticalalgorithmsimporter.client.type;
|
|||
*/
|
||||
public enum ProjectStatusEventType {
|
||||
START,
|
||||
WORK_AREA_SETUP,
|
||||
WORK_AREA_READY,
|
||||
OPEN,
|
||||
MAIN_CODE_SET,
|
||||
UPDATE,
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package org.gcube.portlets.user.statisticalalgorithmsimporter.client.type;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Giancarlo Panichi
|
||||
*
|
||||
*
|
||||
*/
|
||||
public enum WorkAreaEventType {
|
||||
WORK_AREA_SETUP
|
||||
}
|
|
@ -1,9 +1,12 @@
|
|||
package org.gcube.portlets.user.statisticalalgorithmsimporter.client.maindata;
|
||||
package org.gcube.portlets.user.statisticalalgorithmsimporter.client.workarea;
|
||||
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.ProjectStatusEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.WorkAreaEvent;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.maindata.MainDataPanel;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.tools.ToolsPanel;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.ProjectStatusEventType;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBlackBox;
|
||||
|
||||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.event.shared.EventBus;
|
||||
|
@ -31,49 +34,37 @@ public class WorkAreaPanel extends SimpleContainer {
|
|||
bindToEvents();
|
||||
}
|
||||
|
||||
protected void init() {
|
||||
private void init() {
|
||||
forceLayoutOnResize = true;
|
||||
setBorders(false);
|
||||
}
|
||||
|
||||
protected void create() {
|
||||
private void create() {
|
||||
|
||||
}
|
||||
|
||||
private void bindToEvents() {
|
||||
eventBus.addHandler(ProjectStatusEvent.TYPE, new ProjectStatusEvent.ProjectStatusEventHandler() {
|
||||
eventBus.addHandler(WorkAreaEvent.TYPE, new WorkAreaEvent.WorkAreaEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onProjectStatus(ProjectStatusEvent event) {
|
||||
Log.debug("Catch ProjectStatusEvent");
|
||||
public void onWorkArea(WorkAreaEvent event) {
|
||||
Log.debug("Work Area Panel Catch WorkAreaEvent: " + event);
|
||||
doProjectStatusCommand(event);
|
||||
|
||||
}
|
||||
});
|
||||
Log.debug("Work Area Panel bind to event do!");
|
||||
|
||||
}
|
||||
|
||||
private void doProjectStatusCommand(ProjectStatusEvent event) {
|
||||
if (event.getProjectStatusEventType() == null) {
|
||||
private void doProjectStatusCommand(WorkAreaEvent event) {
|
||||
if (event.getWorkAreaEventType() == null) {
|
||||
return;
|
||||
}
|
||||
switch (event.getProjectStatusEventType()) {
|
||||
switch (event.getWorkAreaEventType()) {
|
||||
case WORK_AREA_SETUP:
|
||||
setupWorkAreaPanel(event.getProject());
|
||||
break;
|
||||
case DELETE_MAIN_CODE:
|
||||
case MAIN_CODE_SET:
|
||||
case OPEN:
|
||||
case WORK_AREA_READY:
|
||||
case SAVE:
|
||||
case START:
|
||||
case UPDATE:
|
||||
case SOFTWARE_CREATED:
|
||||
case SOFTWARE_PUBLISH:
|
||||
case SOFTWARE_REPACKAGE:
|
||||
case ADD_RESOURCE:
|
||||
case DELETE_RESOURCE:
|
||||
case EXPLORER_REFRESH:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
|
@ -83,17 +74,26 @@ public class WorkAreaPanel extends SimpleContainer {
|
|||
|
||||
private void setupWorkAreaPanel(Project project) {
|
||||
if (project != null) {
|
||||
if (project.getProjectConfig() == null || project.getProjectConfig().getLanguage() == "R") {
|
||||
if (project.getProjectConfig() == null || project.getProjectConfig().getProjectSupport() == null) {
|
||||
Log.debug("Work Area Panel Set R Area! ");
|
||||
createRArea(project);
|
||||
} else {
|
||||
createBlackBoxArea(project);
|
||||
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) {
|
||||
Log.debug("Work Area Panel Set BlackBox Area! ");
|
||||
|
||||
createBlackBoxArea(project);
|
||||
} else {
|
||||
Log.debug("Work Area Panel Set R Area! ");
|
||||
createRArea(project);
|
||||
}
|
||||
}
|
||||
forceLayout();
|
||||
fireWorkAreaReady(project);
|
||||
fireProjectStatusOpenEvent(project);
|
||||
} else {
|
||||
|
||||
Log.debug("Work Area Panel: project is null! ");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void createBlackBoxArea(Project project) {
|
||||
|
@ -130,14 +130,17 @@ public class WorkAreaPanel extends SimpleContainer {
|
|||
|
||||
clear();
|
||||
add(mainPanelLayout);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void fireWorkAreaReady(Project project) {
|
||||
ProjectStatusEvent event = new ProjectStatusEvent(ProjectStatusEventType.WORK_AREA_READY, project);
|
||||
eventBus.fireEvent(event);
|
||||
private void fireProjectStatusOpenEvent(Project project) {
|
||||
try {
|
||||
ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.OPEN, project);
|
||||
Log.debug("Work Area Panel ProjectStatusEvent fire! " + projectStatusEvent);
|
||||
eventBus.fireEvent(projectStatusEvent);
|
||||
} catch (Throwable e) {
|
||||
Log.error(e.getLocalizedMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -28,7 +28,11 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.file.FileUpl
|
|||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.InputData;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.MainCode;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectConfig;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectCreateSession;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectFolder;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBlackBox;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportREdit;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.session.UserInfo;
|
||||
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
|
||||
import org.json.JSONArray;
|
||||
|
@ -245,27 +249,45 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
|
|||
*
|
||||
*/
|
||||
@Override
|
||||
public void createProjectOnWorkspace(ItemDescription newProjectFolder)
|
||||
public Project createProjectOnWorkspace(ProjectCreateSession projectCreateSession)
|
||||
throws StatAlgoImporterServiceException {
|
||||
try {
|
||||
HttpServletRequest httpRequest = this.getThreadLocalRequest();
|
||||
ServiceCredentials serviceCredentials = SessionUtil
|
||||
.getServiceCredentials(httpRequest);
|
||||
logger.debug("createProjectOnWorkspace(): " + newProjectFolder);
|
||||
if (ProjectArchiver.existProjectInFolder(newProjectFolder,
|
||||
logger.debug("createProjectOnWorkspace(): " + projectCreateSession);
|
||||
Project project;
|
||||
if (ProjectArchiver.existProjectInFolder(projectCreateSession.getNewProjectFolder(),
|
||||
serviceCredentials)) {
|
||||
throw new StatAlgoImporterServiceException(
|
||||
"Attention a project is present in this folder, use open or another folder!");
|
||||
} else {
|
||||
ProjectFolder projectFolder = new ProjectFolder(
|
||||
newProjectFolder);
|
||||
Project projectSession = new Project(projectFolder);
|
||||
ProjectFolder projectFolder = new ProjectFolder(projectCreateSession.getNewProjectFolder());
|
||||
ProjectConfig projectConfig=null;
|
||||
if (projectCreateSession.getProjectSetup() != null
|
||||
&& projectCreateSession.getProjectSetup().getProjectSupportType() != null) {
|
||||
switch(projectCreateSession.getProjectSetup().getProjectSupportType()){
|
||||
case BlackBox:
|
||||
projectConfig=new ProjectConfig(projectCreateSession.getProjectSetup().getLanguage(),
|
||||
new ProjectSupportBlackBox());
|
||||
break;
|
||||
case REdit:
|
||||
projectConfig=new ProjectConfig(projectCreateSession.getProjectSetup().getLanguage(),
|
||||
new ProjectSupportREdit());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
project = new Project(projectFolder,projectConfig);
|
||||
SessionUtil.setProjectSession(httpRequest, serviceCredentials,
|
||||
projectSession);
|
||||
logger.debug("Create Project: " + projectSession);
|
||||
project);
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
logger.debug("Create Project: " + project);
|
||||
return project;
|
||||
} catch (StatAlgoImporterServiceException e) {
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
|
|
|
@ -8,7 +8,7 @@ package org.gcube.portlets.user.statisticalalgorithmsimporter.shared;
|
|||
*/
|
||||
public class Constants {
|
||||
|
||||
public static final boolean DEBUG_MODE = false;
|
||||
public static final boolean DEBUG_MODE = true;
|
||||
public static final boolean TEST_ENABLE = false;
|
||||
|
||||
public static final String APPLICATION_ID = "org.gcube.portlets.user.statisticalalgorithmsimporter.server.portlet.StatAlgoImporterPortlet";
|
||||
|
|
|
@ -22,9 +22,10 @@ public class Project implements Serializable {
|
|||
super();
|
||||
}
|
||||
|
||||
public Project(ProjectFolder projectFolder) {
|
||||
public Project(ProjectFolder projectFolder, ProjectConfig projectConfig) {
|
||||
super();
|
||||
this.projectFolder = projectFolder;
|
||||
this.projectConfig = projectConfig;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -56,19 +56,19 @@
|
|||
name="locale" values="es" /> <set-property name="locale" value="en, it, es"
|
||||
/> <set-property-fallback name="locale" value="en" /> -->
|
||||
|
||||
<!--
|
||||
|
||||
<set-property name="log_ConsoleLogger" value="ENABLED" /> <set-property
|
||||
name="log_DivLogger" value="ENABLED" /> <set-property name="log_GWTLogger"
|
||||
value="ENABLED" /> <set-property name="log_SystemLogger" value="ENABLED"
|
||||
/> -->
|
||||
/>
|
||||
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="ENABLED"
|
||||
/> -->
|
||||
|
||||
|
||||
<!--
|
||||
<set-property name="log_ConsoleLogger" value="DISABLED" />
|
||||
<set-property name="log_DivLogger" value="DISABLED" />
|
||||
<set-property name="log_GWTLogger" value="DISABLED" />
|
||||
<set-property name="log_SystemLogger" value="DISABLED" />
|
||||
<set-property name="log_SystemLogger" value="DISABLED" /> -->
|
||||
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="DISABLED"
|
||||
/> -->
|
||||
|
||||
|
|
Loading…
Reference in New Issue