diff --git a/.classpath b/.classpath index 8de1097..5cc23e2 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -35,5 +35,5 @@ - + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index d98647e..b33f01f 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.2.0-SNAPSHOT +lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.2.1-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 79712e1..eab82a9 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,5 +1,5 @@ - + @@ -46,8 +46,12 @@ - - + + + + + + @@ -95,7 +99,9 @@ - + + + @@ -143,7 +149,9 @@ - + + + @@ -191,7 +199,9 @@ - + + + @@ -239,7 +249,9 @@ - + + + @@ -287,7 +299,12 @@ - + + uses + + + + @@ -335,7 +352,9 @@ - + + + @@ -383,7 +402,9 @@ - + + + @@ -431,7 +452,9 @@ - + + + diff --git a/CHANGELOG.md b/CHANGELOG.md index a1d34d3..f10031c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v3.2.1-SNAPSHOT] - 2023-02-03 + +#### Fixes + +- [#24432] Reverting serialization LinkedHashMap to LinkedHashMap. +- Improved Alert Ux in case of broken shared link + ## [v3.2.0] - 2023-01-31 #### Enhancements diff --git a/pom.xml b/pom.xml index b9bdffc..326d1c0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.gcube.portlets.user geoportal-data-viewer-app war - 3.2.0 + 3.2.1-SNAPSHOT GeoPortal Data Viewer App The GeoPortal Data Viewer App is an application to access, discovery and navigate the Geoportal projects/documents by a Web-Map Interface diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java index 1ce4008..528de4d 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java @@ -64,6 +64,7 @@ import org.gcube.portlets.user.geoportaldataviewer.shared.gis.BaseMapLayer; import org.gcube.portlets.user.geoportaldataviewer.shared.gis.GeoQuery; import org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem; +import com.github.gwtbootstrap.client.ui.Modal; import com.github.gwtbootstrap.client.ui.Popover; import com.github.gwtbootstrap.client.ui.constants.Placement; import com.google.gwt.core.client.EntryPoint; @@ -362,7 +363,7 @@ public class GeoportalDataViewer implements EntryPoint { if (!ucdIds.contains(collId)) { GWT.log("!! Collection " + collId + " is not available"); - Window.alert("Collection " + collId + " is not found."); + Window.alert("Collection " + collId + " not found."); } else { GCubeCollection toOpen = theConfig.getAvailableCollections().get(collId); @@ -449,9 +450,22 @@ public class GeoportalDataViewer implements EntryPoint { @Override public void onFailure(Throwable caught) { - Window.alert(caught.getMessage()); + // Window.alert(caught.getMessage()); mainPanel.hidePanelDetails(); + Modal errorModal = new Modal(true, true); + errorModal.setCloseVisible(true); + errorModal.setTitle("Oops..."); + Image geoportalError = new Image(GNAImages.ICONS.warningError()); + FlowPanel errorPanelMsg = new FlowPanel(); + errorPanelMsg.getElement().addClassName("general_warning"); + errorPanelMsg.add(geoportalError); + errorPanelMsg.add(new HTML("D4S GeoPortal")); + HTML erroMessage = new HTML( + "Oops something went wrong, either the project does not exist or it has not been published yet"); + errorPanelMsg.add(erroMessage); + errorModal.add(errorPanelMsg); + errorModal.show(); } @Override @@ -779,8 +793,9 @@ public class GeoportalDataViewer implements EntryPoint { //console.log("jsonObj: "+jsonObj); return jsonObj; }-*/; + // /** -// * Handler popu closer. +// * Handler popup closer. // * // * @param divId the div id // * @param overlayId the overlay id diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerService.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerService.java index b4d2e98..b1b4847 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerService.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerService.java @@ -159,7 +159,7 @@ public interface GeoportalDataViewerService extends RemoteService { * @param limit the limit * @return the entry sets document for project ID */ - LinkedHashMap getEntrySetsDocumentForProjectID(String profileID, String projectID, int limit); + LinkedHashMap getEntrySetsDocumentForProjectID(String profileID, String projectID, int limit); /** * Gets the relationships for timeline. diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerServiceAsync.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerServiceAsync.java index 8a69080..3f3f7bb 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewerServiceAsync.java @@ -70,7 +70,7 @@ public interface GeoportalDataViewerServiceAsync { void getInitialConfiguration(AsyncCallback callback); void getEntrySetsDocumentForProjectID(String profileID, String projectID, int limit, - AsyncCallback> callback); + AsyncCallback> callback); void getRelationshipsForTimeline(String profileID, String projectID, AsyncCallback> callback); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java index 133246a..46553eb 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java @@ -930,7 +930,7 @@ public class LayerManager { intFlex.setCellPadding(1); intFlex.setCellSpacing(1); if (projectDV.getTheDocument() != null) { - LinkedHashMap map = projectDV.getTheDocument().getDocumentAsMap(); + LinkedHashMap map = projectDV.getTheDocument().getDocumentAsMap(); // my-html-table // intFlex.getElement().addClassName("my-html-table"); int i = 0; @@ -1140,7 +1140,7 @@ public class LayerManager { intFlex.setCellPadding(1); intFlex.setCellSpacing(1); if (projectDV.getTheDocument() != null) { - LinkedHashMap map = projectDV.getTheDocument().getDocumentAsMap(); + LinkedHashMap map = projectDV.getTheDocument().getDocumentAsMap(); // my-html-table // intFlex.getElement().addClassName("my-html-table"); // int i = 0; diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java index 6e3d4f6..9d7d153 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OpenLayerMap.java @@ -475,7 +475,7 @@ public abstract class OpenLayerMap { ImageWms imageWMSSource = wmsLayer.getSource(); ImageWmsParams imageWMSParams = imageWMSSource.getParams(); - if (cqlFilterExpression == null || cqlFilterExpression.length()>MAX_LENGHT_CQL_FOR_GET_REQUEST) { + if (cqlFilterExpression == null || cqlFilterExpression.length() > MAX_LENGHT_CQL_FOR_GET_REQUEST) { imageWMSParams.delete("CQL_FILTER"); } else { imageWMSParams.set("CQL_FILTER", cqlFilterExpression); @@ -483,13 +483,8 @@ public abstract class OpenLayerMap { imageWMSSource.updateParams(imageWMSParams); wmsLayer.setSource(imageWMSSource); - - wmsLayer.changed(); wmsLayer.changed(); - - //map.addLayer(wmsLayer); - } /** @@ -647,7 +642,7 @@ public abstract class OpenLayerMap { Style style = new Style(); StrokeOptions strokeOptions = new StrokeOptions(); - strokeOptions.setColor(new Color(255, 0, 0, 0.8)); + strokeOptions.setColor(new Color(255, 69, 0, 0.8)); strokeOptions.setWidth(5); Stroke stroke = new Stroke(strokeOptions); stroke.setWidth(2); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/GNAImages.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/GNAImages.java index cabeb3f..511c501 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/GNAImages.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/GNAImages.java @@ -59,7 +59,10 @@ public interface GNAImages extends ClientBundle { @Source("spinner_clock.gif") ImageResource spinnerClock(); - @Source("geoporta_error.png") + @Source("geoportal_error.png") ImageResource geoportaServiceError(); + + @Source("warning_error.png") + ImageResource warningError(); } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/geoporta_error.png b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/geoportal_error.png similarity index 100% rename from src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/geoporta_error.png rename to src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/geoportal_error.png diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/warning_error.png b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/warning_error.png new file mode 100644 index 0000000..801a01b Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/warning_error.png differ diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/ProjectUtil.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/ProjectUtil.java index ff4e3df..6de4d13 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/ProjectUtil.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/ProjectUtil.java @@ -14,7 +14,7 @@ public class ProjectUtil { if (document == null) return htmlCode; - Entry firstEntrySet = document.getFirstEntryOfMap(); + Entry firstEntrySet = document.getFirstEntryOfMap(); if (firstEntrySet != null) { htmlCode += firstEntrySet.getKey() + ": " + firstEntrySet.getValue() + ""; } @@ -32,7 +32,7 @@ public class ProjectUtil { if (document == null) return htmlCode; - Entry firstEntrySet = document.getFirstEntryOfMap(); + Entry firstEntrySet = document.getFirstEntryOfMap(); if (firstEntrySet != null) { htmlCode += showkey ? firstEntrySet.getKey() + ": " + firstEntrySet.getValue() + "" : firstEntrySet.getValue(); @@ -51,7 +51,7 @@ public class ProjectUtil { if (document == null) return htmlCode; - Entry firstEntrySet = document.getFirstEntryOfMap(); + Entry firstEntrySet = document.getFirstEntryOfMap(); if (firstEntrySet != null) { htmlCode += firstEntrySet.getKey() + ": " + firstEntrySet.getValue() + ""; } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/relation/ViewRelationshipPanel.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/relation/ViewRelationshipPanel.java index 127e5ee..ed093a3 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/relation/ViewRelationshipPanel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/relation/ViewRelationshipPanel.java @@ -121,7 +121,7 @@ public class ViewRelationshipPanel extends Composite { firstProjectPanelContainer.clear(); secondProjectPanelContainer.clear(); - Entry firstEntrySet = project.getTheDocument().getFirstEntryOfMap(); + Entry firstEntrySet = project.getTheDocument().getFirstEntryOfMap(); String htmlMsg = firstEntrySet.getKey() + ": " + firstEntrySet.getValue() + " (id: " + project.getId() + ")"; diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/dandd/DragDropLayer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/dandd/DragDropLayer.java index 1ade90d..281262b 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/dandd/DragDropLayer.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/dandd/DragDropLayer.java @@ -101,10 +101,10 @@ public class DragDropLayer extends FlowPanel { labelProject.setTitle(referProjectID); GeoportalDataViewerServiceAsync.Util.getInstance().getEntrySetsDocumentForProjectID( layerObject.getProjectDV().getProfileID(), layerObject.getProjectDV().getId(), 1, - new AsyncCallback>() { + new AsyncCallback>() { @Override - public void onSuccess(LinkedHashMap result) { + public void onSuccess(LinkedHashMap result) { String realProjectName = ""; if (result != null) { for (String key : result.keySet()) { diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalDataViewerServiceImpl.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalDataViewerServiceImpl.java index 1d3643d..2f6dcbe 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalDataViewerServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalDataViewerServiceImpl.java @@ -1111,7 +1111,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme if (layerObject.getProjectDV().getTheDocument() == null) { try { - LinkedHashMap documentAsMap = getEntrySetsDocumentForProjectID( + LinkedHashMap documentAsMap = getEntrySetsDocumentForProjectID( layerObject.getProfileID(), layerObject.getProjectID(), 1); DocumentDV documentDV = new DocumentDV(); documentDV.setDocumentAsMap(documentAsMap); @@ -1207,7 +1207,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme }); if (loadDocument) { - LinkedHashMap theDocument = getEntrySetsDocumentForProjectID(profileID, projectID, + LinkedHashMap theDocument = getEntrySetsDocumentForProjectID(profileID, projectID, limitDocumentEntries); DocumentDV docDV = new DocumentDV(); docDV.setDocumentAsMap(theDocument); @@ -1256,11 +1256,11 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme * @return the entry sets document for project ID */ @Override - public LinkedHashMap getEntrySetsDocumentForProjectID(String profileID, String projectID, + public LinkedHashMap getEntrySetsDocumentForProjectID(String profileID, String projectID, int limit) { LOG.debug("called getEntrySetsDocumentForProjectID for profileID: " + profileID + ", projectID: " + projectID); - LinkedHashMap documentAsMap = new LinkedHashMap(limit); + LinkedHashMap documentAsMap = new LinkedHashMap(limit); try { diff --git a/src/main/webapp/GeoportalDataViewer.css b/src/main/webapp/GeoportalDataViewer.css index b0aa313..fb31c9b 100644 --- a/src/main/webapp/GeoportalDataViewer.css +++ b/src/main/webapp/GeoportalDataViewer.css @@ -720,11 +720,11 @@ Table Of Contents (TOC) text-align: center; font-size: 20px; margin: 0; - position: absolute; - top: 50%; + position: absolute; + top: 50%; width: 100%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } .general_error div { @@ -732,6 +732,16 @@ Table Of Contents (TOC) } +.general_warning { + text-align: center; + font-size: 20px; +} + +.general_warning div { + padding: 20px; +} + + /****************************** RESPONSIVE *******************************/