From 7211ddaeaf7c08e6ef5a94c0154247ebc0b2bfc8 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Thu, 15 Dec 2022 17:47:44 +0100 Subject: [PATCH] bug fixing issue on displaying automatically the layers --- .../client/LayerManager.java | 4 ++++ .../client/OverlayLayerManager.java | 3 ++- .../client/gis/OpenLayerMap.java | 2 +- .../client/ui/dandd/DragDropLayer.java | 17 ++++++++--------- .../server/GeoportalDataViewerServiceImpl.java | 5 ++++- .../server/Geoportal_JSON_Mapper.java | 16 ++++++++-------- 6 files changed, 27 insertions(+), 20 deletions(-) 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 e2177f1..24a1c20 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 @@ -497,6 +497,10 @@ public class LayerManager { lo.setProjectID(projectID); lo.setProfileID(profileID); lo.setProjectDV(projectDV); + + GWT.log("LayerObject ID is: "+lo.getProjectID()); + if(lo.getProjectDV()!=null) + GWT.log("LayerObject into ProjectDV is: "+lo.getProjectDV().getId()); String layerNameKey = layerItem.getName(); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OverlayLayerManager.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OverlayLayerManager.java index 01642da..7b845cf 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OverlayLayerManager.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OverlayLayerManager.java @@ -26,8 +26,9 @@ public class OverlayLayerManager { this.applicationBus = applicationBus; } - void addLayerItem(LayerObject lo) { + public void addLayerItem(LayerObject lo) { GWT.log("Adding LayerObject having project: "+lo.getProjectDV()); + GWT.log("Adding LayerObject having project id: "+lo.getProjectDV().getId()); ArrayList listDDLayers = mapCollectionsPerProfileID.get(lo.getProfileID()); 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 86ee006..226328c 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 @@ -462,7 +462,7 @@ public abstract class OpenLayerMap { * * @param layerItem the layer item */ - public synchronized void addWMSDetailLayer(LayerItem layerItem) { + public void addWMSDetailLayer(LayerItem layerItem) { if (wmsDetailsLayerMap == null) wmsDetailsLayerMap = new LinkedHashMap(); 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 fe67613..5c962d2 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 @@ -61,35 +61,34 @@ public class DragDropLayer extends FlowPanel { this.layerItem = layerObject.getLayerItem(); GWT.log("DragDropLayer for projectDV: " + layerObject.getProjectDV()); - String referProject = "Project ID: " + layerObject.getProjectDV().getId(); + String referProjectID = "Project ID: " + layerObject.getProjectDV().getId(); labelProject = new com.google.gwt.user.client.ui.Label(""); - labelProject.setTitle(referProject); + labelProject.setTitle(referProjectID); GeoportalDataViewerServiceAsync.Util.getInstance().getEntrySetsDocumentForProjectID( layerObject.getProjectDV().getProfileID(), layerObject.getProjectDV().getId(), 1, new AsyncCallback>() { @Override public void onSuccess(LinkedHashMap result) { - String referProject = ""; + String realProjectName = ""; if (result != null) { for (String key : result.keySet()) { result.get(key); //referProject = key + ": " + result.get(key); - referProject = result.get(key)+""; + realProjectName = result.get(key)+""; break; } } - if (referProject != null && !referProject.isEmpty()) { - labelProject.setText(StringUtil.ellipsize(referProject, 40)); - labelProject.setTitle(referProject); + if (realProjectName != null && !realProjectName.isEmpty()) { + labelProject.setText(StringUtil.ellipsize(realProjectName, 40)); + labelProject.setTitle(realProjectName); } } @Override public void onFailure(Throwable caught) { - labelProject.setText(StringUtil.ellipsize(referProject, 40)); - labelProject.setTitle(referProject); + labelProject.setTitle("Error on reading the project name"); } }); 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 51adaa4..2c7a201 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 @@ -1005,8 +1005,11 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme switch (layerObject.getType()) { case INDEX_LAYER: { - // Expected 1 feature + // Expected more than 1 feature for the BBOX of the Map FeatureRow fRow = features.get(0); + //using only the first feature returned from BBOX of the Map + //when querying the centroid layers + geoDAO.setFeatures(Arrays.asList(fRow)); if (fRow.getMapProperties() != null) { List productIDs = fRow.getMapProperties() .get(GeoportalDataViewerConstants.PROJECT_ID_KEY_FEATURE); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java index b283dc9..dd5cef3 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java @@ -574,7 +574,7 @@ public class Geoportal_JSON_Mapper { com.jayway.jsonpath.Configuration configuration = com.jayway.jsonpath.Configuration.builder() .jsonProvider(new JsonOrgJsonProvider()).build(); - LOG.info("Reading sectionPath at {} into section document {}", _payloadsJSONPath, sectionJSONDocument); + LOG.debug("Reading sectionPath at {} into section document {}", _payloadsJSONPath, sectionJSONDocument); JsonPath theSectionPolycJsonPath = JsonPath.compile(_payloadsJSONPath); Object _payloads = theSectionPolycJsonPath.read(sectionJSONDocument, configuration).toString(); @@ -607,14 +607,14 @@ public class Geoportal_JSON_Mapper { */ public static List readImagesForFileset(String parentJSONPath, String sectionJSONDocument, boolean limitToFirstOneFound) { - LOG.debug("readImagesForFileset called"); + LOG.info("readImagesForFileset called"); List listImages = new ArrayList(); com.jayway.jsonpath.Configuration config = com.jayway.jsonpath.Configuration.builder() .jsonProvider(new JsonOrgJsonProvider()).build(); // Reading Fileset _payloads String filesetJSONPath = String.format("%s.%s", parentJSONPath, _PAYLOADS); - LOG.info("Reading sectionPath {} into section document {}", filesetJSONPath, sectionJSONDocument); + LOG.debug("Reading sectionPath {} into section document {}", filesetJSONPath, sectionJSONDocument); JsonPath theSectionPolycJsonPath = JsonPath.compile(filesetJSONPath); Object _filesets = theSectionPolycJsonPath.read(sectionJSONDocument, config); @@ -644,7 +644,7 @@ public class Geoportal_JSON_Mapper { */ public static List readGcubeSDILayersForFileset(String materializationParentJSONPath, String sectionJSONDocument) { - LOG.debug("readGcubeSDILayersForFileset called"); + LOG.info("readGcubeSDILayersForFileset called"); List listSDILayers = new ArrayList(); String _materializationsJSONPath = String.format("%s.%s", materializationParentJSONPath, _MATERIALIZATIONS); @@ -653,7 +653,7 @@ public class Geoportal_JSON_Mapper { com.jayway.jsonpath.Configuration configurationJSONSmart = com.jayway.jsonpath.Configuration.builder() .jsonProvider(new JsonOrgJsonProvider()).build(); - LOG.info("Reading sectionPath {} into section document {}", _materializationsJSONPath, sectionJSONDocument); + LOG.debug("Reading sectionPath {} into section document {}", _materializationsJSONPath, sectionJSONDocument); JsonPath theSectionPolycJsonPath = JsonPath.compile(_materializationsJSONPath); Object _materializations = theSectionPolycJsonPath.read(sectionJSONDocument, configurationJSONSmart); @@ -827,7 +827,7 @@ public class Geoportal_JSON_Mapper { * @return true, if successful */ private static boolean checkAccessPolicy(String sectionDocumentJSON, String myLogin) { - LOG.debug("checkAccessPolicy called"); + LOG.info("checkAccessPolicy called"); // CHECKING THE POLICY String accessPolicyPath = JSON_$_POINTER + "._access._policy"; boolean isAccessible = true; @@ -835,10 +835,10 @@ public class Geoportal_JSON_Mapper { com.jayway.jsonpath.Configuration configuration = com.jayway.jsonpath.Configuration.builder() .jsonProvider(new JsonOrgJsonProvider()).build(); - LOG.info("Reading access policy at {} into section document {}", accessPolicyPath, sectionDocumentJSON); + LOG.debug("Reading access policy at {} into section document {}", accessPolicyPath, sectionDocumentJSON); JsonPath theSectionPolycJsonPath = JsonPath.compile(accessPolicyPath); String _policy = theSectionPolycJsonPath.read(sectionDocumentJSON, configuration).toString(); - LOG.info("The section {} has policy {}", accessPolicyPath, _policy); + LOG.debug("The section {} has policy {}", accessPolicyPath, _policy); isAccessible = GeportalCheckAccessPolicy.isAccessible(_policy, myLogin); } catch (Exception e) { LOG.error(accessPolicyPath + " not found. Check OK");