ported the common model (copied from data-view)

This commit is contained in:
Francesco Mangiacrapa 2021-01-29 16:24:57 +01:00
parent fd4aa2e9a3
commit 662ead96a4
16 changed files with 2714 additions and 33 deletions

View File

@ -4,6 +4,14 @@
All notable changes to this project will be documented in this file. 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). This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [v1.1.0-SNAPSHOT] - 2021-01-29
#### Enhancements
[#20595] Porting common model
## [v1.0.0] - 2020-12-01 ## [v1.0.0] - 2020-12-01
First release First release

15
pom.xml
View File

@ -10,7 +10,7 @@
<groupId>org.gcube.application</groupId> <groupId>org.gcube.application</groupId>
<artifactId>geoportal-data-common</artifactId> <artifactId>geoportal-data-common</artifactId>
<version>1.0.0</version> <version>1.1.0-SNAPSHOT</version>
<description>GeoPortal Data Common is common library used by GUI components developed for GeoNA</description> <description>GeoPortal Data Common is common library used by GUI components developed for GeoNA</description>
<scm> <scm>
@ -65,6 +65,19 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.gcube.application</groupId>
<artifactId>geoportal-client</artifactId>
<version>[1.0.0, 2.0.0-SNAPSHOT)</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency> <dependency>
<groupId>org.gcube.portlets.user</groupId> <groupId>org.gcube.portlets.user</groupId>
<artifactId>gcube-url-shortener</artifactId> <artifactId>gcube-url-shortener</artifactId>

View File

@ -0,0 +1,499 @@
package org.gcube.application.geoportalcommon;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import org.gcube.application.geoportal.common.model.legacy.AccessPolicy;
import org.gcube.application.geoportal.common.model.legacy.BBOX;
import org.gcube.application.geoportal.common.model.legacy.Concessione;
import org.gcube.application.geoportal.common.model.legacy.LayerConcessione;
import org.gcube.application.geoportal.common.model.legacy.OtherContent;
import org.gcube.application.geoportal.common.model.legacy.PersistedContent;
import org.gcube.application.geoportal.common.model.legacy.RelazioneScavo;
import org.gcube.application.geoportal.common.model.legacy.UploadedImage;
import org.gcube.application.geoportal.common.model.legacy.WorkspaceContent;
import org.gcube.application.geoportalcommon.shared.gis.BoundsMap;
import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV;
import org.gcube.application.geoportalcommon.shared.products.content.OtherContentDV;
import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV;
import org.gcube.application.geoportalcommon.shared.products.model.AbstractRelazioneScavoDV;
import org.gcube.application.geoportalcommon.shared.products.model.LayerConcessioneDV;
import org.gcube.application.geoportalcommon.shared.products.model.RelazioneScavoDV;
import org.gcube.application.geoportalcommon.shared.products.model.UploadedImageDV;
import org.gcube.application.geoportalcommon.util.URLParserUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* The Class ConvertToGUIModel.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 2, 2020
*/
public class ConvertToDataViewModel {
private static final String NO_TIME = "T00:00";
/** The Constant LOG. */
private static final Logger LOG = LoggerFactory.getLogger(ConvertToDataViewModel.class);
public static final String DATE_FORMAT = "dd-MM-yyyy";
public static final String HOURS_MINUTES_SEPARATOR = ":";
public static final String TIME_FORMAT = "HH" + HOURS_MINUTES_SEPARATOR + "mm";
/**
* To concessione.
*
* @param concessione the concessione
* @return the concessione
* @throws Exception the exception
*/
public static ConcessioneDV toConcessione(Concessione concessione) throws Exception {
LOG.debug("called toConcessione for: "+concessione);
if (concessione == null)
return null;
try {
ConcessioneDV theConcessione = new ConcessioneDV();
theConcessione.setPolicy(toPolicy(concessione.getPolicy()));
//theConcessione.setAuthors(concessione.getAuthors());
theConcessione.setCentroidLat(concessione.getCentroidLat());
theConcessione.setCentroidLong(concessione.getCentroidLong());
theConcessione.setContributore(concessione.getContributore());
theConcessione.setCreationTime(toDateFormatString(concessione.getCreationTime()));
theConcessione.setCreationUser(toUser(concessione.getCreationUser()));
theConcessione.setDataFineProgetto(toDateFormatString(concessione.getDataFineProgetto()));
theConcessione.setDataInizioProgetto(toDateFormatString(concessione.getDataInizioProgetto()));
theConcessione.setDescrizioneContenuto(concessione.getDescrizioneContenuto());
theConcessione.setEditore(concessione.getEditore());
theConcessione.setFontiFinanziamento(concessione.getFontiFinanziamento());
theConcessione.setId(concessione.getId());
theConcessione.setNome(concessione.getNome());
theConcessione.setIntroduzione(concessione.getIntroduzione());
theConcessione.setLastUpdateTime(toDateFormatString(concessione.getLastUpdateTime()));
theConcessione.setLastUpdateUser(toUser(concessione.getLastUpdateUser()));
theConcessione.setLicenzaID(concessione.getLicenzaID());
theConcessione.setNome(concessione.getNome());
theConcessione.setParoleChiaveICCD(concessione.getParoleChiaveICCD());
theConcessione.setParoleChiaveLibere(concessione.getParoleChiaveLibere());
theConcessione.setResponsabile(concessione.getResponsabile());
theConcessione.setRisorseCorrelate(concessione.getRisorseCorrelate());
theConcessione.setSoggetto(concessione.getSoggetto());
theConcessione.setTitolariCopyright(concessione.getTitolareCopyright());
theConcessione.setTitolariLicenza(concessione.getTitolareLicenza());
theConcessione.setTitolari(concessione.getTitolari());
theConcessione.setVersion(concessione.getVersion());
theConcessione.setRecordType(concessione.getRecordType().name());
theConcessione.setAbstractRelazioneScavo(toAbstractRelazioneScavo(concessione.getRelazioneScavo()));
theConcessione.setRelazioneScavo(toRelazioneScavo(concessione.getRelazioneScavo()));
if (concessione.getImmaginiRappresentative() != null) {
List<UploadedImageDV> uploadedImagesDV = new ArrayList<UploadedImageDV>(
concessione.getImmaginiRappresentative().size());
for (UploadedImage ui : concessione.getImmaginiRappresentative()) {
uploadedImagesDV.add(toUploadedImage(ui));
}
theConcessione.setImmaginiRappresentative(uploadedImagesDV);
}
if (concessione.getGenericContent() != null) {
List<OtherContentDV> otherContentsDV = new ArrayList<OtherContentDV>(
concessione.getGenericContent().size());
for (OtherContent gc : concessione.getGenericContent()) {
otherContentsDV.add(toOtherContentDV(gc));
}
theConcessione.setGenericContent(otherContentsDV);
}
if (concessione.getPianteFineScavo() != null) {
List<LayerConcessioneDV> piantaScavoDV = new ArrayList<LayerConcessioneDV>(
concessione.getPianteFineScavo().size());
for (LayerConcessione lc : concessione.getPianteFineScavo()) {
piantaScavoDV.add(toLayerConcessione(lc));
}
theConcessione.setPianteFineScavo(piantaScavoDV);
}
if (concessione.getPosizionamentoScavo() != null) {
LayerConcessioneDV thePosizScavo = toLayerConcessione(concessione.getPosizionamentoScavo());
theConcessione.setPosizionamentoScavo(thePosizScavo);
}
LOG.debug("Returning concessione: " + theConcessione);
return theConcessione;
}catch (Exception e) {
LOG.error("Error on converting concessione: "+concessione, e);
return null;
}
}
//TO AVOID SERIALIZATION ISSUE AGAINST GWT
// public static List<String> toListString(List<String> orginList){
// if(orginList==null)
// return null;
//
// List<String> destList = new ArrayList<String>(orginList.size());
// for (String orgValue : orginList) {
// destList.add(orgValue);
// }
//
// return destList;
// }
/**
* To user.
*
* @param username the username
* @return the string
*/
public static String toUser(String username) {
if(username==null)
return null;
return username;
}
/**
* To policy.
*
* @param policy the policy
* @return the string
*/
public static String toPolicy(AccessPolicy policy) {
if(policy==null)
return null;
return policy.name();
}
/**
* To date format string.
*
* @param dateTime the date time
* @return the string
*/
public static String toDateFormatString(LocalDateTime dateTime) {
if(dateTime==null)
return null;
String time = dateTime.toString();
DateTimeFormatter formatter = null;
try {
if(!time.endsWith(NO_TIME)) {
formatter = DateTimeFormatter.ofPattern(DATE_FORMAT + " " + TIME_FORMAT);
}else {
time = time.replace(NO_TIME, "");
formatter = DateTimeFormatter.ofPattern(DATE_FORMAT);
}
}catch (Exception e) {
LOG.warn("Parsing error: ",e);
}
try {
if(formatter!=null)
return dateTime.format(formatter);
}catch (Exception e) {
LOG.warn("Date format error: ",e);
}
return dateTime.toString();
}
/**
* To abstract relazione scavo.
*
* @param relazioneScavo the relazione scavo
* @return the abstract relazione scavo DV
*/
public static AbstractRelazioneScavoDV toAbstractRelazioneScavo(RelazioneScavo relazioneScavo) {
if (relazioneScavo == null)
return null;
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());
theRelazioneDiScavo.setPolicy(toPolicy(relazioneScavo.getPolicy()));
//theRelazioneDiScavo.setRecord(recordDV);
theRelazioneDiScavo.setResponsabili(relazioneScavo.getResponsabili());
theRelazioneDiScavo.setSoggetto(relazioneScavo.getSoggetto());
theRelazioneDiScavo.setTitolo(relazioneScavo.getTitolo());
LOG.debug("Returning: " + theRelazioneDiScavo);
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<PersistedContent> actContent = relazioneScavo.getActualContent();
if(actContent!=null && actContent.size()>0) {
List<WorkspaceContentDV> listWsContent = new ArrayList<WorkspaceContentDV>();
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
* @return the uploaded image data-view
*/
public static UploadedImageDV toUploadedImage(UploadedImage uploadedImage) {
if (uploadedImage == null)
return null;
UploadedImageDV theUploadedImageDV = new UploadedImageDV();
theUploadedImageDV.setCreationTime(toDateFormatString(uploadedImage.getCreationTime()));
theUploadedImageDV.setDidascalia(uploadedImage.getDidascalia());
theUploadedImageDV.setFormat(uploadedImage.getFormat());
theUploadedImageDV.setId(uploadedImage.getId());
theUploadedImageDV.setLicenseID(uploadedImage.getLicenseID());
theUploadedImageDV.setPolicy(toPolicy(uploadedImage.getPolicy()));
//theUploadedImageDV.setRecord(recordDV);
theUploadedImageDV.setResponsabili(uploadedImage.getResponsabili());
theUploadedImageDV.setSoggetto(uploadedImage.getSoggetto());
theUploadedImageDV.setTitolo(uploadedImage.getTitolo());
List<PersistedContent> actContent = uploadedImage.getActualContent();
if(actContent!=null && actContent.size()>0) {
List<WorkspaceContentDV> listWsContent = new ArrayList<WorkspaceContentDV>();
for (PersistedContent content : actContent) {
if(content!=null && content instanceof WorkspaceContent) {
listWsContent.add(toWorkspaceContent((WorkspaceContent)content));
}
}
theUploadedImageDV.setListWsContent(listWsContent);
}
LOG.debug("Returning: " + theUploadedImageDV);
return theUploadedImageDV;
}
/**
* To workspace content.
*
* @param wContent the w content
* @return the workspace content DV
*/
public static WorkspaceContentDV toWorkspaceContent(WorkspaceContent wContent){
if (wContent == null)
return null;
WorkspaceContentDV theWSDV = new WorkspaceContentDV();
theWSDV.setLink(wContent.getLink());
theWSDV.setMimetype(wContent.getMimetype());
theWSDV.setStorageID(wContent.getStorageID());
theWSDV.setId(wContent.getId());
return theWSDV;
}
/**
* To layer concessione.
*
* @param layerConcessione the layer concessione
* @return the layer concessione data view
*/
public static LayerConcessioneDV toLayerConcessione(LayerConcessione layerConcessione) {
if (layerConcessione == null)
return null;
LOG.debug("Converting: "+layerConcessione);
LayerConcessioneDV theLayerConessione = new LayerConcessioneDV();
theLayerConessione.setAbstractSection(layerConcessione.getAbstractSection());
String wmsLink = layerConcessione.getWmsLink();
String layerName = null;
BoundsMap bounds = null;
//reading layer name from wmsLink
//string bbox
if(wmsLink!=null) {
layerName = URLParserUtil.extractValueOfParameterFromURL("layers", wmsLink);
String bbox = URLParserUtil.extractValueOfParameterFromURL("bbox", wmsLink);
String wmsVersion = URLParserUtil.extractValueOfParameterFromURL("version", wmsLink);
bounds = toBoundMap(wmsVersion, bbox, ",");
LOG.debug("Built bounds from wmsLInk: "+bounds);
}
if(layerName!=null)
theLayerConessione.setLayerName(layerName);
else
theLayerConessione.setLayerName(layerConcessione.getLayerName());
theLayerConessione.setWmsLink(wmsLink);
theLayerConessione.setLayerID(layerConcessione.getLayerID());
theLayerConessione.setLayerUUID(layerConcessione.getLayerUUID());
theLayerConessione.setAuthors(layerConcessione.getAuthors());
if(bounds==null)
bounds = toBoundMap(layerConcessione.getBbox());
theLayerConessione.setBbox(bounds);
theLayerConessione.setCreationTime(toDateFormatString(layerConcessione.getCreationTime()));
theLayerConessione.setId(layerConcessione.getId());
theLayerConessione.setLicenseID(layerConcessione.getLicenseID());
theLayerConessione.setMetodoRaccoltaDati(layerConcessione.getMetodoRaccoltaDati());
theLayerConessione.setPolicy(toPolicy(layerConcessione.getPolicy()));
//theLayerConessione.setRecord(recordDV);
theLayerConessione.setScalaAcquisizione(layerConcessione.getScalaAcquisizione());
theLayerConessione.setSubTopic(layerConcessione.getSubTopic());
theLayerConessione.setTitolo(layerConcessione.getTitolo());
theLayerConessione.setTopicCategory(layerConcessione.getTopicCategory());
theLayerConessione.setValutazioneQualita(layerConcessione.getValutazioneQualita());
LOG.debug("Returning: " + theLayerConessione);
return theLayerConessione;
}
/**
* To other content DV.
*
* @param otherContent the other content
* @return the other content DV
*/
public static OtherContentDV toOtherContentDV(OtherContent otherContent) {
if (otherContent == null)
return null;
OtherContentDV theOtherContent = new OtherContentDV();
theOtherContent.setCreationTime(toDateFormatString(otherContent.getCreationTime()));
theOtherContent.setId(otherContent.getId());
theOtherContent.setLicenseID(otherContent.getLicenseID());
theOtherContent.setPolicy(toPolicy(otherContent.getPolicy()));
//theOtherContent.setRecord(recordDV);
theOtherContent.setTitolo(otherContent.getTitolo());
return theOtherContent;
}
/**
* To bound map.
*
* @param bbox the bbox
* @return the bounds map
*/
public static BoundsMap toBoundMap(BBOX bbox) {
if (bbox == null)
return null;
return new BoundsMap(bbox.getMinLong(), bbox.getMinLat(), bbox.getMaxLong(), bbox.getMaxLat(), null);
}
/**
* 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) {
if (bbox == null)
return null;
if(wmsVersion==null)
return null;
if(separator==null)
separator = ",";
try {
String[] bboxArr = bbox.split(separator);
if(wmsVersion.startsWith("1.3")) {
//is 1.3.x
return new BoundsMap(toDouble(bboxArr[1]), toDouble(bboxArr[0]), toDouble(bboxArr[3]), toDouble(bboxArr[2]), wmsVersion);
}else {
//should be 1.1.X
return new BoundsMap(toDouble(bboxArr[0]), toDouble(bboxArr[1]), toDouble(bboxArr[2]), toDouble(bboxArr[3]), wmsVersion);
}
}catch (Exception e) {
LOG.warn("Error on creating Bounds for wmsVersion "+wmsVersion+" and bbox "+bbox+" : ",e);
return null;
}
}
/**
* To double.
*
* @param value the value
* @return the double
*/
public static Double toDouble(String value) {
try {
return Double.parseDouble(value);
}catch (Exception e) {
LOG.warn("Error on parsing "+value+" as double: ",e);
return null;
}
}
}

View File

@ -30,14 +30,12 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import org.xml.sax.InputSource; import org.xml.sax.InputSource;
/** /**
* The Class GeoNaViewerProfileReader. * The Class GeoNaViewerProfileReader.
* *
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
* *
* Nov 12, 2020 * Nov 12, 2020
*/ */
public class GeoNaDataViewerProfileReader { public class GeoNaDataViewerProfileReader {
@ -56,7 +54,7 @@ public class GeoNaDataViewerProfileReader {
/** /**
* Instantiates a new application profile reader. * Instantiates a new application profile reader.
* *
* @param appID the app id * @param appID the app id
*/ */
public GeoNaDataViewerProfileReader(String appID) { public GeoNaDataViewerProfileReader(String appID) {
@ -73,7 +71,7 @@ public class GeoNaDataViewerProfileReader {
public GeoNaDataViewerProfile readProfileFromInfrastrucure() throws Exception { public GeoNaDataViewerProfile readProfileFromInfrastrucure() throws Exception {
String queryString = getGcubeGenericQueryString(secondaryType, appID); String queryString = getGcubeGenericQueryString(secondaryType, appID);
logger.info("Scope "+scope+", trying to perform query: "+queryString); logger.info("Scope " + scope + ", trying to perform query: " + queryString);
try { try {
@ -81,7 +79,7 @@ public class GeoNaDataViewerProfileReader {
throw new Exception("Scope is null, set scope into ScopeProvider"); throw new Exception("Scope is null, set scope into ScopeProvider");
GeoNaDataViewerProfile profile = new GeoNaDataViewerProfile(); GeoNaDataViewerProfile profile = new GeoNaDataViewerProfile();
logger.info("Trying to fetch ApplicationProfile in the scope: " + scope + ", SecondaryType: " logger.info("Trying to fetch ApplicationProfile in the scope: " + scope + ", SecondaryType: "
+ secondaryType + ", AppId: " + appID); + secondaryType + ", AppId: " + appID);
Query q = new QueryBox(queryString); Query q = new QueryBox(queryString);
@ -95,25 +93,24 @@ public class GeoNaDataViewerProfileReader {
String elem = appProfile.get(0); String elem = appProfile.get(0);
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(elem))); Document doc = docBuilder.parse(new InputSource(new StringReader(elem)));
XPathHelper helper = new XPathHelper(doc.getDocumentElement()); XPathHelper helper = new XPathHelper(doc.getDocumentElement());
List<String> currValue = null; List<String> currValue = null;
String xPathExp = RESOURCE_PROFILE_BODY+"/RestrictedPortletURL/text()"; String xPathExp = RESOURCE_PROFILE_BODY + "/RestrictedPortletURL/text()";
currValue = helper.evaluate(xPathExp); currValue = helper.evaluate(xPathExp);
if (currValue != null && currValue.size() > 0) { if (currValue != null && currValue.size() > 0) {
profile.setRestrictedPortletURL(currValue.get(0)); profile.setRestrictedPortletURL(currValue.get(0));
}else } else
throw new Exception("I'm not able to read the path: "+xPathExp); throw new Exception("I'm not able to read the path: " + xPathExp);
xPathExp = RESOURCE_PROFILE_BODY+"/OpenPortletURL/text()"; xPathExp = RESOURCE_PROFILE_BODY + "/OpenPortletURL/text()";
currValue = helper.evaluate(xPathExp); currValue = helper.evaluate(xPathExp);
if (currValue != null && currValue.size() > 0) { if (currValue != null && currValue.size() > 0) {
profile.setOpenPortletURL(currValue.get(0)); profile.setOpenPortletURL(currValue.get(0));
}else } else
throw new Exception("I'm not able to read the path: "+xPathExp); throw new Exception("I'm not able to read the path: " + xPathExp);
XPath xPath = XPathFactory.newInstance().newXPath(); XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodeList = (NodeList) xPath.compile("/Resource/Profile/Body/AvailableLayers/Layer") NodeList nodeList = (NodeList) xPath.compile("/Resource/Profile/Body/AvailableLayers/Layer")
.evaluate(doc, XPathConstants.NODESET); .evaluate(doc, XPathConstants.NODESET);
@ -132,9 +129,9 @@ public class GeoNaDataViewerProfileReader {
mapLayers.put(layerType.toLowerCase(), layer); mapLayers.put(layerType.toLowerCase(), layer);
} }
} }
profile.setMapLayers(mapLayers); profile.setMapLayers(mapLayers);
logger.info("returning: "+profile); logger.info("returning: " + profile);
return profile; return profile;
} }
@ -185,19 +182,19 @@ public class GeoNaDataViewerProfileReader {
return "GeoNaViewerProfileReader [secondaryType=" + secondaryType + ", scope=" + scope + ", appID=" + appID return "GeoNaViewerProfileReader [secondaryType=" + secondaryType + ", scope=" + scope + ", appID=" + appID
+ "]"; + "]";
} }
/* /*
public static void main(String[] args) throws Exception { * public static void main(String[] args) throws Exception {
ScopeProvider.instance.set("/gcube/devNext/NextNext"); * ScopeProvider.instance.set("/gcube/devNext/NextNext");
GeoNaDataViewerProfileReader gdvp = new GeoNaDataViewerProfileReader("geoportal-data-viewer-app"); * GeoNaDataViewerProfileReader gdvp = new
GeoNaDataViewerProfile profile = gdvp.readProfileFromInfrastrucure(); * GeoNaDataViewerProfileReader("geoportal-data-viewer-app");
System.out.println(profile.getRestrictedPortletURL()); * GeoNaDataViewerProfile profile = gdvp.readProfileFromInfrastrucure();
System.out.println(profile.getOpenPortletURL()); * System.out.println(profile.getRestrictedPortletURL());
* System.out.println(profile.getOpenPortletURL());
if(profile.getMapLayers()!=null) { *
for (String type : profile.getMapLayers().keySet()) { * if(profile.getMapLayers()!=null) { for (String type :
System.out.println("key: "+type+", value: "+profile.getMapLayers().get(type)); * profile.getMapLayers().keySet()) {
} * System.out.println("key: "+type+", value: "+profile.getMapLayers().get(type))
} * ; } } }
}*/ */
} }

View File

@ -0,0 +1,170 @@
package org.gcube.application.geoportalcommon.shared.gis;
import java.io.Serializable;
/**
* The Class BoundsMap.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Oct 27, 2020
*/
public class BoundsMap implements Serializable{
/**
*
*/
private static final long serialVersionUID = 69005924452960006L;
/** The lower left X. */
private double lowerLeftX = 0.0;
/** The lower left Y. */
private double lowerLeftY = 0.0;
/** The upper right X. */
private double upperRightX = 0.0;
/** The upper right Y. */
private double upperRightY = 0.0;
/** The crs. */
private String crs = "";
/**
* Instantiates a new bounds map.
*/
public BoundsMap() {
}
/**
* Instantiates a new bounds map.
*
* @param lowerLeftX the lower left X
* @param lowerLeftY the lower left Y
* @param upperRightX the upper right X
* @param upperRightY the upper right Y
* @param crs the crs
*/
public BoundsMap(double lowerLeftX, double lowerLeftY, double upperRightX,
double upperRightY, String crs) {
super();
this.lowerLeftX = lowerLeftX;
this.lowerLeftY = lowerLeftY;
this.upperRightX = upperRightX;
this.upperRightY = upperRightY;
this.crs = crs;
}
/**
* Gets the lower left X.
*
* @return the lower left X
*/
public double getLowerLeftX() {
return lowerLeftX;
}
/**
* Sets the lower left X.
*
* @param lowerLeftX the new lower left X
*/
public void setLowerLeftX(double lowerLeftX) {
this.lowerLeftX = lowerLeftX;
}
/**
* Gets the lower left Y.
*
* @return the lower left Y
*/
public double getLowerLeftY() {
return lowerLeftY;
}
/**
* Sets the lower left Y.
*
* @param lowerLeftY the new lower left Y
*/
public void setLowerLeftY(double lowerLeftY) {
this.lowerLeftY = lowerLeftY;
}
/**
* Gets the upper right X.
*
* @return the upper right X
*/
public double getUpperRightX() {
return upperRightX;
}
/**
* Sets the upper right X.
*
* @param upperRightX the new upper right X
*/
public void setUpperRightX(double upperRightX) {
this.upperRightX = upperRightX;
}
/**
* Gets the upper right Y.
*
* @return the upper right Y
*/
public double getUpperRightY() {
return upperRightY;
}
/**
* Sets the upper right Y.
*
* @param upperRightY the new upper right Y
*/
public void setUpperRightY(double upperRightY) {
this.upperRightY = upperRightY;
}
/**
* Gets the crs.
*
* @return the crs
*/
public String getCrs() {
return crs;
}
/**
* Sets the crs.
*
* @param crs the new crs
*/
public void setCrs(String crs) {
this.crs = crs;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("BoundsMap [lowerLeftX=");
builder.append(lowerLeftX);
builder.append(", lowerLeftY=");
builder.append(lowerLeftY);
builder.append(", upperRightX=");
builder.append(upperRightX);
builder.append(", upperRightY=");
builder.append(upperRightY);
builder.append(", crs=");
builder.append(crs);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,595 @@
package org.gcube.application.geoportalcommon.shared.products;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.gcube.application.geoportalcommon.shared.products.content.OtherContentDV;
import org.gcube.application.geoportalcommon.shared.products.model.AbstractRelazioneScavoDV;
import org.gcube.application.geoportalcommon.shared.products.model.LayerConcessioneDV;
import org.gcube.application.geoportalcommon.shared.products.model.RecordDV;
import org.gcube.application.geoportalcommon.shared.products.model.RelazioneScavoDV;
import org.gcube.application.geoportalcommon.shared.products.model.UploadedImageDV;
/**
* The Class ConcessioneDV.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 4, 2020
*/
public class ConcessioneDV extends RecordDV implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1387327199157005059L;
/** The introduzione. */
private String introduzione;
/** The descrizione contenuto. */
private String descrizioneContenuto;
/** The authors. */
private List<String> authors;
/** The contributore. */
private String contributore;
/** The titolari. */
private List<String> titolari;
/** The responsabile. */
private String responsabile;
/** The editore. */
private String editore;
/** The fonti finanziamento. */
private List<String> fontiFinanziamento;
/** The soggetto. */
private List<String> soggetto;
/** The risorse correlate. */
private List<String> risorseCorrelate;
/** The data inizio progetto. */
private String dataInizioProgetto;
/** The data fine progetto. */
private String dataFineProgetto;
/** The titolare licenza. */
private List<String> titolariLicenza;
/** The titolare copyright. */
private List<String> titolariCopyright;
/** The parole chiave libere. */
private List<String> paroleChiaveLibere;
/** The parole chiave ICCD. */
private List<String> paroleChiaveICCD;
/** The centroid lat. */
private Double centroidLat;
/** The centroid long. */
private Double centroidLong;
/** The relazione scavo. */
private AbstractRelazioneScavoDV abstractRelazioneScavo;
/** The relazione scavo. */
private RelazioneScavoDV relazioneScavo;
/** The immagini rappresentative. */
private List<UploadedImageDV> immaginiRappresentative = new ArrayList<UploadedImageDV>();
/** The posizionamento scavo. */
private LayerConcessioneDV posizionamentoScavo;
/** The piante fine scavo. */
private List<LayerConcessioneDV> pianteFineScavo = new ArrayList<LayerConcessioneDV>();
/** The generic content. */
private List<OtherContentDV> genericContent = new ArrayList<OtherContentDV>();
/**
* Instantiates a new concessione.
*/
public ConcessioneDV() {
}
/**
* Gets the introduzione.
*
* @return the introduzione
*/
public String getIntroduzione() {
return introduzione;
}
/**
* Sets the introduzione.
*
* @param introduzione the new introduzione
*/
public void setIntroduzione(String introduzione) {
this.introduzione = introduzione;
}
/**
* Gets the descrizione contenuto.
*
* @return the descrizione contenuto
*/
public String getDescrizioneContenuto() {
return descrizioneContenuto;
}
/**
* Sets the descrizione contenuto.
*
* @param descrizioneContenuto the new descrizione contenuto
*/
public void setDescrizioneContenuto(String descrizioneContenuto) {
this.descrizioneContenuto = descrizioneContenuto;
}
/**
* Gets the authors.
*
* @return the authors
*/
public List<String> getAuthors() {
return authors;
}
/**
* Sets the authors.
*
* @param authors the new authors
*/
public void setAuthors(List<String> authors) {
this.authors = authors;
}
/**
* Gets the contributore.
*
* @return the contributore
*/
public String getContributore() {
return contributore;
}
/**
* Sets the contributore.
*
* @param contributore the new contributore
*/
public void setContributore(String contributore) {
this.contributore = contributore;
}
/**
* Gets the titolari.
*
* @return the titolari
*/
public List<String> getTitolari() {
return titolari;
}
/**
* Sets the titolari.
*
* @param titolari the new titolari
*/
public void setTitolari(List<String> titolari) {
this.titolari = titolari;
}
/**
* Gets the responsabile.
*
* @return the responsabile
*/
public String getResponsabile() {
return responsabile;
}
/**
* Sets the responsabile.
*
* @param responsabile the new responsabile
*/
public void setResponsabile(String responsabile) {
this.responsabile = responsabile;
}
/**
* Gets the editore.
*
* @return the editore
*/
public String getEditore() {
return editore;
}
/**
* Sets the editore.
*
* @param editore the new editore
*/
public void setEditore(String editore) {
this.editore = editore;
}
/**
* Gets the fonti finanziamento.
*
* @return the fonti finanziamento
*/
public List<String> getFontiFinanziamento() {
return fontiFinanziamento;
}
/**
* Sets the fonti finanziamento.
*
* @param fontiFinanziamento the new fonti finanziamento
*/
public void setFontiFinanziamento(List<String> fontiFinanziamento) {
this.fontiFinanziamento = fontiFinanziamento;
}
/**
* Gets the soggetto.
*
* @return the soggetto
*/
public List<String> getSoggetto() {
return soggetto;
}
/**
* Sets the soggetto.
*
* @param soggetto the new soggetto
*/
public void setSoggetto(List<String> soggetto) {
this.soggetto = soggetto;
}
/**
* Gets the risorse correlate.
*
* @return the risorse correlate
*/
public List<String> getRisorseCorrelate() {
return risorseCorrelate;
}
/**
* Sets the risorse correlate.
*
* @param risorseCorrelate the new risorse correlate
*/
public void setRisorseCorrelate(List<String> risorseCorrelate) {
this.risorseCorrelate = risorseCorrelate;
}
/**
* Gets the data inizio progetto.
*
* @return the data inizio progetto
*/
public String getDataInizioProgetto() {
return dataInizioProgetto;
}
/**
* Sets the data inizio progetto.
*
* @param dataInizioProgetto the new data inizio progetto
*/
public void setDataInizioProgetto(String dataInizioProgetto) {
this.dataInizioProgetto = dataInizioProgetto;
}
/**
* Gets the data fine progetto.
*
* @return the data fine progetto
*/
public String getDataFineProgetto() {
return dataFineProgetto;
}
/**
* Sets the data fine progetto.
*
* @param dataFineProgetto the new data fine progetto
*/
public void setDataFineProgetto(String dataFineProgetto) {
this.dataFineProgetto = dataFineProgetto;
}
/**
* Gets the titolari licenza.
*
* @return the titolari licenza
*/
public List<String> getTitolariLicenza() {
return titolariLicenza;
}
/**
* Sets the titolari licenza.
*
* @param titolariLicenza the new titolari licenza
*/
public void setTitolariLicenza(List<String> titolariLicenza) {
this.titolariLicenza = titolariLicenza;
}
/**
* Gets the titolari copyright.
*
* @return the titolari copyright
*/
public List<String> getTitolariCopyright() {
return titolariCopyright;
}
/**
* Sets the titolari copyright.
*
* @param titolariCopyright the new titolari copyright
*/
public void setTitolariCopyright(List<String> titolariCopyright) {
this.titolariCopyright = titolariCopyright;
}
/**
* Gets the parole chiave libere.
*
* @return the parole chiave libere
*/
public List<String> getParoleChiaveLibere() {
return paroleChiaveLibere;
}
/**
* Sets the parole chiave libere.
*
* @param paroleChiaveLibere the new parole chiave libere
*/
public void setParoleChiaveLibere(List<String> paroleChiaveLibere) {
this.paroleChiaveLibere = paroleChiaveLibere;
}
/**
* Gets the parole chiave ICCD.
*
* @return the parole chiave ICCD
*/
public List<String> getParoleChiaveICCD() {
return paroleChiaveICCD;
}
/**
* Sets the parole chiave ICCD.
*
* @param paroleChiaveICCD the new parole chiave ICCD
*/
public void setParoleChiaveICCD(List<String> paroleChiaveICCD) {
this.paroleChiaveICCD = paroleChiaveICCD;
}
/**
* Gets the centroid lat.
*
* @return the centroid lat
*/
public Double getCentroidLat() {
return centroidLat;
}
/**
* Sets the centroid lat.
*
* @param centroidLat the new centroid lat
*/
public void setCentroidLat(Double centroidLat) {
this.centroidLat = centroidLat;
}
/**
* Gets the centroid long.
*
* @return the centroid long
*/
public Double getCentroidLong() {
return centroidLong;
}
/**
* Sets the centroid long.
*
* @param centroidLong the new centroid long
*/
public void setCentroidLong(Double centroidLong) {
this.centroidLong = centroidLong;
}
/**
* Gets the relazione scavo.
*
* @return the relazione scavo
*/
public RelazioneScavoDV getRelazioneScavo() {
return relazioneScavo;
}
/**
* Sets the relazione scavo.
*
* @param relazioneScavo the new relazione scavo
*/
public void setRelazioneScavo(RelazioneScavoDV relazioneScavo) {
this.relazioneScavo = relazioneScavo;
}
/**
* Gets the immagini rappresentative.
*
* @return the immagini rappresentative
*/
public List<UploadedImageDV> getImmaginiRappresentative() {
return immaginiRappresentative;
}
/**
* Sets the immagini rappresentative.
*
* @param immaginiRappresentative the new immagini rappresentative
*/
public void setImmaginiRappresentative(List<UploadedImageDV> immaginiRappresentative) {
this.immaginiRappresentative = immaginiRappresentative;
}
/**
* Gets the posizionamento scavo.
*
* @return the posizionamento scavo
*/
public LayerConcessioneDV getPosizionamentoScavo() {
return posizionamentoScavo;
}
/**
* Sets the posizionamento scavo.
*
* @param posizionamentoScavo the new posizionamento scavo
*/
public void setPosizionamentoScavo(LayerConcessioneDV posizionamentoScavo) {
this.posizionamentoScavo = posizionamentoScavo;
}
/**
* Gets the piante fine scavo.
*
* @return the piante fine scavo
*/
public List<LayerConcessioneDV> getPianteFineScavo() {
return pianteFineScavo;
}
/**
* Sets the piante fine scavo.
*
* @param pianteFineScavo the new piante fine scavo
*/
public void setPianteFineScavo(List<LayerConcessioneDV> pianteFineScavo) {
this.pianteFineScavo = pianteFineScavo;
}
/**
* Gets the generic content.
*
* @return the generic content
*/
public List<OtherContentDV> getGenericContent() {
return genericContent;
}
/**
* Sets the generic content.
*
* @param genericContent the new generic content
*/
public void setGenericContent(List<OtherContentDV> 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() {
StringBuilder builder = new StringBuilder();
builder.append("ConcessioneDV [introduzione=");
builder.append(introduzione);
builder.append(", descrizioneContenuto=");
builder.append(descrizioneContenuto);
builder.append(", authors=");
builder.append(authors);
builder.append(", contributore=");
builder.append(contributore);
builder.append(", titolari=");
builder.append(titolari);
builder.append(", responsabile=");
builder.append(responsabile);
builder.append(", editore=");
builder.append(editore);
builder.append(", fontiFinanziamento=");
builder.append(fontiFinanziamento);
builder.append(", soggetto=");
builder.append(soggetto);
builder.append(", risorseCorrelate=");
builder.append(risorseCorrelate);
builder.append(", dataInizioProgetto=");
builder.append(dataInizioProgetto);
builder.append(", dataFineProgetto=");
builder.append(dataFineProgetto);
builder.append(", titolariLicenza=");
builder.append(titolariLicenza);
builder.append(", titolariCopyright=");
builder.append(titolariCopyright);
builder.append(", paroleChiaveLibere=");
builder.append(paroleChiaveLibere);
builder.append(", paroleChiaveICCD=");
builder.append(paroleChiaveICCD);
builder.append(", centroidLat=");
builder.append(centroidLat);
builder.append(", centroidLong=");
builder.append(centroidLong);
builder.append(", abstractRelazioneScavo=");
builder.append(abstractRelazioneScavo);
builder.append(", relazioneScavo=");
builder.append(relazioneScavo);
builder.append(", immaginiRappresentative=");
builder.append(immaginiRappresentative);
builder.append(", posizionamentoScavo=");
builder.append(posizionamentoScavo);
builder.append(", pianteFineScavo=");
builder.append(pianteFineScavo);
builder.append(", genericContent=");
builder.append(genericContent);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,200 @@
package org.gcube.application.geoportalcommon.shared.products.content;
import java.io.Serializable;
import org.gcube.application.geoportalcommon.shared.products.model.RecordDV;
/**
* The Class AssociatedContent.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 2, 2020
*/
public abstract class AssociatedContentDV implements Serializable{
/**
*
*/
private static final long serialVersionUID = -3666420861504055117L;
/** The id. */
private long id;
/** The policy. */
private String policy;
/** The license ID. */
private String licenseID;
/** The titolo. */
private String titolo;
/** The creation time. */
private String creationTime;
/** The record. */
private RecordDV record;
/**
* Instantiates a new associated content.
*/
public AssociatedContentDV() {
}
/**
* Instantiates a new associated content.
*
* @param id the id
* @param policy the policy
* @param licenseID the license ID
* @param titolo the titolo
* @param creationTime the creation time
* @param record the record
*/
public AssociatedContentDV(long id, String policy, String licenseID, String titolo, String creationTime,
RecordDV record) {
super();
this.id = id;
this.policy = policy;
this.licenseID = licenseID;
this.titolo = titolo;
this.creationTime = creationTime;
this.record = record;
}
/**
* Gets the id.
*
* @return the id
*/
public long getId() {
return id;
}
/**
* Sets the id.
*
* @param id the new id
*/
public void setId(long id) {
this.id = id;
}
/**
* Gets the policy.
*
* @return the policy
*/
public String getPolicy() {
return policy;
}
/**
* Sets the policy.
*
* @param policy the new policy
*/
public void setPolicy(String policy) {
this.policy = policy;
}
/**
* Gets the license ID.
*
* @return the license ID
*/
public String getLicenseID() {
return licenseID;
}
/**
* Sets the license ID.
*
* @param licenseID the new license ID
*/
public void setLicenseID(String licenseID) {
this.licenseID = licenseID;
}
/**
* Gets the titolo.
*
* @return the titolo
*/
public String getTitolo() {
return titolo;
}
/**
* Sets the titolo.
*
* @param titolo the new titolo
*/
public void setTitolo(String titolo) {
this.titolo = titolo;
}
/**
* Gets the creation time.
*
* @return the creation time
*/
public String getCreationTime() {
return creationTime;
}
/**
* Sets the creation time.
*
* @param creationTime the new creation time
*/
public void setCreationTime(String creationTime) {
this.creationTime = creationTime;
}
/**
* Gets the record.
*
* @return the record
*/
public RecordDV getRecord() {
return record;
}
/**
* Sets the record.
*
* @param record the new record
*/
public void setRecord(RecordDV record) {
this.record = record;
}
/**
* To string.
*
* @return the string
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("AssociatedContent [id=");
builder.append(id);
builder.append(", policy=");
builder.append(policy);
builder.append(", licenseID=");
builder.append(licenseID);
builder.append(", titolo=");
builder.append(titolo);
builder.append(", creationTime=");
builder.append(creationTime);
builder.append(", record=");
builder.append(record);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,41 @@
package org.gcube.application.geoportalcommon.shared.products.content;
import java.io.Serializable;
/**
* The Class OtherContent.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 2, 2020
*/
public class OtherContentDV extends AssociatedContentDV implements Serializable{
/**
*
*/
private static final long serialVersionUID = -2550361768550673836L;
/**
* Instantiates a new other content.
*/
public OtherContentDV() {
}
/**
* To string.
*
* @return the string
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("OtherContent [toString()=");
builder.append(super.toString());
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,83 @@
package org.gcube.application.geoportalcommon.shared.products.content;
import java.io.Serializable;
/**
* The Class WorkspaceContentDV.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 5, 2020
*/
public class WorkspaceContentDV implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3919923007831416696L;
/** The mimetype. */
private String mimetype;
/** The storage ID. */
private String storageID;
/** The link. */
private String link;
private Long id;
public WorkspaceContentDV() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMimetype() {
return mimetype;
}
public void setMimetype(String mimetype) {
this.mimetype = mimetype;
}
public String getStorageID() {
return storageID;
}
public void setStorageID(String storageID) {
this.storageID = storageID;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("WorkspaceContentDV [mimetype=");
builder.append(mimetype);
builder.append(", storageID=");
builder.append(storageID);
builder.append(", link=");
builder.append(link);
builder.append(", id=");
builder.append(id);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,152 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
import java.util.List;
import org.gcube.application.geoportalcommon.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<String> responsabili;
/** The soggetto. */
private List<String> 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<String> responsabili, List<String> 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<String> getResponsabili() {
return responsabili;
}
/**
* Sets the responsabili.
*
* @param responsabili the new responsabili
*/
public void setResponsabili(List<String> responsabili) {
this.responsabili = responsabili;
}
/**
* Gets the soggetto.
*
* @return the soggetto
*/
public List<String> getSoggetto() {
return soggetto;
}
/**
* Sets the soggetto.
*
* @param soggetto the new soggetto
*/
public void setSoggetto(List<String> 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();
}
}

View File

@ -0,0 +1,133 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
import java.util.List;
import org.gcube.application.geoportalcommon.shared.gis.BoundsMap;
public class LayerConcessioneDV extends SDILayerDescriptorDV implements Serializable{
/**
*
*/
private static final long serialVersionUID = 2633250621043744245L;
// 1.Identificazione
private String abstractSection;
// 2.Classificazione
private String topicCategory;
// 3.Keyword
private String subTopic;
// 4. Delimitazione geographica
private BoundsMap bbox;
// 5. Temporal
// 6. Quality
private String valutazioneQualita;
private String metodoRaccoltaDati;
private String scalaAcquisizione;
private List<String> authors;
public LayerConcessioneDV() {
}
public String getAbstractSection() {
return abstractSection;
}
public void setAbstractSection(String abstractSection) {
this.abstractSection = abstractSection;
}
public String getTopicCategory() {
return topicCategory;
}
public void setTopicCategory(String topicCategory) {
this.topicCategory = topicCategory;
}
public String getSubTopic() {
return subTopic;
}
public void setSubTopic(String subTopic) {
this.subTopic = subTopic;
}
public BoundsMap getBbox() {
return bbox;
}
public void setBbox(BoundsMap bbox) {
this.bbox = bbox;
}
public String getValutazioneQualita() {
return valutazioneQualita;
}
public void setValutazioneQualita(String valutazioneQualita) {
this.valutazioneQualita = valutazioneQualita;
}
public String getMetodoRaccoltaDati() {
return metodoRaccoltaDati;
}
public void setMetodoRaccoltaDati(String metodoRaccoltaDati) {
this.metodoRaccoltaDati = metodoRaccoltaDati;
}
public String getScalaAcquisizione() {
return scalaAcquisizione;
}
public void setScalaAcquisizione(String scalaAcquisizione) {
this.scalaAcquisizione = scalaAcquisizione;
}
public List<String> getAuthors() {
return authors;
}
public void setAuthors(List<String> authors) {
this.authors = authors;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("LayerConcessione [abstractSection=");
builder.append(abstractSection);
builder.append(", topicCategory=");
builder.append(topicCategory);
builder.append(", subTopic=");
builder.append(subTopic);
builder.append(", bbox=");
builder.append(bbox);
builder.append(", valutazioneQualita=");
builder.append(valutazioneQualita);
builder.append(", metodoRaccoltaDati=");
builder.append(metodoRaccoltaDati);
builder.append(", scalaAcquisizione=");
builder.append(scalaAcquisizione);
builder.append(", authors=");
builder.append(authors);
builder.append(", wmsLink=");
builder.append(super.getWmsLink());
builder.append(", layerName=");
builder.append(super.getLayerName());
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,289 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
/**
* The Class Record.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 2, 2020
*/
public abstract class RecordDV implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2913726613820175679L;
/** The id. */
private Long id;
/** The record type. */
private String recordType;
/** The version. */
private String version = "1.0.0";
/** The licenza ID. */
private String licenzaID;
private String policy;
/** The nome. */
// Nome del progetto
private String nome;
/** The folder id. */
// Storage Info
private String folderId;
/** The last update time. */
// Accounting
private String lastUpdateTime;
/** The last update user. */
private String lastUpdateUser;
/** The creation time. */
private String creationTime;
/** The creation user. */
private String creationUser;
/**
* Instantiates a new record.
*/
public RecordDV() {
}
/**
* Gets the id.
*
* @return the id
*/
public Long getId() {
return id;
}
/**
* Sets the id.
*
* @param id the new id
*/
public void setId(Long id) {
this.id = id;
}
/**
* Gets the record type.
*
* @return the record type
*/
public String getRecordType() {
return recordType;
}
/**
* Sets the record type.
*
* @param recordType the new record type
*/
public void setRecordType(String recordType) {
this.recordType = recordType;
}
/**
* Gets the version.
*
* @return the version
*/
public String getVersion() {
return version;
}
/**
* Sets the version.
*
* @param version the new version
*/
public void setVersion(String version) {
this.version = version;
}
/**
* Gets the licenza ID.
*
* @return the licenza ID
*/
public String getLicenzaID() {
return licenzaID;
}
/**
* Sets the licenza ID.
*
* @param licenzaID the new licenza ID
*/
public void setLicenzaID(String licenzaID) {
this.licenzaID = licenzaID;
}
/**
* Gets the accesso.
*
* @return the accesso
*/
public String getPolicy() {
return policy;
}
/**
* Sets the accesso.
*
* @param policy the new policy
*/
public void setPolicy(String policy) {
this.policy = policy;
}
/**
* Gets the nome.
*
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* Sets the nome.
*
* @param nome the new nome
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* Gets the folder id.
*
* @return the folder id
*/
public String getFolderId() {
return folderId;
}
/**
* Sets the folder id.
*
* @param folderId the new folder id
*/
public void setFolderId(String folderId) {
this.folderId = folderId;
}
/**
* Gets the last update time.
*
* @return the last update time
*/
public String getLastUpdateTime() {
return lastUpdateTime;
}
/**
* Sets the last update time.
*
* @param lastUpdateTime the new last update time
*/
public void setLastUpdateTime(String lastUpdateTime) {
this.lastUpdateTime = lastUpdateTime;
}
/**
* Gets the last update user.
*
* @return the last update user
*/
public String getLastUpdateUser() {
return lastUpdateUser;
}
/**
* Sets the last update user.
*
* @param lastUpdateUser the new last update user
*/
public void setLastUpdateUser(String lastUpdateUser) {
this.lastUpdateUser = lastUpdateUser;
}
/**
* Gets the creation time.
*
* @return the creation time
*/
public String getCreationTime() {
return creationTime;
}
/**
* Sets the creation time.
*
* @param creationTime the new creation time
*/
public void setCreationTime(String creationTime) {
this.creationTime = creationTime;
}
/**
* Gets the creation user.
*
* @return the creation user
*/
public String getCreationUser() {
return creationUser;
}
/**
* Sets the creation user.
*
* @param creationUser the new creation user
*/
public void setCreationUser(String creationUser) {
this.creationUser = creationUser;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("RecordDV [id=");
builder.append(id);
builder.append(", recordType=");
builder.append(recordType);
builder.append(", version=");
builder.append(version);
builder.append(", licenzaID=");
builder.append(licenzaID);
builder.append(", policy=");
builder.append(policy);
builder.append(", nome=");
builder.append(nome);
builder.append(", folderId=");
builder.append(folderId);
builder.append(", lastUpdateTime=");
builder.append(lastUpdateTime);
builder.append(", lastUpdateUser=");
builder.append(lastUpdateUser);
builder.append(", creationTime=");
builder.append(creationTime);
builder.append(", creationUser=");
builder.append(creationUser);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,125 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
import java.util.List;
import org.gcube.application.geoportalcommon.shared.products.content.AssociatedContentDV;
import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV;
/**
* The Class RelazioneScavoDV.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Dec 21, 2020
*/
public class RelazioneScavoDV extends AssociatedContentDV implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2456950567302197554L;
/** The responsabili. */
private List<String> responsabili;
/** The soggetto. */
private List<String> soggetto;
private List<WorkspaceContentDV> listWsContent;
/**
* Instantiates a new relazione scavo DV.
*/
public RelazioneScavoDV() {
}
/**
* Instantiates a new relazione scavo DV.
*
* @param responsabili the responsabili
* @param soggetto the soggetto
*/
public RelazioneScavoDV(List<String> responsabili, List<String> soggetto) {
super();
this.responsabili = responsabili;
this.soggetto = soggetto;
}
/**
* Gets the responsabili.
*
* @return the responsabili
*/
public List<String> getResponsabili() {
return responsabili;
}
/**
* Sets the responsabili.
*
* @param responsabili the new responsabili
*/
public void setResponsabili(List<String> responsabili) {
this.responsabili = responsabili;
}
/**
* Gets the soggetto.
*
* @return the soggetto
*/
public List<String> getSoggetto() {
return soggetto;
}
/**
* Sets the soggetto.
*
* @param soggetto the new soggetto
*/
public void setSoggetto(List<String> soggetto) {
this.soggetto = soggetto;
}
/**
* Gets the list ws content.
*
* @return the list ws content
*/
public List<WorkspaceContentDV> getListWsContent() {
return listWsContent;
}
/**
* Sets the list ws content.
*
* @param listWsContent the new list ws content
*/
public void setListWsContent(List<WorkspaceContentDV> listWsContent) {
this.listWsContent = listWsContent;
}
/**
* To string.
*
* @return the string
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("RelazioneScavoDV [responsabili=");
builder.append(responsabili);
builder.append(", soggetto=");
builder.append(soggetto);
builder.append(", listWsContent=");
builder.append(listWsContent);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,141 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
import org.gcube.application.geoportalcommon.shared.products.content.AssociatedContentDV;
/**
* The Class SDILayerDescriptorDV.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 4, 2020
*/
public class SDILayerDescriptorDV extends AssociatedContentDV implements Serializable {
/**
*
*/
private static final long serialVersionUID = 6137246723753812015L;
// meta
private String layerUUID;
private Long layerID;
// layer
private String layerName;
private String wmsLink;
/**
* Instantiates a new SDI layer descriptor DV.
*/
public SDILayerDescriptorDV() {
}
/**
* Instantiates a new SDI layer descriptor DV.
*
* @param layerUUID the layer UUID
* @param layerID the layer ID
* @param layerName the layer name
* @param wmsLink the wms link
*/
public SDILayerDescriptorDV(String layerUUID, Long layerID, String layerName, String wmsLink) {
super();
this.layerUUID = layerUUID;
this.layerID = layerID;
this.layerName = layerName;
this.wmsLink = wmsLink;
}
/**
* Gets the layer UUID.
*
* @return the layer UUID
*/
public String getLayerUUID() {
return layerUUID;
}
/**
* Sets the layer UUID.
*
* @param layerUUID the new layer UUID
*/
public void setLayerUUID(String layerUUID) {
this.layerUUID = layerUUID;
}
/**
* Gets the layer ID.
*
* @return the layer ID
*/
public Long getLayerID() {
return layerID;
}
/**
* Sets the layer ID.
*
* @param layerID the new layer ID
*/
public void setLayerID(Long layerID) {
this.layerID = layerID;
}
/**
* Gets the layer name.
*
* @return the layer name
*/
public String getLayerName() {
return layerName;
}
/**
* Sets the layer name.
*
* @param layerName the new layer name
*/
public void setLayerName(String layerName) {
this.layerName = layerName;
}
/**
* Gets the wms link.
*
* @return the wms link
*/
public String getWmsLink() {
return wmsLink;
}
/**
* Sets the wms link.
*
* @param wmsLink the new wms link
*/
public void setWmsLink(String wmsLink) {
this.wmsLink = wmsLink;
}
/* (non-Javadoc)
* @see org.gcube.portlets.user.geoportaldataviewer.shared.products.content.AssociatedContentDV#toString()
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("SDILayerDescriptor [layerUUID=");
builder.append(layerUUID);
builder.append(", layerID=");
builder.append(layerID);
builder.append(", layerName=");
builder.append(layerName);
builder.append(", wmsLink=");
builder.append(wmsLink);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,139 @@
package org.gcube.application.geoportalcommon.shared.products.model;
import java.io.Serializable;
import java.util.List;
import org.gcube.application.geoportalcommon.shared.products.content.AssociatedContentDV;
import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV;
/**
* The Class UploadedImage.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Nov 2, 2020
*/
public class UploadedImageDV extends AssociatedContentDV implements Serializable {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = 809167060189883015L;
/** The didascalia. */
private String didascalia;
/** The format. */
private String format;
/** The responsabili. */
private List<String> responsabili;
/** The soggetto. */
private List<String> soggetto;
private List<WorkspaceContentDV> listWsContent;
/**
* Instantiates a new uploaded image.
*/
public UploadedImageDV() {
}
/**
* Gets the didascalia.
*
* @return the didascalia
*/
public String getDidascalia() {
return didascalia;
}
/**
* Sets the didascalia.
*
* @param didascalia the new didascalia
*/
public void setDidascalia(String didascalia) {
this.didascalia = didascalia;
}
/**
* Gets the format.
*
* @return the format
*/
public String getFormat() {
return format;
}
/**
* Sets the format.
*
* @param format the new format
*/
public void setFormat(String format) {
this.format = format;
}
/**
* Gets the responsabili.
*
* @return the responsabili
*/
public List<String> getResponsabili() {
return responsabili;
}
/**
* Sets the responsabili.
*
* @param responsabili the new responsabili
*/
public void setResponsabili(List<String> responsabili) {
this.responsabili = responsabili;
}
/**
* Gets the soggetto.
*
* @return the soggetto
*/
public List<String> getSoggetto() {
return soggetto;
}
/**
* Sets the soggetto.
*
* @param soggetto the new soggetto
*/
public void setSoggetto(List<String> soggetto) {
this.soggetto = soggetto;
}
public List<WorkspaceContentDV> getListWsContent() {
return listWsContent;
}
public void setListWsContent(List<WorkspaceContentDV> listWsContent) {
this.listWsContent = listWsContent;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("UploadedImageDV [didascalia=");
builder.append(didascalia);
builder.append(", format=");
builder.append(format);
builder.append(", responsabili=");
builder.append(responsabili);
builder.append(", soggetto=");
builder.append(soggetto);
builder.append(", listWsContent=");
builder.append(listWsContent);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,96 @@
package org.gcube.application.geoportalcommon.util;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* The Class URLUtil.
*
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
*
* Oct 29, 2020
*/
public class URLParserUtil {
/**
* Adds the parameter to query string.
*
* @param key the key
* @param value the value
* @param prefixAmpersand the prefix ampersand
* @param suffixAmpersand the suffix ampersand
* @return the string
*/
public static String addParameterToQueryString(String key, String value, boolean prefixAmpersand,
boolean suffixAmpersand) {
String queryParameter = "";
if (prefixAmpersand)
queryParameter += "&";
queryParameter += key + "=" + value;
if (suffixAmpersand)
queryParameter += "&";
return queryParameter;
}
/**
* Extract value of parameter from URL.
*
* @param paramName the param name
* @param url the url
* @return the string
*/
public static String extractValueOfParameterFromURL(String paramName, String url) {
int index = url.toLowerCase().indexOf(paramName.toLowerCase() + "="); // ADDING CHAR "=" IN TAIL TO BE SURE THAT
// IT
// IS A PARAMETER
String value = "";
if (index > -1) {
int start = index + paramName.length() + 1; // add +1 for char '='
String sub = url.substring(start, url.length());
int indexOfSeparator = sub.indexOf("&");
int end = indexOfSeparator != -1 ? indexOfSeparator : sub.length();
value = sub.substring(0, end);
} else
return null;
return value;
}
/**
* Split query.
*
* @param url the url
* @return the map
* @throws UnsupportedEncodingException the unsupported encoding exception
*/
public static Map<String, List<String>> splitQuery(URL url) throws UnsupportedEncodingException {
final Map<String, List<String>> query_pairs = new LinkedHashMap<String, List<String>>();
final String[] pairs = url.getQuery().split("&");
for (String pair : pairs) {
final int idx = pair.indexOf("=");
final String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
if (!query_pairs.containsKey(key)) {
query_pairs.put(key, new LinkedList<String>());
}
final String value = idx > 0 && pair.length() > idx + 1
? URLDecoder.decode(pair.substring(idx + 1), "UTF-8")
: null;
query_pairs.get(key).add(value);
}
return query_pairs;
}
}