2521: Explore the possibility to port the StatMan interface onto Dataminer

https://support.d4science.org/issues/2521

Fixed Added Computations 

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@128339 82a268e6-3cf1-43bd-a215-b396298e98cf
master
Giancarlo Panichi 8 years ago
parent e43bac9129
commit fe208baa93

@ -14,16 +14,17 @@
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/> <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/data-miner-manager-1.0.0-SNAPSHOT/WEB-INF/classes"/> <classpathentry kind="output" path="target/data-miner-manager-1.0.0-SNAPSHOT/WEB-INF/classes"/>
</classpath> </classpath>

@ -35,6 +35,16 @@
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand> <buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name> <name>org.eclipse.m2e.core.maven2Builder</name>
<arguments> <arguments>
@ -42,12 +52,13 @@
</buildCommand> </buildCommand>
</buildSpec> </buildSpec>
<natures> <natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>com.google.gwt.eclipse.core.gwtNature</nature> <nature>com.google.gwt.eclipse.core.gwtNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature> <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures> </natures>
</projectDescription> </projectDescription>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp"> <launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/> <stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="DataMinerManager.html"/> <stringAttribute key="com.google.gwt.eclipse.core.URL" value="DataMinerManager.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/data-miner-manager"/> <listEntry value="/data-miner-manager"/>
@ -9,8 +9,8 @@
<listEntry value="4"/> <listEntry value="4"/>
</listAttribute> </listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -port 8888 DataMinerManager.html"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl DataMinerManager.html -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -port 8888 org.gcube.portlets.user.dataminermanager.dataminermanager"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="data-miner-manager"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="data-miner-manager"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m -Dgwt.nowarn.legacy.tools"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m -Dgwt.nowarn.legacy.tools"/>
</launchConfiguration> </launchConfiguration>

@ -1,5 +1,6 @@
package org.gcube.portlets.user.dataminermanager.client; package org.gcube.portlets.user.dataminermanager.client;
import org.gcube.portlets.user.dataminermanager.client.computations.ComputationsPanel;
import org.gcube.portlets.user.dataminermanager.client.dataspace.DataSpacePanel; import org.gcube.portlets.user.dataminermanager.client.dataspace.DataSpacePanel;
import org.gcube.portlets.user.dataminermanager.client.experiments.ExperimentPanel; import org.gcube.portlets.user.dataminermanager.client.experiments.ExperimentPanel;
import org.gcube.portlets.user.dataminermanager.client.resources.Resources; import org.gcube.portlets.user.dataminermanager.client.resources.Resources;
@ -38,30 +39,18 @@ import com.sencha.gxt.widget.core.client.container.Viewport;
public class DataMinerManager implements EntryPoint { public class DataMinerManager implements EntryPoint {
public static final Resources resources = GWT.create(Resources.class); public static final Resources resources = GWT.create(Resources.class);
/*private static final DataMinerPortletServiceAsync dataMinerService = GWT
.create(DataMinerPortletService.class);*/
private static final String SM_DIV = "contentDiv"; private static final String SM_DIV = "contentDiv";
//private static List<OperatorsClassification> operatorsClassifications = null;
private DataMinerManagerController dataMinerManagerController; private DataMinerManagerController dataMinerManagerController;
private DataSpacePanel dataSpacePanel; // = new DataSpacePanel(); private DataSpacePanel dataSpacePanel;
// private InputSpacePanel inputSpacePanel = new InputSpacePanel(); private ExperimentPanel experimentPanel;
private ExperimentPanel experimentPanel;// = new ExperimentPanel(); private ComputationsPanel computationsPanel;
// private JobsPanel jobsPanel = new JobsPanel();
// private VerticalPanel verticalPanel = new VerticalPanel();
private SimpleContainer previousPanel; private SimpleContainer previousPanel;
private SimpleContainer homeMenu; private SimpleContainer homeMenu;
private SimpleContainer centerPanel; private SimpleContainer centerPanel;
/*
* private BorderLayoutData centerPanelData; private LayoutContainer
* dataMinerManagerLayout;
*/
public enum MenuItem { public enum MenuItem {
DATA_SPACE, EXPERIMENT, COMPUTATIONS DATA_SPACE, EXPERIMENT, COMPUTATIONS
}; };
@ -97,16 +86,19 @@ public class DataMinerManager implements EntryPoint {
new AsyncCallback<Boolean>() { new AsyncCallback<Boolean>() {
@Override @Override
public void onSuccess(Boolean result) { public void onSuccess(Boolean result) {
if(result){ if (result) {
loadMainPanel(); loadMainPanel();
} else { } else {
UtilsGXT3.info("Attention", "ClientScopeHelper has returned a false value!"); UtilsGXT3
} .info("Attention",
"ClientScopeHelper has returned a false value!");
}
} }
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {
UtilsGXT3.alert("Error", "Error setting scope: "+caught.getLocalizedMessage()); UtilsGXT3.alert("Error", "Error setting scope: "
+ caught.getLocalizedMessage());
caught.printStackTrace(); caught.printStackTrace();
} }
}); });
@ -121,6 +113,7 @@ public class DataMinerManager implements EntryPoint {
homeMenu = createMenuPanel(); homeMenu = createMenuPanel();
dataSpacePanel = new DataSpacePanel(); dataSpacePanel = new DataSpacePanel();
experimentPanel = new ExperimentPanel(); experimentPanel = new ExperimentPanel();
computationsPanel = new ComputationsPanel();
// Layout // Layout
mainPanelLayout = new BorderLayoutContainer(); mainPanelLayout = new BorderLayoutContainer();
@ -146,6 +139,8 @@ public class DataMinerManager implements EntryPoint {
switchTo(experimentPanel); switchTo(experimentPanel);
else if (menuItem == MenuItem.DATA_SPACE) else if (menuItem == MenuItem.DATA_SPACE)
switchTo(dataSpacePanel); switchTo(dataSpacePanel);
else if (menuItem == MenuItem.COMPUTATIONS)
switchTo(computationsPanel);
/* /*
* else if (menuItem == MenuItem.COMPUTATIONS) * else if (menuItem == MenuItem.COMPUTATIONS)
@ -174,8 +169,6 @@ public class DataMinerManager implements EntryPoint {
* westData); filtersPanel.expand(); filtersPanel.enable(); * westData); filtersPanel.expand(); filtersPanel.enable();
*/ */
centerPanel.add(homeMenu); centerPanel.add(homeMenu);
previousPanel = homeMenu; previousPanel = homeMenu;
@ -243,23 +236,18 @@ public class DataMinerManager implements EntryPoint {
* *
*/ */
private void bindEvents() { private void bindEvents() {
/*EventBusProvider.INSTANCE.addHandler(MaskEvent.getType(), /*
new MaskEvent.MaskHandler() { * EventBusProvider.INSTANCE.addHandler(MaskEvent.getType(), new
@Override * MaskEvent.MaskHandler() {
public void onMask(MaskEvent event) { *
if (mainPanelLayout == null) * @Override public void onMask(MaskEvent event) { if (mainPanelLayout
return; * == null) return;
*
String message = event.getMessage(); * String message = event.getMessage(); if (message == null)
if (message == null) * mainPanelLayout.unmask(); else mainPanelLayout.mask(message);
mainPanelLayout.unmask(); *
else * // Constants.maskLoadingStyle); } });
mainPanelLayout.mask(message); */
// Constants.maskLoadingStyle);
}
});
*/
/* /*
* EventBusProvider.getInstance().addHandler( * EventBusProvider.getInstance().addHandler(
* SessionExpiredEvent.getType(), new * SessionExpiredEvent.getType(), new
@ -270,7 +258,6 @@ public class DataMinerManager implements EntryPoint {
* }); * });
*/ */
} }
/** /**
@ -303,7 +290,7 @@ public class DataMinerManager implements EntryPoint {
SimpleContainer itemExperiment = createMenuItem( SimpleContainer itemExperiment = createMenuItem(
"Execute an Experiment", "Execute an Experiment",
"This section allows to execute or prepare a Niche Modeling experiment. The section is endowed with a list of algorithms for training and executing statistical models for biological applications. Evaluation of the performances is possible by means of several kinds of measurement systems and processes.", "This section allows to execute or prepare a Niche Modeling experiment. The section is endowed with a list of algorithms for training and executing statistical models for biological applications. Evaluation of the performances is possible by means of several kinds of measurement systems and processes.",
resources.computationIcon(), new MouseDownHandler() { resources.executionIcon(), new MouseDownHandler() {
@Override @Override
public void onMouseDown(MouseDownEvent event) { public void onMouseDown(MouseDownEvent event) {
@ -315,15 +302,21 @@ public class DataMinerManager implements EntryPoint {
lc.add(itemExperiment, layoutNext); lc.add(itemExperiment, layoutNext);
/* SimpleContainer itemComputations = createMenuItem(
* LayoutContainer itemJobs = createMenuItem( "Check the Computations", "Check the Computations",
* "This section allows to check the status of the computation. A list of processes launched by the user is shown along with meta-information. By clicking on the completed jobs it is possible to visualize the data set contents." "This section allows to check the status of the computation. A list of processes launched by the user is shown along with meta-information. By clicking on the completed jobs it is possible to visualize the data set contents.",
* , resources.jobsIcon(), new Listener<BaseEvent>() { resources.computationsIcon(), new MouseDownHandler() {
*
* @Override public void handleEvent(BaseEvent be) { @Override
* switchTo(jobsPanel); header.setMenuSelected(MenuItem.COMPUTATIONS); } public void onMouseDown(MouseDownEvent event) {
* }); lc.add(itemJobs); switchTo(computationsPanel);
*/ header.setMenuSelected(MenuItem.COMPUTATIONS);
}
});
lc.add(itemComputations, layoutNext);
topLc.add(lc); topLc.add(lc);
return topLc; return topLc;
} }
@ -365,49 +358,6 @@ public class DataMinerManager implements EntryPoint {
return container; return container;
} }
/**
* @return the operatorsClassification
public static List<OperatorsClassification> getOperatorsClassifications() {
return operatorsClassifications;
}
/**
* @param operatorsClassification
* the operatorsClassification to set
public static void setOperatorsClassifications(
List<OperatorsClassification> operatorsClassifications) {
DataMinerManager.operatorsClassifications = operatorsClassifications;
}
*/
/*public static OperatorsClassification getDefaultOperatorsClassification() {
if (operatorsClassifications == null)
return null;
OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications)
// Constants.ComputationClassificationName
if (oc.getName().equals(Constants.UserClassificationName))
find = oc;
return find;
}
public static OperatorsClassification getOperatorsClassificationByName(
String classificationName) {
if (operatorsClassifications == null)
return null;
OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications)
if (oc.getName().equals(classificationName))
find = oc;
return (find == null ? getDefaultOperatorsClassification() : find);
}*/
/*public static DataMinerPortletServiceAsync getService() {
return dataMinerService;
}*/
} }

@ -7,6 +7,7 @@ import org.gcube.portlets.user.dataminermanager.client.bean.OperatorsClassificat
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.events.CancelComputationExecutionRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.CancelComputationExecutionRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent; import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.OperatorsClassificationEvent; import org.gcube.portlets.user.dataminermanager.client.events.OperatorsClassificationEvent;
import org.gcube.portlets.user.dataminermanager.client.events.OperatorsClassificationRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.OperatorsClassificationRequestEvent;
@ -16,6 +17,7 @@ import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEven
import org.gcube.portlets.user.dataminermanager.client.events.StartComputationExecutionEvent; import org.gcube.portlets.user.dataminermanager.client.events.StartComputationExecutionEvent;
import org.gcube.portlets.user.dataminermanager.client.events.StartComputationExecutionRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.StartComputationExecutionRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaEventType; import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaEventType;
import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3; import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
import org.gcube.portlets.user.dataminermanager.shared.Constants; import org.gcube.portlets.user.dataminermanager.shared.Constants;
@ -130,7 +132,8 @@ public class DataMinerManagerController {
@Override @Override
public void onStart( public void onStart(
StartComputationExecutionRequestEvent event) { StartComputationExecutionRequestEvent event) {
Log.debug("Catch StartComputationExecutionRequestEvent: "+event); Log.debug("Catch StartComputationExecutionRequestEvent: "
+ event);
startComputationRequest(event); startComputationRequest(event);
} }
@ -144,7 +147,8 @@ public class DataMinerManagerController {
@Override @Override
public void onCancel( public void onCancel(
CancelComputationExecutionRequestEvent event) { CancelComputationExecutionRequestEvent event) {
Log.debug("Catch CancelComputationRequestEvent: "+event); Log.debug("Catch CancelComputationRequestEvent: "
+ event);
cancelComputationRequest(event); cancelComputationRequest(event);
} }
@ -158,7 +162,8 @@ public class DataMinerManagerController {
@Override @Override
public void onResubmit( public void onResubmit(
ResubmitComputationExecutionRequestEvent event) { ResubmitComputationExecutionRequestEvent event) {
Log.debug("Catch ResubmitComputationExecutionRequestEvent: "+event); Log.debug("Catch ResubmitComputationExecutionRequestEvent: "
+ event);
resubmitComputationRequest(event); resubmitComputationRequest(event);
} }
@ -173,30 +178,26 @@ public class DataMinerManagerController {
@Override @Override
public void onRequest( public void onRequest(
OperatorsClassificationRequestEvent event) { OperatorsClassificationRequestEvent event) {
Log.debug("Catch OperatorsClassificationRequestEvent: "+event); Log.debug("Catch OperatorsClassificationRequestEvent: "
+ event);
operatorsClassificationRequest(event); operatorsClassificationRequest(event);
} }
}); });
EventBusProvider.INSTANCE.addHandler(DeleteItemRequestEvent.TYPE,
EventBusProvider.INSTANCE
.addHandler(
DeleteItemRequestEvent.TYPE,
new DeleteItemRequestEvent.DeleteItemRequestEventHandler() { new DeleteItemRequestEvent.DeleteItemRequestEventHandler() {
@Override @Override
public void onDeleteRequest( public void onDeleteRequest(DeleteItemRequestEvent event) {
DeleteItemRequestEvent event) { Log.debug("Catch DeleteItemRequestEvent: " + event);
Log.debug("Catch DeleteItemRequestEvent: "+ event);
deleteItemRequest(event); deleteItemRequest(event);
} }
}); });
/* /*
* EventBusProvider.INSTANCE.addHandler( * EventBusProvider.INSTANCE.addHandler(
* ResubmitComputationEvent.getType(), new * ResubmitComputationEvent.getType(), new
@ -209,8 +210,6 @@ public class DataMinerManagerController {
} }
private void startComputationRequest( private void startComputationRequest(
final StartComputationExecutionRequestEvent event) { final StartComputationExecutionRequestEvent event) {
@ -250,7 +249,8 @@ public class DataMinerManagerController {
EventBusProvider.INSTANCE.fireEvent(event); EventBusProvider.INSTANCE.fireEvent(event);
} }
private void cancelComputationRequest(CancelComputationExecutionRequestEvent event) { private void cancelComputationRequest(
CancelComputationExecutionRequestEvent event) {
final ComputationId computationId = event.getComputationId(); final ComputationId computationId = event.getComputationId();
DataMinerPortletServiceAsync.INSTANCE.cancelComputation(computationId, DataMinerPortletServiceAsync.INSTANCE.cancelComputation(computationId,
@ -359,7 +359,8 @@ public class DataMinerManagerController {
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {
UtilsGXT3.alert("Error", UtilsGXT3.alert("Error",
"Error retrieving operators classification!"); "Error retrieving operators classification! "
+ caught.getLocalizedMessage());
Log.error("Error retrieving operators classification: " Log.error("Error retrieving operators classification: "
+ caught.getLocalizedMessage()); + caught.getLocalizedMessage());
caught.printStackTrace(); caught.printStackTrace();
@ -370,40 +371,40 @@ public class DataMinerManagerController {
private void getOperatorsClassificationDefault( private void getOperatorsClassificationDefault(
OperatorsClassificationRequestEvent event) { OperatorsClassificationRequestEvent event) {
OperatorsClassification find = null; OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications){ for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(Constants.UserClassificationName)){ if (oc.getName().equals(Constants.UserClassificationName)) {
find = oc; find = oc;
break; break;
} }
} }
OperatorsClassificationEvent ocEvent=new OperatorsClassificationEvent(find); OperatorsClassificationEvent ocEvent = new OperatorsClassificationEvent(
find);
EventBusProvider.INSTANCE.fireEvent(ocEvent); EventBusProvider.INSTANCE.fireEvent(ocEvent);
} }
private void getOperatorsClassificationByName( private void getOperatorsClassificationByName(
OperatorsClassificationRequestEvent event) { OperatorsClassificationRequestEvent event) {
OperatorsClassification find = null; OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications){ for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(event.getClassificationName())){ if (oc.getName().equals(event.getClassificationName())) {
find = oc; find = oc;
break; break;
} }
} }
if(find==null){ if (find == null) {
for (OperatorsClassification oc : operatorsClassifications){ for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(Constants.UserClassificationName)){ if (oc.getName().equals(Constants.UserClassificationName)) {
find = oc; find = oc;
break; break;
} }
} }
} }
OperatorsClassificationEvent ocEvent=new OperatorsClassificationEvent(event.getClassificationName(),find); OperatorsClassificationEvent ocEvent = new OperatorsClassificationEvent(
event.getClassificationName(), find);
EventBusProvider.INSTANCE.fireEvent(ocEvent); EventBusProvider.INSTANCE.fireEvent(ocEvent);
} }
private void retrieveDataMinerWorkArea() { private void retrieveDataMinerWorkArea() {
DataMinerPortletServiceAsync.INSTANCE DataMinerPortletServiceAsync.INSTANCE
.getDataMinerWorkArea(new AsyncCallback<DataMinerWorkArea>() { .getDataMinerWorkArea(new AsyncCallback<DataMinerWorkArea>() {
@ -439,10 +440,40 @@ public class DataMinerManagerController {
EventBusProvider.INSTANCE.fireEvent(dataMinerWorkAreaEvent); EventBusProvider.INSTANCE.fireEvent(dataMinerWorkAreaEvent);
} }
private void deleteItemRequest(final DeleteItemRequestEvent event) {
private void deleteItemRequest(DeleteItemRequestEvent event) { DataMinerPortletServiceAsync.INSTANCE
//DataMinerPortletServiceAsync.INSTANCE. .deleteItem(event.getItemDescription(), new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
Log.info("No valid user found: " + caught.getMessage());
if (caught instanceof ExpiredSessionServiceException) {
UtilsGXT3.alert("Error", "Expired Session");
sessionExpiredShowDelayed();
} else {
UtilsGXT3.alert("Error",
"Error deleting item on workspace: "
+ caught.getLocalizedMessage());
}
}
@Override
public void onSuccess(Void result) {
Log.debug("Deleted Item!");
fireRefreshDataMinerWorkAreaEvent(event.getDataMinerWorkAreaElementType());
}
});
}
private void fireRefreshDataMinerWorkAreaEvent(
DataMinerWorkAreaElementType dataMinerWorkAreaElementType) {
RefreshDataMinerWorkAreaEvent refreshEvent=new RefreshDataMinerWorkAreaEvent(dataMinerWorkAreaElementType);
EventBusProvider.INSTANCE.fireEvent(refreshEvent);
} }
} }

@ -20,7 +20,7 @@ public abstract class Header extends HorizontalPanel {
public abstract void select(MenuItem menuItem); public abstract void select(MenuItem menuItem);
private Image menuGoBack, menuExperiment, menuDataSpace; // menuComputations; private Image menuGoBack, menuExperiment, menuDataSpace, menuComputations;
private MenuItem currentSelection = null; private MenuItem currentSelection = null;
/** /**
@ -66,33 +66,34 @@ public abstract class Header extends HorizontalPanel {
} }
}); });
/* menuComputations = new Image(
* menuComputations = new Image( DataMinerManager.resources.menuItemComputations());
* DataMinerManager.resources.menuItemComputations()); menuComputations.addStyleName("menuItemImage");
* menuComputations.addStyleName("menuItemImage"); menuComputations.addClickHandler(new ClickHandler() {
* menuComputations.addClickHandler(new ClickHandler() {
* @Override
* @Override public void onClick(ClickEvent event) { if public void onClick(ClickEvent event) {
* (setMenuSelected(MenuItem.COMPUTATIONS)) if (setMenuSelected(MenuItem.COMPUTATIONS))
* select(MenuItem.COMPUTATIONS); } }); select(MenuItem.COMPUTATIONS);
*/ }
});
add(logo); add(logo);
add(menuGoBack); add(menuGoBack);
add(menuDataSpace); add(menuDataSpace);
add(menuExperiment); add(menuExperiment);
// this.add(menuComputations); add(menuComputations);
this.setCellWidth(logo, "100px"); this.setCellWidth(logo, "100px");
this.setCellWidth(menuGoBack, "100px"); this.setCellWidth(menuGoBack, "100px");
this.setCellWidth(menuDataSpace, "80px"); this.setCellWidth(menuDataSpace, "80px");
this.setCellWidth(menuExperiment, "80px"); // this.setCellWidth(menuExperiment, "80px"); //
// this.setCellWidth(menuComputations, "80px"); this.setCellWidth(menuComputations, "80px");
menuGoBack.setVisible(false); menuGoBack.setVisible(false);
menuDataSpace.setVisible(false); menuDataSpace.setVisible(false);
menuExperiment.setVisible(false); menuExperiment.setVisible(false);
// menuComputations.setVisible(false); menuComputations.setVisible(false);
} }
/** /**
@ -108,49 +109,43 @@ public abstract class Header extends HorizontalPanel {
menuGoBack.setVisible(false); menuGoBack.setVisible(false);
menuDataSpace.setVisible(false); menuDataSpace.setVisible(false);
menuExperiment.setVisible(false); menuExperiment.setVisible(false);
// menuComputations.setVisible(false); menuComputations.setVisible(false);
if (currentSelection == MenuItem.EXPERIMENT) if (currentSelection == MenuItem.EXPERIMENT)
menuExperiment.removeStyleName("menuItemImage-selected"); menuExperiment.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.DATA_SPACE) else if (currentSelection == MenuItem.DATA_SPACE)
menuDataSpace.removeStyleName("menuItemImage-selected"); menuDataSpace.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.COMPUTATIONS)
menuComputations.removeStyleName("menuItemImage-selected");
/*
* else if (currentSelection == MenuItem.COMPUTATIONS)
* menuComputations.removeStyleName("menuItemImage-selected");
*/
} else { } else {
if (currentSelection == null) { if (currentSelection == null) {
menuGoBack.setVisible(true); menuGoBack.setVisible(true);
menuDataSpace.setVisible(true); menuDataSpace.setVisible(true);
menuExperiment.setVisible(true); menuExperiment.setVisible(true);
// menuComputations.setVisible(true); menuComputations.setVisible(true);
} }
if (currentSelection == MenuItem.EXPERIMENT) if (currentSelection == MenuItem.EXPERIMENT)
menuExperiment.removeStyleName("menuItemImage-selected"); menuExperiment.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.DATA_SPACE) else if (currentSelection == MenuItem.DATA_SPACE)
menuDataSpace.removeStyleName("menuItemImage-selected"); menuDataSpace.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.COMPUTATIONS)
/* menuComputations.removeStyleName("menuItemImage-selected");
* else if (currentSelection == MenuItem.COMPUTATIONS)
* menuComputations.removeStyleName("menuItemImage-selected");
*/
/* /*
* Image imgNew=menuExperiment; * Image imgNew=menuExperiment;
*/ */
Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace
: menuExperiment);
/* /*
* Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace : * Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace :
* (menuItem == MenuItem.EXPERIMENT ? menuExperiment : * menuExperiment);
* menuComputations));
*/ */
Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace
: (menuItem == MenuItem.EXPERIMENT ? menuExperiment
: menuComputations));
imgNew.addStyleName("menuItemImage-selected"); imgNew.addStyleName("menuItemImage-selected");
} }

@ -0,0 +1,438 @@
package org.gcube.portlets.user.dataminermanager.client.computations;
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent;
import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
import org.gcube.portlets.user.dataminermanager.shared.exception.ExpiredSessionServiceException;
import org.gcube.portlets.user.dataminermanager.shared.workspace.ItemDescription;
import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload.UPLOAD_TYPE;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload;
import org.gcube.portlets.widgets.wsexplorer.client.explore.WorkspaceResourcesExplorerPanel;
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale;
import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
import com.sencha.gxt.core.client.dom.ScrollSupport.ScrollMode;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ComputationsPanel extends FramedPanel {
private Item selectedItem;
private MultipleDNDUpload dnd;
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnOpen;
private TextButton btnDelete;
private TextButton btnRefresh;
private TextButton btnResubmit;
private TextButton btnCancel;
private VerticalLayoutContainer v;
public ComputationsPanel() {
super();
Log.debug("ComputationsPanel");
// msgs = GWT.create(ServiceCategoryMessages.class);
init();
bindToEvents();
}
private void init() {
setId("ComputationsPanel");
forceLayoutOnResize = true;
setBodyBorder(true);
setBodyStyle("backgroundColor:white;");
setHeaderVisible(true);
setResize(true);
setAnimCollapse(false);
setHeadingText("Computations");
}
private void bindToEvents() {
EventBusProvider.INSTANCE.addHandler(UIStateEvent.TYPE,
new UIStateEvent.UIStateEventHandler() {
@Override
public void onChange(UIStateEvent event) {
manageStateEvents(event);
}
});
EventBusProvider.INSTANCE.addHandler(DataMinerWorkAreaEvent.TYPE,
new DataMinerWorkAreaEvent.DataMinerWorkAreaEventHandler() {
@Override
public void onChange(DataMinerWorkAreaEvent event) {
manageDataMinerWorkAreaEvents(event);
}
});
EventBusProvider.INSTANCE
.addHandler(
RefreshDataMinerWorkAreaEvent.TYPE,
new RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler() {
@Override
public void onRefresh(
RefreshDataMinerWorkAreaEvent event) {
manageRefreshDataMinerWorkAreaEvents(event);
}
});
}
private void manageStateEvents(UIStateEvent event) {
Log.debug("ComputationsPanel recieved UIStateEvent: "
+ event.toString());
switch (event.getUiStateType()) {
case START:
break;
case WAITING:
break;
case UPDATE:
break;
default:
break;
}
}
private void manageDataMinerWorkAreaEvents(DataMinerWorkAreaEvent event) {
Log.debug("ComputationsPanel recieved UIStateEvent: "
+ event.toString());
switch (event.getDataMinerWorkAreaEventType()) {
case OPEN:
case UPDATE:
refreshWSResourceExplorerPanel(event);
break;
default:
break;
}
}
private void manageRefreshDataMinerWorkAreaEvents(
RefreshDataMinerWorkAreaEvent event) {
switch (event.getDataMinerWorkAreaElementType()) {
case Computations:
refreshWSResourceExplorerPanel();
break;
case InputDataSets:
break;
case OutputDataSets:
break;
default:
break;
}
}
private void create(DataMinerWorkAreaEvent event) {
try {
if (event == null
|| event.getDataMinerWorkArea() == null
|| event.getDataMinerWorkArea().getComputations() == null
|| event.getDataMinerWorkArea().getComputations()
.getFolder() == null
|| event.getDataMinerWorkArea().getComputations()
.getFolder().getId() == null
|| event.getDataMinerWorkArea().getComputations()
.getFolder().getId().isEmpty()) {
if (v != null) {
remove(v);
forceLayout();
}
return;
}
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getDataMinerWorkArea().getComputations().getFolder()
.getId(), false);
WorskpaceExplorerSelectNotificationListener wsResourceExplorerListener = new WorskpaceExplorerSelectNotificationListener() {
@Override
public void onSelectedItem(Item item) {
Log.debug("Listener Selected Item " + item);
selectedItem = item;
}
@Override
public void onFailed(Throwable throwable) {
Log.error(throwable.getLocalizedMessage());
throwable.printStackTrace();
}
@Override
public void onAborted() {
}
@Override
public void onNotValidSelection() {
selectedItem = null;
}
};
wsResourcesExplorerPanel
.addWorkspaceExplorerSelectNotificationListener(wsResourceExplorerListener);
wsResourcesExplorerPanel.ensureDebugId("wsResourceExplorerPanel");
VerticalLayoutContainer vResourcesExplorerContainer = new VerticalLayoutContainer();
vResourcesExplorerContainer.setScrollMode(ScrollMode.AUTO);
vResourcesExplorerContainer.add(wsResourcesExplorerPanel,
new VerticalLayoutData(1, -1, new Margins(0)));
// DND
dnd = new MultipleDNDUpload();
dnd.setParameters(event.getDataMinerWorkArea().getComputations()
.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 + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
}
@Override
public void onUploadAborted(String parentId, String 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 + "]");
throwable.printStackTrace();
}
@Override
public void onOverwriteCompleted(String parentId, String itemId) {
Log.debug("Upload Override Completed: [parentID: "
+ parentId + ", itemId: " + itemId + "]");
wsResourcesExplorerPanel.refreshRootFolderView();
forceLayout();
}
};
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListener);
// ToolBar
btnOpen = new TextButton("Open");
// btnOpen.setIcon(StatAlgoImporterResources.INSTANCE.download16());
btnOpen.setScale(ButtonScale.SMALL);
btnOpen.setIconAlign(IconAlign.LEFT);
btnOpen.setToolTip("Open");
btnOpen.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
openFile();
}
});
btnDelete = new TextButton("Delete");
// btnDelete.setIcon(StatAlgoImporterResources.INSTANCE.delete16());
btnDelete.setScale(ButtonScale.SMALL);
btnDelete.setIconAlign(IconAlign.LEFT);
btnDelete.setToolTip("Delete");
btnDelete.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
deleteItem(event);
}
});
btnRefresh = new TextButton("Refresh");
// btnRefresh.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnRefresh.setScale(ButtonScale.SMALL);
btnRefresh.setIconAlign(IconAlign.LEFT);
btnRefresh.setToolTip("Refresh");
btnRefresh.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
refreshWSResourceExplorerPanel();
}
});
btnResubmit = new TextButton("Resubmit");
// btnResubmit.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnResubmit.setScale(ButtonScale.SMALL);
btnResubmit.setIconAlign(IconAlign.LEFT);
btnResubmit.setToolTip("Resubmit");
btnResubmit.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
resubmitComputation();
}
});
btnCancel = new TextButton("Cancel");
// btnCancel.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnCancel.setScale(ButtonScale.SMALL);
btnCancel.setIconAlign(IconAlign.LEFT);
btnCancel.setToolTip("Cancel");
btnCancel.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
cancelComputation();
}
});
ToolBar toolBar = new ToolBar();
toolBar.add(btnOpen, new BoxLayoutData(new Margins(0)));
toolBar.add(btnDelete, new BoxLayoutData(new Margins(0)));
toolBar.add(btnRefresh, new BoxLayoutData(new Margins(0)));
toolBar.add(btnResubmit, new BoxLayoutData(new Margins(0)));
toolBar.add(btnCancel, new BoxLayoutData(new Margins(0)));
v = new VerticalLayoutContainer();
v.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0)));
v.add(dnd, new VerticalLayoutData(1, 1, new Margins(0)));
add(v);
forceLayout();
} catch (Exception e) {
Log.error("Error opening wsResourceExplorerPanel");
e.printStackTrace();
}
}
private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) {
wsResourcesExplorerPanel.refreshRootFolderView();
}
}
private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
try {
if (v != null) {
remove(v);
create(event);
} else {
create(event);
}
} catch (Throwable e) {
Log.error("Error in ComputationsPanel: " + e.getLocalizedMessage());
e.printStackTrace();
}
}
private void deleteItem(SelectEvent event) {
ItemDescription itemDescription = new ItemDescription(
selectedItem.getId(), selectedItem.getName(),
selectedItem.getOwner(), selectedItem.getPath(), selectedItem
.getType().name());
DeleteItemRequestEvent deleteItemEvent = new DeleteItemRequestEvent(
DataMinerWorkAreaElementType.Computations, itemDescription);
EventBusProvider.INSTANCE.fireEvent(deleteItemEvent);
Log.debug("Fired: " + deleteItemEvent);
}
private void openFile() {
if (selectedItem != null && !selectedItem.isFolder()) {
final ItemDescription itemDescription = new ItemDescription(
selectedItem.getId(), selectedItem.getName(),
selectedItem.getOwner(), selectedItem.getPath(),
selectedItem.getType().name());
DataMinerPortletServiceAsync.INSTANCE.getPublicLink(
itemDescription, new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
if (caught instanceof ExpiredSessionServiceException) {
EventBusProvider.INSTANCE
.fireEvent(new SessionExpiredEvent());
} 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(), "");
}
});
} else {
UtilsGXT3.info("Attention", "Select a file!");
}
}
private void cancelComputation() {
// TODO Auto-generated method stub
}
private void resubmitComputation() {
// TODO Auto-generated method stub
}
}

@ -0,0 +1,47 @@
/**
*
*/
.progressWrap {
border:1px solid;
overflow:hidden;
border-color:#65cf6d;
}
.progressInner {
height:18px;
background:repeat-x;
position:relative;
}
.progressBar {
height:18px;
width:0;
border-top:1px solid;
border-bottom:1px solid;
border-right:1px solid;
}
.progressText {
padding:1px 5px;
overflow:hidden;
position:absolute;
left:0;
text-align:center;
font-size:11px;
font-weight:bold;
}
.progressBar .progressText {
z-index: 99;
}
.progressTextBack {
z-index: 9 !important;
}
@if user.agent ie6 ie8 ie9 {
.progressTextBack {
line-height:15px;
}
}

@ -0,0 +1,41 @@
package org.gcube.portlets.user.dataminermanager.client.custom;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.ImageResource.ImageOptions;
import com.google.gwt.resources.client.ImageResource.RepeatStyle;
import com.sencha.gxt.theme.base.client.progress.ProgressBarDefaultAppearance;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class GreenProgressBarAppaearance extends ProgressBarDefaultAppearance {
public interface GreenProgressBarResources extends ProgressBarResources,
ClientBundle {
@Source({ "GreenProgressBar.css" })
@Override
ProgressBarStyle style();
@Source("green-progress-bg.gif")
@Override
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource bar();
@Source("green-bg.gif")
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource innerBar();
}
public GreenProgressBarAppaearance() {
super(
GWT.<ProgressBarResources> create(GreenProgressBarResources.class),
GWT.<ProgressBarTemplate> create(ProgressBarTemplate.class));
}
}

@ -0,0 +1,47 @@
/**
*
*/
.progressWrap {
border:1px solid;
overflow:hidden;
border-color:#cf6572;
}
.progressInner {
height:18px;
background:repeat-x;
position:relative;
}
.progressBar {
height:18px;
width:0;
border-top:1px solid;
border-bottom:1px solid;
border-right:1px solid;
}
.progressText {
padding:1px 5px;
overflow:hidden;
position:absolute;
left:0;
text-align:center;
font-size:11px;
font-weight:bold;
}
.progressBar .progressText {
z-index: 99;
}
.progressTextBack {
z-index: 9 !important;
}
@if user.agent ie6 ie8 ie9 {
.progressTextBack {
line-height:15px;
}
}

@ -0,0 +1,44 @@
package org.gcube.portlets.user.dataminermanager.client.custom;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.ImageResource.ImageOptions;
import com.google.gwt.resources.client.ImageResource.RepeatStyle;
import com.sencha.gxt.theme.base.client.progress.ProgressBarDefaultAppearance;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class RedProgressBarAppaearance extends ProgressBarDefaultAppearance {
public interface RedProgressBarResources extends ProgressBarResources,
ClientBundle {
@Source({"RedProgressBar.css" })
@Override
ProgressBarStyle style();
@Source("red-progress-bg.gif")
@Override
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource bar();
@Source("red-bg.gif")
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource innerBar();
}
public RedProgressBarAppaearance() {
super(
GWT.<RedProgressBarResources> create(RedProgressBarResources.class),
GWT.<ProgressBarTemplate> create(ProgressBarTemplate.class));
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

@ -4,29 +4,38 @@
package org.gcube.portlets.user.dataminermanager.client.dataspace; package org.gcube.portlets.user.dataminermanager.client.dataspace;
import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.container.SimpleContainer; import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
/** /**
* *
* @author Giancarlo Panichi * @author Giancarlo Panichi email: <a
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public class DataSpacePanel extends SimpleContainer { public class DataSpacePanel extends FramedPanel {
/**
*
*/
public DataSpacePanel() { public DataSpacePanel() {
super(); super();
VerticalLayoutContainer v=new VerticalLayoutContainer(); init();
InputDataSetsPanel importedDataPanel=new InputDataSetsPanel(); create();
OutputDataSetsPanel computedDataPanel=new OutputDataSetsPanel(); }
v.add(importedDataPanel,new VerticalLayoutData(1, 0.5, new Margins(0)));
v.add(computedDataPanel,new VerticalLayoutData(1, 0.5, new Margins(0))); private void init() {
setBodyStyle("backgroundColor:white;");
setBodyBorder(true);
setHeadingText("Data Space");
setHeaderVisible(true);
}
private void create() {
VerticalLayoutContainer v = new VerticalLayoutContainer();
InputDataSetsPanel importedDataPanel = new InputDataSetsPanel();
OutputDataSetsPanel computedDataPanel = new OutputDataSetsPanel();
v.add(importedDataPanel, new VerticalLayoutData(1, 0.5, new Margins(0)));
v.add(computedDataPanel, new VerticalLayoutData(1, 0.5, new Margins(0)));
add(v); add(v);
} }
} }

@ -3,6 +3,7 @@ package org.gcube.portlets.user.dataminermanager.client.dataspace;
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent; import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent; import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent;
import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent; import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
@ -46,7 +47,7 @@ public class InputDataSetsPanel extends ContentPanel {
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel; private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnOpen; private TextButton btnOpen;
private TextButton btnDelete; private TextButton btnDelete;
private TextButton btnReload; private TextButton btnRefresh;
private VerticalLayoutContainer v; private VerticalLayoutContainer v;
public InputDataSetsPanel() { public InputDataSetsPanel() {
@ -62,8 +63,8 @@ public class InputDataSetsPanel extends ContentPanel {
private void init() { private void init() {
setId("InputDataSetsPanel"); setId("InputDataSetsPanel");
forceLayoutOnResize = true; forceLayoutOnResize = true;
setBodyBorder(true); setBodyBorder(false);
setBorders(true); setBorders(false);
setHeaderVisible(true); setHeaderVisible(true);
setResize(true); setResize(true);
setAnimCollapse(false); setAnimCollapse(false);
@ -94,6 +95,20 @@ public class InputDataSetsPanel extends ContentPanel {
}); });
EventBusProvider.INSTANCE
.addHandler(
RefreshDataMinerWorkAreaEvent.TYPE,
new RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler() {
@Override
public void onRefresh(
RefreshDataMinerWorkAreaEvent event) {
manageRefreshDataMinerWorkAreaEvents(event);
}
});
} }
private void manageStateEvents(UIStateEvent event) { private void manageStateEvents(UIStateEvent event) {
@ -118,7 +133,23 @@ public class InputDataSetsPanel extends ContentPanel {
switch (event.getDataMinerWorkAreaEventType()) { switch (event.getDataMinerWorkAreaEventType()) {
case OPEN: case OPEN:
case UPDATE: case UPDATE:
reloadWSResourceExplorerPanel(event); refreshWSResourceExplorerPanel(event);
break;
default:
break;
}
}
private void manageRefreshDataMinerWorkAreaEvents(
RefreshDataMinerWorkAreaEvent event) {
switch (event.getDataMinerWorkAreaElementType()) {
case Computations:
break;
case InputDataSets:
refreshWSResourceExplorerPanel();
break;
case OutputDataSets:
break; break;
default: default:
break; break;
@ -149,7 +180,6 @@ public class InputDataSetsPanel extends ContentPanel {
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel( wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getDataMinerWorkArea().getInputDataSets().getFolder() event.getDataMinerWorkArea().getInputDataSets().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) {
@ -255,16 +285,16 @@ public class InputDataSetsPanel extends ContentPanel {
}); });
btnReload = new TextButton("Reload"); btnRefresh = new TextButton("Refresh");
// btnReload.setIcon(StatAlgoImporterResources.INSTANCE.reload16()); // btnRefresh.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnReload.setScale(ButtonScale.SMALL); btnRefresh.setScale(ButtonScale.SMALL);
btnReload.setIconAlign(IconAlign.LEFT); btnRefresh.setIconAlign(IconAlign.LEFT);
btnReload.setToolTip("Reload"); btnRefresh.setToolTip("Refresh");
btnReload.addSelectHandler(new SelectHandler() { btnRefresh.addSelectHandler(new SelectHandler() {
@Override @Override
public void onSelect(SelectEvent event) { public void onSelect(SelectEvent event) {
reloadWSResourceExplorerPanel(); refreshWSResourceExplorerPanel();
} }
}); });
@ -272,7 +302,7 @@ public class InputDataSetsPanel extends ContentPanel {
ToolBar toolBar = new ToolBar(); ToolBar toolBar = new ToolBar();
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(btnRefresh, new BoxLayoutData(new Margins(0)));
v = new VerticalLayoutContainer(); v = new VerticalLayoutContainer();
@ -287,13 +317,13 @@ public class InputDataSetsPanel extends ContentPanel {
} }
} }
private void reloadWSResourceExplorerPanel() { private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) { if (wsResourcesExplorerPanel != null) {
wsResourcesExplorerPanel.refreshRootFolderView(); wsResourcesExplorerPanel.refreshRootFolderView();
} }
} }
private void reloadWSResourceExplorerPanel(DataMinerWorkAreaEvent event) { private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
try { try {
if (v != null) { if (v != null) {

@ -3,6 +3,7 @@ package org.gcube.portlets.user.dataminermanager.client.dataspace;
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent; import org.gcube.portlets.user.dataminermanager.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent; import org.gcube.portlets.user.dataminermanager.client.events.SessionExpiredEvent;
import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent; import org.gcube.portlets.user.dataminermanager.client.events.UIStateEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
@ -46,7 +47,7 @@ public class OutputDataSetsPanel extends ContentPanel {
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel; private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnOpen; private TextButton btnOpen;
private TextButton btnDelete; private TextButton btnDelete;
private TextButton btnReload; private TextButton btnRefresh;
private VerticalLayoutContainer v; private VerticalLayoutContainer v;
public OutputDataSetsPanel() { public OutputDataSetsPanel() {
@ -62,8 +63,8 @@ public class OutputDataSetsPanel extends ContentPanel {
private void init() { private void init() {
setId("OutputDataSetsPanel"); setId("OutputDataSetsPanel");
forceLayoutOnResize = true; forceLayoutOnResize = true;
setBodyBorder(true); setBodyBorder(false);
setBorders(true); setBorders(false);
setHeaderVisible(true); setHeaderVisible(true);
setResize(true); setResize(true);
setAnimCollapse(false); setAnimCollapse(false);
@ -93,6 +94,21 @@ public class OutputDataSetsPanel extends ContentPanel {
} }
}); });
EventBusProvider.INSTANCE
.addHandler(
RefreshDataMinerWorkAreaEvent.TYPE,
new RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler() {
@Override
public void onRefresh(
RefreshDataMinerWorkAreaEvent event) {
manageRefreshDataMinerWorkAreaEvents(event);
}
});
} }
@ -118,14 +134,31 @@ public class OutputDataSetsPanel extends ContentPanel {
switch (event.getDataMinerWorkAreaEventType()) { switch (event.getDataMinerWorkAreaEventType()) {
case OPEN: case OPEN:
case UPDATE: case UPDATE:
reloadWSResourceExplorerPanel(event); refreshWSResourceExplorerPanel(event);
break; break;
default: default:
break; break;
} }
} }
private void manageRefreshDataMinerWorkAreaEvents(
RefreshDataMinerWorkAreaEvent event) {
switch (event.getDataMinerWorkAreaElementType()) {
case Computations:
break;
case InputDataSets:
break;
case OutputDataSets:
refreshWSResourceExplorerPanel();
break;
default:
break;
}
}
private void create(DataMinerWorkAreaEvent event) { private void create(DataMinerWorkAreaEvent event) {
try { try {
@ -255,16 +288,16 @@ public class OutputDataSetsPanel extends ContentPanel {
}); });
btnReload = new TextButton("Reload"); btnRefresh = new TextButton("Refresh");
// btnReload.setIcon(StatAlgoImporterResources.INSTANCE.reload16()); // btnRefresh.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnReload.setScale(ButtonScale.SMALL); btnRefresh.setScale(ButtonScale.SMALL);
btnReload.setIconAlign(IconAlign.LEFT); btnRefresh.setIconAlign(IconAlign.LEFT);
btnReload.setToolTip("Reload"); btnRefresh.setToolTip("Refresh");
btnReload.addSelectHandler(new SelectHandler() { btnRefresh.addSelectHandler(new SelectHandler() {
@Override @Override
public void onSelect(SelectEvent event) { public void onSelect(SelectEvent event) {
reloadWSResourceExplorerPanel(); refreshWSResourceExplorerPanel();
} }
}); });
@ -272,7 +305,7 @@ public class OutputDataSetsPanel extends ContentPanel {
ToolBar toolBar = new ToolBar(); ToolBar toolBar = new ToolBar();
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(btnRefresh, new BoxLayoutData(new Margins(0)));
v = new VerticalLayoutContainer(); v = new VerticalLayoutContainer();
@ -287,13 +320,13 @@ public class OutputDataSetsPanel extends ContentPanel {
} }
} }
private void reloadWSResourceExplorerPanel() { private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) { if (wsResourcesExplorerPanel != null) {
wsResourcesExplorerPanel.refreshRootFolderView(); wsResourcesExplorerPanel.refreshRootFolderView();
} }
} }
private void reloadWSResourceExplorerPanel(DataMinerWorkAreaEvent event) { private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
try { try {
if (v != null) { if (v != null) {

@ -0,0 +1,68 @@
package org.gcube.portlets.user.dataminermanager.client.events;
import org.gcube.portlets.user.dataminermanager.client.type.DataMinerWorkAreaElementType;
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;
/**
* Delete Item Event
*
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class RefreshDataMinerWorkAreaEvent extends
GwtEvent<RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler> {
public static Type<RefreshDataMinerWorkAreaEventHandler> TYPE = new Type<RefreshDataMinerWorkAreaEventHandler>();
private DataMinerWorkAreaElementType dataMinerWorkAreaElementType;
public interface RefreshDataMinerWorkAreaEventHandler extends EventHandler {
void onRefresh(RefreshDataMinerWorkAreaEvent event);
}
public interface HasRefreshDataMinerWorkAreaEventHandler extends HasHandlers {
public HandlerRegistration addRefreshDataMinerWorkAreaEventHandler(
RefreshDataMinerWorkAreaEventHandler handler);
}
public RefreshDataMinerWorkAreaEvent(
DataMinerWorkAreaElementType dataMinerWorkAreaElementType) {
this.dataMinerWorkAreaElementType = dataMinerWorkAreaElementType;
}
@Override
protected void dispatch(RefreshDataMinerWorkAreaEventHandler handler) {
handler.onRefresh(this);
}
@Override
public Type<RefreshDataMinerWorkAreaEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<RefreshDataMinerWorkAreaEventHandler> getType() {
return TYPE;
}
public static void fire(HasHandlers source, RefreshDataMinerWorkAreaEvent deleteItemEvent) {
source.fireEvent(deleteItemEvent);
}
public DataMinerWorkAreaElementType getDataMinerWorkAreaElementType() {
return dataMinerWorkAreaElementType;
}
@Override
public String toString() {
return "RefreshDataMinerWorkAreaEvent [dataMinerWorkAreaElementType="
+ dataMinerWorkAreaElementType + "]";
}
}

@ -38,7 +38,6 @@ import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent; import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.form.FieldLabel;
import com.sencha.gxt.widget.core.client.form.FieldSet; import com.sencha.gxt.widget.core.client.form.FieldSet;
import com.sencha.gxt.widget.core.client.form.FormPanel; import com.sencha.gxt.widget.core.client.form.FormPanel;
import com.sencha.gxt.widget.core.client.form.TextField; import com.sencha.gxt.widget.core.client.form.TextField;
@ -115,7 +114,7 @@ public class ComputationParametersPanel extends SimpleContainer {
description.addStyleName("workflow-description"); description.addStyleName("workflow-description");
v.add(description, new VerticalLayoutData(-1, -1, new Margins(0))); v.add(description, new VerticalLayoutData(-1, -1, new Margins(0)));
addTitleField(); //addTitleField();
parametersPanel = new FormPanel() { parametersPanel = new FormPanel() {
@ -186,9 +185,7 @@ public class ComputationParametersPanel extends SimpleContainer {
} }
/** /*
*
*/
private void addTitleField() { private void addTitleField() {
titleField = new TextField(); titleField = new TextField();
titleField.setWidth(250); titleField.setWidth(250);
@ -197,7 +194,7 @@ public class ComputationParametersPanel extends SimpleContainer {
titleLabel.addStyleName("workflow-computation-title"); titleLabel.addStyleName("workflow-computation-title");
v.add(titleLabel, new VerticalLayoutData(-1, -1, v.add(titleLabel, new VerticalLayoutData(-1, -1,
new Margins(0))); new Margins(0)));
} }*/
/** /**
* @param parametersPanel * @param parametersPanel

@ -9,6 +9,8 @@ import org.gcube.portlets.user.dataminermanager.client.bean.ComputationStatus;
import org.gcube.portlets.user.dataminermanager.client.bean.ComputationStatus.Status; import org.gcube.portlets.user.dataminermanager.client.bean.ComputationStatus.Status;
import org.gcube.portlets.user.dataminermanager.client.bean.Operator; import org.gcube.portlets.user.dataminermanager.client.bean.Operator;
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider; import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.custom.GreenProgressBarAppaearance;
import org.gcube.portlets.user.dataminermanager.client.custom.RedProgressBarAppaearance;
import org.gcube.portlets.user.dataminermanager.client.events.CancelComputationExecutionRequestEvent; import org.gcube.portlets.user.dataminermanager.client.events.CancelComputationExecutionRequestEvent;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3; import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
@ -20,6 +22,7 @@ import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sencha.gxt.cell.core.client.ProgressBarCell;
import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.ProgressBar; import com.sencha.gxt.widget.core.client.ProgressBar;
import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.button.TextButton;
@ -74,37 +77,7 @@ public class ComputationStatusPanel extends SimpleContainer {
add(vert); add(vert);
forceLayout(); forceLayout();
} }
/*
private void custom(){
ProgressBarCell cell=new ProgressBarCell(new GreenProgressBarAppearance());
}
public class GreenProgressBarAppearance extends ProgressBarDefaultAppearance {
public interface GreenProgressBarResources extends ProgressBarResources, ClientBundle {
@Source({"com/sencha/gxt/theme/base/client/progress/ProgressBar.css", "ProgressBar.css"})
@Override
ProgressBarStyle style();
@Source("progress-bg.gif")
@Override
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource bar();
@Source("bg.gif")
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource innerBar();
}
public GreenProgressBarAppearance() {
super(GWT.<ProgressBarResources> create(GreenProgressBarResources.class),
GWT.<ProgressBarTemplate> create(ProgressBarTemplate.class));
}
}
*/
/** /**
* @param computationId the computationId to set * @param computationId the computationId to set
*/ */
@ -114,7 +87,7 @@ public class ComputationStatusPanel extends SimpleContainer {
progressBar = new ProgressBar(); progressBar = new ProgressBar();
progressBar.updateProgress(0, "Starting..."); progressBar.updateProgress(0, "Starting...");
vert.add(progressBar,new VerticalLayoutData(1, -1, new Margins(20))); vert.add(progressBar,new VerticalLayoutData(1, -1, new Margins(20)));
cancelComputationBtn = new TextButton("Cancel"); cancelComputationBtn = new TextButton("Cancel");
cancelComputationBtn.addSelectHandler(new SelectHandler() { cancelComputationBtn.addSelectHandler(new SelectHandler() {
@ -127,6 +100,8 @@ public class ComputationStatusPanel extends SimpleContainer {
} }
}); });
cancelComputationBtn.getElement().getStyle().setMarginBottom(36, Unit.PX); cancelComputationBtn.getElement().getStyle().setMarginBottom(36, Unit.PX);
vert.add(cancelComputationBtn,new VerticalLayoutData(-1, -1, new Margins(0))); vert.add(cancelComputationBtn,new VerticalLayoutData(-1, -1, new Margins(0)));
@ -156,9 +131,14 @@ public class ComputationStatusPanel extends SimpleContainer {
if (computationStatus.isComplete()) { if (computationStatus.isComplete()) {
Log.debug("Computation is Complete"); Log.debug("Computation is Complete");
Info.display("Terminated", "The computation "+computationId.getId()+" of "+operator.getName()+" is terminated correctly."); Info.display("Terminated", "The computation "+computationId.getId()+" of "+operator.getName()+" is terminated correctly.");
int index=vert.getWidgetIndex(progressBar);
vert.remove(index);
//TODO
ProgressBarCell cell=new ProgressBarCell(new GreenProgressBarAppaearance());
progressBar =new ProgressBar(cell);
progressBar.updateProgress(1, "Computation Complete"); progressBar.updateProgress(1, "Computation Complete");
progressBar.addStyleName("progressBar-complete"); progressBar.addStyleName("progressBar-complete");
vert.insert(progressBar, index);
showOutput(); showOutput();
} else if (computationStatus.isFailed()) { } else if (computationStatus.isFailed()) {
@ -172,10 +152,15 @@ public class ComputationStatusPanel extends SimpleContainer {
UtilsGXT3.alert("Failed", "The computation "+computationId.getId()+" of "+operator.getName()+" has failed.</br>" UtilsGXT3.alert("Failed", "The computation "+computationId.getId()+" of "+operator.getName()+" has failed.</br>"
+"Message: "+errorMessage); +"Message: "+errorMessage);
int index=vert.getWidgetIndex(progressBar);
vert.remove(index);
//TODO
ProgressBarCell cell=new ProgressBarCell(new RedProgressBarAppaearance());
progressBar =new ProgressBar(cell);
progressBar.updateProgress(1, "Computation Fail"); progressBar.updateProgress(1, "Computation Fail");
progressBar.getElement().getStyle().setMarginBottom(36, Unit.PX); progressBar.getElement().getStyle().setMarginBottom(36, Unit.PX);
progressBar.addStyleName("progressBar-failed"); progressBar.addStyleName("progressBar-failed");
vert.insert(progressBar, index);
} }
} }
@ -219,9 +204,16 @@ public class ComputationStatusPanel extends SimpleContainer {
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {
int index=vert.getWidgetIndex(progressBar);
vert.remove(index);
//TODO
ProgressBarCell cell=new ProgressBarCell(new RedProgressBarAppaearance());
progressBar =new ProgressBar(cell);
progressBar.updateProgress(1, "Failed to get the status"); progressBar.updateProgress(1, "Failed to get the status");
progressBar.getElement().getStyle().setMarginBottom(36, Unit.PX); progressBar.getElement().getStyle().setMarginBottom(36, Unit.PX);
progressBar.addStyleName("progressBar-failed"); progressBar.addStyleName("progressBar-failed");
vert.insert(progressBar, index);
} }
@Override @Override

@ -15,7 +15,7 @@ public class Images {
} }
public static AbstractImagePrototype computationIcon() { public static AbstractImagePrototype computationIcon() {
return AbstractImagePrototype.create(DataMinerManager.resources.computationIcon()); return AbstractImagePrototype.create(DataMinerManager.resources.executionIcon());
} }
public static AbstractImagePrototype inputSpaceIcon() { public static AbstractImagePrototype inputSpaceIcon() {

@ -16,10 +16,10 @@ public interface Resources extends ClientBundle {
ImageResource goBack(); ImageResource goBack();
@Source("computation.png") @Source("computation.png")
ImageResource computationIcon(); ImageResource executionIcon();
@Source("computations.png") @Source("computations.png")
ImageResource jobsIcon(); ImageResource computationsIcon();
@Source("inputSpace.png") @Source("inputSpace.png")
ImageResource inputSpaceIcon(); ImageResource inputSpaceIcon();

@ -49,10 +49,6 @@ public interface DataMinerPortletService extends RemoteService {
public String saveImage(ComputationId computationId, ImagesResource imageResource) public String saveImage(ComputationId computationId, ImagesResource imageResource)
throws Exception; throws Exception;
public void removeResource(String id) throws Exception;
public void removeImport(String id) throws Exception;
/** /**
* Dataminer * Dataminer
@ -85,4 +81,7 @@ public interface DataMinerPortletService extends RemoteService {
public String cancelComputation(ComputationId computationId) throws ServiceException; public String cancelComputation(ComputationId computationId) throws ServiceException;
public void deleteItem(ItemDescription itemDescription)
throws ServiceException;
} }

@ -51,9 +51,8 @@ public interface DataMinerPortletServiceAsync {
void saveImage(ComputationId computationId, ImagesResource imageResource, void saveImage(ComputationId computationId, ImagesResource imageResource,
AsyncCallback<String> callback); AsyncCallback<String> callback);
void removeResource(String id, AsyncCallback<Void> callback);
void removeImport(String id, AsyncCallback<Void> callback);
/** /**
@ -87,5 +86,9 @@ public interface DataMinerPortletServiceAsync {
void cancelComputation(ComputationId computationId, void cancelComputation(ComputationId computationId,
AsyncCallback<String> asyncCallback); AsyncCallback<String> asyncCallback);
void deleteItem(ItemDescription itemDescription,
AsyncCallback<Void> callback);
} }

@ -27,9 +27,9 @@ import org.gcube.portlets.user.dataminermanager.client.bean.output.Resource;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletService; import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletService;
import org.gcube.portlets.user.dataminermanager.server.smservice.SClient; import org.gcube.portlets.user.dataminermanager.server.smservice.SClient;
import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil;
import org.gcube.portlets.user.dataminermanager.server.util.DataMinerWorkAreaManager; import org.gcube.portlets.user.dataminermanager.server.util.DataMinerWorkAreaManager;
import org.gcube.portlets.user.dataminermanager.server.util.SessionUtil; import org.gcube.portlets.user.dataminermanager.server.util.SessionUtil;
import org.gcube.portlets.user.dataminermanager.server.util.StorageUtil;
import org.gcube.portlets.user.dataminermanager.server.util.TableReader; import org.gcube.portlets.user.dataminermanager.server.util.TableReader;
import org.gcube.portlets.user.dataminermanager.shared.data.ComputationId; import org.gcube.portlets.user.dataminermanager.shared.data.ComputationId;
import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple; import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple;
@ -198,23 +198,19 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
} }
/* /*
@Override * @Override public List<TableItemSimple> getTableItems(List<String>
public List<TableItemSimple> getTableItems(List<String> templates) * templates) throws Exception { try { HttpSession session =
throws Exception { * this.getThreadLocalRequest().getSession(); ASLSession aslSession =
try { * SessionUtil.getASLSession(session);
HttpSession session = this.getThreadLocalRequest().getSession(); *
ASLSession aslSession = SessionUtil.getASLSession(session); * List<TableItemSimple> list = new ArrayList<TableItemSimple>();
*
List<TableItemSimple> list = new ArrayList<TableItemSimple>(); * return list; } catch (Throwable e) {
* logger.error("Error in getTableItems:" + e.getLocalizedMessage());
return list; * e.printStackTrace(); throw new Exception(e.getLocalizedMessage()); }
} catch (Throwable e) { *
logger.error("Error in getTableItems:" + e.getLocalizedMessage()); * }
e.printStackTrace(); */
throw new Exception(e.getLocalizedMessage());
}
}*/
@Override @Override
public List<TableItemSimple> getFileItems(List<String> templates) public List<TableItemSimple> getFileItems(List<String> templates)
@ -308,7 +304,7 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
try { try {
HttpSession session = this.getThreadLocalRequest().getSession(); HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session); ASLSession aslSession = SessionUtil.getASLSession(session);
//SClient smClient = SessionUtil.getSClient(session, aslSession); // SClient smClient = SessionUtil.getSClient(session, aslSession);
// SMComputation computation = // SMComputation computation =
// factory.gegetComputation(computationId); // factory.gegetComputation(computationId);
// String computationName = computation.title() == null ? // String computationName = computation.title() == null ?
@ -352,29 +348,19 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
} }
@Override @Override
public void removeResource(String id) throws Exception { public void deleteItem(ItemDescription itemDescription)
try { throws ServiceException {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session);
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
throw (e);
}
}
@Override
public void removeImport(String id) throws Exception {
try { try {
HttpSession session = this.getThreadLocalRequest().getSession(); HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session); ASLSession aslSession = SessionUtil.getASLSession(session);
logger.debug("DeleteItem(): "+itemDescription);
} catch (Exception e) { StorageUtil.deleteItem(aslSession.getUsername(),
itemDescription.getId());
return;
} catch (Throwable e) {
logger.error(e.getLocalizedMessage(), e); logger.error(e.getLocalizedMessage(), e);
e.printStackTrace(); e.printStackTrace();
throw new ServiceException(e.getLocalizedMessage(), e);
throw (e);
} }
} }

@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.gcube.portlets.user.dataminermanager.server.util.StorageUtil; import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil;
/** /**
* @author Federico De Faveri defaveri@isti.cnr.it * @author Federico De Faveri defaveri@isti.cnr.it

@ -1,4 +1,4 @@
package org.gcube.portlets.user.dataminermanager.server.util; package org.gcube.portlets.user.dataminermanager.server.storage;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -18,10 +18,8 @@ import org.gcube.common.homelibrary.home.workspace.Workspace;
import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.common.homelibrary.home.workspace.exceptions.InsufficientPrivilegesException; import org.gcube.common.homelibrary.home.workspace.exceptions.InsufficientPrivilegesException;
import org.gcube.common.homelibrary.home.workspace.exceptions.ItemAlreadyExistException;
import org.gcube.common.homelibrary.home.workspace.exceptions.ItemNotFoundException; import org.gcube.common.homelibrary.home.workspace.exceptions.ItemNotFoundException;
import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException;
import org.gcube.common.homelibrary.home.workspace.exceptions.WrongDestinationException;
import org.gcube.common.homelibrary.home.workspace.exceptions.WrongItemTypeException; import org.gcube.common.homelibrary.home.workspace.exceptions.WrongItemTypeException;
import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalImage; import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalImage;
import org.gcube.contentmanager.storageclient.model.protocol.smp.SMPURLConnection; import org.gcube.contentmanager.storageclient.model.protocol.smp.SMPURLConnection;
@ -252,5 +250,33 @@ public class StorageUtil {
throw new ServiceException(e.getLocalizedMessage()); throw new ServiceException(e.getLocalizedMessage());
} }
} }
/**
*
* @param user
* @param itemId
* @throws ServiceException
*/
public static void deleteItem(String user, String itemId)
throws ServiceException {
Workspace ws;
try {
logger.debug("User: "+user+", ItemId:"+itemId);
ws = HomeLibrary.getUserWorkspace(user);
ws.removeItems(itemId);
return;
} catch (InsufficientPrivilegesException
| WorkspaceFolderNotFoundException | InternalErrorException
| HomeNotFoundException | ItemNotFoundException e) {
e.printStackTrace();
throw new ServiceException(e.getLocalizedMessage());
}
}
} }

@ -2,6 +2,7 @@ package org.gcube.portlets.user.dataminermanager.server.util;
import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil;
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException; import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;
import org.gcube.portlets.user.dataminermanager.shared.workspace.Computations; import org.gcube.portlets.user.dataminermanager.shared.workspace.Computations;
import org.gcube.portlets.user.dataminermanager.shared.workspace.OutputDataSets; import org.gcube.portlets.user.dataminermanager.shared.workspace.OutputDataSets;

@ -11,6 +11,7 @@ import net.sf.csv4j.CSVReader;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.gcube.application.framework.core.session.ASLSession; import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.portlets.user.dataminermanager.server.storage.StorageUtil;
import org.gcube.portlets.user.dataminermanager.shared.data.ColumnItem; import org.gcube.portlets.user.dataminermanager.shared.data.ColumnItem;
import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple; import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple;
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException; import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;

@ -1,7 +1,7 @@
package org.gcube.portlets.user.dataminermanager.shared; package org.gcube.portlets.user.dataminermanager.shared;
public class Constants { public class Constants {
public static final boolean DEBUG_MODE = true; public static final boolean DEBUG_MODE = false;
public static final boolean TEST_ENABLE = false; public static final boolean TEST_ENABLE = false;
public static final String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager"; public static final String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager";

@ -2,72 +2,61 @@
<module rename-to='dataminermanager'> <module rename-to='dataminermanager'>
<inherits name='com.google.gwt.user.User' /> <inherits name='com.google.gwt.user.User' />
<inherits name="com.google.gwt.http.HTTP" /> <inherits name="com.google.gwt.http.HTTP" />
<!-- <inherits name='com.google.gwt.user.theme.clean.Clean' /> --> <!-- <inherits name='com.google.gwt.user.theme.clean.Clean' /> -->
<inherits name='com.sencha.gxt.ui.GXT' /> <inherits name='com.sencha.gxt.ui.GXT' />
<!-- <inherits name="com.extjs.gxt.ui.GXT" /> --> <!-- <inherits name="com.extjs.gxt.ui.GXT" /> -->
<!-- <inherits name="com.google.gwt.logging.Logging" /> --> <!-- <inherits name="com.google.gwt.logging.Logging" /> -->
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" /> <inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
<!-- Debug CSS style --> <!-- Debug CSS style -->
<set-configuration-property name="CssResource.style" value="pretty" <set-configuration-property name="CssResource.style"
/> value="pretty" />
<!-- <!-- <inherits name="org.gcube.portlets.user.tdw.TabularDataWidget" /> <inherits
<inherits name="org.gcube.portlets.user.tdw.TabularDataWidget" /> name='org.gcube.portlets.user.gcubewidgets.WidgetFactory' /> <inherits name='org.gcube.portlets.user.csvimportwizard.CSVImportWizard'
<inherits name='org.gcube.portlets.user.gcubewidgets.WidgetFactory' /> /> -->
<inherits name='org.gcube.portlets.user.csvimportwizard.CSVImportWizard' />
-->
<inherits name='org.gcube.portlets.widgets.sessionchecker.SessionChecker' /> <inherits name='org.gcube.portlets.widgets.sessionchecker.SessionChecker' />
<!-- <!-- <inherits name="org.gcube.portlets.user.csvimportwizard.ws.CSVImportWizardWorkspace"
<inherits /> -->
name="org.gcube.portlets.user.csvimportwizard.ws.CSVImportWizardWorkspace" />
-->
<!-- inherits WorkspaceExplorer widget --> <!-- inherits WorkspaceExplorer widget -->
<inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' /> <inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' />
<!-- inherits Wokspace Uploader widget --> <!-- inherits Wokspace Uploader widget -->
<inherits <inherits
name="org.gcube.portlets.widgets.workspaceuploader.WorkspaceUploader" /> name="org.gcube.portlets.widgets.workspaceuploader.WorkspaceUploader" />
<!-- <!-- <inherits name='org.gcube.portlets.widgets.lighttree.WorkspacePortletLightTree'
<inherits /> -->
name='org.gcube.portlets.widgets.lighttree.WorkspacePortletLightTree' /> --> <!-- <inherits name='org.gwtopenmaps.openlayers.OpenLayers' /> <inherits
<!-- name='org.gcube.portlets.widgets.file_dw_import_wizard.filedwimportwizard'
<inherits name='org.gwtopenmaps.openlayers.OpenLayers' /> /> <script src="http://www.openlayers.org/api/OpenLayers.js"></script> -->
<inherits
name='org.gcube.portlets.widgets.file_dw_import_wizard.filedwimportwizard' /> <!-- <replace-with class="org.gcube.portlets.user.dataminermanager.client.custom.Gxt2ZIndexXDOM">
<script src="http://www.openlayers.org/api/OpenLayers.js"></script> <when-type-is class="com.sencha.gxt.core.client.dom.XDOM.XDOMImpl" /> </replace-with> -->
-->
<!--
<replace-with class="org.gcube.portlets.user.dataminermanager.client.custom.Gxt2ZIndexXDOM">
<when-type-is class="com.sencha.gxt.core.client.dom.XDOM.XDOMImpl" />
</replace-with> -->
<entry-point <entry-point
class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' /> class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' />
<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"
/> --> /> -->
<source path='client' /> <source path='client' />
<source path='shared' /> <source path='shared' />

@ -32,7 +32,7 @@
.smMenu { .smMenu {
width: 720px !important; width: 720px !important;
height: 400px !important; height: 600px !important;
margin: auto; margin: auto;
margin-bottom: 20px; margin-bottom: 20px;
} }

@ -1,77 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="2.5"> version="3.0">
<servlet> <servlet>
<servlet-name>DataMinerManagerServlet</servlet-name> <servlet-name>DataMinerManagerServlet</servlet-name>
<servlet-class>org.gcube.portlets.user.dataminermanager.server.DataMinerManagerServiceImpl</servlet-class> <servlet-class>org.gcube.portlets.user.dataminermanager.server.DataMinerManagerServiceImpl</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>DataMinerManagerServlet</servlet-name>
<url-pattern>/dataminermanager/dataminerman</url-pattern>
</servlet-mapping>
<servlet> <servlet>
<servlet-name>jUnitHostImpl</servlet-name> <servlet-name>jUnitHostImpl</servlet-name>
<servlet-class>com.google.gwt.junit.server.JUnitHostImpl</servlet-class> <servlet-class>com.google.gwt.junit.server.JUnitHostImpl</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>jUnitHostImpl</servlet-name>
<url-pattern>/dataminermanager/junithost/*</url-pattern>
</servlet-mapping>
<servlet> <servlet>
<servlet-name>DownloadService</servlet-name> <servlet-name>DownloadService</servlet-name>
<servlet-class>org.gcube.portlets.user.dataminermanager.server.DownloadServlet</servlet-class> <servlet-class>org.gcube.portlets.user.dataminermanager.server.DownloadServlet</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>DownloadService</servlet-name>
<url-pattern>/dataminermanager/DownloadService</url-pattern>
</servlet-mapping>
<!-- Workspace Explorer --> <!-- Workspace Explorer -->
<servlet> <servlet>
<servlet-name>workspaceExplorer</servlet-name> <servlet-name>workspaceExplorer</servlet-name>
<servlet-class>org.gcube.portlets.widgets.wsexplorer.server.WorkspaceExplorerServiceImpl</servlet-class> <servlet-class>org.gcube.portlets.widgets.wsexplorer.server.WorkspaceExplorerServiceImpl</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>workspaceExplorer</servlet-name>
<url-pattern>/dataminermanager/WorkspaceExplorerService</url-pattern>
</servlet-mapping>
<!-- Workspace Uploader --> <!-- Workspace Uploader -->
<servlet> <servlet>
<servlet-name>workspaceUploaderService</servlet-name> <servlet-name>workspaceUploaderService</servlet-name>
<servlet-class>org.gcube.portlets.widgets.workspaceuploader.server.WorkspaceUploaderServiceImpl</servlet-class> <servlet-class>org.gcube.portlets.widgets.workspaceuploader.server.WorkspaceUploaderServiceImpl</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>workspaceUploaderService</servlet-name>
<url-pattern>/dataminermanager/workspaceUploaderService</url-pattern>
</servlet-mapping>
<servlet> <servlet>
<servlet-name>workspaceUploadServletStream</servlet-name> <servlet-name>workspaceUploadServletStream</servlet-name>
<servlet-class>org.gcube.portlets.widgets.workspaceuploader.server.WorkspaceUploadServletStream</servlet-class> <servlet-class>org.gcube.portlets.widgets.workspaceuploader.server.WorkspaceUploadServletStream</servlet-class>
</servlet> </servlet>
<servlet-mapping>
<servlet-name>workspaceUploadServletStream</servlet-name>
<url-pattern>/dataminermanager/workspaceUploadServletStream</url-pattern>
</servlet-mapping>
<servlet> <servlet>
<servlet-name>checkServlet</servlet-name> <servlet-name>checkServlet</servlet-name>
<servlet-class>org.gcube.portlets.widgets.sessionchecker.server.SessionCheckerServiceImpl</servlet-class> <servlet-class>org.gcube.portlets.widgets.sessionchecker.server.SessionCheckerServiceImpl</servlet-class>
</servlet> </servlet>
<servlet>
<servlet-name>scopeService</servlet-name>
<servlet-class>org.gcube.portlets.user.gcubewidgets.server.ScopeServiceImpl</servlet-class>
</servlet>
<!-- Mapping -->
<servlet-mapping>
<servlet-name>DataMinerManagerServlet</servlet-name>
<url-pattern>/dataminermanager/dataminerman</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jUnitHostImpl</servlet-name>
<url-pattern>/dataminermanager/junithost/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadService</servlet-name>
<url-pattern>/dataminermanager/DownloadService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>workspaceExplorer</servlet-name>
<url-pattern>/dataminermanager/WorkspaceExplorerService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>workspaceUploaderService</servlet-name>
<url-pattern>/dataminermanager/workspaceUploaderService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>workspaceUploadServletStream</servlet-name>
<url-pattern>/dataminermanager/workspaceUploadServletStream</url-pattern>
</servlet-mapping>
<servlet-mapping> <servlet-mapping>
<servlet-name>checkServlet</servlet-name> <servlet-name>checkServlet</servlet-name>
<url-pattern>/dataminermanager/checksession</url-pattern> <url-pattern>/dataminermanager/checksession</url-pattern>
</servlet-mapping> </servlet-mapping>
<servlet>
<servlet-name>scopeService</servlet-name>
<servlet-class>org.gcube.portlets.user.gcubewidgets.server.ScopeServiceImpl</servlet-class>
</servlet>
<servlet-mapping> <servlet-mapping>
<servlet-name>scopeService</servlet-name> <servlet-name>scopeService</servlet-name>

486585
test.log.1

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save