From f0b2995d468a3d8d10cec9c032e3883adafddafa Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 15 Jan 2021 15:12:03 +0100 Subject: [PATCH] merged with branch #20357 --- .classpath | 6 +- .../com.gwtplugins.gdt.eclipse.core.prefs | 2 +- CHANGELOG.md | 6 + pom.xml | 2 +- .../client/gis/LightOpenLayerOSM.java | 1 - .../client/ui/ModalWindow.java | 10 +- .../client/ui/images/ImageView.java | 6 +- .../client/ui/images/ImageView.ui.xml | 8 +- .../client/ui/map/MapView.java | 4 +- .../client/ui/map/MapView.ui.xml | 10 +- .../products/concessioni/ConcessioneView.java | 19 ++- .../concessioni/ConcessioneView.ui.xml | 14 +- .../concessioni/LayerConcessioneView.java | 2 +- .../concessioni/LayerConcessioneView.ui.xml | 8 +- .../concessioni/RelazioneScavoView.java | 71 +++++++- .../concessioni/RelazioneScavoView.ui.xml | 19 ++- .../server/ConvertToDataViewModel.java | 83 ++++++++-- .../GeoportalDataViewerServiceImpl.java | 13 -- .../shared/products/ConcessioneDV.java | 27 +++- .../products/content/AssociatedContentDV.java | 3 +- .../model/AbstractRelazioneScavoDV.java | 152 ++++++++++++++++++ .../products/model/RelazioneScavoDV.java | 82 +++++++--- 22 files changed, 452 insertions(+), 96 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/AbstractRelazioneScavoDV.java diff --git a/.classpath b/.classpath index 2ac0cfd..2c9ef6d 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -36,5 +36,5 @@ - + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 96091f5..18acf6c 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-1.0.0 +lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-1.1.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee8b58..c2aedc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ 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). +## [v1.1.0-SNAPSHOT] - 2020-12-21 + +#### Enhancements + +[#20357] Improvements feedback-driven + ## [v1.0.0] - 2020-12-09 [#20004] First release diff --git a/pom.xml b/pom.xml index 216fdc5..95d1054 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.gcube.portlets.user geoportal-data-viewer-app war - 1.0.0 + 1.1.0-SNAPSHOT GeoPortal Data Viewer App The GeoPortal Data Viewer App is an application to access, discovery and navigate the GeoNa products by a Web-Map Interface diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/LightOpenLayerOSM.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/LightOpenLayerOSM.java index 5637774..b1803a4 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/LightOpenLayerOSM.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/LightOpenLayerOSM.java @@ -258,7 +258,6 @@ import ol.style.TextOptions; NumberFormat fmt = NumberFormat.getFormat("#.####"); textOptions.setText("Long: "+fmt.format(transfCoord.getX()) + ", Lat: "+fmt.format(transfCoord.getY())); - Text text = new Text(textOptions); // FillOptions fillOptions = new FillOptions(); // Color color = new Color(217, 217, 223, 0.0); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/ModalWindow.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/ModalWindow.java index 9e5e2c6..b8e1896 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/ModalWindow.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/ModalWindow.java @@ -24,17 +24,17 @@ public class ModalWindow { * Instantiates a new modal window. * * @param title the title - * @param toAdd the to add - * @param toReturn the to return + * @param width the width + * @param maxHeight the max height */ - public ModalWindow(String title) { + public ModalWindow(String title, int width, int maxHeight) { modal = new Modal(false); modal.hide(false); modal.setTitle(title); modal.setCloseVisible(true); - modal.setWidth(900); - modal.setMaxHeigth(600+"px"); + modal.setWidth(width); + modal.setMaxHeigth(maxHeight+"px"); ModalFooter modalFooter = new ModalFooter(); final Button buttClose = new Button("Close"); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.java index 2b3b6ec..bccd700 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.java @@ -56,7 +56,9 @@ public class ImageView extends Composite { public ImageView(UploadedImageDV imageDV, final boolean showView, final boolean showOpen) { initWidget(uiBinder.createAndBindUi(this)); - heading.setText(imageDV.getTitolo()); + if(imageDV.getTitolo()!=null && !imageDV.getTitolo().isEmpty()) { + heading.setText(imageDV.getTitolo()); + } paragraph1.setText(imageDV.getDidascalia()); paragraph1.getElement().getStyle().setTextAlign(TextAlign.LEFT); @@ -103,7 +105,7 @@ public class ImageView extends Composite { if(latest!=null) { - ModalWindow mw = new ModalWindow(StringUtil.ellipsize(imageDV.getTitolo(), 20)); + ModalWindow mw = new ModalWindow(StringUtil.ellipsize(imageDV.getDidascalia(), 50), 900, 600); mw.add(new ImageView(imageDV, false, true)); mw.setCaller(ImageView.this); //mw.setWidth(900); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.ui.xml index a38389e..a28f0c2 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/images/ImageView.ui.xml @@ -10,6 +10,10 @@ .float-right { float: right; } + + .margin-top-10 { + margin-top: 10px; + } @@ -17,8 +21,8 @@ Open - - + + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.java index d3ad38e..98580ff 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.java @@ -55,10 +55,12 @@ import ol.OLFactory; * @param centerTo the center to * @param zoom the zoom */ - public MapView(Coordinate centerTo, int zoom) { + public MapView(Coordinate centerTo, int zoom, String internalMapWidth, String internalMapHeight) { initWidget(uiBinder.createAndBindUi(this)); String theMapId = "map"+Random.nextInt(); theMap.getElement().setId(theMapId); + theMap.setWidth(internalMapWidth); + theMap.setHeight(internalMapHeight); Scheduler.get().scheduleDeferred(new ScheduledCommand() { diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.ui.xml index cab9ad3..27b1dbe 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/MapView.ui.xml @@ -3,12 +3,16 @@ xmlns:g="urn:import:com.google.gwt.user.client.ui"> .internalMap { - width: 300px; - height: 300px; - float: right; + height: 280px; + display: inline-block; + margin: 0 auto; + /*float: right;*/ } .map-style { width: 100%; + text-align:center; + margin-top: 10px; + margin-bottom: 20px; } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.java index 2565782..19fa3f9 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.java @@ -12,8 +12,8 @@ import org.gcube.portlets.user.geoportaldataviewer.client.ui.images.ThumbnailIma import org.gcube.portlets.user.geoportaldataviewer.client.ui.map.MapView; import org.gcube.portlets.user.geoportaldataviewer.client.ui.util.CustomFlexTable; import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.LayerConcessioneDV; -import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.UploadedImageDV; import com.github.gwtbootstrap.client.ui.Button; @@ -27,6 +27,7 @@ import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; @@ -202,7 +203,9 @@ public class ConcessioneView extends Composite { ConcessioneView cv = new ConcessioneView(geonaItemRef, concessioneDV, false, openImageButtonVisible); cv.setViewDetailsButtonVisible(false); - ModalWindow mw = new ModalWindow(concessioneDV.getNome()); + int width = Window.getClientWidth()*75/100; + int height = Window.getClientHeight()*70/100; + ModalWindow mw = new ModalWindow(concessioneDV.getNome(), width, height); mw.add(cv); mw.setCaller(ConcessioneView.this); //mw.setWidth(900); @@ -280,19 +283,19 @@ public class ConcessioneView extends Composite { private void addRelazioneDiScavo() { - RelazioneScavoDV relazioneScavo = concessioneDV.getRelazioneScavo(); + AbstractRelazioneScavoDV abstractRS = concessioneDV.getAbstractRelazioneScavo(); - if(relazioneScavo==null) + if(abstractRS==null) return; - if(relazioneScavo.getPolicy()==null || relazioneScavo.getPolicy().equalsIgnoreCase("OPEN")) { + if(abstractRS.getPolicy()==null || abstractRS.getPolicy().equalsIgnoreCase("OPEN")) { relazioneScavoPanel.setVisible(true); - relazioneScavoPanel.add(new RelazioneScavoView(relazioneScavo)); + relazioneScavoPanel.add(new RelazioneScavoView(abstractRS, concessioneDV.getRelazioneScavo(), false)); }else { //I need to be authenticated to show the fields according to POLICY if(myLogin!=null) { relazioneScavoPanel.setVisible(true); - relazioneScavoPanel.add(new RelazioneScavoView(relazioneScavo)); + relazioneScavoPanel.add(new RelazioneScavoView(abstractRS, concessioneDV.getRelazioneScavo(), true)); } } } @@ -300,7 +303,7 @@ public class ConcessioneView extends Composite { private void addCentroidMap() { Coordinate centerCoordinate = OLFactory.createCoordinate(GeoportalDataViewerConstants.ITALY_CENTER_LONG, GeoportalDataViewerConstants.ITALY_CENTER_LAT); Coordinate transformedCenterCoordinate = MapUtils.transformCoordiante(centerCoordinate, GeoportalDataViewerConstants.EPSG_4326, GeoportalDataViewerConstants.EPSG_3857); - MapView mapView = new MapView(transformedCenterCoordinate, GeoportalDataViewerConstants.LIGHT_MAP_ITALY_FIT_ZOOM_ON); + MapView mapView = new MapView(transformedCenterCoordinate, GeoportalDataViewerConstants.LIGHT_MAP_ITALY_FIT_ZOOM_ON, "70%", "300px"); if(concessioneDV!=null && concessioneDV.getCentroidLat()!=null && concessioneDV.getCentroidLong()!=null) { Coordinate coord = new Coordinate(concessioneDV.getCentroidLong(), concessioneDV.getCentroidLat()); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.ui.xml index 9e4f76c..947c31f 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/ConcessioneView.ui.xml @@ -28,28 +28,28 @@ .width-100 { width: 100%; } - - + Share View - - - + - + + + - Relazione Scavo + Relazione di Scavo diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.java index 807e963..1ec2934 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.java @@ -46,7 +46,7 @@ public class LayerConcessioneView extends Composite { if(layerDV.getLayerName()!=null && layerDV.getWmsLink()!=null) { Coordinate centerCoordinate = OLFactory.createCoordinate(GeoportalDataViewerConstants.ITALY_CENTER_LONG, GeoportalDataViewerConstants.ITALY_CENTER_LAT); Coordinate transformedCenterCoordinate = MapUtils.transformCoordiante(centerCoordinate, GeoportalDataViewerConstants.EPSG_4326, GeoportalDataViewerConstants.EPSG_3857); - MapView mapView = new MapView(transformedCenterCoordinate, GeoportalDataViewerConstants.LIGHT_MAP_ITALY_FIT_ZOOM_ON); + MapView mapView = new MapView(transformedCenterCoordinate, GeoportalDataViewerConstants.LIGHT_MAP_ITALY_FIT_ZOOM_ON, "70%", "300px"); mapViewPanel.add(mapView); String mapServerHost = layerDV.getWmsLink().contains("?")? layerDV.getWmsLink().substring(0,layerDV.getWmsLink().indexOf("?")):layerDV.getWmsLink(); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.ui.xml index ec9b977..d9edf50 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/LayerConcessioneView.ui.xml @@ -7,13 +7,11 @@ .important { font-weight: bold; } - - + + - - - + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java index d9eef04..53d8a11 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java @@ -1,19 +1,31 @@ package org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni; +import java.util.List; + import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import org.gcube.portlets.user.geoportaldataviewer.client.ui.util.CustomFlexTable; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.WorkspaceContentDV; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RelazioneScavoDV; +import com.github.gwtbootstrap.client.ui.Button; import com.github.gwtbootstrap.client.ui.Paragraph; 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.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; public class RelazioneScavoView extends Composite { + private static final String SHOW_ITALIAN_DESCR = "Italian description"; + + private static final String SHOW_ENGLISH_DESCR = "English description"; + private static RelazioneScavoViewUiBinder uiBinder = GWT.create(RelazioneScavoViewUiBinder.class); interface RelazioneScavoViewUiBinder extends UiBinder { @@ -23,21 +35,72 @@ public class RelazioneScavoView extends Composite { HTMLPanel relazioneScavoPanel; @UiField - Paragraph abstractParagraph; + Paragraph abstractParagraphIta; + + @UiField + Paragraph abstractParagraphEng; + + @UiField + Button linkAbstractEng; private CustomFlexTable customTable = new CustomFlexTable(); - public RelazioneScavoView(RelazioneScavoDV relazioneScavoDV) { + public RelazioneScavoView(AbstractRelazioneScavoDV abstractDV, RelazioneScavoDV relazioneScavoDV, boolean autheticatedUser) { initWidget(uiBinder.createAndBindUi(this)); - if(relazioneScavoDV.getAbstractSection()!=null) - abstractParagraph.setText(relazioneScavoDV.getAbstractSection()); + if(abstractDV.getAbstractSectionIta()!=null) { + abstractParagraphIta.setText(abstractDV.getAbstractSectionIta()); + if(abstractDV.getAbstractSectionEng()!=null) { + linkAbstractEng.setVisible(true); + abstractParagraphEng.setText(abstractDV.getAbstractSectionEng()); + linkAbstractEng.setText(SHOW_ENGLISH_DESCR); + } + } //customTable.addNextKeyValue("Created", relazioneScavoDV.getCreationTime()); //customTable.addNextKeyValue("ID Licenza", relazioneScavoDV.getLicenseID()); customTable.addNextKeyValues("Responsabili", relazioneScavoDV.getResponsabili(), GeoportalDataViewerConstants.NEW_LINE_BR); + + + linkAbstractEng.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + if(abstractParagraphIta.isVisible()) { + abstractParagraphIta.setVisible(false); + abstractParagraphEng.setVisible(true); + linkAbstractEng.setText(SHOW_ENGLISH_DESCR); + }else { + abstractParagraphIta.setVisible(true); + abstractParagraphEng.setVisible(false); + linkAbstractEng.setText(SHOW_ITALIAN_DESCR); + } + + } + }); + + //Showing the Download PFD relazione accoding to policy + if(relazioneScavoDV.getPolicy()==null || relazioneScavoDV.getPolicy().equalsIgnoreCase("OPEN")) { + relazioneScavoPanel.setVisible(true); + showLintToDownloadLastContent(relazioneScavoDV.getListWsContent()); + //DOWNLOAD RS + }else { + //I need to be authenticated to show the fields according to POLICY + if(autheticatedUser) { + showLintToDownloadLastContent(relazioneScavoDV.getListWsContent()); + } + } + relazioneScavoPanel.add(customTable); } + + private void showLintToDownloadLastContent(List listContent) { + if(listContent!=null) { + int size = listContent.size(); + WorkspaceContentDV lastDoc = listContent.get(size-1); + customTable.addNextKeyWidget("PDF Relazione", new HTML("download")); + } + } } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.ui.xml index 99dd882..c097485 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.ui.xml @@ -4,15 +4,18 @@ xmlns:b="urn:import:com.github.gwtbootstrap.client.ui"> - - .description > p { - font-size: 20px; - padding: 10px; - color: #999; + .description>p { + font-size: 20px; + padding: 10px; + color: #999; } - - - + + + + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/ConvertToDataViewModel.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/ConvertToDataViewModel.java index 236321b..3513355 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/ConvertToDataViewModel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/ConvertToDataViewModel.java @@ -19,6 +19,7 @@ import org.gcube.portlets.user.geoportaldataviewer.shared.gis.BoundsMap; import org.gcube.portlets.user.geoportaldataviewer.shared.products.ConcessioneDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.OtherContentDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.WorkspaceContentDV; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.LayerConcessioneDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.UploadedImageDV; @@ -95,6 +96,7 @@ public class ConvertToDataViewModel { theConcessione.setRecordType(concessione.getRecordType().name()); + theConcessione.setAbstractRelazioneScavo(toAbstractRelazioneScavo(concessione.getRelazioneScavo())); theConcessione.setRelazioneScavo(toRelazioneScavo(concessione.getRelazioneScavo())); @@ -155,6 +157,12 @@ public class ConvertToDataViewModel { // return destList; // } + /** + * To user. + * + * @param username the username + * @return the string + */ public static String toUser(String username) { if(username==null) @@ -164,6 +172,12 @@ public class ConvertToDataViewModel { } + /** + * To policy. + * + * @param policy the policy + * @return the string + */ public static String toPolicy(AccessPolicy policy) { if(policy==null) @@ -173,6 +187,12 @@ public class ConvertToDataViewModel { } + /** + * To date format string. + * + * @param dateTime the date time + * @return the string + */ public static String toDateFormatString(LocalDateTime dateTime) { if(dateTime==null) @@ -200,21 +220,22 @@ public class ConvertToDataViewModel { return dateTime.toString(); } - + /** - * To relazione scavo. + * To abstract relazione scavo. * * @param relazioneScavo the relazione scavo - * @param recordDV the record data view - * @return the relazione scavo data view + * @return the abstract relazione scavo DV */ - public static RelazioneScavoDV toRelazioneScavo(RelazioneScavo relazioneScavo) { + public static AbstractRelazioneScavoDV toAbstractRelazioneScavo(RelazioneScavo relazioneScavo) { if (relazioneScavo == null) return null; - RelazioneScavoDV theRelazioneDiScavo = new RelazioneScavoDV(); - theRelazioneDiScavo.setAbstractSection(relazioneScavo.getAbstractSection()); + AbstractRelazioneScavoDV theRelazioneDiScavo = new AbstractRelazioneScavoDV(); + theRelazioneDiScavo.setAbstractSectionIta(relazioneScavo.getAbstractIta()); + theRelazioneDiScavo.setAbstractSectionEng(relazioneScavo.getAbstractEng()); + theRelazioneDiScavo.setCreationTime(toDateFormatString(relazioneScavo.getCreationTime())); theRelazioneDiScavo.setId(relazioneScavo.getId()); theRelazioneDiScavo.setLicenseID(relazioneScavo.getLicenseID()); @@ -228,11 +249,47 @@ public class ConvertToDataViewModel { return theRelazioneDiScavo; } + /** + * To relazione scavo. + * + * @param relazioneScavo the relazione scavo + * @return the relazione scavo data view + */ + public static RelazioneScavoDV toRelazioneScavo(RelazioneScavo relazioneScavo) { + + if (relazioneScavo == null) + return null; + + RelazioneScavoDV theRelazioneDiScavo = new RelazioneScavoDV(); + theRelazioneDiScavo.setCreationTime(toDateFormatString(relazioneScavo.getCreationTime())); + theRelazioneDiScavo.setId(relazioneScavo.getId()); + theRelazioneDiScavo.setLicenseID(relazioneScavo.getLicenseID()); + theRelazioneDiScavo.setPolicy(toPolicy(relazioneScavo.getPolicy())); + //theRelazioneDiScavo.setRecord(recordDV); + theRelazioneDiScavo.setResponsabili(relazioneScavo.getResponsabili()); + theRelazioneDiScavo.setSoggetto(relazioneScavo.getSoggetto()); + theRelazioneDiScavo.setTitolo(relazioneScavo.getTitolo()); + + List actContent = relazioneScavo.getActualContent(); + if(actContent!=null && actContent.size()>0) { + List listWsContent = new ArrayList(); + + for (PersistedContent content : actContent) { + if(content!=null && content instanceof WorkspaceContent) { + listWsContent.add(toWorkspaceContent((WorkspaceContent)content)); + } + } + theRelazioneDiScavo.setListWsContent(listWsContent); + } + + LOG.debug("Returning: " + theRelazioneDiScavo); + return theRelazioneDiScavo; + } + /** * To uploaded image. * * @param uploadedImage the uploaded image - * @param recordDV the record data-view * @return the uploaded image data-view */ public static UploadedImageDV toUploadedImage(UploadedImage uploadedImage) { @@ -292,7 +349,6 @@ public class ConvertToDataViewModel { * To layer concessione. * * @param layerConcessione the layer concessione - * @param recordDV the record DV * @return the layer concessione data view */ public static LayerConcessioneDV toLayerConcessione(LayerConcessione layerConcessione) { @@ -355,7 +411,6 @@ public class ConvertToDataViewModel { * To other content DV. * * @param otherContent the other content - * @param recordDV the record DV * @return the other content DV */ public static OtherContentDV toOtherContentDV(OtherContent otherContent) { @@ -392,7 +447,9 @@ public class ConvertToDataViewModel { /** * To bound map. * + * @param wmsVersion the wms version * @param bbox the bbox + * @param separator the separator * @return the bounds map */ public static BoundsMap toBoundMap(String wmsVersion, String bbox, String separator) { @@ -423,6 +480,12 @@ public class ConvertToDataViewModel { } } + /** + * To double. + * + * @param value the value + * @return the double + */ public static Double toDouble(String value) { try { return Double.parseDouble(value); 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 006e402..8205e99 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 @@ -210,19 +210,6 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme String erroMsg = UploadedImage.class.getSimpleName() +" not available for "+Concessione.class.getSimpleName() +" with id "+id; LOG.error(erroMsg,e); throw new Exception(erroMsg); - //TODO REMOTE THIS -// listUI = new ArrayList(1); -// UploadedImageDV img = new UploadedImageDV(); -// List listWsContent = new ArrayList(); -// WorkspaceContentDV wcDV = new WorkspaceContentDV(); -// wcDV.setLink("https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Tempio_di_Giove_2.jpg/1280px-Tempio_di_Giove_2.jpg"); -// listWsContent.add(wcDV); -// img.setListWsContent(listWsContent); -// listUI.add(img); -// LOG.warn("DUMMY UploadedImageDVs: "+listUI); -// return listUI; - - } } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/ConcessioneDV.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/ConcessioneDV.java index 077d905..18a172d 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/ConcessioneDV.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/ConcessioneDV.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.OtherContentDV; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.LayerConcessioneDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RecordDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.RelazioneScavoDV; @@ -79,6 +80,9 @@ public class ConcessioneDV extends RecordDV implements Serializable, IsSerializa /** The centroid long. */ private Double centroidLong; + + /** The relazione scavo. */ + private AbstractRelazioneScavoDV abstractRelazioneScavo; /** The relazione scavo. */ private RelazioneScavoDV relazioneScavo; @@ -515,6 +519,25 @@ public class ConcessioneDV extends RecordDV implements Serializable, IsSerializa public void setGenericContent(List genericContent) { this.genericContent = genericContent; } + + + /** + * Gets the abstract relazione scavo. + * + * @return the abstract relazione scavo + */ + public AbstractRelazioneScavoDV getAbstractRelazioneScavo() { + return abstractRelazioneScavo; + } + + /** + * Sets the abstract relazione scavo. + * + * @param abstractRelazioneScavo the new abstract relazione scavo + */ + public void setAbstractRelazioneScavo(AbstractRelazioneScavoDV abstractRelazioneScavo) { + this.abstractRelazioneScavo = abstractRelazioneScavo; + } @Override public String toString() { @@ -555,6 +578,8 @@ public class ConcessioneDV extends RecordDV implements Serializable, IsSerializa builder.append(centroidLat); builder.append(", centroidLong="); builder.append(centroidLong); + builder.append(", abstractRelazioneScavo="); + builder.append(abstractRelazioneScavo); builder.append(", relazioneScavo="); builder.append(relazioneScavo); builder.append(", immaginiRappresentative="); @@ -569,6 +594,4 @@ public class ConcessioneDV extends RecordDV implements Serializable, IsSerializa return builder.toString(); } - - } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/content/AssociatedContentDV.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/content/AssociatedContentDV.java index 4a28674..efd4c7f 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/content/AssociatedContentDV.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/content/AssociatedContentDV.java @@ -13,7 +13,7 @@ import com.google.gwt.user.client.rpc.IsSerializable; * * Nov 2, 2020 */ -public class AssociatedContentDV implements IsSerializable, Serializable{ +public abstract class AssociatedContentDV implements IsSerializable, Serializable{ /** @@ -38,6 +38,7 @@ public class AssociatedContentDV implements IsSerializable, Serializable{ /** The record. */ private RecordDV record; + /** * Instantiates a new associated content. diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/AbstractRelazioneScavoDV.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/AbstractRelazioneScavoDV.java new file mode 100644 index 0000000..48923f3 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/AbstractRelazioneScavoDV.java @@ -0,0 +1,152 @@ +package org.gcube.portlets.user.geoportaldataviewer.shared.products.model; + +import java.io.Serializable; +import java.util.List; + +import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.AssociatedContentDV; + + +/** + * The Class AbstractRelazioneScavoDV. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * Dec 21, 2020 + */ +public class AbstractRelazioneScavoDV extends AssociatedContentDV implements Serializable { + + + /** + * + */ + private static final long serialVersionUID = 8768745863185590509L; + + /** The abstract section. */ + private String abstractSectionIta; + + private String abstractSectionEng; + + /** The responsabili. */ + private List responsabili; + + /** The soggetto. */ + private List soggetto; + + /** + * Instantiates a new abstract relazione scavo. + */ + public AbstractRelazioneScavoDV() { + + } + + /** + * Instantiates a new abstract relazione scavo. + * + * @param abstractSectionIta the abstract section ita + * @param abstractSectionEng the abstract section eng + * @param responsabili the responsabili + * @param soggetto the soggetto + */ + public AbstractRelazioneScavoDV(String abstractSectionIta, String abstractSectionEng, List responsabili, List soggetto) { + super(); + this.abstractSectionIta = abstractSectionIta; + this.abstractSectionEng = abstractSectionEng; + this.responsabili = responsabili; + this.soggetto = soggetto; + } + + /** + * Gets the abstract section ita. + * + * @return the abstract section ita + */ + public String getAbstractSectionIta() { + return abstractSectionIta; + } + + /** + * Sets the abstract section ita. + * + * @param abstractSectionIta the new abstract section ita + */ + public void setAbstractSectionIta(String abstractSectionIta) { + this.abstractSectionIta = abstractSectionIta; + } + + /** + * Gets the abstract section eng. + * + * @return the abstract section eng + */ + public String getAbstractSectionEng() { + return abstractSectionEng; + } + + /** + * Sets the abstract section eng. + * + * @param abstractSectionEng the new abstract section eng + */ + public void setAbstractSectionEng(String abstractSectionEng) { + this.abstractSectionEng = abstractSectionEng; + } + + /** + * Gets the responsabili. + * + * @return the responsabili + */ + public List getResponsabili() { + return responsabili; + } + + /** + * Sets the responsabili. + * + * @param responsabili the new responsabili + */ + public void setResponsabili(List responsabili) { + this.responsabili = responsabili; + } + + /** + * Gets the soggetto. + * + * @return the soggetto + */ + public List getSoggetto() { + return soggetto; + } + + /** + * Sets the soggetto. + * + * @param soggetto the new soggetto + */ + public void setSoggetto(List soggetto) { + this.soggetto = soggetto; + } + + /** + * To string. + * + * @return the string + */ + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("RelazioneScavoDV [abstractSectionIta="); + builder.append(abstractSectionIta); + builder.append(", abstractSectionEng="); + builder.append(abstractSectionEng); + builder.append(", responsabili="); + builder.append(responsabili); + builder.append(", soggetto="); + builder.append(soggetto); + builder.append("]"); + return builder.toString(); + } + + + +} diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/RelazioneScavoDV.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/RelazioneScavoDV.java index 4c44c0a..232a1ad 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/RelazioneScavoDV.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/shared/products/model/RelazioneScavoDV.java @@ -4,13 +4,15 @@ import java.io.Serializable; import java.util.List; import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.AssociatedContentDV; +import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.WorkspaceContentDV; + /** - * The Class RelazioneScavo. + * The Class RelazioneScavoDV. * * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) * - * Nov 2, 2020 + * Dec 21, 2020 */ public class RelazioneScavoDV extends AssociatedContentDV implements Serializable { @@ -19,61 +21,105 @@ public class RelazioneScavoDV extends AssociatedContentDV implements Serializabl */ private static final long serialVersionUID = 2456950567302197554L; - /** The abstract section. */ - private String abstractSection; - /** The responsabili. */ private List responsabili; /** The soggetto. */ private List soggetto; + + private List listWsContent; + /** + * Instantiates a new relazione scavo DV. + */ public RelazioneScavoDV() { } - public RelazioneScavoDV(String abstractSection, List responsabili, List soggetto) { + /** + * Instantiates a new relazione scavo DV. + * + * @param responsabili the responsabili + * @param soggetto the soggetto + */ + public RelazioneScavoDV(List responsabili, List soggetto) { super(); - this.abstractSection = abstractSection; this.responsabili = responsabili; this.soggetto = soggetto; } - public String getAbstractSection() { - return abstractSection; - } - - public void setAbstractSection(String abstractSection) { - this.abstractSection = abstractSection; - } - + /** + * Gets the responsabili. + * + * @return the responsabili + */ public List getResponsabili() { return responsabili; } + /** + * Sets the responsabili. + * + * @param responsabili the new responsabili + */ public void setResponsabili(List responsabili) { this.responsabili = responsabili; } + /** + * Gets the soggetto. + * + * @return the soggetto + */ public List getSoggetto() { return soggetto; } + /** + * Sets the soggetto. + * + * @param soggetto the new soggetto + */ public void setSoggetto(List soggetto) { this.soggetto = soggetto; } + /** + * Gets the list ws content. + * + * @return the list ws content + */ + public List getListWsContent() { + return listWsContent; + } + + /** + * Sets the list ws content. + * + * @param listWsContent the new list ws content + */ + public void setListWsContent(List listWsContent) { + this.listWsContent = listWsContent; + } + + /** + * To string. + * + * @return the string + */ @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("RelazioneScavo [abstractSection="); - builder.append(abstractSection); - builder.append(", responsabili="); + builder.append("RelazioneScavoDV [responsabili="); builder.append(responsabili); builder.append(", soggetto="); builder.append(soggetto); + builder.append(", listWsContent="); + builder.append(listWsContent); builder.append("]"); return builder.toString(); } + + }