diff --git a/pom.xml b/pom.xml index 9aae97d..72d334b 100644 --- a/pom.xml +++ b/pom.xml @@ -200,11 +200,8 @@ - + @@ -279,6 +276,7 @@ org.gcube.portlets.widgets workspace-explorer [1.4.0-SNAPSHOT, 2.0.0-SNAPSHOT) + @@ -295,6 +293,13 @@ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + + + org.gcube.portlets.widgets + netcdf-basic-widgets + [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + + com.allen-sauer.gwt.log @@ -312,7 +317,7 @@ slf4j-log4j12 provided - + junit junit @@ -387,7 +392,7 @@ - -Xss512m -Xmx3072m -XX:MaxPermSize=2048m + compile diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/FileFld.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/FileFld.java index 37175e7..e07509f 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/FileFld.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/FileFld.java @@ -16,12 +16,16 @@ import org.gcube.portlets.user.dataminermanager.shared.exception.SessionExpiredS import org.gcube.portlets.user.dataminermanager.shared.parameters.FileParameter; import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter; import org.gcube.portlets.user.dataminermanager.shared.workspace.ItemDescription; +import org.gcube.portlets.widgets.netcdfbasicwidgets.client.event.SelectVariableEvent; +import org.gcube.portlets.widgets.netcdfbasicwidgets.client.event.SelectVariableEvent.SelectVariableEventHandler; +import org.gcube.portlets.widgets.netcdfbasicwidgets.client.widgets.NetCDFPreviewDialog; 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.google.gwt.core.shared.GWT; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Widget; @@ -60,6 +64,7 @@ public class FileFld extends AbstractFld { private HBoxLayoutContainer horiz; private TextButton downloadButton; + private TextButton netcdfButton; /** * @param parameter parameter @@ -187,6 +192,16 @@ public class FileFld extends AbstractFld { downloadFile(); } }); + + netcdfButton = new TextButton(""); + netcdfButton.setIcon(DataMinerManager.resources.netcdf()); + netcdfButton.addSelectHandler(new SelectEvent.SelectHandler() { + + @Override + public void onSelect(SelectEvent event) { + showNetCDFFile(); + } + }); } @@ -259,6 +274,27 @@ public class FileFld extends AbstractFld { } } + + private void showNetCDFFile() { + if (selectedFileItem != null) { + GWT.log("NetcdfBasicWidgetsManager"); + + // Example + SelectVariableEventHandler handler=new SelectVariableEventHandler() { + + @Override + public void onResponse(SelectVariableEvent event) { + GWT.log("SelectVariable Response: "+event); + + } + }; + + NetCDFPreviewDialog netcdfDialog=new NetCDFPreviewDialog(selectedFileItem.getPublicLink()); + netcdfDialog.addSelectVariableEventHandler(handler); + netcdfDialog.setZIndex(XDOM.getTopZIndex()); + + } + } private void showNoSelectionField() { vp.clear(); @@ -282,6 +318,9 @@ public class FileFld extends AbstractFld { h.add(tableDescription, new BoxLayoutData(new Margins())); h.add(selectButton2, new BoxLayoutData(new Margins())); h.add(downloadButton, new BoxLayoutData(new Margins())); + if(fileParameter.isNetcdf()){ + h.add(netcdfButton, new BoxLayoutData(new Margins())); + } h.add(cancelButton, new BoxLayoutData(new Margins())); vp.clear(); vp.add(h); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/resources/Resources.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/resources/Resources.java index d01a85e..b8e0fe1 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/resources/Resources.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/resources/Resources.java @@ -87,6 +87,9 @@ public interface Resources extends ClientBundle { @Source("download.png") ImageResource download(); + @Source("show.png") + ImageResource netcdf(); + @Source("cancel_circle.png") ImageResource cancelCircle(); diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml b/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml index b47ccd4..efdfc60 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml @@ -20,7 +20,12 @@ - + + + + + @@ -31,17 +36,17 @@ - + - + diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/wps/WPS2DM.java b/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/wps/WPS2DM.java index f426a39..484186c 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/wps/WPS2DM.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/server/dmservice/wps/WPS2DM.java @@ -291,7 +291,11 @@ public class WPS2DM { supportedMimeTypes); } else { if (title.contains("[a http link to a file")) { - converted = new FileParameter(id, title, mimeType, supportedMimeTypes); + if (title.contains("[NETCDF]")) { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes, true); + } else { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes, false); + } } else { if (title.contains("[a sequence of http links")) { Pattern pattern = Pattern.compile( @@ -311,18 +315,26 @@ public class WPS2DM { converted = new TabularListParameter(id, title, separator, mimeType, supportedMimeTypes); } else { - converted = new FileParameter(id, title, mimeType, supportedMimeTypes); + if (title.contains("[NETCDF]")) { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes, true); + } else { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes, false); + } } } else { - converted = new FileParameter(id, title, mimeType, supportedMimeTypes); + if (title.contains("[NETCDF]")) { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes, true); + } else { + converted = new FileParameter(id, title, mimeType, supportedMimeTypes,false); + } } } } } else { - converted = new FileParameter(id, title, mimeType, supportedMimeTypes); + converted = new FileParameter(id, title, mimeType, supportedMimeTypes,false); } } else { - converted = new FileParameter(id, title, mimeType, supportedMimeTypes); + converted = new FileParameter(id, title, mimeType, supportedMimeTypes,false); } return converted; } diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/shared/Constants.java b/src/main/java/org/gcube/portlets/user/dataminermanager/shared/Constants.java index 804f630..f302762 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/shared/Constants.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/shared/Constants.java @@ -7,7 +7,7 @@ package org.gcube.portlets.user.dataminermanager.shared; * */ public class Constants { - public static final boolean DEBUG_MODE = true; + public static final boolean DEBUG_MODE = false; public static final boolean TEST_ENABLE = false; public static final String APPLICATION_ID = "org.gcube.portlets.user.dataminermanager.portlet.DataMinerManager"; @@ -17,12 +17,11 @@ public class Constants { public static final String DATA_MINER_OPERATOR_ID = "OperatorId"; public static final String DEFAULT_USER = "giancarlo.panichi"; - public final static String DEFAULT_SCOPE = "/gcube/devNext"; - public final static String DEFAULT_TOKEN = "16e65d4f-11e0-4e4a-84b9-351688fccc12-98187548"; + public final static String DEFAULT_SCOPE = "/gcube/devNext/NextNext"; + public final static String DEFAULT_TOKEN = "ae1208f0-210d-47c9-9b24-d3f2dfcce05f-98187548"; public static final String DEFAULT_ROLE = "OrganizationMember"; // public final static String DEFAULT_SCOPE = "/gcube/devNext"; - //public final static String DEFAULT_SCOPE = "/gcube/devNext/NextNext"; diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/shared/parameters/FileParameter.java b/src/main/java/org/gcube/portlets/user/dataminermanager/shared/parameters/FileParameter.java index e020474..a27a603 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/shared/parameters/FileParameter.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/shared/parameters/FileParameter.java @@ -16,6 +16,7 @@ public class FileParameter extends Parameter { private static final long serialVersionUID = -2967577990287112937L; private String defaultMimeType; private ArrayList supportedMimeTypes; + private boolean netcdf; /** * @@ -23,6 +24,7 @@ public class FileParameter extends Parameter { public FileParameter() { super(); this.typology = ParameterType.FILE; + netcdf=false; } /** @@ -37,10 +39,11 @@ public class FileParameter extends Parameter { * supported mime types */ public FileParameter(String name, String description, String defaultMimeType, - ArrayList supportedMimeTypes) { + ArrayList supportedMimeTypes, boolean netcdf) { super(name, ParameterType.FILE, description); this.defaultMimeType = defaultMimeType; this.supportedMimeTypes = supportedMimeTypes; + this.netcdf=netcdf; } public String getDefaultMimeType() { @@ -59,11 +62,21 @@ public class FileParameter extends Parameter { this.supportedMimeTypes = supportedMimeTypes; } - @Override - public String toString() { - return "FileParameter [value=" + value + ", defaultMimeType=" + defaultMimeType + ", supportedMimeTypes=" - + supportedMimeTypes + ", name=" + name + ", description=" + description + ", typology=" + typology - + "]"; + + public boolean isNetcdf() { + return netcdf; } + public void setNetcdf(boolean netcdf) { + this.netcdf = netcdf; + } + + @Override + public String toString() { + return "FileParameter [defaultMimeType=" + defaultMimeType + ", supportedMimeTypes=" + supportedMimeTypes + + ", netcdf=" + netcdf + ", name=" + name + ", description=" + description + ", typology=" + typology + + ", value=" + value + "]"; + } + + } diff --git a/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml b/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml index 95b9dc6..4a233e2 100644 --- a/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/dataminermanager/dataminermanager.gwt.xml @@ -20,7 +20,12 @@ - + + + + + @@ -32,17 +37,18 @@ + - + + diff --git a/src/main/webapp/DataMinerManager.css b/src/main/webapp/DataMinerManager.css index 6faa4b1..e565aa9 100644 --- a/src/main/webapp/DataMinerManager.css +++ b/src/main/webapp/DataMinerManager.css @@ -462,4 +462,12 @@ .computation-output-fileName { margin-top: 2px; margin-bottom: 2px; -} \ No newline at end of file +} + + + +#netcdfSampleTextArea { + height: 318px; + width: 616px !important; + resize: none; +} diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 510771f..4e6ab4a 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -28,6 +28,10 @@ workspaceUploadServletStream org.gcube.portlets.widgets.workspaceuploader.server.WorkspaceUploadServletStream + + NetCDFBasicWidgetService + org.gcube.portlets.widgets.netcdfbasicwidgets.server.NetCDFBasicWidgetServiceImpl + @@ -53,8 +57,14 @@ workspaceUploadServletStream /dataminermanager/workspaceUploadServletStream + + + NetCDFBasicWidgetService + /dataminermanager/netcdfservice + + DataMinerManager.html