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
This commit is contained in:
parent
e43bac9129
commit
fe208baa93
11
.classpath
11
.classpath
|
@ -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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
<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"/>
|
<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.pde.core.requiredPlugins"/>
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<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>
|
||||||
|
|
13
.project
13
.project
|
@ -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 "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 -port 8888 DataMinerManager.html"/>
|
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl DataMinerManager.html -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -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,9 +440,39 @@ public class DataMinerManagerController {
|
||||||
EventBusProvider.INSTANCE.fireEvent(dataMinerWorkAreaEvent);
|
EventBusProvider.INSTANCE.fireEvent(dataMinerWorkAreaEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void deleteItemRequest(final DeleteItemRequestEvent event) {
|
||||||
|
DataMinerPortletServiceAsync.INSTANCE
|
||||||
|
.deleteItem(event.getItemDescription(), new AsyncCallback<Void>() {
|
||||||
|
|
||||||
private void deleteItemRequest(DeleteItemRequestEvent event) {
|
@Override
|
||||||
//DataMinerPortletServiceAsync.INSTANCE.
|
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: 99 B |
Binary file not shown.
After Width: | Height: | Size: 492 B |
Binary file not shown.
After Width: | Height: | Size: 120 B |
|
@ -4,28 +4,37 @@
|
||||||
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);
|
||||||
|
@ -94,6 +95,21 @@ public class OutputDataSetsPanel 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 +134,7 @@ 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;
|
||||||
|
@ -126,6 +142,23 @@ public class OutputDataSetsPanel extends ContentPanel {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
*/
|
*/
|
||||||
|
@ -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);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -88,4 +87,8 @@ public interface DataMinerPortletServiceAsync {
|
||||||
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)
|
||||||
|
throws ServiceException {
|
||||||
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(),
|
||||||
logger.error(e.getLocalizedMessage(), e);
|
itemDescription.getId());
|
||||||
|
return;
|
||||||
throw (e);
|
} catch (Throwable e) {
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeImport(String id) throws Exception {
|
|
||||||
try {
|
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
|
||||||
ASLSession aslSession = SessionUtil.getASLSession(session);
|
|
||||||
|
|
||||||
} catch (Exception 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;
|
||||||
|
@ -253,4 +251,32 @@ public class StorageUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @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";
|
||||||
|
|
|
@ -11,19 +11,15 @@
|
||||||
<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' />
|
||||||
|
@ -33,37 +29,30 @@
|
||||||
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' />
|
|
||||||
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
<!-- <replace-with class="org.gcube.portlets.user.dataminermanager.client.custom.Gxt2ZIndexXDOM">
|
||||||
<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> -->
|
||||||
<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"
|
||||||
/> -->
|
/> -->
|
||||||
|
|
||||||
|
|
|
@ -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>
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue