ref 6078:TDM - Create a new widget to support operations's invocation on DataMiner

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

Updated to support DataMiner

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/data-miner-manager-widget@144961 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2017-03-15 15:13:53 +00:00
parent e9bafdc38f
commit 66ee8e99fd
12 changed files with 327 additions and 69 deletions

View File

@ -22,7 +22,6 @@
<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"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

View File

@ -13,7 +13,6 @@
<groupId>org.gcube.portlets.widgets</groupId> <groupId>org.gcube.portlets.widgets</groupId>
<artifactId>data-miner-manager-widget</artifactId> <artifactId>data-miner-manager-widget</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>data-miner-manager-widget</name> <name>data-miner-manager-widget</name>
<description>data-miner-manager-widget offers a unique access to perform data mining and statistical operations on heterogeneous data</description> <description>data-miner-manager-widget offers a unique access to perform data mining and statistical operations on heterogeneous data</description>

View File

@ -14,6 +14,7 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.Computati
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaRequestEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DeleteItemRequestEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.MenuEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.MenuEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.MenuSwitchEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.MenuSwitchEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.OperatorsClassificationEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.OperatorsClassificationEvent;
@ -24,8 +25,9 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.RefreshDa
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionRequestEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionExpiredEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionExpiredEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.StartComputationExecutionEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.StartComputationExecutionRequestEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.StartComputationExecutionRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularResourceInfoEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularResourceInfoRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.monitor.StatusMonitor; import org.gcube.portlets.widgets.dataminermanagerwidget.client.monitor.StatusMonitor;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.tr.TabularResourceData; import org.gcube.portlets.widgets.dataminermanagerwidget.client.tr.TabularResourceData;
@ -56,7 +58,7 @@ public class DataMinerManagerController {
private DataMinerWorkArea dataMinerWorkArea; private DataMinerWorkArea dataMinerWorkArea;
private List<OperatorsClassification> operatorsClassifications; private List<OperatorsClassification> operatorsClassifications;
private MenuType currentVisualization; private MenuType currentVisualization;
//private String operatorId; // private String operatorId;
private TabularResourceData tabularResourceData; private TabularResourceData tabularResourceData;
public DataMinerManagerController() { public DataMinerManagerController() {
@ -66,20 +68,19 @@ public class DataMinerManagerController {
public UserInfo getUserInfo() { public UserInfo getUserInfo() {
return userInfo; return userInfo;
} }
//public String getOperatorId(){
// return operatorId;
//}
// public String getOperatorId(){
// return operatorId;
// }
public DataMinerWorkArea getDataMinerWorkArea() { public DataMinerWorkArea getDataMinerWorkArea() {
return dataMinerWorkArea; return dataMinerWorkArea;
} }
public void setTabularResourceData(TabularResourceData tabularResourceData){ public void setTabularResourceData(TabularResourceData tabularResourceData) {
this.tabularResourceData=tabularResourceData; this.tabularResourceData = tabularResourceData;
} }
private void init() { private void init() {
currentVisualization = MenuType.EXPERIMENT; currentVisualization = MenuType.EXPERIMENT;
restoreUISession(); restoreUISession();
@ -90,11 +91,11 @@ public class DataMinerManagerController {
private void checkSession() { private void checkSession() {
// if you do not need to something when the session expire // if you do not need to something when the session expire
//CheckSession.getInstance().startPolling(); // CheckSession.getInstance().startPolling();
} }
private void sessionExpiredShow() { private void sessionExpiredShow() {
//CheckSession.showLogoutDialog(); // CheckSession.showLogoutDialog();
} }
/* /*
@ -142,7 +143,9 @@ public class DataMinerManagerController {
StartComputationExecutionRequestEvent event) { StartComputationExecutionRequestEvent event) {
Log.debug("Catch StartComputationExecutionRequestEvent: " Log.debug("Catch StartComputationExecutionRequestEvent: "
+ event); + event);
startComputationRequest(event); ExternalExecutionEvent ev=new ExternalExecutionEvent(event.getOp());
EventBusProvider.INSTANCE.fireEvent(ev);
//startComputationRequest(event);
} }
}); });
@ -266,15 +269,31 @@ public class DataMinerManagerController {
}); });
EventBusProvider.INSTANCE
.addHandler(
TabularResourceInfoRequestEvent.TYPE,
new TabularResourceInfoRequestEvent.TabularResourceInfoRequestEventHandler() {
@Override
public void onRequest(
TabularResourceInfoRequestEvent event) {
Log.debug("Catch TabularResourceInfoRequestEvent: "
+ event);
TabularResourceInfoEvent ev = new TabularResourceInfoEvent(
tabularResourceData);
EventBusProvider.INSTANCE.fireEvent(ev);
}
});
} }
private void restoreUISession() { private void restoreUISession() {
// checkLocale(); // checkLocale();
//operatorId = com.google.gwt.user.client.Window.Location // operatorId = com.google.gwt.user.client.Window.Location
// .getParameter(Constants.DATA_MINER_OPERATOR_ID); // .getParameter(Constants.DATA_MINER_OPERATOR_ID);
} }
private void callHello() { private void callHello() {
@ -322,6 +341,7 @@ public class DataMinerManagerController {
EventBusProvider.INSTANCE.fireEvent(menuSwitchEvent); EventBusProvider.INSTANCE.fireEvent(menuSwitchEvent);
} }
/*
private void startComputationRequest( private void startComputationRequest(
final StartComputationExecutionRequestEvent event) { final StartComputationExecutionRequestEvent event) {
DataMinerPortletServiceAsync.INSTANCE.startComputation(event.getOp(), DataMinerPortletServiceAsync.INSTANCE.startComputation(event.getOp(),
@ -363,7 +383,7 @@ public class DataMinerManagerController {
StartComputationExecutionEvent event = new StartComputationExecutionEvent( StartComputationExecutionEvent event = new StartComputationExecutionEvent(
computationId, computationStatusPanelIndex); computationId, computationStatusPanelIndex);
EventBusProvider.INSTANCE.fireEvent(event); EventBusProvider.INSTANCE.fireEvent(event);
} }*/
private void cancelExecutionFromComputationsRequest( private void cancelExecutionFromComputationsRequest(
CancelExecutionFromComputationsRequestEvent event) { CancelExecutionFromComputationsRequestEvent event) {
@ -541,16 +561,15 @@ public class DataMinerManagerController {
break; break;
} }
} }
OperatorsClassificationEvent ocEvent; OperatorsClassificationEvent ocEvent;
//TODO // TODO
//if(event.isOperatorId()){ // if(event.isOperatorId()){
// ocEvent = new OperatorsClassificationEvent( // ocEvent = new OperatorsClassificationEvent(
// find, operatorId); // find, operatorId);
//} else { // } else {
ocEvent = new OperatorsClassificationEvent( ocEvent = new OperatorsClassificationEvent(find);
find); // }
//}
EventBusProvider.INSTANCE.fireEvent(ocEvent); EventBusProvider.INSTANCE.fireEvent(ocEvent);
} }
@ -572,16 +591,16 @@ public class DataMinerManagerController {
} }
} }
} }
OperatorsClassificationEvent ocEvent; OperatorsClassificationEvent ocEvent;
//TODO // TODO
//if(event.isOperatorId()){ // if(event.isOperatorId()){
// ocEvent = new OperatorsClassificationEvent( // ocEvent = new OperatorsClassificationEvent(
// event.getClassificationName(), find, operatorId); // event.getClassificationName(), find, operatorId);
//} else { // } else {
ocEvent = new OperatorsClassificationEvent( ocEvent = new OperatorsClassificationEvent(
event.getClassificationName(), find); event.getClassificationName(), find);
//} // }
EventBusProvider.INSTANCE.fireEvent(ocEvent); EventBusProvider.INSTANCE.fireEvent(ocEvent);
} }

View File

@ -1,7 +1,6 @@
package org.gcube.portlets.widgets.dataminermanagerwidget.client; package org.gcube.portlets.widgets.dataminermanagerwidget.client;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.common.EventBusProvider; import org.gcube.portlets.widgets.dataminermanagerwidget.client.common.EventBusProvider;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ComputationReadyEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent.ExternalExecutionEventHandler; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent.ExternalExecutionEventHandler;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent.HasExternalExecutionEventHandler; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ExternalExecutionEvent.HasExternalExecutionEventHandler;

View File

@ -13,7 +13,6 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.Computati
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DeleteItemRequestEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DeleteItemRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.RefreshDataMinerWorkAreaEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.RefreshDataMinerWorkAreaEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionExpiredEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionExpiredEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.UIStateEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.UIStateEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync;
@ -64,7 +63,7 @@ public class ComputationsExecutedPanel extends FramedPanel {
private TextButton btnDownload; private TextButton btnDownload;
private TextButton btnDelete; private TextButton btnDelete;
private TextButton btnRefresh; private TextButton btnRefresh;
private TextButton btnResubmit; //private TextButton btnResubmit;
private TextButton btnCancel; private TextButton btnCancel;
private VerticalLayoutContainer v; private VerticalLayoutContainer v;
@ -373,7 +372,7 @@ public class ComputationsExecutedPanel extends FramedPanel {
}); });
btnResubmit = new TextButton("Resubmit"); /*btnResubmit = new TextButton("Resubmit");
btnResubmit.setIcon(DataMinerManagerPanel.resources.resubmit()); btnResubmit.setIcon(DataMinerManagerPanel.resources.resubmit());
btnResubmit.setScale(ButtonScale.SMALL); btnResubmit.setScale(ButtonScale.SMALL);
btnResubmit.setIconAlign(IconAlign.LEFT); btnResubmit.setIconAlign(IconAlign.LEFT);
@ -385,7 +384,7 @@ public class ComputationsExecutedPanel extends FramedPanel {
resubmitComputation(); resubmitComputation();
} }
}); });*/
btnCancel = new TextButton("Cancel"); btnCancel = new TextButton("Cancel");
btnCancel.setIcon(DataMinerManagerPanel.resources.cancelCircle()); btnCancel.setIcon(DataMinerManagerPanel.resources.cancelCircle());
@ -406,7 +405,7 @@ public class ComputationsExecutedPanel extends FramedPanel {
toolBar.add(btnDownload, new BoxLayoutData(new Margins(0))); toolBar.add(btnDownload, new BoxLayoutData(new Margins(0)));
toolBar.add(btnDelete, new BoxLayoutData(new Margins(0))); toolBar.add(btnDelete, new BoxLayoutData(new Margins(0)));
toolBar.add(btnRefresh, new BoxLayoutData(new Margins(0))); toolBar.add(btnRefresh, new BoxLayoutData(new Margins(0)));
toolBar.add(btnResubmit, new BoxLayoutData(new Margins(0))); //toolBar.add(btnResubmit, new BoxLayoutData(new Margins(0)));
toolBar.add(btnCancel, new BoxLayoutData(new Margins(0))); toolBar.add(btnCancel, new BoxLayoutData(new Margins(0)));
v = new VerticalLayoutContainer(); v = new VerticalLayoutContainer();
@ -561,7 +560,7 @@ public class ComputationsExecutedPanel extends FramedPanel {
} }
} }
private void resubmitComputation() { /*private void resubmitComputation() {
if (selectedItem != null) { if (selectedItem != null) {
ItemDescription itemDescription = new ItemDescription( ItemDescription itemDescription = new ItemDescription(
selectedItem.getId(), selectedItem.getName(), selectedItem.getId(), selectedItem.getName(),
@ -575,6 +574,6 @@ public class ComputationsExecutedPanel extends FramedPanel {
UtilsGXT3.info("Attention", "Select a computation!"); UtilsGXT3.info("Attention", "Select a computation!");
} }
} }*/
} }

View File

@ -0,0 +1,65 @@
package org.gcube.portlets.widgets.dataminermanagerwidget.client.events;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.tr.TabularResourceData;
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;
/**
* Tabular Resource Info Event
*
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class TabularResourceInfoEvent extends
GwtEvent<TabularResourceInfoEvent.TabularResourceInfoEventHandler> {
public static Type<TabularResourceInfoEventHandler> TYPE = new Type<TabularResourceInfoEventHandler>();
private TabularResourceData tabularResourceData;
public interface TabularResourceInfoEventHandler extends EventHandler {
void onInfoReceived(TabularResourceInfoEvent event);
}
public interface HasTabularResourceInfoEventHandler extends HasHandlers {
public HandlerRegistration addTabularResourceInfoEventHandler(
TabularResourceInfoEventHandler handler);
}
public TabularResourceInfoEvent(TabularResourceData tabularResourceData) {
this.tabularResourceData = tabularResourceData;
}
@Override
protected void dispatch(TabularResourceInfoEventHandler handler) {
handler.onInfoReceived(this);
}
@Override
public Type<TabularResourceInfoEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<TabularResourceInfoEventHandler> getType() {
return TYPE;
}
public static void fire(HasHandlers source, TabularResourceInfoEvent event) {
source.fireEvent(event);
}
public TabularResourceData getTabularResourceData() {
return tabularResourceData;
}
@Override
public String toString() {
return "TabularResourceInfoEvent [tabularResourceData="
+ tabularResourceData + "]";
}
}

View File

@ -0,0 +1,60 @@
package org.gcube.portlets.widgets.dataminermanagerwidget.client.events;
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;
/**
* Tabular Resource Info Request Event
*
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class TabularResourceInfoRequestEvent
extends
GwtEvent<TabularResourceInfoRequestEvent.TabularResourceInfoRequestEventHandler> {
public static Type<TabularResourceInfoRequestEventHandler> TYPE = new Type<TabularResourceInfoRequestEventHandler>();
public interface TabularResourceInfoRequestEventHandler extends
EventHandler {
void onRequest(TabularResourceInfoRequestEvent event);
}
public interface HasTabularResourceInfoRequestEventHandler extends
HasHandlers {
public HandlerRegistration addTabularResourceInfoRequestEventHandler(
TabularResourceInfoRequestEventHandler handler);
}
public TabularResourceInfoRequestEvent() {
}
@Override
protected void dispatch(TabularResourceInfoRequestEventHandler handler) {
handler.onRequest(this);
}
@Override
public Type<TabularResourceInfoRequestEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<TabularResourceInfoRequestEventHandler> getType() {
return TYPE;
}
public static void fire(HasHandlers source,
TabularResourceInfoRequestEvent event) {
source.fireEvent(event);
}
@Override
public String toString() {
return "TabularResourceInfoRequestEvent []";
}
}

View File

@ -23,14 +23,12 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.parametersfield.
import org.gcube.portlets.widgets.dataminermanagerwidget.client.parametersfield.TabularFld; import org.gcube.portlets.widgets.dataminermanagerwidget.client.parametersfield.TabularFld;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.util.UtilsGXT3; import org.gcube.portlets.widgets.dataminermanagerwidget.client.util.UtilsGXT3;
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.Constants;
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.exception.SessionExpiredServiceException; import org.gcube.portlets.widgets.dataminermanagerwidget.shared.exception.SessionExpiredServiceException;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.resources.client.ImageResource; import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.Window.Location;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Image;
import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.core.client.util.Margins;
@ -101,18 +99,21 @@ public class ComputationParametersPanel extends SimpleContainer {
img.setStylePrimaryName("workflow-icon");// -15 img.setStylePrimaryName("workflow-icon");// -15
v.add(img, new VerticalLayoutData(-1, -1, new Margins(-15, 0, 0, 5))); v.add(img, new VerticalLayoutData(-1, -1, new Margins(-15, 0, 0, 5)));
String locationRef = ""; /*String locationRef = "";
try { try {
String location = Location.getHref(); String location = Location.getHref();
String[] locationData = location.split("\\?"); String[] locationData = location.split("\\?");
locationRef = locationData[0]; locationRef = locationData[0];
} catch (Throwable e) { } catch (Throwable e) {
Log.error("Error retrieving location: " + e.getLocalizedMessage()); Log.error("Error retrieving location: " + e.getLocalizedMessage());
} }*/
/*
HtmlLayoutContainer title = new HtmlLayoutContainer("<span><a href='" HtmlLayoutContainer title = new HtmlLayoutContainer("<span><a href='"
+ locationRef + "?" + Constants.DATA_MINER_OPERATOR_ID + "=" + locationRef + "?" + Constants.DATA_MINER_OPERATOR_ID + "="
+ operator.getId() + "'>" + operator.getName() + "</a></span>"); + operator.getId() + "'>" + operator.getName() + "</a></span>");
*/
HtmlLayoutContainer title = new HtmlLayoutContainer("<span>" + operator.getName() + "</span>");
title.addStyleName("workflow-title"); title.addStyleName("workflow-title");
v.add(title, new VerticalLayoutData(-1, -1, new Margins(20, 0, 0, -25))); v.add(title, new VerticalLayoutData(-1, -1, new Margins(20, 0, 0, -25)));

View File

@ -8,6 +8,7 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.DataMinerManager
import org.gcube.portlets.widgets.dataminermanagerwidget.client.common.EventBusProvider; import org.gcube.portlets.widgets.dataminermanagerwidget.client.common.EventBusProvider;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ComputationReadyEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ComputationReadyEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.ResubmitComputationExecutionEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.StartComputationExecutionRequestEvent;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.sencha.gxt.widget.core.client.TabItemConfig; import com.sencha.gxt.widget.core.client.TabItemConfig;
@ -23,7 +24,7 @@ public class WorkflowPanel extends TabPanel {
public static final String DEFAULT_OPERATOR = "AQUAMAPS_SUITABLE"; public static final String DEFAULT_OPERATOR = "AQUAMAPS_SUITABLE";
private ComputationExecutionPanel computationExecutionPanel; //private ComputationExecutionPanel computationExecutionPanel;
private ComputationPanel computationPanel; private ComputationPanel computationPanel;
/** /**
@ -60,13 +61,15 @@ public class WorkflowPanel extends TabPanel {
}); });
add(computationPanel, tabWorkFlowLcItemConf); add(computationPanel, tabWorkFlowLcItemConf);
/*
TabItemConfig tabComputationPanelItemConf = new TabItemConfig( TabItemConfig tabComputationPanelItemConf = new TabItemConfig(
"Computations Execution", false); "Computations Execution", false);
tabComputationPanelItemConf.setIcon(DataMinerManagerPanel.resources tabComputationPanelItemConf.setIcon(DataMinerManagerPanel.resources
.folderExplore()); .folderExplore());
computationExecutionPanel = new ComputationExecutionPanel(); computationExecutionPanel = new ComputationExecutionPanel();
add(computationExecutionPanel, tabComputationPanelItemConf); add(computationExecutionPanel, tabComputationPanelItemConf);
*/
setActiveWidget(computationPanel); setActiveWidget(computationPanel);
} }
@ -90,7 +93,7 @@ public class WorkflowPanel extends TabPanel {
* *
*/ */
private void resubmitComputation() { private void resubmitComputation() {
setActiveWidget(computationExecutionPanel); //setActiveWidget(computationExecutionPanel);
} }
/** /**
@ -99,8 +102,12 @@ public class WorkflowPanel extends TabPanel {
* *
*/ */
private void startComputation(Operator op) { private void startComputation(Operator op) {
StartComputationExecutionRequestEvent event = new StartComputationExecutionRequestEvent(
op, 1);
EventBusProvider.INSTANCE.fireEvent(event);
/*
setActiveWidget(computationExecutionPanel); setActiveWidget(computationExecutionPanel);
computationExecutionPanel.startNewComputation(op); computationExecutionPanel.startNewComputation(op);*/
} }

View File

@ -16,7 +16,10 @@ import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionEx
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent.HasTabularFldChangeEventHandler; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent.HasTabularFldChangeEventHandler;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent.TabularFldChangeEventHandler; import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularFldChangeEvent.TabularFldChangeEventHandler;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularResourceInfoEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.TabularResourceInfoRequestEvent;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync; import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.tr.TabularResourceData;
import org.gcube.portlets.widgets.dataminermanagerwidget.client.util.UtilsGXT3; import org.gcube.portlets.widgets.dataminermanagerwidget.client.util.UtilsGXT3;
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.exception.SessionExpiredServiceException; import org.gcube.portlets.widgets.dataminermanagerwidget.shared.exception.SessionExpiredServiceException;
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.workspace.ItemDescription; import org.gcube.portlets.widgets.dataminermanagerwidget.shared.workspace.ItemDescription;
@ -59,12 +62,14 @@ public class TabularFld extends AbstractFld implements
private VerticalLayoutContainer vp; private VerticalLayoutContainer vp;
private WorkspaceExplorerSelectDialog wselectDialog; private WorkspaceExplorerSelectDialog wselectDialog;
private TextButton selectButton, selectButton2, cancelButton, private TextButton selectButton, selectButton2, selectTRButton, selectTRButton2, cancelButton,
downloadButton; downloadButton;
private HtmlLayoutContainer templatesList; private HtmlLayoutContainer templatesList;
private TabularResourceData tabularResourceData;
private TableItemSimple selectedTableItem = null; private TableItemSimple selectedTableItem = null;
private ItemDescription itemDescriptionSelected; private ItemDescription itemDescriptionSelected;
private TabularParameter tabularParameter; private TabularParameter tabularParameter;
private boolean created=false;
/** /**
@ -73,12 +78,43 @@ public class TabularFld extends AbstractFld implements
public TabularFld(Parameter parameter) { public TabularFld(Parameter parameter) {
super(parameter); super(parameter);
Log.debug("TabularField"); Log.debug("TabularField");
retrieveInfo();
}
private void bind() {
EventBusProvider.INSTANCE.addHandler(TabularResourceInfoEvent.TYPE,
new TabularResourceInfoEvent.TabularResourceInfoEventHandler() {
@Override
public void onInfoReceived(TabularResourceInfoEvent event) {
Log.debug("Catch TabularResourceInfoEvent");
tabularResourceData=event.getTabularResourceData();
if(!created){
created=true;
create();
}
}
});
}
private void retrieveTabularResourceInfo(){
TabularResourceInfoRequestEvent event=new TabularResourceInfoRequestEvent();
EventBusProvider.INSTANCE.fireEvent(event);
}
private void create(){
try { try {
tabularParameter = (TabularParameter) parameter; tabularParameter = (TabularParameter) parameter;
SimpleContainer tabContainer = new SimpleContainer(); SimpleContainer tabContainer = new SimpleContainer();
vp = new VerticalLayoutContainer(); vp = new VerticalLayoutContainer();
retrieveInfo();
init(); init();
createField(tabContainer); createField(tabContainer);
@ -91,6 +127,12 @@ public class TabularFld extends AbstractFld implements
} }
} }
private void retrieveInfo() {
bind();
retrieveTabularResourceInfo();
}
private void createField(SimpleContainer tabContainer) { private void createField(SimpleContainer tabContainer) {
List<String> templates = tabularParameter.getTemplates(); List<String> templates = tabularParameter.getTemplates();
if (templates == null || templates.isEmpty()) { if (templates == null || templates.isEmpty()) {
@ -214,6 +256,32 @@ public class TabularFld extends AbstractFld implements
+ e.getLocalizedMessage()); + e.getLocalizedMessage());
} }
selectTRButton = new TextButton("Use Tabular Resource");
selectTRButton.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
useTabularResource();
}
});
selectTRButton.setIcon(DataMinerManagerPanel.resources.tabularResource());
selectTRButton.setToolTip("Use Tabular Resource");
selectTRButton2 = new TextButton("");
selectTRButton2.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
useTabularResource();
}
});
selectTRButton2.setIcon(DataMinerManagerPanel.resources.tabularResource());
selectTRButton2.setToolTip("Select Tabular Resource");
selectButton = new TextButton("Select Data Set"); selectButton = new TextButton("Select Data Set");
selectButton.addSelectHandler(new SelectEvent.SelectHandler() { selectButton.addSelectHandler(new SelectEvent.SelectHandler() {
@ -222,10 +290,10 @@ public class TabularFld extends AbstractFld implements
wselectDialog.show(); wselectDialog.show();
} }
}); });
selectButton.setIcon(DataMinerManagerPanel.resources.folderExplore()); selectButton.setIcon(DataMinerManagerPanel.resources.folderExplore());
selectButton.setToolTip("Select Data Set"); selectButton.setToolTip("Select Data Set");
selectButton2 = new TextButton(""); selectButton2 = new TextButton("");
selectButton2.addSelectHandler(new SelectEvent.SelectHandler() { selectButton2.addSelectHandler(new SelectEvent.SelectHandler() {
@ -238,6 +306,9 @@ public class TabularFld extends AbstractFld implements
selectButton2.setIcon(DataMinerManagerPanel.resources.folderExplore()); selectButton2.setIcon(DataMinerManagerPanel.resources.folderExplore());
selectButton2.setToolTip("Select Another Data Set"); selectButton2.setToolTip("Select Another Data Set");
cancelButton = new TextButton(""); cancelButton = new TextButton("");
cancelButton.setIcon(DataMinerManagerPanel.resources.cancel()); cancelButton.setIcon(DataMinerManagerPanel.resources.cancel());
cancelButton.addSelectHandler(new SelectEvent.SelectHandler() { cancelButton.addSelectHandler(new SelectEvent.SelectHandler() {
@ -265,6 +336,18 @@ public class TabularFld extends AbstractFld implements
throw e; throw e;
} }
} }
private void useTabularResource() {
Log.debug("TabularResourceData: " + tabularResourceData);
selectedTableItem=new TableItemSimple(tabularResourceData.getTabularResourceId(),
tabularResourceData.getName(),tabularResourceData.getDescription(), tabularResourceData.getType());
selectedTableItem.setColumns(tabularResourceData.getColumns());
showFieldWithTRSelection();
updateListeners(selectedTableItem);
}
private void retrieveTableInformation(Item item) { private void retrieveTableInformation(Item item) {
Log.debug("Retrieved: " + item); Log.debug("Retrieved: " + item);
@ -295,7 +378,7 @@ public class TabularFld extends AbstractFld implements
public void onSuccess(TableItemSimple result) { public void onSuccess(TableItemSimple result) {
Log.debug("Retrieved: " + result); Log.debug("Retrieved: " + result);
selectedTableItem = result; selectedTableItem = result;
showFieldWithSelection(); showFieldWithFileSelection();
updateListeners(selectedTableItem); updateListeners(selectedTableItem);
} }
}); });
@ -340,16 +423,40 @@ public class TabularFld extends AbstractFld implements
*/ */
private void showNoSelectionField() { private void showNoSelectionField() {
vp.clear(); vp.clear();
vp.add(selectTRButton);
vp.add(selectButton); vp.add(selectButton);
vp.add(templatesList); vp.add(templatesList);
vp.forceLayout(); vp.forceLayout();
fieldContainer.forceLayout(); fieldContainer.forceLayout();
} }
/**
* private void showFieldWithFileSelection() {
*/ String tableName = selectedTableItem.getName();
private void showFieldWithSelection() {
if (tableName == null || tableName.isEmpty()) {
tableName = "NoName";
}
TextField tableDescription = new TextField();
tableDescription.setValue(tableName);
tableDescription.setReadOnly(true);
HBoxLayoutContainer h = new HBoxLayoutContainer();
h.add(tableDescription, new BoxLayoutData(new Margins()));
h.add(selectTRButton2, new BoxLayoutData(new Margins()));
h.add(selectButton2, new BoxLayoutData(new Margins()));
h.add(downloadButton, new BoxLayoutData(new Margins()));
h.add(cancelButton, new BoxLayoutData(new Margins()));
vp.clear();
vp.add(h);
vp.add(templatesList);
vp.forceLayout();
fieldContainer.forceLayout();
}
private void showFieldWithTRSelection() {
String tableName = selectedTableItem.getName(); String tableName = selectedTableItem.getName();
if (tableName == null || tableName.isEmpty()) { if (tableName == null || tableName.isEmpty()) {
@ -372,6 +479,7 @@ public class TabularFld extends AbstractFld implements
fieldContainer.forceLayout(); fieldContainer.forceLayout();
} }
/** /**
* *
*/ */

View File

@ -102,4 +102,7 @@ public interface Resources extends ClientBundle {
@Source("show.png") @Source("show.png")
ImageResource show(); ImageResource show();
@Source("table.png")
ImageResource tabularResource();
} }

View File

@ -16,16 +16,16 @@
<inherits name='org.gcube.portal.clientcontext.GCubeClientContext' /> <inherits name='org.gcube.portal.clientcontext.GCubeClientContext' />
<!-- OpenLayer Basic Widgets --> <!-- OpenLayer Basic Widgets -->
<inherits <inherits
name='org.gcube.portlets.widgets.openlayerbasicwidgets.olbasicwidgets' /> name='org.gcube.portlets.widgets.openlayerbasicwidgets.olbasicwidgets' />
<!-- DataMiner Manager CL --> <!-- DataMiner Manager CL -->
<inherits <inherits
name='org.gcube.data.analysis.dataminermanagercl.dataminermanagercl' /> name='org.gcube.data.analysis.dataminermanagercl.dataminermanagercl' />
<!-- inherits WorkspaceExplorer widget --> <!-- inherits WorkspaceExplorer widget -->
<inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' /> <inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' />
@ -36,17 +36,16 @@
<entry-point <entry-point
class='org.gcube.portlets.widgets.dataminermanagerwidget.client.DataMinerManagerEntry' /> class='org.gcube.portlets.widgets.dataminermanagerwidget.client.DataMinerManagerEntry' />
<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"
/> /> -->
<!--
<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" />
-->
<source path='client' /> <source path='client' />