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