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

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

Fixed Added Computations 

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

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

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

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

@ -1,5 +1,6 @@
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.experiments.ExperimentPanel;
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 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 List<OperatorsClassification> operatorsClassifications = null;
private DataMinerManagerController dataMinerManagerController;
private DataSpacePanel dataSpacePanel; // = new DataSpacePanel();
// private InputSpacePanel inputSpacePanel = new InputSpacePanel();
private ExperimentPanel experimentPanel;// = new ExperimentPanel();
// private JobsPanel jobsPanel = new JobsPanel();
// private VerticalPanel verticalPanel = new VerticalPanel();
private DataSpacePanel dataSpacePanel;
private ExperimentPanel experimentPanel;
private ComputationsPanel computationsPanel;
private SimpleContainer previousPanel;
private SimpleContainer homeMenu;
private SimpleContainer centerPanel;
/*
* private BorderLayoutData centerPanelData; private LayoutContainer
* dataMinerManagerLayout;
*/
public enum MenuItem {
DATA_SPACE, EXPERIMENT, COMPUTATIONS
};
@ -97,16 +86,19 @@ public class DataMinerManager implements EntryPoint {
new AsyncCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
if(result){
loadMainPanel();
} else {
UtilsGXT3.info("Attention", "ClientScopeHelper has returned a false value!");
}
if (result) {
loadMainPanel();
} else {
UtilsGXT3
.info("Attention",
"ClientScopeHelper has returned a false value!");
}
}
@Override
public void onFailure(Throwable caught) {
UtilsGXT3.alert("Error", "Error setting scope: "+caught.getLocalizedMessage());
public void onFailure(Throwable caught) {
UtilsGXT3.alert("Error", "Error setting scope: "
+ caught.getLocalizedMessage());
caught.printStackTrace();
}
});
@ -121,6 +113,7 @@ public class DataMinerManager implements EntryPoint {
homeMenu = createMenuPanel();
dataSpacePanel = new DataSpacePanel();
experimentPanel = new ExperimentPanel();
computationsPanel = new ComputationsPanel();
// Layout
mainPanelLayout = new BorderLayoutContainer();
@ -146,6 +139,8 @@ public class DataMinerManager implements EntryPoint {
switchTo(experimentPanel);
else if (menuItem == MenuItem.DATA_SPACE)
switchTo(dataSpacePanel);
else if (menuItem == MenuItem.COMPUTATIONS)
switchTo(computationsPanel);
/*
* else if (menuItem == MenuItem.COMPUTATIONS)
@ -174,8 +169,6 @@ public class DataMinerManager implements EntryPoint {
* westData); filtersPanel.expand(); filtersPanel.enable();
*/
centerPanel.add(homeMenu);
previousPanel = homeMenu;
@ -243,23 +236,18 @@ public class DataMinerManager implements EntryPoint {
*
*/
private void bindEvents() {
/*EventBusProvider.INSTANCE.addHandler(MaskEvent.getType(),
new MaskEvent.MaskHandler() {
@Override
public void onMask(MaskEvent event) {
if (mainPanelLayout == null)
return;
String message = event.getMessage();
if (message == null)
mainPanelLayout.unmask();
else
mainPanelLayout.mask(message);
// Constants.maskLoadingStyle);
}
});
*/
/*
* EventBusProvider.INSTANCE.addHandler(MaskEvent.getType(), new
* MaskEvent.MaskHandler() {
*
* @Override public void onMask(MaskEvent event) { if (mainPanelLayout
* == null) return;
*
* String message = event.getMessage(); if (message == null)
* mainPanelLayout.unmask(); else mainPanelLayout.mask(message);
*
* // Constants.maskLoadingStyle); } });
*/
/*
* EventBusProvider.getInstance().addHandler(
* SessionExpiredEvent.getType(), new
@ -270,7 +258,6 @@ public class DataMinerManager implements EntryPoint {
* });
*/
}
/**
@ -303,7 +290,7 @@ public class DataMinerManager implements EntryPoint {
SimpleContainer itemExperiment = createMenuItem(
"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.",
resources.computationIcon(), new MouseDownHandler() {
resources.executionIcon(), new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
@ -315,15 +302,21 @@ public class DataMinerManager implements EntryPoint {
lc.add(itemExperiment, layoutNext);
/*
* LayoutContainer itemJobs = createMenuItem( "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."
* , resources.jobsIcon(), new Listener<BaseEvent>() {
*
* @Override public void handleEvent(BaseEvent be) {
* switchTo(jobsPanel); header.setMenuSelected(MenuItem.COMPUTATIONS); }
* }); lc.add(itemJobs);
*/
SimpleContainer itemComputations = createMenuItem(
"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.",
resources.computationsIcon(), new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
switchTo(computationsPanel);
header.setMenuSelected(MenuItem.COMPUTATIONS);
}
});
lc.add(itemComputations, layoutNext);
topLc.add(lc);
return topLc;
}
@ -365,49 +358,6 @@ public class DataMinerManager implements EntryPoint {
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.events.CancelComputationExecutionRequestEvent;
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.OperatorsClassificationEvent;
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.StartComputationExecutionRequestEvent;
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.util.UtilsGXT3;
import org.gcube.portlets.user.dataminermanager.shared.Constants;
@ -130,7 +132,8 @@ public class DataMinerManagerController {
@Override
public void onStart(
StartComputationExecutionRequestEvent event) {
Log.debug("Catch StartComputationExecutionRequestEvent: "+event);
Log.debug("Catch StartComputationExecutionRequestEvent: "
+ event);
startComputationRequest(event);
}
@ -144,7 +147,8 @@ public class DataMinerManagerController {
@Override
public void onCancel(
CancelComputationExecutionRequestEvent event) {
Log.debug("Catch CancelComputationRequestEvent: "+event);
Log.debug("Catch CancelComputationRequestEvent: "
+ event);
cancelComputationRequest(event);
}
@ -158,7 +162,8 @@ public class DataMinerManagerController {
@Override
public void onResubmit(
ResubmitComputationExecutionRequestEvent event) {
Log.debug("Catch ResubmitComputationExecutionRequestEvent: "+event);
Log.debug("Catch ResubmitComputationExecutionRequestEvent: "
+ event);
resubmitComputationRequest(event);
}
@ -173,30 +178,26 @@ public class DataMinerManagerController {
@Override
public void onRequest(
OperatorsClassificationRequestEvent event) {
Log.debug("Catch OperatorsClassificationRequestEvent: "+event);
Log.debug("Catch OperatorsClassificationRequestEvent: "
+ event);
operatorsClassificationRequest(event);
}
});
EventBusProvider.INSTANCE
.addHandler(
DeleteItemRequestEvent.TYPE,
EventBusProvider.INSTANCE.addHandler(DeleteItemRequestEvent.TYPE,
new DeleteItemRequestEvent.DeleteItemRequestEventHandler() {
@Override
public void onDeleteRequest(
DeleteItemRequestEvent event) {
Log.debug("Catch DeleteItemRequestEvent: "+ event);
public void onDeleteRequest(DeleteItemRequestEvent event) {
Log.debug("Catch DeleteItemRequestEvent: " + event);
deleteItemRequest(event);
}
});
/*
* EventBusProvider.INSTANCE.addHandler(
* ResubmitComputationEvent.getType(), new
@ -209,8 +210,6 @@ public class DataMinerManagerController {
}
private void startComputationRequest(
final StartComputationExecutionRequestEvent event) {
@ -250,7 +249,8 @@ public class DataMinerManagerController {
EventBusProvider.INSTANCE.fireEvent(event);
}
private void cancelComputationRequest(CancelComputationExecutionRequestEvent event) {
private void cancelComputationRequest(
CancelComputationExecutionRequestEvent event) {
final ComputationId computationId = event.getComputationId();
DataMinerPortletServiceAsync.INSTANCE.cancelComputation(computationId,
@ -359,7 +359,8 @@ public class DataMinerManagerController {
@Override
public void onFailure(Throwable caught) {
UtilsGXT3.alert("Error",
"Error retrieving operators classification!");
"Error retrieving operators classification! "
+ caught.getLocalizedMessage());
Log.error("Error retrieving operators classification: "
+ caught.getLocalizedMessage());
caught.printStackTrace();
@ -370,40 +371,40 @@ public class DataMinerManagerController {
private void getOperatorsClassificationDefault(
OperatorsClassificationRequestEvent event) {
OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications){
if (oc.getName().equals(Constants.UserClassificationName)){
for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(Constants.UserClassificationName)) {
find = oc;
break;
}
}
OperatorsClassificationEvent ocEvent=new OperatorsClassificationEvent(find);
OperatorsClassificationEvent ocEvent = new OperatorsClassificationEvent(
find);
EventBusProvider.INSTANCE.fireEvent(ocEvent);
}
private void getOperatorsClassificationByName(
OperatorsClassificationRequestEvent event) {
OperatorsClassification find = null;
for (OperatorsClassification oc : operatorsClassifications){
if (oc.getName().equals(event.getClassificationName())){
for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(event.getClassificationName())) {
find = oc;
break;
}
}
if(find==null){
for (OperatorsClassification oc : operatorsClassifications){
if (oc.getName().equals(Constants.UserClassificationName)){
if (find == null) {
for (OperatorsClassification oc : operatorsClassifications) {
if (oc.getName().equals(Constants.UserClassificationName)) {
find = oc;
break;
}
}
}
OperatorsClassificationEvent ocEvent=new OperatorsClassificationEvent(event.getClassificationName(),find);
OperatorsClassificationEvent ocEvent = new OperatorsClassificationEvent(
event.getClassificationName(), find);
EventBusProvider.INSTANCE.fireEvent(ocEvent);
}
private void retrieveDataMinerWorkArea() {
DataMinerPortletServiceAsync.INSTANCE
.getDataMinerWorkArea(new AsyncCallback<DataMinerWorkArea>() {
@ -439,10 +440,40 @@ public class DataMinerManagerController {
EventBusProvider.INSTANCE.fireEvent(dataMinerWorkAreaEvent);
}
private void deleteItemRequest(DeleteItemRequestEvent event) {
//DataMinerPortletServiceAsync.INSTANCE.
private void deleteItemRequest(final DeleteItemRequestEvent event) {
DataMinerPortletServiceAsync.INSTANCE
.deleteItem(event.getItemDescription(), new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
Log.info("No valid user found: " + caught.getMessage());
if (caught instanceof ExpiredSessionServiceException) {
UtilsGXT3.alert("Error", "Expired Session");
sessionExpiredShowDelayed();
} else {
UtilsGXT3.alert("Error",
"Error deleting item on workspace: "
+ caught.getLocalizedMessage());
}
}
@Override
public void onSuccess(Void result) {
Log.debug("Deleted Item!");
fireRefreshDataMinerWorkAreaEvent(event.getDataMinerWorkAreaElementType());
}
});
}
private void fireRefreshDataMinerWorkAreaEvent(
DataMinerWorkAreaElementType dataMinerWorkAreaElementType) {
RefreshDataMinerWorkAreaEvent refreshEvent=new RefreshDataMinerWorkAreaEvent(dataMinerWorkAreaElementType);
EventBusProvider.INSTANCE.fireEvent(refreshEvent);
}
}

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

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

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

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

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

@ -4,29 +4,38 @@
package org.gcube.portlets.user.dataminermanager.client.dataspace;
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.VerticalLayoutData;
/**
*
* @author Giancarlo Panichi
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* @author Giancarlo Panichi email: <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() {
super();
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)));
init();
create();
}
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);
}
}

@ -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.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;
@ -46,7 +47,7 @@ public class InputDataSetsPanel extends ContentPanel {
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnOpen;
private TextButton btnDelete;
private TextButton btnReload;
private TextButton btnRefresh;
private VerticalLayoutContainer v;
public InputDataSetsPanel() {
@ -62,8 +63,8 @@ public class InputDataSetsPanel extends ContentPanel {
private void init() {
setId("InputDataSetsPanel");
forceLayoutOnResize = true;
setBodyBorder(true);
setBorders(true);
setBodyBorder(false);
setBorders(false);
setHeaderVisible(true);
setResize(true);
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) {
@ -118,7 +133,23 @@ public class InputDataSetsPanel extends ContentPanel {
switch (event.getDataMinerWorkAreaEventType()) {
case OPEN:
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;
default:
break;
@ -149,7 +180,6 @@ public class InputDataSetsPanel extends ContentPanel {
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getDataMinerWorkArea().getInputDataSets().getFolder()
.getId(), false);
WorskpaceExplorerSelectNotificationListener wsResourceExplorerListener = new WorskpaceExplorerSelectNotificationListener() {
@Override
public void onSelectedItem(Item item) {
@ -255,16 +285,16 @@ public class InputDataSetsPanel extends ContentPanel {
});
btnReload = new TextButton("Reload");
// btnReload.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnReload.setScale(ButtonScale.SMALL);
btnReload.setIconAlign(IconAlign.LEFT);
btnReload.setToolTip("Reload");
btnReload.addSelectHandler(new SelectHandler() {
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) {
reloadWSResourceExplorerPanel();
refreshWSResourceExplorerPanel();
}
});
@ -272,7 +302,7 @@ public class InputDataSetsPanel extends ContentPanel {
ToolBar toolBar = new ToolBar();
toolBar.add(btnOpen, 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();
@ -287,13 +317,13 @@ public class InputDataSetsPanel extends ContentPanel {
}
}
private void reloadWSResourceExplorerPanel() {
private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) {
wsResourcesExplorerPanel.refreshRootFolderView();
}
}
private void reloadWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
try {
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.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;
@ -46,7 +47,7 @@ public class OutputDataSetsPanel extends ContentPanel {
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
private TextButton btnOpen;
private TextButton btnDelete;
private TextButton btnReload;
private TextButton btnRefresh;
private VerticalLayoutContainer v;
public OutputDataSetsPanel() {
@ -62,8 +63,8 @@ public class OutputDataSetsPanel extends ContentPanel {
private void init() {
setId("OutputDataSetsPanel");
forceLayoutOnResize = true;
setBodyBorder(true);
setBorders(true);
setBodyBorder(false);
setBorders(false);
setHeaderVisible(true);
setResize(true);
setAnimCollapse(false);
@ -93,6 +94,21 @@ public class OutputDataSetsPanel extends ContentPanel {
}
});
EventBusProvider.INSTANCE
.addHandler(
RefreshDataMinerWorkAreaEvent.TYPE,
new RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler() {
@Override
public void onRefresh(
RefreshDataMinerWorkAreaEvent event) {
manageRefreshDataMinerWorkAreaEvents(event);
}
});
}
@ -118,14 +134,31 @@ public class OutputDataSetsPanel extends ContentPanel {
switch (event.getDataMinerWorkAreaEventType()) {
case OPEN:
case UPDATE:
reloadWSResourceExplorerPanel(event);
refreshWSResourceExplorerPanel(event);
break;
default:
break;
}
}
private void manageRefreshDataMinerWorkAreaEvents(
RefreshDataMinerWorkAreaEvent event) {
switch (event.getDataMinerWorkAreaElementType()) {
case Computations:
break;
case InputDataSets:
break;
case OutputDataSets:
refreshWSResourceExplorerPanel();
break;
default:
break;
}
}
private void create(DataMinerWorkAreaEvent event) {
try {
@ -255,16 +288,16 @@ public class OutputDataSetsPanel extends ContentPanel {
});
btnReload = new TextButton("Reload");
// btnReload.setIcon(StatAlgoImporterResources.INSTANCE.reload16());
btnReload.setScale(ButtonScale.SMALL);
btnReload.setIconAlign(IconAlign.LEFT);
btnReload.setToolTip("Reload");
btnReload.addSelectHandler(new SelectHandler() {
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) {
reloadWSResourceExplorerPanel();
refreshWSResourceExplorerPanel();
}
});
@ -272,7 +305,7 @@ public class OutputDataSetsPanel extends ContentPanel {
ToolBar toolBar = new ToolBar();
toolBar.add(btnOpen, 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();
@ -287,13 +320,13 @@ public class OutputDataSetsPanel extends ContentPanel {
}
}
private void reloadWSResourceExplorerPanel() {
private void refreshWSResourceExplorerPanel() {
if (wsResourcesExplorerPanel != null) {
wsResourcesExplorerPanel.refreshRootFolderView();
}
}
private void reloadWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
try {
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.event.SelectEvent;
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.FormPanel;
import com.sencha.gxt.widget.core.client.form.TextField;
@ -115,7 +114,7 @@ public class ComputationParametersPanel extends SimpleContainer {
description.addStyleName("workflow-description");
v.add(description, new VerticalLayoutData(-1, -1, new Margins(0)));
addTitleField();
//addTitleField();
parametersPanel = new FormPanel() {
@ -186,9 +185,7 @@ public class ComputationParametersPanel extends SimpleContainer {
}
/**
*
*/
/*
private void addTitleField() {
titleField = new TextField();
titleField.setWidth(250);
@ -197,7 +194,7 @@ public class ComputationParametersPanel extends SimpleContainer {
titleLabel.addStyleName("workflow-computation-title");
v.add(titleLabel, new VerticalLayoutData(-1, -1,
new Margins(0)));
}
}*/
/**
* @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.Operator;
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.rpc.DataMinerPortletServiceAsync;
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.user.client.Timer;
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.widget.core.client.ProgressBar;
import com.sencha.gxt.widget.core.client.button.TextButton;
@ -74,37 +77,7 @@ public class ComputationStatusPanel extends SimpleContainer {
add(vert);
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
*/
@ -114,7 +87,7 @@ public class ComputationStatusPanel extends SimpleContainer {
progressBar = new ProgressBar();
progressBar.updateProgress(0, "Starting...");
vert.add(progressBar,new VerticalLayoutData(1, -1, new Margins(20)));
cancelComputationBtn = new TextButton("Cancel");
cancelComputationBtn.addSelectHandler(new SelectHandler() {
@ -127,6 +100,8 @@ public class ComputationStatusPanel extends SimpleContainer {
}
});
cancelComputationBtn.getElement().getStyle().setMarginBottom(36, Unit.PX);
vert.add(cancelComputationBtn,new VerticalLayoutData(-1, -1, new Margins(0)));
@ -156,9 +131,14 @@ public class ComputationStatusPanel extends SimpleContainer {
if (computationStatus.isComplete()) {
Log.debug("Computation is Complete");
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.addStyleName("progressBar-complete");
vert.insert(progressBar, index);
showOutput();
} 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>"
+"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.getElement().getStyle().setMarginBottom(36, Unit.PX);
progressBar.addStyleName("progressBar-failed");
vert.insert(progressBar, index);
}
}
@ -219,9 +204,16 @@ public class ComputationStatusPanel extends SimpleContainer {
@Override
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.getElement().getStyle().setMarginBottom(36, Unit.PX);
progressBar.addStyleName("progressBar-failed");
vert.insert(progressBar, index);
}
@Override

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

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

@ -49,10 +49,6 @@ public interface DataMinerPortletService extends RemoteService {
public String saveImage(ComputationId computationId, ImagesResource imageResource)
throws Exception;
public void removeResource(String id) throws Exception;
public void removeImport(String id) throws Exception;
/**
* Dataminer
@ -85,4 +81,7 @@ public interface DataMinerPortletService extends RemoteService {
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,
AsyncCallback<String> callback);
void removeResource(String id, AsyncCallback<Void> callback);
void removeImport(String id, AsyncCallback<Void> callback);
/**
@ -87,5 +86,9 @@ public interface DataMinerPortletServiceAsync {
void cancelComputation(ComputationId computationId,
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.rpc.DataMinerPortletService;
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.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.shared.data.ComputationId;
import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple;
@ -198,23 +198,19 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
}
/*
@Override
public List<TableItemSimple> getTableItems(List<String> templates)
throws Exception {
try {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session);
List<TableItemSimple> list = new ArrayList<TableItemSimple>();
return list;
} catch (Throwable e) {
logger.error("Error in getTableItems:" + e.getLocalizedMessage());
e.printStackTrace();
throw new Exception(e.getLocalizedMessage());
}
}*/
* @Override public List<TableItemSimple> getTableItems(List<String>
* templates) throws Exception { try { HttpSession session =
* this.getThreadLocalRequest().getSession(); ASLSession aslSession =
* SessionUtil.getASLSession(session);
*
* List<TableItemSimple> list = new ArrayList<TableItemSimple>();
*
* return list; } catch (Throwable e) {
* logger.error("Error in getTableItems:" + e.getLocalizedMessage());
* e.printStackTrace(); throw new Exception(e.getLocalizedMessage()); }
*
* }
*/
@Override
public List<TableItemSimple> getFileItems(List<String> templates)
@ -308,7 +304,7 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
try {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session);
//SClient smClient = SessionUtil.getSClient(session, aslSession);
// SClient smClient = SessionUtil.getSClient(session, aslSession);
// SMComputation computation =
// factory.gegetComputation(computationId);
// String computationName = computation.title() == null ?
@ -352,29 +348,19 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
}
@Override
public void removeResource(String id) throws Exception {
try {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session);
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
throw (e);
}
}
@Override
public void removeImport(String id) throws Exception {
public void deleteItem(ItemDescription itemDescription)
throws ServiceException {
try {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session);
} catch (Exception e) {
logger.debug("DeleteItem(): "+itemDescription);
StorageUtil.deleteItem(aslSession.getUsername(),
itemDescription.getId());
return;
} catch (Throwable e) {
logger.error(e.getLocalizedMessage(), e);
e.printStackTrace();
throw (e);
throw new ServiceException(e.getLocalizedMessage(), e);
}
}

@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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

@ -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.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.WorkspaceItem;
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.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.folder.items.ExternalImage;
import org.gcube.contentmanager.storageclient.model.protocol.smp.SMPURLConnection;
@ -252,5 +250,33 @@ public class StorageUtil {
throw new ServiceException(e.getLocalizedMessage());
}
}
/**
*
* @param user
* @param itemId
* @throws ServiceException
*/
public static void deleteItem(String user, String itemId)
throws ServiceException {
Workspace ws;
try {
logger.debug("User: "+user+", ItemId:"+itemId);
ws = HomeLibrary.getUserWorkspace(user);
ws.removeItems(itemId);
return;
} catch (InsufficientPrivilegesException
| WorkspaceFolderNotFoundException | InternalErrorException
| HomeNotFoundException | ItemNotFoundException e) {
e.printStackTrace();
throw new ServiceException(e.getLocalizedMessage());
}
}
}

@ -2,6 +2,7 @@ package org.gcube.portlets.user.dataminermanager.server.util;
import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.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.workspace.Computations;
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.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.TableItemSimple;
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;

@ -1,7 +1,7 @@
package org.gcube.portlets.user.dataminermanager.shared;
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 String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager";

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

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

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

486585
test.log.1

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