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

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

Updated TableListParameter Support

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@128416 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2016-05-02 17:58:14 +00:00
parent 8b73acb942
commit c964cc69ad
27 changed files with 1240 additions and 255 deletions

771
log.txt Normal file

File diff suppressed because one or more lines are too long

View File

@ -245,7 +245,6 @@ public class DataMinerManagerController {
final StartComputationExecutionRequestEvent event) { final StartComputationExecutionRequestEvent event) {
DataMinerPortletServiceAsync.INSTANCE.startComputation(event.getOp(), DataMinerPortletServiceAsync.INSTANCE.startComputation(event.getOp(),
event.getComputationTitle(), event.getComputationDescription(),
new AsyncCallback<ComputationId>() { new AsyncCallback<ComputationId>() {
@Override @Override
public void onSuccess(ComputationId computationId) { public void onSuccess(ComputationId computationId) {

View File

@ -20,8 +20,6 @@ public class ComputationReadyEvent extends
public static Type<ComputationReadyEventHandler> TYPE = new Type<ComputationReadyEventHandler>(); public static Type<ComputationReadyEventHandler> TYPE = new Type<ComputationReadyEventHandler>();
private Operator operator; private Operator operator;
private String computationTitle;
private String computationDescription;
public interface ComputationReadyEventHandler extends EventHandler { public interface ComputationReadyEventHandler extends EventHandler {
void onReady(ComputationReadyEvent event); void onReady(ComputationReadyEvent event);
@ -32,12 +30,9 @@ public class ComputationReadyEvent extends
ComputationReadyEventHandler handler); ComputationReadyEventHandler handler);
} }
public ComputationReadyEvent(Operator operator, String computationTitle, public ComputationReadyEvent(Operator operator) {
String computationDescription) {
super(); super();
this.operator = operator; this.operator = operator;
this.computationTitle = computationTitle;
this.computationDescription = computationDescription;
} }
@Override @Override
@ -66,19 +61,10 @@ public class ComputationReadyEvent extends
return operator; return operator;
} }
public String getComputationTitle() {
return computationTitle;
}
public String getComputationDescription() {
return computationDescription;
}
@Override @Override
public String toString() { public String toString() {
return "ComputationReadyEvent [operator=" + operator return "ComputationReadyEvent [operator=" + operator + "]";
+ ", computationTitle=" + computationTitle
+ ", computationDescription=" + computationDescription + "]";
} }
} }

View File

@ -21,24 +21,22 @@ public class StartComputationExecutionRequestEvent
public static Type<StartComputationExecutionRequestEventHandler> TYPE = new Type<StartComputationExecutionRequestEventHandler>(); public static Type<StartComputationExecutionRequestEventHandler> TYPE = new Type<StartComputationExecutionRequestEventHandler>();
private Operator op; private Operator op;
private String computationTitle;
private String computationDescription;
private int computationStatusPanelIndex; private int computationStatusPanelIndex;
public interface StartComputationExecutionRequestEventHandler extends EventHandler { public interface StartComputationExecutionRequestEventHandler extends
EventHandler {
void onStart(StartComputationExecutionRequestEvent event); void onStart(StartComputationExecutionRequestEvent event);
} }
public interface HasStartComputationExecutionRequestEventHandler extends HasHandlers { public interface HasStartComputationExecutionRequestEventHandler extends
HasHandlers {
public HandlerRegistration addStartComputationExecutionRequestEventHandler( public HandlerRegistration addStartComputationExecutionRequestEventHandler(
StartComputationExecutionRequestEventHandler handler); StartComputationExecutionRequestEventHandler handler);
} }
public StartComputationExecutionRequestEvent(Operator op, String computationTitle, public StartComputationExecutionRequestEvent(Operator op,
String computationDescription, int computationStatusPanelIndex) { int computationStatusPanelIndex) {
this.op = op; this.op = op;
this.computationTitle = computationTitle;
this.computationDescription = computationDescription;
this.computationStatusPanelIndex = computationStatusPanelIndex; this.computationStatusPanelIndex = computationStatusPanelIndex;
} }
@ -66,14 +64,6 @@ public class StartComputationExecutionRequestEvent
return op; return op;
} }
public String getComputationTitle() {
return computationTitle;
}
public String getComputationDescription() {
return computationDescription;
}
public int getComputationStatusPanelIndex() { public int getComputationStatusPanelIndex() {
return computationStatusPanelIndex; return computationStatusPanelIndex;
} }
@ -81,12 +71,8 @@ public class StartComputationExecutionRequestEvent
@Override @Override
public String toString() { public String toString() {
return "StartComputationExecutionRequestEvent [op=" + op return "StartComputationExecutionRequestEvent [op=" + op
+ ", computationTitle=" + computationTitle
+ ", computationDescription=" + computationDescription
+ ", computationStatusPanelIndex=" + ", computationStatusPanelIndex="
+ computationStatusPanelIndex + "]"; + computationStatusPanelIndex + "]";
} }
} }

View File

@ -72,29 +72,33 @@ public class ComputationExecutionPanel extends FramedPanel {
} }
private void bind() { private void bind() {
EventBusProvider.INSTANCE.addHandler( EventBusProvider.INSTANCE
ResubmitComputationExecutionEvent.getType(), .addHandler(
new ResubmitComputationExecutionEvent.ResubmitComputationExecutionEventHandler() { ResubmitComputationExecutionEvent.getType(),
@Override new ResubmitComputationExecutionEvent.ResubmitComputationExecutionEventHandler() {
public void onResubmit(ResubmitComputationExecutionEvent event) { @Override
resubmitComputation(event); public void onResubmit(
} ResubmitComputationExecutionEvent event) {
}); resubmitComputation(event);
}
});
EventBusProvider.INSTANCE.addHandler(StartComputationExecutionEvent.getType(), EventBusProvider.INSTANCE
new StartComputationExecutionEvent.StartComputationExecutionEventHandler() { .addHandler(
StartComputationExecutionEvent.getType(),
new StartComputationExecutionEvent.StartComputationExecutionEventHandler() {
@Override @Override
public void onStart(StartComputationExecutionEvent event) { public void onStart(
startComputation(event); StartComputationExecutionEvent event) {
startComputation(event);
} }
}); });
} }
public void startNewComputation(final Operator operator, public void startNewComputation(final Operator operator) {
String computationTitle, String computationDescription) {
Log.debug("Computation Panel: start new computation "); Log.debug("Computation Panel: start new computation ");
ComputationStatusPanel statusPanel = new ComputationStatusPanel( ComputationStatusPanel statusPanel = new ComputationStatusPanel(
operator); operator);
@ -108,7 +112,7 @@ public class ComputationExecutionPanel extends FramedPanel {
forceLayout(); forceLayout();
StartComputationExecutionRequestEvent event = new StartComputationExecutionRequestEvent( StartComputationExecutionRequestEvent event = new StartComputationExecutionRequestEvent(
operator, computationTitle, computationDescription, index); operator, index);
EventBusProvider.INSTANCE.fireEvent(event); EventBusProvider.INSTANCE.fireEvent(event);
} }

View File

@ -124,13 +124,12 @@ public class ComputationPanel extends FramedPanel implements HasComputationReady
computationParametersPanel = new ComputationParametersPanel(operator); computationParametersPanel = new ComputationParametersPanel(operator);
computationParametersPanel.setHandler(new ComputationParametersPanelHandler() { computationParametersPanel.setHandler(new ComputationParametersPanelHandler() {
@Override @Override
public void startComputation(String computationTitle, public void startComputation() {
String computationDescription) {
if (computationParametersPanel != null) { if (computationParametersPanel != null) {
forceLayout(); forceLayout();
computationParametersPanel.updateOperatorParametersValues(); computationParametersPanel.updateOperatorParametersValues();
Operator op = computationParametersPanel.getOperator(); Operator op = computationParametersPanel.getOperator();
ComputationReadyEvent event = new ComputationReadyEvent(op, computationTitle, computationDescription); ComputationReadyEvent event = new ComputationReadyEvent(op);
fireEvent(event); fireEvent(event);
} }

View File

@ -3,7 +3,6 @@
*/ */
package org.gcube.portlets.user.dataminermanager.client.experiments; package org.gcube.portlets.user.dataminermanager.client.experiments;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -24,8 +23,6 @@ import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
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.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
import com.google.gwt.resources.client.ImageResource; import com.google.gwt.resources.client.ImageResource;
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;
@ -40,7 +37,6 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.form.FieldSet; import com.sencha.gxt.widget.core.client.form.FieldSet;
import com.sencha.gxt.widget.core.client.form.FormPanel; import com.sencha.gxt.widget.core.client.form.FormPanel;
import com.sencha.gxt.widget.core.client.form.TextField;
/** /**
* *
@ -51,8 +47,7 @@ import com.sencha.gxt.widget.core.client.form.TextField;
public class ComputationParametersPanel extends SimpleContainer { public class ComputationParametersPanel extends SimpleContainer {
public interface ComputationParametersPanelHandler { public interface ComputationParametersPanelHandler {
public void startComputation(String computationTitle, public void startComputation();
String computationDescription);
} }
private static final String START_BUTTON_TOOLTIP = "Start Computation"; private static final String START_BUTTON_TOOLTIP = "Start Computation";
@ -67,8 +62,6 @@ public class ComputationParametersPanel extends SimpleContainer {
private VerticalLayoutContainer vParameters; private VerticalLayoutContainer vParameters;
private Map<String, OperatorFieldWidget> fieldWidgetsMap; private Map<String, OperatorFieldWidget> fieldWidgetsMap;
private ComputationParametersPanelHandler handler = null; private ComputationParametersPanelHandler handler = null;
private TextField titleField;
private String defaultComputationTitle;
private TextButton submit; private TextButton submit;
@ -77,7 +70,6 @@ public class ComputationParametersPanel extends SimpleContainer {
this.operator = operator; this.operator = operator;
fieldWidgetsMap = new HashMap<>(); fieldWidgetsMap = new HashMap<>();
try { try {
setDefaultComputationTitle();
init(); init();
create(); create();
} catch (Throwable e) { } catch (Throwable e) {
@ -164,10 +156,7 @@ public class ComputationParametersPanel extends SimpleContainer {
@Override @Override
public void onSelect(SelectEvent event) { public void onSelect(SelectEvent event) {
if (handler != null && parametersPanel.isValid()) { if (handler != null && parametersPanel.isValid()) {
String value = titleField.getValue(); handler.startComputation(); // TODO insert
String title = (value == null || value.contentEquals("")) ? defaultComputationTitle
: value;
handler.startComputation(title, title); // TODO insert
// description // description
} }
@ -303,11 +292,6 @@ public class ComputationParametersPanel extends SimpleContainer {
this.handler = handler; this.handler = handler;
} }
public void setDefaultComputationTitle() {
String name = this.operator.getName();
String date = DateTimeFormat
.getFormat(PredefinedFormat.DATE_TIME_SHORT).format(new Date());
defaultComputationTitle = name + "-" + date;
}
} }

View File

@ -23,7 +23,6 @@ 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;
@ -44,8 +43,8 @@ public class WorkflowPanel extends TabPanel {
private void create() { private void create() {
TabItemConfig tabWorkFlowLcItemConf = new TabItemConfig( TabItemConfig tabWorkFlowLcItemConf = new TabItemConfig(".: Operator",
".: Operator", false); false);
tabWorkFlowLcItemConf.setIcon(DataMinerManager.resources tabWorkFlowLcItemConf.setIcon(DataMinerManager.resources
.folderExplore()); .folderExplore());
computationPanel = new ComputationPanel(); computationPanel = new ComputationPanel();
@ -54,9 +53,8 @@ public class WorkflowPanel extends TabPanel {
@Override @Override
public void onReady(ComputationReadyEvent event) { public void onReady(ComputationReadyEvent event) {
Log.debug("StartComputationEvent Received:"+event); Log.debug("StartComputationEvent Received:" + event);
startComputation(event.getOperator(), event.getComputationTitle(), startComputation(event.getOperator());
event.getComputationDescription());
} }
}); });
@ -76,21 +74,22 @@ public class WorkflowPanel extends TabPanel {
* *
*/ */
private void bind() { private void bind() {
EventBusProvider.INSTANCE.addHandler( EventBusProvider.INSTANCE
ResubmitComputationExecutionEvent.getType(), .addHandler(
new ResubmitComputationExecutionEvent.ResubmitComputationExecutionEventHandler() { ResubmitComputationExecutionEvent.getType(),
@Override new ResubmitComputationExecutionEvent.ResubmitComputationExecutionEventHandler() {
public void onResubmit( @Override
ResubmitComputationExecutionEvent event) { public void onResubmit(
resubmitComputation(); ResubmitComputationExecutionEvent event) {
} resubmitComputation();
}); }
});
} }
/** /**
* *
*/ */
private void resubmitComputation(){ private void resubmitComputation() {
setActiveWidget(computationExecutionPanel); setActiveWidget(computationExecutionPanel);
} }
@ -99,13 +98,10 @@ public class WorkflowPanel extends TabPanel {
* @param operator * @param operator
* *
*/ */
private void startComputation(Operator op, String computationTitle, private void startComputation(Operator op) {
String computationDescription) {
setActiveWidget(computationExecutionPanel); setActiveWidget(computationExecutionPanel);
computationExecutionPanel.startNewComputation(op, computationTitle, computationExecutionPanel.startNewComputation(op);
computationDescription);
} }
public void addOperator(Operator op) { public void addOperator(Operator op) {
@ -113,8 +109,5 @@ public class WorkflowPanel extends TabPanel {
computationPanel.addOperator(op); computationPanel.addOperator(op);
} }
} }

View File

@ -52,7 +52,7 @@ public class BooleanFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
checkBox.setToolTip(p.getDescription()); //checkBox.setToolTip(p.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ p.getDescription() + "</p>"); + p.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -81,7 +81,7 @@ public class ColumnFld extends AbstractFld implements
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
comboBox.setToolTip(columnParameter.getDescription()); //comboBox.setToolTip(columnParameter.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ columnParameter.getDescription() + "</p>"); + columnParameter.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -74,7 +74,7 @@ public class ColumnListFld extends AbstractFld implements
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
grid.setToolTip(columnListParameter.getDescription()); //grid.setToolTip(columnListParameter.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ columnListParameter.getDescription() + "</p>"); + columnListParameter.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -50,7 +50,7 @@ public class DoubleFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
numberField.setToolTip(p.getDescription()); //numberField.setToolTip(p.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ p.getDescription() + "</p>"); + p.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -57,7 +57,7 @@ public class EnumFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
listBox.setToolTip(p.getDescription()); //listBox.setToolTip(p.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ p.getDescription() + "</p>"); + p.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -50,7 +50,7 @@ public class FloatFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
numberField.setToolTip(p.getDescription()); //numberField.setToolTip(p.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ p.getDescription() + "</p>"); + p.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -50,7 +50,7 @@ public class IntFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
numberField.setToolTip(p.getDescription()); //numberField.setToolTip(p.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ p.getDescription() + "</p>"); + p.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -66,7 +66,7 @@ public class ListIntFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
listContainer.setToolTip(listParameter.getDescription()); //listContainer.setToolTip(listParameter.getDescription());
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>" descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
+ listParameter.getDescription() + "</p>"); + listParameter.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");

View File

@ -32,7 +32,7 @@ public class OperatorFieldWidget {
try { try {
if (p.isObject()) if (p.isObject())
field = createObjectField((ObjectParameter) p); field = createObjectField(p);
else if (p.isEnum()) else if (p.isEnum())
field = new EnumFld(p); field = new EnumFld(p);
else if (p.isTabular()) else if (p.isTabular())
@ -44,7 +44,7 @@ public class OperatorFieldWidget {
else if (p.isColumnList()) else if (p.isColumnList())
field = new ColumnListFld(p); field = new ColumnListFld(p);
else if (p.isList()) else if (p.isList())
field = createListField((ListParameter) p); field = createListField(p);
else if (p.isFile()) else if (p.isFile())
field = new FileFld(p); field = new FileFld(p);
@ -88,18 +88,19 @@ public class OperatorFieldWidget {
* @param p * @param p
* @return * @return
*/ */
private AbstractFld createObjectField(ObjectParameter p) { private AbstractFld createObjectField(Parameter p) {
String type = p.getType(); ObjectParameter objectParameter=(ObjectParameter) p;
String type = objectParameter.getType();
if (type.contentEquals(Integer.class.getName())) { if (type.contentEquals(Integer.class.getName())) {
return new IntFld(p); return new IntFld(objectParameter);
} else if (type.contentEquals(String.class.getName())) { } else if (type.contentEquals(String.class.getName())) {
return new StringFld(p); return new StringFld(objectParameter);
} else if (type.contentEquals(Boolean.class.getName())) { } else if (type.contentEquals(Boolean.class.getName())) {
return new BooleanFld(p); return new BooleanFld(objectParameter);
} else if (type.contentEquals(Double.class.getName())) { } else if (type.contentEquals(Double.class.getName())) {
return new DoubleFld(p); return new DoubleFld(objectParameter);
} else if (type.contentEquals(Float.class.getName())) { } else if (type.contentEquals(Float.class.getName())) {
return new FloatFld(p); return new FloatFld(objectParameter);
} else } else
return null; return null;
} }
@ -107,15 +108,16 @@ public class OperatorFieldWidget {
/** /**
* *
*/ */
private AbstractFld createListField(ListParameter p) { private AbstractFld createListField(Parameter p) {
String type = p.getType(); ListParameter listParameter=(ListParameter) p;
String type = listParameter.getType();
if (type.contentEquals(String.class.getName()) if (type.contentEquals(String.class.getName())
|| type.contentEquals("STRING")) { // TODO REMOVE "STRING" || type.contentEquals("STRING")) { // TODO REMOVE "STRING"
return new ListStringFld(p); return new ListStringFld(listParameter);
} else if (type.contentEquals(Integer.class.getName()) } else if (type.contentEquals(Integer.class.getName())
|| type.contentEquals("NUMBER")) { || type.contentEquals("NUMBER")) {
return new ListIntFld(p); return new ListIntFld(listParameter);
} }
// } else if (type.contentEquals(Boolean.class.getName())) { // } else if (type.contentEquals(Boolean.class.getName())) {
// return new ListBooleanField(p); // return new ListBooleanField(p);

View File

@ -49,7 +49,7 @@ public class StringFld extends AbstractFld {
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} else { } else {
textField.setToolTip(p.getDescription()); //textField.setToolTip(p.getDescription());
descr=new HtmlLayoutContainer("<p style='margin-left:5px;'>"+p.getDescription()+"</p>"); descr=new HtmlLayoutContainer("<p style='margin-left:5px;'>"+p.getDescription()+"</p>");
descr.addStyleName("workflow-fieldDescription"); descr.addStyleName("workflow-fieldDescription");
} }

View File

@ -4,31 +4,55 @@
package org.gcube.portlets.user.dataminermanager.client.parametersfield; package org.gcube.portlets.user.dataminermanager.client.parametersfield;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import org.apache.commons.digester.SetRootRule;
import org.gcube.portlets.user.dataminermanager.client.DataMinerManager; import org.gcube.portlets.user.dataminermanager.client.DataMinerManager;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularListParameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularListParameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularParameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularParameter;
import org.gcube.portlets.user.dataminermanager.client.rpc.DataMinerPortletServiceAsync;
import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
import org.gcube.portlets.user.dataminermanager.shared.data.TableItemSimple;
import org.gcube.portlets.user.dataminermanager.shared.exception.ExpiredSessionServiceException;
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
import org.gcube.portlets.widgets.wsexplorer.client.select.WorkspaceExplorerSelectDialog;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Widget; import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.core.client.dom.XDOM;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.HorizontalLayoutContainer; import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData;
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack;
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
import com.sencha.gxt.widget.core.client.container.HtmlLayoutContainer;
import com.sencha.gxt.widget.core.client.container.MarginData;
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent; import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.form.TextField;
/** /**
* *
* @author Giancarlo Panichi * @author Giancarlo Panichi email: <a
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a> * href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
* *
*/ */
public class TabularListFld extends AbstractFld { public class TabularListFld extends AbstractFld {
private List<Item> items = new ArrayList<Item>(); private SimpleContainer fieldContainer;
private HBoxLayoutContainer horiz;
private SimpleContainer listContainer;
private List<TabItem> items;
private VerticalLayoutContainer vp; private VerticalLayoutContainer vp;
private TabularListParameter tabularListParameter; private TabularListParameter tabularListParameter;
private WorkspaceExplorerSelectDialog wselectDialog;
/** /**
* @param parameter * @param parameter
@ -36,48 +60,96 @@ public class TabularListFld extends AbstractFld {
public TabularListFld(Parameter parameter) { public TabularListFld(Parameter parameter) {
super(parameter); super(parameter);
Log.debug("TabularListField"); Log.debug("TabularListField");
this.tabularListParameter = (TabularListParameter) parameter;
tabularListParameter = (TabularListParameter) parameter;
vp = new VerticalLayoutContainer(); vp = new VerticalLayoutContainer();
addField(null); items = new ArrayList<>();
}
private void addField(Item upperItem) { listContainer = new SimpleContainer();
listContainer.add(vp, new MarginData(new Margins(0)));
TabularParameter tabPar = new TabularParameter( /*
tabularListParameter.getName(), * List<String> templates = tabularListParameter.getTemplates(); String
tabularListParameter.getDescription(),null, * list = ""; boolean firstTemplate = true; for (String template :
tabularListParameter.getTemplates()); * templates) { list += (firstTemplate ? "" : ", ") +
* Format.ellipse(template,50); firstTemplate = false; }
* HtmlLayoutContainer templatesList = new
* HtmlLayoutContainer("<p>Suitable Data Set Templates: <br>" +
* list+"</p>");
* templatesList.addStyleName("workflow-parameters-description");
*/
if (upperItem == null) { fieldContainer = new SimpleContainer();
Item item = new Item(tabPar, true); // fieldContainer.setResize(true);
items.add(item); horiz = new HBoxLayoutContainer();
vp.add(item); horiz.setPack(BoxLayoutPack.START);
horiz.setEnableOverflow(false);
HtmlLayoutContainer descr;
if (tabularListParameter.getDescription() == null) {
descr = new HtmlLayoutContainer("<p style='margin-left:5px;'></p>");
descr.addStyleName("workflow-fieldDescription");
} else { } else {
// search the position of the upper item /* listContainer.setToolTip(listParameter.getDescription()); */
int pos = 0; descr = new HtmlLayoutContainer("<p style='margin-left:5px;'>"
for (int i = 0; i < items.size(); i++) + tabularListParameter.getDescription() + "</p>");
if (items.get(i) == upperItem) { descr.addStyleName("workflow-fieldDescription");
pos = i;
break;
}
upperItem.showCancelButton();
Item item = new Item(tabPar, false);
items.add(pos + 1, item);
vp.insert(item, pos + 1);
} }
vp.forceLayout(); horiz.add(listContainer, new BoxLayoutData(new Margins(0)));
horiz.add(descr, new BoxLayoutData(new Margins(0)));
fieldContainer.add(horiz, new MarginData(new Margins(0)));
addField(null);
fieldContainer.forceLayout();
}
private void addField(TabItem upperItem) {
try {
TabularParameter tabPar = new TabularParameter(
tabularListParameter.getName(),
tabularListParameter.getDescription(), null,
tabularListParameter.getTemplates());
if (upperItem == null) {
TabItem item = new TabItem(tabPar, true);
items.add(item);
vp.add(item, new VerticalLayoutData(1, -1, new Margins(0)));
} else {
// search the position of the upper item
int pos = items.indexOf(upperItem);
if (pos > -1) {
upperItem.showCancelButton();
TabItem item = new TabItem(tabPar, false);
items.add(pos + 1, item);
vp.insert(item, pos + 1, new VerticalLayoutData(1, -1,
new Margins(0)));
} else {
TabItem item = new TabItem(tabPar, true);
items.add(item);
vp.add(item, new VerticalLayoutData(1, -1, new Margins(0)));
}
}
} catch (Throwable e) {
Log.error(e.getLocalizedMessage());
e.printStackTrace();
}
} }
/** /**
* @param item * @param item
*/ */
protected void removeField(Item item) { private void removeField(TabItem item) {
items.remove(item); items.remove(item);
vp.remove(item); vp.remove(item);
vp.forceLayout();
if (items.size() == 1) { if (items.size() == 1) {
items.get(0).hideCancelButton(); items.get(0).hideCancelButton();
@ -93,7 +165,7 @@ public class TabularListFld extends AbstractFld {
String separator = tabularListParameter.getSeparator(); String separator = tabularListParameter.getSeparator();
String value = ""; String value = "";
boolean first = true; boolean first = true;
for (Item item : items) { for (TabItem item : items) {
String itemValue = item.getValue(); String itemValue = item.getValue();
if (itemValue != null && !itemValue.contentEquals("")) { if (itemValue != null && !itemValue.contentEquals("")) {
value += (first ? "" : separator) + itemValue; value += (first ? "" : separator) + itemValue;
@ -108,84 +180,251 @@ public class TabularListFld extends AbstractFld {
*/ */
@Override @Override
public Widget getWidget() { public Widget getWidget() {
return vp; return fieldContainer;
} }
/**
*
*/
@Override @Override
public boolean isValid() { public boolean isValid() {
boolean valid = false; boolean valid = false;
for (Item item : items) for (TabItem item : items)
if (item.getField().getValue() != null) { if (item.isValid()) {
valid = true; valid = true;
break; break;
} }
return valid; return valid;
} }
private class Item extends HorizontalLayoutContainer { private class TabItem extends HBoxLayoutContainer {
private TextButton selectButton, selectButton2;
private TableItemSimple selectedTableItem = null;
private TextButton addBtn;
private TextButton removeBtn;
private TextField tableDescription;
/**
* @param objPar
*/
public TabItem(TabularParameter tabularParameter, boolean first) {
super();
create(tabularParameter, first);
initDialog();
}
private void create(TabularParameter tabularParameter, boolean first) {
tableDescription = new TextField();
tableDescription.setReadOnly(true);
//tableDescription.setVisible(false);
selectButton = new TextButton("Select Data Set");
selectButton.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
wselectDialog.show();
}
});
selectButton.setIcon(DataMinerManager.resources.folderExplore());
selectButton.setToolTip("Select Data Set");
selectButton2 = new TextButton("");
selectButton2.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
wselectDialog.show();
}
});
selectButton2.setIcon(DataMinerManager.resources.folderExplore());
selectButton2.setToolTip("Select Another Data Set");
selectButton2.setVisible(false);
addBtn = new TextButton("");
addBtn.setIcon(DataMinerManager.resources.add());
addBtn.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
addField(TabItem.this);
fieldContainer.forceLayout();
}
});
removeBtn = new TextButton("");
removeBtn.setIcon(DataMinerManager.resources.cancel());
removeBtn.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
selectedTableItem = null;
removeField(TabItem.this);
fieldContainer.forceLayout();
}
});
removeBtn.setVisible(!first);
setPack(BoxLayoutPack.START);
setEnableOverflow(false);
add(tableDescription, new BoxLayoutData(new Margins(0)));
add(selectButton, new BoxLayoutData(new Margins(0)));
add(selectButton2, new BoxLayoutData(new Margins(0)));
add(addBtn, new BoxLayoutData(new Margins(0)));
add(removeBtn, new BoxLayoutData(new Margins(0)));
}
private void initDialog() {
List<ItemType> selectableTypes = new ArrayList<ItemType>();
selectableTypes.add(ItemType.EXTERNAL_FILE);
List<ItemType> showableTypes = new ArrayList<ItemType>();
showableTypes.addAll(Arrays.asList(ItemType.values()));
/*
* "application/zip", "application/x-zip",
* "application/x-zip-compressed", "application/octet-stream",
* "application/x-compress", "application/x-compressed",
* "multipart/x-zip"
*/
// List<String> allowedMimeTypes =
// Arrays.asList("text/csv","text/plain","text/plain; charset=ISO-8859-1");
/**
* "zip"
*/
/*
* List<String> allowedFileExtensions = Arrays.asList("csv");
*
* FilterCriteria filterCriteria = new
* FilterCriteria(allowedMimeTypes, allowedFileExtensions, new
* HashMap<String, String>());
*/
wselectDialog = new WorkspaceExplorerSelectDialog("Select CSV",
false);
// filterCriteria, selectableTypes);
WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() {
@Override
public void onSelectedItem(Item item) {
if (item.isFolder() || item.isRoot()) {
UtilsGXT3.info("Attention", "Select a valid csv!");
} else {
TabItem.this.retrieveTableInformation(item);
}
}
@Override
public void onFailed(Throwable throwable) {
Log.error("Error in create project: "
+ throwable.getLocalizedMessage());
UtilsGXT3.alert("Error", throwable.getLocalizedMessage());
throwable.printStackTrace();
}
@Override
public void onAborted() {
}
@Override
public void onNotValidSelection() {
UtilsGXT3.info("Attention", "Select a valid csv!");
}
};
wselectDialog
.addWorkspaceExplorerSelectNotificationListener(handler);
wselectDialog.setZIndex(XDOM.getTopZIndex());
}
private void retrieveTableInformation(Item item) {
DataMinerPortletServiceAsync.INSTANCE.retrieveTableInformation(
item, new AsyncCallback<TableItemSimple>() {
@Override
public void onFailure(Throwable caught) {
Log.error("Error in retrieveTableInformation "
+ caught.getMessage());
if (caught instanceof ExpiredSessionServiceException) {
UtilsGXT3.alert("Error", "Expired Session");
} else {
UtilsGXT3.alert("Error",
"Error retrieving table information: "
+ caught.getLocalizedMessage());
}
}
@Override
public void onSuccess(TableItemSimple result) {
Log.debug("Retrieved: " + result);
selectedTableItem = result;
showFieldWithSelection();
}
});
}
private TabularFld field;
private TextButton addButton;
private TextButton removeButton;
/** /**
* *
* @param tabularParameter
* @param first
*/ */
public Item(TabularParameter tabularParameter, boolean first) { private void showFieldWithSelection() {
super(); try {
this.field = new TabularFld(tabularParameter); String tableName = selectedTableItem.getName();
this.add(field.getWidget());
if (tableName == null || tableName.isEmpty()) {
addButton= new TextButton(""); tableName = "NoName";
addButton.setIcon(DataMinerManager.resources.add());
addButton.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
addField(Item.this);
} }
});
removeButton= new TextButton(""); tableDescription.setValue(tableName);
removeButton.setIcon(DataMinerManager.resources.cancel()); selectButton.setVisible(false);
selectButton2.setVisible(true);
removeButton.addSelectHandler(new SelectEvent.SelectHandler() { } catch (Throwable e) {
Log.error(e.getLocalizedMessage());
@Override e.printStackTrace();
public void onSelect(SelectEvent event) { }
removeField(Item.this);
}
});
removeButton.setVisible(!first);
this.add(addButton);
this.add(removeButton);
} }
public void showCancelButton() { public void showCancelButton() {
removeButton.setVisible(true); removeBtn.setVisible(true);
} }
public void hideCancelButton() { public void hideCancelButton() {
removeButton.setVisible(false); removeBtn.setVisible(false);
} }
public String getValue() { public String getValue() {
return field.getValue(); return (selectedTableItem == null) ? null : selectedTableItem
.getId();
} }
public TabularFld getField() { public boolean isValid() {
return field; return (selectedTableItem != null);
} }
} }
} }

View File

@ -61,8 +61,7 @@ public interface DataMinerPortletService extends RemoteService {
public List<Parameter> getParameters(Operator operator) throws Exception; public List<Parameter> getParameters(Operator operator) throws Exception;
public ComputationId startComputation(Operator op, String computationTitle, public ComputationId startComputation(Operator op) throws Exception;
String computationDescription) throws Exception;
public ComputationStatus getComputationStatus(ComputationId computationId) public ComputationStatus getComputationStatus(ComputationId computationId)
throws Exception; throws Exception;

View File

@ -67,9 +67,7 @@ public interface DataMinerPortletServiceAsync {
void getParameters(Operator operator, void getParameters(Operator operator,
AsyncCallback<List<Parameter>> callback); AsyncCallback<List<Parameter>> callback);
void startComputation(Operator op, String computationTitle, void startComputation(Operator op, AsyncCallback<ComputationId> asyncCallback);
String computationDescription,
AsyncCallback<ComputationId> asyncCallback);
void getComputationStatus(ComputationId computationId, void getComputationStatus(ComputationId computationId,
AsyncCallback<ComputationStatus> asyncCallback); AsyncCallback<ComputationStatus> asyncCallback);

View File

@ -140,18 +140,14 @@ public class DataMinerManagerServiceImpl extends RemoteServiceServlet implements
} }
@Override @Override
public ComputationId startComputation(Operator operator, public ComputationId startComputation(Operator operator)
String computationTitle, String computationDescription)
throws Exception { throws Exception {
try { try {
HttpSession session = this.getThreadLocalRequest().getSession(); HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getASLSession(session); ASLSession aslSession = SessionUtil.getASLSession(session);
logger.debug("StartComputation(): [computationTitle=" logger.debug("StartComputation(): [ operator=" + operator + "]");
+ computationTitle + ", computationDescription="
+ computationDescription + ", operator=" + operator + "]");
SClient smClient = SessionUtil.getSClient(session, aslSession); SClient smClient = SessionUtil.getSClient(session, aslSession);
return smClient.startComputation(operator, computationTitle, return smClient.startComputation(operator);
computationDescription);
} catch (Throwable e) { } catch (Throwable e) {
logger.error("Error in start computation: " logger.error("Error in start computation: "

View File

@ -2,7 +2,6 @@ package org.gcube.portlets.user.dataminermanager.server.smservice;
import java.util.List; import java.util.List;
import org.gcube.portlets.user.dataminermanager.client.bean.ComputationItem;
import org.gcube.portlets.user.dataminermanager.client.bean.ComputationStatus; import org.gcube.portlets.user.dataminermanager.client.bean.ComputationStatus;
import org.gcube.portlets.user.dataminermanager.client.bean.Operator; import org.gcube.portlets.user.dataminermanager.client.bean.Operator;
import org.gcube.portlets.user.dataminermanager.client.bean.OperatorsClassification; import org.gcube.portlets.user.dataminermanager.client.bean.OperatorsClassification;
@ -30,8 +29,7 @@ public abstract class SClient {
public abstract List<Parameter> getInputParameters(Operator operator) public abstract List<Parameter> getInputParameters(Operator operator)
throws Exception; throws Exception;
public abstract ComputationId startComputation(Operator operator, public abstract ComputationId startComputation(Operator operator)
String computationTitle, String computationDescription)
throws Exception; throws Exception;
public abstract ComputationStatus getComputationStatus( public abstract ComputationStatus getComputationStatus(

View File

@ -667,8 +667,7 @@ public class SClient4WPS extends SClient {
} }
@Override @Override
public ComputationId startComputation(Operator operator, public ComputationId startComputation(Operator operator)
String computationTitle, String computationDescription)
throws Exception { throws Exception {
ProcessInformations processInformations; ProcessInformations processInformations;
try { try {
@ -697,8 +696,7 @@ public class SClient4WPS extends SClient {
+ parm.getValue()); + parm.getValue());
} }
String processUrl = compute(processInformations, userInputs, inputParameters, String processUrl = compute(processInformations, userInputs, inputParameters);
computationTitle, computationDescription);
logger.debug("Stated Computation ProcessLocation:" + processUrl); logger.debug("Stated Computation ProcessLocation:" + processUrl);
int idIndex = processUrl.lastIndexOf("?id="); int idIndex = processUrl.lastIndexOf("?id=");
@ -718,8 +716,7 @@ public class SClient4WPS extends SClient {
} }
private String compute(ProcessInformations processInformations, Map<String, String> userInputs, private String compute(ProcessInformations processInformations, Map<String, String> userInputs,
Map<String, Parameter> inputParameters, String computationTitle, Map<String, Parameter> inputParameters) throws Exception {
String computationDescription) throws Exception {
try { try {
// setup the inputs // setup the inputs
org.n52.wps.client.ExecuteRequestBuilder executeBuilder = new org.n52.wps.client.ExecuteRequestBuilder( org.n52.wps.client.ExecuteRequestBuilder executeBuilder = new org.n52.wps.client.ExecuteRequestBuilder(

View File

@ -24,13 +24,12 @@ import org.gcube.portlets.user.dataminermanager.client.bean.parameters.FileParam
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.ListParameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.ListParameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.ObjectParameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.ObjectParameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularListParameter;
import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularParameter; import org.gcube.portlets.user.dataminermanager.client.bean.parameters.TabularParameter;
import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException; import org.gcube.portlets.user.dataminermanager.shared.exception.ServiceException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.itextpdf.text.pdf.PatternColor;
public class WPS2SM { public class WPS2SM {
private final static String SEPARATOR = "|"; private final static String SEPARATOR = "|";
@ -132,15 +131,17 @@ public class WPS2SM {
logger.debug("Machter group: " + matcher.group()); logger.debug("Machter group: " + matcher.group());
logger.debug("Machter start: " + matcher.start()); logger.debug("Machter start: " + matcher.start());
logger.debug("Machter end: " + matcher.end()); logger.debug("Machter end: " + matcher.end());
logger.debug("Machter Group Count: " + matcher.groupCount()); logger.debug("Machter Group Count: "
+ matcher.groupCount());
String referredTabularParameterName = matcher.group(1); String referredTabularParameterName = matcher.group(1);
logger.debug("Matcher referredTabularParameterName: " logger.debug("Matcher referredTabularParameterName: "
+ referredTabularParameterName); + referredTabularParameterName);
converted = new ColumnParameter(id, title, converted = new ColumnParameter(id, title,
referredTabularParameterName, defaultValue); referredTabularParameterName, defaultValue);
} else { } else {
if (title.contains("[a sequence of values separated by ")) { if (title
.contains("[a sequence of values separated by ")) {
Pattern pattern = Pattern Pattern pattern = Pattern
.compile("a sequence of values separated by (\\p{ASCII})"); .compile("a sequence of values separated by (\\p{ASCII})");
Matcher matcher = pattern.matcher(title); Matcher matcher = pattern.matcher(title);
@ -149,8 +150,9 @@ public class WPS2SM {
logger.debug("Machter group: " + matcher.group()); logger.debug("Machter group: " + matcher.group());
logger.debug("Machter start: " + matcher.start()); logger.debug("Machter start: " + matcher.start());
logger.debug("Machter end: " + matcher.end()); logger.debug("Machter end: " + matcher.end());
logger.debug("Machter Group Count: " + matcher.groupCount()); logger.debug("Machter Group Count: "
+ matcher.groupCount());
String separator = matcher.group(1); String separator = matcher.group(1);
logger.debug("Matcher separator: " + separator); logger.debug("Matcher separator: " + separator);
@ -158,7 +160,8 @@ public class WPS2SM {
guessedType, separator); guessedType, separator);
} else { } else {
converted = new ObjectParameter(id, title, converted = new ObjectParameter(id, title,
guessPrimitiveType(guessedType), defaultValue); guessPrimitiveType(guessedType),
defaultValue);
} }
} }
} }
@ -204,19 +207,49 @@ public class WPS2SM {
// rebuild title // rebuild title
title = buildParameterDescription(title, maxMegaBytes, null, minOcc, title = buildParameterDescription(title, maxMegaBytes, null, minOcc,
maxOcc, null); maxOcc, null);
if ((maxOcc == 1) || (maxOcc < 0) || (maxOcc == 0)) if ((maxOcc == 1) || (maxOcc < 0) || (maxOcc == 0)) {
if (title != null && !title.isEmpty()) {
if (title.contains("[a http link to a table")) {
converted = new TabularParameter(id, title, " ",
new ArrayList<String>());
} else {
if (title.contains("[a http link to a file")) {
converted = new FileParameter(id, title, mimeType);
} else {
if (title.contains("[a sequence of http links")) {
Pattern pattern = Pattern
.compile("\\[a sequence of http links separated by (\\p{ASCII}) , each indicating a table");
if(title.contains("[a http link to a table")){ Matcher matcher = pattern.matcher(title);
converted = new TabularParameter(id, title, " ", boolean match = false;
new ArrayList<String>()); if (match = matcher.find()) {
logger.debug("Machter title: " + title);
logger.debug("Machter find: " + match);
logger.debug("Machter group: "
+ matcher.group());
logger.debug("Machter start: "
+ matcher.start());
logger.debug("Machter end: " + matcher.end());
logger.debug("Machter Group Count: "
+ matcher.groupCount());
String separator = matcher.group(1);
logger.debug("Matcher separator: " + separator);
converted = new TabularListParameter(id, title,
separator);
} else {
converted = new FileParameter(id, title, mimeType);
}
} else {
converted = new FileParameter(id, title, mimeType);
}
}
}
} else { } else {
converted = new FileParameter(id, title, mimeType); converted = new FileParameter(id, title, mimeType);
} }
} else {
else converted = new FileParameter(id, title, mimeType);
converted = new ListParameter(id, title, String.class.getName(), }
SEPARATOR);
return converted; return converted;
} }

View File

@ -1,7 +1,7 @@
package org.gcube.portlets.user.dataminermanager.shared; package org.gcube.portlets.user.dataminermanager.shared;
public class Constants { public class Constants {
public static final boolean DEBUG_MODE = false; public static final boolean DEBUG_MODE = true;
public static final boolean TEST_ENABLE = false; public static final boolean TEST_ENABLE = false;
public static final String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager"; public static final String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager";
@ -10,11 +10,14 @@ public class Constants {
public static final String DATA_MINER_LANG = "DataMinerLang"; public static final String DATA_MINER_LANG = "DataMinerLang";
public static final String DEFAULT_USER = "giancarlo.panichi"; public static final String DEFAULT_USER = "giancarlo.panichi";
//public static final String DEFAULT_USER = "statistical.manager@gmail.com";
public static final String DEFAULT_ROLE = "OrganizationMember"; public static final String DEFAULT_ROLE = "OrganizationMember";
public final static String DEFAULT_SCOPE = "/gcube/devsec/devVRE"; public final static String DEFAULT_SCOPE = "/gcube/devsec/devVRE";
// public final static String DEFAULT_USER = "test.user"; // public final static String DEFAULT_USER = "test.user";
// public final static String DEFAULT_SCOPE = "/gcube/devNext"; // public final static String DEFAULT_SCOPE = "/gcube/devNext";
// public final static String DEFAULT_SCOPE = "/gcube/devNext/NextNext"; // public final static String DEFAULT_SCOPE = "/gcube/devNext/NextNext";
public static final String SClient = "DataMinerClient"; public static final String SClient = "DataMinerClient";
public static final String DATA_MINER_SERVICE_NAME = "DataMiner"; public static final String DATA_MINER_SERVICE_NAME = "DataMiner";
@ -23,18 +26,13 @@ public class Constants {
public static final String TD_DATASOURCE_FACTORY_ID = "DataMinerManager"; public static final String TD_DATASOURCE_FACTORY_ID = "DataMinerManager";
public static final int TIME_UPDATE_MONITOR = 5 * 1000;
public static final int TIME_UPDATE_JOBS_GRID = 10 * 1000;
public static final int TIME_UPDATE_COMPUTATION_STATUS_PANEL = 10 * 1000;// 7*1000; public static final int TIME_UPDATE_COMPUTATION_STATUS_PANEL = 10 * 1000;// 7*1000;
public static final String maskLoadingStyle = "x-mask-loading";
public final static String[] ClassificationNames = { "User Perspective" }; public final static String[] ClassificationNames = { "User Perspective" };
// "Computation Perspective"}; // "Computation Perspective"};
public final static String UserClassificationName = ClassificationNames[0]; public final static String UserClassificationName = ClassificationNames[0];
// public final static String computationClassificationName = // public final static String computationClassificationName =
// classificationNames[1]; // classificationNames[1];
public static final String RealFileTemplate = "ZZ-FILE";
public static final String UserFileTemplate = "FILE";
// WPS Data Miner // WPS Data Miner
public static final String WPSServiceURL = "http://dataminer-d-d4s.d4science.org:80/wps/"; public static final String WPSServiceURL = "http://dataminer-d-d4s.d4science.org:80/wps/";
@ -43,6 +41,9 @@ public class Constants {
public static final String WPSToken = "4ccc2c35-60c9-4c9b-9800-616538d5d48b";// "d7a4076c-e8c1-42fe-81e0-bdecb1e8074a"; public static final String WPSToken = "4ccc2c35-60c9-4c9b-9800-616538d5d48b";// "d7a4076c-e8c1-42fe-81e0-bdecb1e8074a";
public static final String WPSUser = "gianpaolo.coro"; public static final String WPSUser = "gianpaolo.coro";
public static final String SESSION_TOKEN = "SESSION_TOKEN"; public static final String SESSION_TOKEN = "SESSION_TOKEN";
//public static final String WPSToken = "45943442-74ef-408b-be64-d26b42cf4c08 ";
//public static final String WPSUser = "statistical.manager@gmail.com";

View File

@ -41,18 +41,18 @@
<entry-point <entry-point
class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' /> class='org.gcube.portlets.user.dataminermanager.client.DataMinerManager' />
<!-- <set-property name="log_ConsoleLogger" value="ENABLED" /> <set-property <set-property name="log_ConsoleLogger" value="ENABLED" /> <set-property
name="log_DivLogger" value="ENABLED" /> <set-property name="log_GWTLogger" name="log_DivLogger" value="ENABLED" /> <set-property name="log_GWTLogger"
value="ENABLED" /> <set-property name="log_SystemLogger" value="ENABLED" value="ENABLED" /> <set-property name="log_SystemLogger" value="ENABLED"
/> --> />
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="ENABLED" <!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="ENABLED"
/> --> /> -->
<!--
<set-property name="log_ConsoleLogger" value="DISABLED" /> <set-property name="log_ConsoleLogger" value="DISABLED" />
<set-property name="log_DivLogger" value="DISABLED" /> <set-property name="log_DivLogger" value="DISABLED" />
<set-property name="log_GWTLogger" value="DISABLED" /> <set-property name="log_GWTLogger" value="DISABLED" />
<set-property name="log_SystemLogger" value="DISABLED" /> <set-property name="log_SystemLogger" value="DISABLED" /> -->
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="DISABLED" <!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="DISABLED"
/> --> /> -->