refs 4172: Dataminer interface enhancements

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

Added SelectAreaDialog in DataMiner

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@130791 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2016-07-25 17:10:47 +00:00
parent cf49f22d33
commit fb58622ff4
21 changed files with 697 additions and 202 deletions

12
pom.xml
View File

@ -147,9 +147,9 @@
<artifactId>gxt</artifactId>
<version>${gxtVersion}</version>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
@ -297,6 +297,12 @@
<version>[1.4.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
</dependency>
<!-- OpenLayer Basic Widget -->
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>openlayer-basic-widgets</artifactId>
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
</dependency>
<!-- LOGGING -->
<dependency>

View File

@ -24,6 +24,7 @@ import org.gcube.portlets.user.dataminermanager.shared.exception.SessionExpiredS
import org.gcube.portlets.user.dataminermanager.shared.parameters.ColumnListParameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.ColumnParameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter.ParameterTypology;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT;
@ -104,9 +105,9 @@ public class ComputationParametersPanel extends SimpleContainer {
try {
String location = Location.getHref();
String[] locationData = location.split("\\?");
locationRef=locationData[0];
locationRef = locationData[0];
} catch (Throwable e) {
Log.error("Error retrieving location: "+e.getLocalizedMessage());
Log.error("Error retrieving location: " + e.getLocalizedMessage());
}
HtmlLayoutContainer title = new HtmlLayoutContainer("<span><a href='"
@ -246,9 +247,12 @@ public class ComputationParametersPanel extends SimpleContainer {
}
for (Parameter p : operator.getOperatorParameters()) {
if (p.isColumn() || p.isColumnList()) {
if (p.getTypology().compareTo(ParameterTypology.COLUMN) == 0
|| p.getTypology().compareTo(
ParameterTypology.COLUMN_LIST) == 0) {
// search for the table parameter which it depends
String tabParamName = (p.isColumn() ? ((ColumnParameter) p)
String tabParamName = (p.getTypology().compareTo(
ParameterTypology.COLUMN) == 0 ? ((ColumnParameter) p)
.getReferredTabularParameterName()
: ((ColumnListParameter) p)
.getReferredTabularParameterName());

View File

@ -29,22 +29,40 @@ public class OperatorFieldWidget {
this.parameter = p;
try {
if (p.isObject())
field = createObjectField(p);
else if (p.isEnum())
field = new EnumFld(p);
else if (p.isTabular())
field = new TabularFld(p);
else if (p.isTabularList())
field = new TabularListFld(p);
else if (p.isColumn())
field = new ColumnFld(p);
else if (p.isColumnList())
field = new ColumnListFld(p);
else if (p.isList())
field = createListField(p);
else if (p.isFile())
field = new FileFld(p);
if (p.getTypology() != null) {
switch (p.getTypology()) {
case COLUMN:
field = new ColumnFld(p);
break;
case COLUMN_LIST:
field = new ColumnListFld(p);
break;
case ENUM:
field = new EnumFld(p);
break;
case FILE:
field = new FileFld(p);
break;
case LIST:
field = createListField(p);
break;
case OBJECT:
field = createObjectField(p);
break;
case TABULAR:
field = new TabularFld(p);
break;
case TABULAR_LIST:
field = new TabularListFld(p);
break;
case WKT:
field = new WKTFld(p);
break;
default:
break;
}
}
if (field == null) {
parameterLabel = new FieldLabel(null, p.getName());

View File

@ -0,0 +1,249 @@
/**
*
*/
package org.gcube.portlets.user.dataminermanager.client.parametersfield;
import org.gcube.portlets.user.dataminermanager.client.DataMinerManager;
import org.gcube.portlets.user.dataminermanager.client.util.UtilsGXT3;
import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.WKTParameter;
import org.gcube.portlets.widgets.openlayerbasicwidgets.client.event.SelectAreaDialogEvent;
import org.gcube.portlets.widgets.openlayerbasicwidgets.client.event.SelectAreaDialogEvent.SelectAreaDialogEventHandler;
import org.gcube.portlets.widgets.openlayerbasicwidgets.client.widgets.AreaSelectionDialog;
import org.gcube.portlets.widgets.openlayerbasicwidgets.client.widgets.GeometryType;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.shared.GWT;
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.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.event.SelectEvent;
import com.sencha.gxt.widget.core.client.form.TextField;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class WKTFld extends AbstractFld {
private VerticalLayoutContainer vp;
// FileSelector fileSelector;
private AreaSelectionDialog areaSelectionDialog;
private TextButton selectButton, selectButton2, cancelButton;
private String selectedArea = null;
private WKTParameter wktParameter;
private SimpleContainer fieldContainer;
private HBoxLayoutContainer horiz;
private TextField selectedAreaField;
/**
* @param parameter
*/
public WKTFld(Parameter parameter) {
super(parameter);
wktParameter = (WKTParameter) parameter;
SimpleContainer wktContainer = new SimpleContainer();
vp = new VerticalLayoutContainer();
init();
wktContainer.add(vp, new MarginData(new Margins(0)));
fieldContainer = new SimpleContainer();
horiz = new HBoxLayoutContainer();
horiz.setPack(BoxLayoutPack.START);
horiz.setEnableOverflow(false);
HtmlLayoutContainer descr;
if (wktParameter.getDescription() == null) {
descr = new HtmlLayoutContainer(
"<p style='margin-left:5px !important;'></p>");
descr.addStyleName("workflow-fieldDescription");
} else {
descr = new HtmlLayoutContainer(
"<p style='margin-left:5px !important;'>"
+ wktParameter.getDescription() + "</p>");
descr.addStyleName("workflow-fieldDescription");
}
horiz.add(wktContainer, new BoxLayoutData(new Margins()));
horiz.add(descr, new BoxLayoutData(new Margins()));
fieldContainer.add(horiz);
showNoSelectionField();
}
private GeometryType getGeometryType() {
if (wktParameter.getWktGeometryType() == null) {
return GeometryType.Polygon;
}
switch (wktParameter.getWktGeometryType()) {
case Box:
return GeometryType.Box;
case Circle:
return GeometryType.Circle;
case Hexagon:
return GeometryType.Hexagon;
case LineString:
return GeometryType.LineString;
case Pentagon:
return GeometryType.Pentagon;
case Point:
return GeometryType.Point;
case Polygon:
return GeometryType.Polygon;
case Square:
return GeometryType.Square;
case Triangle:
return GeometryType.Triangle;
default:
return GeometryType.Polygon;
}
}
private void drawAGeometry() {
SelectAreaDialogEventHandler handler = new SelectAreaDialogEventHandler() {
@Override
public void onResponse(SelectAreaDialogEvent event) {
GWT.log("SelectAreaDialog Response: " + event);
switch (event.getSelectAreaDialogEventType()) {
case Aborted:
Log.debug("No area selected!");
break;
case Completed:
selectedArea = event.getArea();
Log.debug("SelectedFileItem: " + selectedArea);
showFieldWithSelection();
break;
case Failed:
Log.error("Error during area selection: "
+ event.getException());
UtilsGXT3.alert("Error", event.getErrorMessage());
break;
default:
break;
}
}
};
areaSelectionDialog = new AreaSelectionDialog(getGeometryType());
areaSelectionDialog.setZIndex(XDOM.getTopZIndex());
areaSelectionDialog.addSelectAreaDialogEventHandler(handler);
areaSelectionDialog.show();
}
private void init() {
selectButton = new TextButton("Draw a "
+ wktParameter.getWktGeometryType().getLabel());
selectButton.setIcon(DataMinerManager.resources.folderExplore());
selectButton.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
drawAGeometry();
}
});
//selectButton.setToolTip("Draw a "
// + wktParameter.getWktGeometryType().getLabel());
selectButton2 = new TextButton("");
selectButton2.setIcon(DataMinerManager.resources.folderExplore());
selectButton2.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
drawAGeometry();
}
});
//selectButton2.setToolTip("Select Another "
// + wktParameter.getWktGeometryType().getLabel());
cancelButton = new TextButton("");
cancelButton.setIcon(DataMinerManager.resources.cancel());
cancelButton.addSelectHandler(new SelectEvent.SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
selectedArea = null;
showNoSelectionField();
}
});
}
private void showNoSelectionField() {
vp.clear();
vp.add(selectButton);
vp.forceLayout();
fieldContainer.forceLayout();
}
private void showFieldWithSelection() {
if (selectedArea == null || selectedArea.isEmpty()) {
selectedArea = "";
}
selectedAreaField = new TextField();
if (selectedArea != null && !selectedArea.isEmpty()) {
selectedAreaField.setValue(selectedArea);
}
selectedAreaField.setReadOnly(true);
HBoxLayoutContainer h = new HBoxLayoutContainer();
h.add(selectedAreaField, new BoxLayoutData(new Margins()));
h.add(selectButton2, new BoxLayoutData(new Margins()));
h.add(cancelButton, new BoxLayoutData(new Margins()));
vp.clear();
vp.add(h);
vp.forceLayout();
fieldContainer.forceLayout();
}
@Override
public String getValue() {
if (selectedAreaField != null) {
return selectedAreaField.getCurrentValue();
} else {
return wktParameter.getDefaultValue();
}
}
@Override
public boolean isValid() {
if (selectedAreaField != null) {
return selectedAreaField.isValid();
} else {
return true;
}
}
@Override
public Widget getWidget() {
return fieldContainer;
}
}

View File

@ -2,29 +2,25 @@
<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' /> -->
<!-- <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.widgets.sessionchecker.SessionChecker' />
<!--
<!-- OpenLayer Basic Widgets -->
<inherits
name="org.gcube.portlets.user.csvimportwizard.ws.CSVImportWizardWorkspace" />
-->
name='org.gcube.portlets.widgets.openlayerbasicwidgets.olbasicwidgets' />
<!-- inherits WorkspaceExplorer widget -->
<inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' />
@ -32,38 +28,22 @@
<inherits
name="org.gcube.portlets.widgets.workspaceuploader.WorkspaceUploader" />
<!--
<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" />
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="DISABLED"
/> -->
<set-property name="log_SystemLogger" value="DISABLED" />
<source path='client' />
<source path='shared' />

View File

@ -27,6 +27,8 @@ import org.gcube.portlets.user.dataminermanager.shared.parameters.ObjectParamete
import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.TabularListParameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.TabularParameter;
import org.gcube.portlets.user.dataminermanager.shared.parameters.WKTGeometryType;
import org.gcube.portlets.user.dataminermanager.shared.parameters.WKTParameter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -159,10 +161,17 @@ public class WPS2SM {
converted = new ListParameter(id, title,
guessedType, separator);
} else {
converted = new ObjectParameter(id, title,
guessPrimitiveType(guessedType),
defaultValue);
if (title.contains("[WKT_")) {
logger.debug("WKT parameter: " + title);
converted = retrieveWKTParameter(id, title,
defaultValue);
} else {
converted = new ObjectParameter(id, title,
guessPrimitiveType(guessedType),
defaultValue);
}
}
}
}
@ -178,6 +187,71 @@ public class WPS2SM {
return converted;
}
private static Parameter retrieveWKTParameter(String id, String title,
String defaultValue) {
if (title.contains("[WKT_POINT]")) {
//title.replace("[WKT_POINT]", "");
return new WKTParameter(id, title, WKTGeometryType.Point,
defaultValue);
} else {
if (title.contains("[WKT_LINESTRING]")) {
//title.replace("[WKT_LINESTRING]", "");
return new WKTParameter(id, title, WKTGeometryType.LineString,
defaultValue);
} else {
if (title.contains("[WKT_POLYGON]")) {
//title.replace("[WKT_POLYGON]", "");
return new WKTParameter(id, title, WKTGeometryType.Polygon,
defaultValue);
} else {
if (title.contains("[WKT_CIRCLE]")) {
//title.replace("[WKT_CIRCLE]", "");
return new WKTParameter(id, title,
WKTGeometryType.Circle, defaultValue);
} else {
if (title.contains("[WKT_TRIANGLE]")) {
//title.replace("[WKT_TRIANGLE]", "");
return new WKTParameter(id, title,
WKTGeometryType.Triangle, defaultValue);
} else {
if (title.contains("[WKT_SQUARE]")) {
//title.replace("[WKT_SQUARE]", "");
return new WKTParameter(id, title,
WKTGeometryType.Square, defaultValue);
} else {
if (title.contains("[WKT_PENTAGON]")) {
//title.replace("[WKT_PENTAGON]", "");
return new WKTParameter(id, title,
WKTGeometryType.Pentagon,
defaultValue);
} else {
if (title.contains("[WKT_HEXAGON]")) {
//title.replace("[WKT_HEXAGON]", "");
return new WKTParameter(id, title,
WKTGeometryType.Hexagon,
defaultValue);
} else {
if (title.contains("[WKT_BOX]")) {
//title.replace("[WKT_BOX]", "");
return new WKTParameter(id, title,
WKTGeometryType.Box,
defaultValue);
} else {
return new WKTParameter(id, title,
WKTGeometryType.Polygon,
defaultValue);
}
}
}
}
}
}
}
}
}
}
/**
*
* @param maxMegaBytes
@ -335,7 +409,7 @@ public class WPS2SM {
.getSupported().getFormatArray());
}
logger.debug("Conversion to SM Type->Name=" + id);
logger.debug("Conversion to SM Type->Title=" + title);
logger.debug("Conversion to SM Type->Number of Inputs to Manage="
@ -403,29 +477,22 @@ public class WPS2SM {
String description = title;
/*
String innerDescription = "";
if (maxMegabytes != null && maxMegabytes.trim().length() > 0) {
innerDescription += "Max MB Size:" + maxMegabytes.trim() + "; ";
}
if (UoM != null && UoM.trim().length() > 0) {
innerDescription += "Unit of Measure:" + UoM.trim() + "; ";
}
if (minElements > 0) {
innerDescription += "Min N. of Entries:" + minElements + "; ";
}
if (maxElements > 0) {
innerDescription += "Max N. of Entries:" + maxElements + "; ";
}
if (defaultValue != null && defaultValue.trim().length() > 0) {
innerDescription += "default:" + defaultValue.trim() + "; ";
}
if (innerDescription.length() > 0)
description += " ["
+ innerDescription.substring(0,
innerDescription.lastIndexOf(";")).trim() + "]";
*/
* String innerDescription = "";
*
* if (maxMegabytes != null && maxMegabytes.trim().length() > 0) {
* innerDescription += "Max MB Size:" + maxMegabytes.trim() + "; "; } if
* (UoM != null && UoM.trim().length() > 0) { innerDescription +=
* "Unit of Measure:" + UoM.trim() + "; "; } if (minElements > 0) {
* innerDescription += "Min N. of Entries:" + minElements + "; "; } if
* (maxElements > 0) { innerDescription += "Max N. of Entries:" +
* maxElements + "; "; } if (defaultValue != null &&
* defaultValue.trim().length() > 0) { innerDescription += "default:" +
* defaultValue.trim() + "; "; }
*
* if (innerDescription.length() > 0) description += " [" +
* innerDescription.substring(0,
* innerDescription.lastIndexOf(";")).trim() + "]";
*/
return description;
}

View File

@ -19,9 +19,9 @@ public class Constants {
public static final String DEFAULT_USER = "giancarlo.panichi";
public static final String DEFAULT_ROLE = "OrganizationMember";
public static final String DEFAULT_SCOPE = "/gcube/devsec/devVRE";
//public static final String DEFAULT_SCOPE = "/gcube/devsec/devVRE";
// 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";

View File

@ -4,42 +4,42 @@
package org.gcube.portlets.user.dataminermanager.shared.parameters;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
*
* @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 ColumnListParameter extends Parameter implements Serializable {
private static final long serialVersionUID = -6743494426144267089L;
String referredTabularParameterName;
List<String> columnNames = new ArrayList<String>();
String value;
private String referredTabularParameterName;
// private List<String> columnNames = new ArrayList<String>();
private String value;
private String separator;
public ColumnListParameter() {
super();
this.typology = ParameterTypology.COLUMN_LIST;
}
public ColumnListParameter(String name, String description, String referredTabularParameterName, String separator) {
public ColumnListParameter(String name, String description,
String referredTabularParameterName, String separator) {
super(name, ParameterTypology.COLUMN_LIST, description);
this.referredTabularParameterName = referredTabularParameterName;
this.separator = separator;
}
/**
* @param referredTabularParameterName the referredTabularParameterName to set
* @param referredTabularParameterName
* the referredTabularParameterName to set
*/
public void setReferredTabularParameterName(String referredTabularParameterName) {
public void setReferredTabularParameterName(
String referredTabularParameterName) {
this.referredTabularParameterName = referredTabularParameterName;
}
/**
* @return the referredTabularParameterName
*/
@ -53,13 +53,12 @@ public class ColumnListParameter extends Parameter implements Serializable {
public String getValue() {
return value;
}
@Override
public void setValue(String value) {
this.value = value;
}
/**
* @return the separator
*/
@ -67,4 +66,17 @@ public class ColumnListParameter extends Parameter implements Serializable {
return separator;
}
public void setSeparator(String separator) {
this.separator = separator;
}
@Override
public String toString() {
return "ColumnListParameter [referredTabularParameterName="
+ referredTabularParameterName + ", value=" + value
+ ", separator=" + separator + ", name=" + name
+ ", description=" + description + ", typology=" + typology
+ "]";
}
}

View File

@ -5,11 +5,10 @@ package org.gcube.portlets.user.dataminermanager.shared.parameters;
import java.io.Serializable;
/**
*
* @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 ColumnParameter extends Parameter implements Serializable {
@ -18,9 +17,9 @@ public class ColumnParameter extends Parameter implements Serializable {
*
*/
private static final long serialVersionUID = -5084557326770554659L;
String referredTabularParameterName;
String defaultColumn;
String value;
private String referredTabularParameterName;
private String defaultColumn;
private String value;
/**
*
@ -33,20 +32,22 @@ public class ColumnParameter extends Parameter implements Serializable {
/**
*
*/
public ColumnParameter(String name, String description, String referredTabularParameterName, String defaultColumn) {
public ColumnParameter(String name, String description,
String referredTabularParameterName, String defaultColumn) {
super(name, ParameterTypology.COLUMN, description);
this.referredTabularParameterName = referredTabularParameterName;
this.defaultColumn = defaultColumn;
}
/**
* @param referredTabularParameterName the referredTabularParameterName to set
* @param referredTabularParameterName
* the referredTabularParameterName to set
*/
public void setReferredTabularParameterName(
String referredTabularParameterName) {
this.referredTabularParameterName = referredTabularParameterName;
}
/**
* @return the referredTabularParameterName
*/
@ -60,25 +61,34 @@ public class ColumnParameter extends Parameter implements Serializable {
public String getDefaultColumn() {
return defaultColumn;
}
/**
* @param defaultValue the defaultValue to set
* @param defaultValue
* the defaultValue to set
*/
public void setDefaultColumn(String defaultColumn) {
this.defaultColumn = defaultColumn;
}
/**
* @return the value
*/
public String getValue() {
return value;
}
@Override
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return "ColumnParameter [referredTabularParameterName="
+ referredTabularParameterName + ", defaultColumn="
+ defaultColumn + ", value=" + value + ", name=" + name
+ ", description=" + description + ", typology=" + typology
+ "]";
}
}

View File

@ -17,9 +17,9 @@ import com.google.gwt.user.client.rpc.IsSerializable;
public class EnumParameter extends Parameter implements IsSerializable {
private static final long serialVersionUID = 1673874854501249519L;
List<String> values = new ArrayList<String>();
String defaultValue;
String value;
private List<String> values = new ArrayList<String>();
private String defaultValue;
private String value;
/**
@ -74,6 +74,8 @@ public class EnumParameter extends Parameter implements IsSerializable {
this.values.add(value);
}
/**
* @return the value
*/
@ -88,4 +90,15 @@ public class EnumParameter extends Parameter implements IsSerializable {
this.value = value;
}
@Override
public String toString() {
return "EnumParameter [values=" + values + ", defaultValue="
+ defaultValue + ", value=" + value + ", name=" + name
+ ", description=" + description + ", typology=" + typology
+ "]";
}
}

View File

@ -70,14 +70,18 @@ public class FileParameter extends Parameter implements IsSerializable {
public void setValue(String value) {
this.value=value;
}
@Override
public String toString() {
return "FileParameter [value=" + value + ", defaultMimeType="
+ defaultMimeType + ", supportedMimeTypes="
+ supportedMimeTypes + "]";
+ supportedMimeTypes + ", name=" + name + ", description="
+ description + ", typology=" + typology + "]";
}
}

View File

@ -5,11 +5,10 @@ package org.gcube.portlets.user.dataminermanager.shared.parameters;
import com.google.gwt.user.client.rpc.IsSerializable;
/**
*
* @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 ListParameter extends Parameter implements IsSerializable {
@ -31,38 +30,38 @@ public class ListParameter extends Parameter implements IsSerializable {
* @param defaultValue
* @param value
*/
public ListParameter(String name, String description, String type, String separator) {
public ListParameter(String name, String description, String type,
String separator) {
super(name, ParameterTypology.LIST, description);
this.type = type;
this.separator = separator;
}
/**
* @return the type
*/
public String getType() {
return type;
}
/**
* @param type the type to set
* @param type
* the type to set
*/
public void setType(String type) {
this.type = type;
}
@Override
public void setValue(String value) {
this.value = value;
}
@Override
public String getValue() {
return value;
}
/**
* @return the separator
*/
@ -70,6 +69,10 @@ public class ListParameter extends Parameter implements IsSerializable {
return separator;
}
public void setSeparator(String separator) {
this.separator = separator;
}
@Override
public String toString() {
return "ListParameter [type=" + type + ", value=" + value
@ -77,7 +80,5 @@ public class ListParameter extends Parameter implements IsSerializable {
+ ", description=" + description + ", typology=" + typology
+ "]";
}
}

View File

@ -86,5 +86,6 @@ public class ObjectParameter extends Parameter implements IsSerializable {
}

View File

@ -19,7 +19,7 @@ public abstract class Parameter implements Serializable {
private static final long serialVersionUID = -555286289487491703L;
public enum ParameterTypology {
OBJECT, TABULAR, FILE, ENUM, LIST, COLUMN, COLUMN_LIST, TABULAR_LIST
OBJECT, TABULAR, FILE, ENUM, LIST, COLUMN, COLUMN_LIST, TABULAR_LIST, WKT
};
protected String name;
@ -89,38 +89,6 @@ public abstract class Parameter implements Serializable {
this.description = description;
}
public boolean isObject() {
return this.typology == ParameterTypology.OBJECT;
}
public boolean isTabular() {
return this.typology == ParameterTypology.TABULAR;
}
public boolean isFile() {
return this.typology == ParameterTypology.FILE;
}
public boolean isEnum() {
return this.typology == ParameterTypology.ENUM;
}
public boolean isList() {
return this.typology == ParameterTypology.LIST;
}
public boolean isColumn() {
return this.typology == ParameterTypology.COLUMN;
}
public boolean isColumnList() {
return this.typology == ParameterTypology.COLUMN_LIST;
}
public boolean isTabularList() {
return this.typology == ParameterTypology.TABULAR_LIST;
}
@Override
public String toString() {
return "Parameter [name=" + name + ", description=" + description

View File

@ -102,7 +102,10 @@ public class TabularListParameter extends Parameter implements Serializable {
return "TabularListParameter [value=" + value + ", separator="
+ separator + ", templates=" + templates + ", defaultMimeType="
+ defaultMimeType + ", supportedMimeTypes="
+ supportedMimeTypes + "]";
+ supportedMimeTypes + ", name=" + name + ", description="
+ description + ", typology=" + typology + "]";
}
}

View File

@ -0,0 +1,60 @@
package org.gcube.portlets.user.dataminermanager.shared.parameters;
import java.util.Arrays;
import java.util.List;
/**
*
* @author Giancarlo Panichi
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public enum WKTGeometryType {
Point("Point"), LineString("LineString"), Polygon("Polygon"), Circle(
"Circle"), Triangle("Triangle"), Square("Square"), Pentagon(
"Pentagon"), Hexagon("Hexagon"), Box("Box");
/**
* @param text
*/
private WKTGeometryType(final String label) {
this.label = label;
}
private final String label;
@Override
public String toString() {
return label;
}
public String getLabel() {
return label;
}
public String getId() {
return name();
}
/**
*
* @param label
* @return
*/
public static WKTGeometryType getFromLabel(String label) {
if (label == null || label.isEmpty())
return null;
for (WKTGeometryType type : values()) {
if (type.label.compareToIgnoreCase(label) == 0) {
return type;
}
}
return null;
}
public static List<WKTGeometryType> asList() {
List<WKTGeometryType> list = Arrays.asList(values());
return list;
}
}

View File

@ -0,0 +1,94 @@
/**
*
*/
package org.gcube.portlets.user.dataminermanager.shared.parameters;
import com.google.gwt.user.client.rpc.IsSerializable;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class WKTParameter extends Parameter implements IsSerializable {
private static final long serialVersionUID = 1673874854501249519L;
private WKTGeometryType wktGeometryType;
private String defaultValue;
private String value;
/**
*
*/
public WKTParameter() {
super();
this.typology = ParameterTypology.WKT;
}
/**
* @param type
* @param defaultValue
* @param value
*/
public WKTParameter(String name, String description,
WKTGeometryType wktGeometryType, String defaultValue) {
super(name, ParameterTypology.WKT, description);
this.wktGeometryType = wktGeometryType;
this.defaultValue = defaultValue;
}
/**
* @return the defaultValue
*/
public String getDefaultValue() {
return defaultValue;
}
/**
* @param defaultValue
* the defaultValue to set
*/
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
/**
*
* @return the WKT Geometry Type
*/
public WKTGeometryType getWktGeometryType() {
return wktGeometryType;
}
/**
*
* @param wktGeometryType
* set the WKT Geometry Type
*/
public void setWktGeometryType(WKTGeometryType wktGeometryType) {
this.wktGeometryType = wktGeometryType;
}
/**
* @return the value
*/
@Override
public String getValue() {
return value;
}
@Override
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return "WKTParameter [wktGeometryType=" + wktGeometryType
+ ", defaultValue=" + defaultValue + ", value=" + value
+ ", name=" + name + ", description=" + description
+ ", typology=" + typology + "]";
}
}

View File

@ -14,12 +14,12 @@
<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"
/> -->
<!-- OpenLayer Basic Widgets -->
<inherits
name='org.gcube.portlets.widgets.openlayerbasicwidgets.olbasicwidgets' />
<!-- inherits WorkspaceExplorer widget -->
<inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' />
@ -29,32 +29,19 @@
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> -->
<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" />
<!-- Not in GWT 2.6 <set-property name="log_FirebugLogger" value="DISABLED"
/> -->
<set-property name="log_SystemLogger" value="DISABLED" />
<source path='client' />

View File

@ -1,4 +1,13 @@
/* FIX FOR Portal Theme */
/* OpenLayer Form fix */
#wkt-geometry-text-area {
width: 400px !important;
}
#combo-geometry-type {
width: 406px !important;
}
.aui body {
color: #000;
font-weight: normal !important;
@ -40,7 +49,7 @@
}
.aui ul, .aui ol {
margin: 0px !important;
margin: 0px !important;
}
/* Data Miner */

View File

@ -7,10 +7,15 @@
<link type="text/css" rel="stylesheet" href="dataminermanager/reset.css">
<link type="text/css" rel="stylesheet" href="DataMinerManager.css">
<link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css">
<link type="text/css" rel="stylesheet" href="dataminermanager/css/ol.css">
<title>Data Miner Manager</title>
<script type="text/javascript" src="dataminermanager/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="dataminermanager/js/ol.js"></script>
<!--
<script type="text/javascript"
src="dataminermanager/js/jquery-1.10.1.min.js"></script>
src="dataminermanager/js/jquery-1.10.1.min.js"></script> -->
<script type="text/javascript"
src="dataminermanager/js/bootstrap.min.js"></script>
<script type="text/javascript"

View File

@ -13,11 +13,15 @@
<link rel="stylesheet"
href="<%=request.getContextPath()%>/gxt/css/gxt-all.css"
type="text/css">
<link rel="stylesheet"
href="<%=request.getContextPath()%>/dataminermanager/css/ol.css"
type="text/css">
<script
src='<%=request.getContextPath()%>/dataminermanager/js/jquery-1.10.1.min.js'></script>
src='<%=request.getContextPath()%>/dataminermanager/js/jquery-1.11.0.min.js'></script>
<script src='<%=request.getContextPath()%>/dataminermanager/js/ol.js'></script>
<script
src='<%=request.getContextPath()%>/dataminermanager/js/bootstrap.min.js'></script>
<script
src='<%=request.getContextPath()%>/dataminermanager/dataminermanager.nocache.js'></script>