diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 5d35668..0fd92a7 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,4 +1,5 @@ eclipse.preferences.version=1 -lastWarOutDir=/home/francesco/git/geoportal-data-entry-app/target/geoportal-data-entry-app-1.0.0-SNAPSHOT +jarsExcludedFromWebInfLib= +lastWarOutDir=/home/francesco-mangiacrapa/git/geoportal-data-entry-app/target/geoportal-data-entry-app-1.0.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/com.gwtplugins.gwt.eclipse.core.prefs b/.settings/com.gwtplugins.gwt.eclipse.core.prefs new file mode 100644 index 0000000..c516ac9 --- /dev/null +++ b/.settings/com.gwtplugins.gwt.eclipse.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +entryPointModules= +gwtSyncCodeServer=true diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index acdfd58..7ba2034 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -17,6 +17,9 @@ + + uses + diff --git a/pom.xml b/pom.xml index 0adc461..c83d3c1 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 1.1.0 - + org.gcube.portlets.user geoportal-data-entry-app war @@ -57,7 +57,7 @@ - + com.google.gwt @@ -77,6 +77,11 @@ 2.3.2.0 compile + + org.gcube.portlets.widgets + metadata-profile-form-builder-widget + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + org.gcube.portlets.widgets openlayer-basic-widgets @@ -106,11 +111,6 @@ compile - - org.gcube.common - metadata-profile-discovery - [0.0.1, 1.0.0-SNAPSHOT) - org.gcube.portlets.user gcube-widgets @@ -256,5 +256,4 @@ - - + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml b/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml index 1f291f1..62c8534 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml @@ -6,7 +6,14 @@ - + + + + + + + + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java index 3bedcd1..7a52bfe 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java @@ -1,150 +1,42 @@ package org.gcube.portlets.user.geoportaldataentry.client; -import org.gcube.portlets.user.geoportaldataentry.shared.FieldVerifier; +import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.event.dom.client.KeyCodes; -import com.google.gwt.event.dom.client.KeyUpEvent; -import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Button; -import com.google.gwt.user.client.ui.DialogBox; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.Label; +import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.user.client.ui.RootPanel; -import com.google.gwt.user.client.ui.TextBox; -import com.google.gwt.user.client.ui.VerticalPanel; /** * Entry point classes define onModuleLoad(). */ public class GeoPortalDataEntryApp implements EntryPoint { - /** - * The message displayed to the user when the server cannot be reached or - * returns an error. - */ - private static final String SERVER_ERROR = "An error occurred while " - + "attempting to contact the server. Please check your network " - + "connection and try again."; + /** + * The message displayed to the user when the server cannot be reached or + * returns an error. + */ + private static final String SERVER_ERROR = "An error occurred while " + + "attempting to contact the server. Please check your network " + "connection and try again."; - /** - * Create a remote service proxy to talk to the server-side Greeting service. - */ - private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class); + private static final String DIV_PORTLET_ID = "geoportal-data-entry"; - private final Messages messages = GWT.create(Messages.class); + /** + * Create a remote service proxy to talk to the server-side Greeting service. + */ + private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class); - /** - * This is the entry point method. - */ - public void onModuleLoad() { - final Button sendButton = new Button( messages.sendButton() ); - final TextBox nameField = new TextBox(); - nameField.setText( messages.nameField() ); - final Label errorLabel = new Label(); + private final Messages messages = GWT.create(Messages.class); - // We can add style names to widgets - sendButton.addStyleName("sendButton"); + /** + * This is the entry point method. + */ + public void onModuleLoad() { - // Add the nameField and sendButton to the RootPanel - // Use RootPanel.get() to get the entire body element - RootPanel.get("nameFieldContainer").add(nameField); - RootPanel.get("sendButtonContainer").add(sendButton); - RootPanel.get("errorLabelContainer").add(errorLabel); + String scope = "/gcube/devsec/devVRE"; + String secondaryType = "GeoNaMetadata"; + HandlerManager eventBus = new HandlerManager(null); + CreateMetadataForm baseForm = new CreateMetadataForm(scope, secondaryType, eventBus); + RootPanel.get(DIV_PORTLET_ID).add(baseForm); - // Focus the cursor on the name field when the app loads - nameField.setFocus(true); - nameField.selectAll(); - - // Create the popup dialog box - final DialogBox dialogBox = new DialogBox(); - dialogBox.setText("Remote Procedure Call"); - dialogBox.setAnimationEnabled(true); - final Button closeButton = new Button("Close"); - // We can set the id of a widget by accessing its Element - closeButton.getElement().setId("closeButton"); - final Label textToServerLabel = new Label(); - final HTML serverResponseLabel = new HTML(); - VerticalPanel dialogVPanel = new VerticalPanel(); - dialogVPanel.addStyleName("dialogVPanel"); - dialogVPanel.add(new HTML("Sending name to the server:")); - dialogVPanel.add(textToServerLabel); - dialogVPanel.add(new HTML("
Server replies:")); - dialogVPanel.add(serverResponseLabel); - dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT); - dialogVPanel.add(closeButton); - dialogBox.setWidget(dialogVPanel); - - // Add a handler to close the DialogBox - closeButton.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent event) { - dialogBox.hide(); - sendButton.setEnabled(true); - sendButton.setFocus(true); - } - }); - - // Create a handler for the sendButton and nameField - class MyHandler implements ClickHandler, KeyUpHandler { - /** - * Fired when the user clicks on the sendButton. - */ - public void onClick(ClickEvent event) { - sendNameToServer(); - } - - /** - * Fired when the user types in the nameField. - */ - public void onKeyUp(KeyUpEvent event) { - if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { - sendNameToServer(); - } - } - - /** - * Send the name from the nameField to the server and wait for a response. - */ - private void sendNameToServer() { - // First, we validate the input. - errorLabel.setText(""); - String textToServer = nameField.getText(); - if (!FieldVerifier.isValidName(textToServer)) { - errorLabel.setText("Please enter at least four characters"); - return; - } - - // Then, we send the input to the server. - sendButton.setEnabled(false); - textToServerLabel.setText(textToServer); - serverResponseLabel.setText(""); - greetingService.greetServer(textToServer, new AsyncCallback() { - public void onFailure(Throwable caught) { - // Show the RPC error message to the user - dialogBox.setText("Remote Procedure Call - Failure"); - serverResponseLabel.addStyleName("serverResponseLabelError"); - serverResponseLabel.setHTML(SERVER_ERROR); - dialogBox.center(); - closeButton.setFocus(true); - } - - public void onSuccess(String result) { - dialogBox.setText("Remote Procedure Call"); - serverResponseLabel.removeStyleName("serverResponseLabelError"); - serverResponseLabel.setHTML(result); - dialogBox.center(); - closeButton.setFocus(true); - } - }); - } - } - - // Add a handler to send the name to the server - MyHandler handler = new MyHandler(); - sendButton.addClickHandler(handler); - nameField.addKeyUpHandler(handler); - } + } } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/portlet/GeoPortalDataEntryApp.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/portlet/GeoPortalDataEntryApp.java new file mode 100644 index 0000000..213b44d --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/portlet/GeoPortalDataEntryApp.java @@ -0,0 +1,44 @@ +package org.gcube.portlets.user.geoportaldataentry.portlet; + +import java.io.IOException; + +import javax.portlet.GenericPortlet; +import javax.portlet.PortletException; +import javax.portlet.PortletRequestDispatcher; +import javax.portlet.RenderRequest; +import javax.portlet.RenderResponse; + + +/** + * The Class GeoPortalDataEntryApp. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * Oct 8, 2020 + */ +public class GeoPortalDataEntryApp extends GenericPortlet{ + + /** + * JSP folder name + */ + public static final String JSP_FOLDER = "/WEB-INF/jsp/"; + + /** + * + */ + public static final String VIEW_JSP = JSP_FOLDER + "GeoPortalDataEntryApp_view.jsp"; + + /** + * Do view. + * + * @param request . + * @param response . + * @throws PortletException . + * @throws IOException . + */ + public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { + //System.out.println("LOADING ********* FROM "+VIEW_JSP); + PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(VIEW_JSP); + rd.include(request,response); + } +} diff --git a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml b/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml index 1f291f1..da6f014 100644 --- a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml @@ -6,7 +6,10 @@ - + + + + diff --git a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/client/Messages_fr.properties b/src/main/resources/org/gcube/portlets/user/geoportaldataentry/client/Messages_fr.properties deleted file mode 100644 index b4a7627..0000000 --- a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/client/Messages_fr.properties +++ /dev/null @@ -1,2 +0,0 @@ -sendButton = Envoyer -nameField = Entrez votre nom \ No newline at end of file diff --git a/src/main/webapp/GeoPortalDataEntryApp.html b/src/main/webapp/GeoPortalDataEntryApp.html index c69ee13..dd319ab 100644 --- a/src/main/webapp/GeoPortalDataEntryApp.html +++ b/src/main/webapp/GeoPortalDataEntryApp.html @@ -6,58 +6,46 @@ - - + + - - - - + + + + - - - - Web Application Starter Project + + + +GeoPortal Data Entry App - - - - - - - + + + + + + + - - - - - - + + + + + + - - + + - - - -

Web Application Starter Project

- - - - - - - - - - - - -
Please enter your name:
- + + +
+ diff --git a/src/main/webapp/WEB-INF/jsp/GeoPortalDataEntryApp_view.jsp b/src/main/webapp/WEB-INF/jsp/GeoPortalDataEntryApp_view.jsp new file mode 100644 index 0000000..89da439 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/GeoPortalDataEntryApp_view.jsp @@ -0,0 +1,38 @@ +<%@page contentType="text/html"%> +<%@page pageEncoding="UTF-8"%> + +<%-- Uncomment below lines to add portlet taglibs to jsp +<%@ page import="javax.portlet.*"%> +<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%> + + +--%> + + + + + + + + + + + + + + + +<%-- src='<%=request.getContextPath()%>/js/jquery.min.js'> --%> + + + + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/liferay-display.xml b/src/main/webapp/WEB-INF/liferay-display.xml new file mode 100644 index 0000000..b6c995a --- /dev/null +++ b/src/main/webapp/WEB-INF/liferay-display.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/liferay-plugin-package.properties b/src/main/webapp/WEB-INF/liferay-plugin-package.properties new file mode 100644 index 0000000..62a126b --- /dev/null +++ b/src/main/webapp/WEB-INF/liferay-plugin-package.properties @@ -0,0 +1,9 @@ +name=GeoPortalDataEntryApp +module-group-id=liferay +module-incremental-version=2 +tags= +short-description= +change-log= +page-url=http://www.gcube-system.org +author=gCube +licenses=EUPL \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/liferay-portlet.xml b/src/main/webapp/WEB-INF/liferay-portlet.xml new file mode 100644 index 0000000..8c15f3a --- /dev/null +++ b/src/main/webapp/WEB-INF/liferay-portlet.xml @@ -0,0 +1,11 @@ + + + + + + GeoPortalDataEntryApp + false + false + false + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/portlet.xml b/src/main/webapp/WEB-INF/portlet.xml new file mode 100644 index 0000000..f484464 --- /dev/null +++ b/src/main/webapp/WEB-INF/portlet.xml @@ -0,0 +1,25 @@ + + + + GeoPortalDataEntryApp Portlet + GeoPortalDataEntryApp + GeoPortal Data Entry Portlet + org.gcube.portlets.user.geoportaldataentry.portlet.GeoPortalDataEntryApp + + 0 + + text/html + VIEW + + + GeoPortal Data Entry Portlet + GeoPortal Data Entry Portlet + + + + portletSetupShowBorders + false + + + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index edb7928..1cb9bbc 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -5,20 +5,43 @@ - - - greetServlet - org.gcube.portlets.user.geoportaldataentry.server.GreetingServiceImpl - + + + greetServlet + org.gcube.portlets.user.geoportaldataentry.server.GreetingServiceImpl + - - greetServlet - /GeoPortalDataEntryApp/greet - + + + mpformbuilderServlet + org.gcube.portlets.widgets.mpformbuilder.server.MetadataProfileFormBuilderServiceImpl + - - - GeoPortalDataEntryApp.html - + + + metadataProfileFormBuilderUploadServlet + org.gcube.portlets.widgets.mpformbuilder.server.MetadataProfileFormBuilderUploadServlet + + + + greetServlet + /GeoPortalDataEntryApp/greet + + + + mpformbuilderServlet + /GeoPortalDataEntryApp/mpformbuilderservice + + + + metadataProfileFormBuilderUploadServlet + /GeoPortalDataEntryApp/metadataProfileFormBuilderUploadServlet + + + + + + GeoPortalDataEntryApp.html + diff --git a/src/test/resources/.gitignore b/src/test/resources/.gitignore new file mode 100644 index 0000000..d49a204 --- /dev/null +++ b/src/test/resources/.gitignore @@ -0,0 +1,8 @@ +/devNext.gcubekey +/devVRE.gcubekey +/devsec.gcubekey +/gCubeApps.gcubekey +/gcube.gcubekey +/log4j.properties +/pred4s.gcubekey +/preprod.gcubekey diff --git a/src/test/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryAppJUnit.gwt.xml b/src/test/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryAppJUnit.gwt.xml deleted file mode 100644 index 3b3e30f..0000000 --- a/src/test/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryAppJUnit.gwt.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -