From 80e5cfe44eebd473849ec211477a36dddbaf5f4c Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Tue, 1 Dec 2020 17:35:31 +0100 Subject: [PATCH] revert to geoportal-logic. integrated with geoportal-data-common --- .classpath | 6 +- .../com.gwtplugins.gdt.eclipse.core.prefs | 2 +- pom.xml | 14 +- .../GeoPortalDataEntryApp.gwt.xml | 45 +-- .../client/GeoPortalDataEntryApp.java | 26 +- .../client/GeoportalDataEntryService.java | 11 + .../GeoportalDataEntryServiceAsync.java | 4 + .../server/ConvertToServiceModel.java | 10 +- .../server/GeoportalDataEntryServiceImpl.java | 285 +++++++++++------- .../GeoPortalDataEntryApp.gwt.xml | 45 +-- 10 files changed, 281 insertions(+), 167 deletions(-) diff --git a/.classpath b/.classpath index 57d6904..a2aaf05 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -35,5 +35,5 @@ - + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 19fd48b..ac58885 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,5 +1,5 @@ eclipse.preferences.version=1 jarsExcludedFromWebInfLib= -lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-entry-app/target/geoportal-data-entry-app-1.0.2-SNAPSHOT +lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-entry-app/target/geoportal-data-entry-app-1.1.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/pom.xml b/pom.xml index 047f190..848194d 100644 --- a/pom.xml +++ b/pom.xml @@ -116,10 +116,22 @@ org.gcube.application - geoportal-client + geoportal-data-common [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) compile + + org.gcube.application + geoportal-logic + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + compile + + + javax.servlet + servlet-api + + + org.gcube.portlets.user gcube-widgets diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml b/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml index 62c8534..8e50a33 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml @@ -1,29 +1,34 @@ - - + + - - - - - - - - - - + + + + - - + - + - - + - - - + + + + + + + + + + + + + + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java index 3929c42..7641881 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoPortalDataEntryApp.java @@ -7,6 +7,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.TreeMap; +import org.gcube.application.geoportalcommon.shared.GeoNaItemRef; import org.gcube.portlets.user.geoportaldataentry.client.events.CreateNewProjectEvent; import org.gcube.portlets.user.geoportaldataentry.client.events.CreateNewProjectEventHandler; import org.gcube.portlets.user.geoportaldataentry.client.events.SaveGeonaDataFormsEvent; @@ -30,6 +31,7 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.RootPanel; @@ -98,7 +100,6 @@ public class GeoPortalDataEntryApp implements EntryPoint { bindEvents(); mainPanel.addFormPanel(geoNaMainForm); RootPanel.get(DIV_PORTLET_ID).add(mainPanel); - } @@ -263,6 +264,29 @@ public class GeoPortalDataEntryApp implements EntryPoint { }catch (Exception e) { // TODO: handle exception } + + final HorizontalPanel hpLoader = new HorizontalPanel(); + final LoaderIcon lc = new LoaderIcon("Get link..."); + hpLoader.add(lc); + modal.add(hpLoader); + GeoportalDataEntryServiceAsync.Util.getInstance().getLinksFor(result.getRecordId(), "concessione", new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + hpLoader.clear(); + + } + + @Override + public void onSuccess(GeoNaItemRef result) { + hpLoader.clear(); + String htmlLink = "
Go to record: "+result.getRestrictedLink().getShortURL()+"
"; + HTML html = new HTML(htmlLink); + modal.add(html); + } + }); + + //geoNaMainForm.enableButtonSave(true); //resetUI(); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryService.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryService.java index 07e255f..1bc9224 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryService.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryService.java @@ -2,6 +2,7 @@ package org.gcube.portlets.user.geoportaldataentry.client; import java.util.List; +import org.gcube.application.geoportalcommon.shared.GeoNaItemRef; import org.gcube.portlets.user.geoportaldataentry.shared.CommitReport; import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; import org.gcube.portlets.user.geoportaldataentry.shared.GeonaISConfig; @@ -18,4 +19,14 @@ public interface GeoportalDataEntryService extends RemoteService { CommitReport saveGeonaDataForms(List listGeonaFormObjects) throws Exception; GeonaISConfig getGeonaInitConfig(); + + /** + * Gets the links for. + * + * @param itemId the item id + * @param recordType the record type + * @return the links for + * @throws Exception the exception + */ + GeoNaItemRef getLinksFor(Long itemId, String recordType) throws Exception; } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryServiceAsync.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryServiceAsync.java index e4cba31..99830aa 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GeoportalDataEntryServiceAsync.java @@ -2,6 +2,7 @@ package org.gcube.portlets.user.geoportaldataentry.client; import java.util.List; +import org.gcube.application.geoportalcommon.shared.GeoNaItemRef; import org.gcube.portlets.user.geoportaldataentry.shared.CommitReport; import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; import org.gcube.portlets.user.geoportaldataentry.shared.GeonaISConfig; @@ -39,4 +40,7 @@ public interface GeoportalDataEntryServiceAsync void getGeonaInitConfig(AsyncCallback callback); + + + void getLinksFor(Long itemId, String recordType, AsyncCallback callback); } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/ConvertToServiceModel.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/ConvertToServiceModel.java index 8ba8474..ec01078 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/ConvertToServiceModel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/ConvertToServiceModel.java @@ -8,11 +8,11 @@ import java.util.Date; import java.util.List; import java.util.Map; -import org.gcube.application.geoportal.common.model.legacy.AccessPolicy; -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.RelazioneScavo; -import org.gcube.application.geoportal.common.model.legacy.UploadedImage; +import org.gcube.application.geoportal.model.AccessPolicy; +import org.gcube.application.geoportal.model.concessioni.Concessione; +import org.gcube.application.geoportal.model.concessioni.LayerConcessione; +import org.gcube.application.geoportal.model.concessioni.RelazioneScavo; +import org.gcube.application.geoportal.model.content.UploadedImage; import org.gcube.portlets.user.geoportaldataentry.client.ConstantsGeoPortalDataEntryApp; import org.gcube.portlets.widgets.mpformbuilder.shared.GenericDatasetBean; import org.gcube.vomanagement.usermanagement.model.GCubeUser; diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GeoportalDataEntryServiceImpl.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GeoportalDataEntryServiceImpl.java index 2a1e4b1..8af50b6 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GeoportalDataEntryServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GeoportalDataEntryServiceImpl.java @@ -6,15 +6,19 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.validation.ValidationException; - -import org.gcube.application.geoportal.client.legacy.ConcessioniManager; -import org.gcube.application.geoportal.common.model.legacy.Concessione; -import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor; -import org.gcube.application.geoportal.common.model.legacy.LayerConcessione; -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.report.PublicationReport; +import org.gcube.application.geoportal.managers.ConcessioneManager; +import org.gcube.application.geoportal.managers.ManagerFactory; +import org.gcube.application.geoportal.model.InputStreamDescriptor; +import org.gcube.application.geoportal.model.concessioni.Concessione; +import org.gcube.application.geoportal.model.concessioni.LayerConcessione; +import org.gcube.application.geoportal.model.concessioni.RelazioneScavo; +import org.gcube.application.geoportal.model.content.UploadedImage; +import org.gcube.application.geoportal.model.content.WorkspaceContent; +import org.gcube.application.geoportal.model.fault.PublishException; +import org.gcube.application.geoportal.model.fault.ValidationException; +import org.gcube.application.geoportal.utils.Serialization; +import org.gcube.application.geoportalcommon.GeoportalCommon; +import org.gcube.application.geoportalcommon.shared.GeoNaItemRef; import org.gcube.portlets.user.geoportaldataentry.client.ConcessioniFormCardTitle; import org.gcube.portlets.user.geoportaldataentry.client.GeoportalDataEntryService; import org.gcube.portlets.user.geoportaldataentry.shared.CommitReport; @@ -31,19 +35,29 @@ import com.google.gwt.user.server.rpc.RemoteServiceServlet; /** * The server side implementation of the RPC service. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * Dec 1, 2020 */ @SuppressWarnings("serial") public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implements GeoportalDataEntryService { - + public static final String GEONA_GENERIC_RESOURCE_SECONDARY_TYPE = "GEONA_GENERIC_RESOURCE_SECONDARY_TYPE"; private static final Logger LOG = LoggerFactory.getLogger(GeoportalDataEntryServiceImpl.class); + /** + * Save geona data forms. + * + * @param listGeonaFormObjects the list geona form objects + * @return the commit report + * @throws Exception the exception + */ @Override public CommitReport saveGeonaDataForms(List listGeonaFormObjects) throws Exception { LOG.info("saveGeonaDataForms called"); - - HashMap> toMap = - new HashMap>(); + + HashMap> toMap = new HashMap>(); for (GeoNaFormDataObject geoNaFormDataObject : listGeonaFormObjects) { @@ -57,148 +71,158 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen listForm.add(geoNaFormDataObject); toMap.put(theType, listForm); } - if(LOG.isDebugEnabled()) + if (LOG.isDebugEnabled()) prettyPrintClientDataEntryMap(toMap); - - LOG.debug("Built map with form data: "+toMap); - + + LOG.debug("Built map with form data: " + toMap); + GCubeUser user = SessionUtil.getCurrentUser(this.getThreadLocalRequest()); - - ConcessioniManager manager = new ConcessioniManager(); - Concessione concessione = null; - boolean registered = false; + + ConcessioneManager manager; + try { - - //Saving Data - //Informazioni di Progetto + + // Saving Data + // Informazioni di Progetto List list = toMap.get(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO); - if(list==null || list.isEmpty() || list.get(0)==null || list.get(0).getListGDB()==null) - throw new Exception("Error: no data found for "+ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getTitle()); - + if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) + throw new Exception( + "Error: no data found for " + ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getTitle()); + List listGDB = list.get(0).getListGDB(); GenericDatasetBean idp = listGDB.get(0); LOG.debug("\n\n"); - LOG.debug(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO+" building with client obj: "+idp); - concessione = ConvertToServiceModel.toConcessione(idp, user); - LOG.debug("Built "+ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO+" as server obj: "+concessione); - - //saving into back-end - concessione = manager.registerNew(concessione); - registered = true; - - //RELAZIONE_DI_SCAVO + LOG.debug(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO + " building with client obj: " + idp); + Concessione concessione = ConvertToServiceModel.toConcessione(idp, user); + LOG.debug("Built " + ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO + " as server obj: " + concessione); + + // saving into back-end + manager = ManagerFactory.registerNew(concessione); + + // RELAZIONE_DI_SCAVO list = toMap.get(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO); - if(list==null || list.isEmpty() || list.get(0)==null || list.get(0).getListGDB()==null) - throw new Exception("Error: no data found for "+ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getTitle()); - + if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) + throw new Exception( + "Error: no data found for " + ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getTitle()); + listGDB = list.get(0).getListGDB(); GenericDatasetBean rds = listGDB.get(0); LOG.debug("\n\n"); - LOG.debug(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO+" building with client obj: "+rds); + LOG.debug(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO + " building with client obj: " + rds); RelazioneScavo relazioneDiScavo = ConvertToServiceModel.toRelazioneScavo(rds); - LOG.debug("Built "+ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO+" as server obj: "+relazioneDiScavo); - //Should be only one + LOG.debug("Built " + ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO + " as server obj: " + relazioneDiScavo); + // Should be only one for (FileUploaded fileUploaded : rds.getFilesUploaded()) { FileInputStream fis = new FileInputStream(fileUploaded.getTempSystemPath()); InputStreamDescriptor isd = new InputStreamDescriptor(fis, fileUploaded.getFileName()); - //saving into back-end + // saving into back-end manager.setRelazioneScavo(relazioneDiScavo, isd); } - - - //IMMAGINI_RAPPRESENTATIVE + + // IMMAGINI_RAPPRESENTATIVE list = toMap.get(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE); - if(list==null || list.isEmpty() || list.get(0)==null || list.get(0).getListGDB()==null) - throw new Exception("Error: no data found for "+ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE.getTitle()); - + if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) + throw new Exception( + "Error: no data found for " + ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE.getTitle()); + List imgRaprsLst = list.get(0).getListGDB(); for (GenericDatasetBean imgRapr : imgRaprsLst) { LOG.debug("\n\n"); - LOG.debug(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE+" building with client obj: "+imgRapr); + LOG.debug(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE + " building with client obj: " + imgRapr); UploadedImage img = ConvertToServiceModel.toImmaginiRappresentative(imgRapr); - LOG.debug("Built "+ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE+" as server obj: "+img); + LOG.debug("Built " + ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE + " as server obj: " + img); for (FileUploaded fileUploaded : imgRapr.getFilesUploaded()) { - LOG.debug("Adding uploaded file: "+fileUploaded.getFileName() + " to "+img); + LOG.debug("Adding uploaded file: " + fileUploaded.getFileName() + " to " + img); FileInputStream fis = new FileInputStream(fileUploaded.getTempSystemPath()); InputStreamDescriptor isd = new InputStreamDescriptor(fis, fileUploaded.getFileName()); - //saving into back-end - manager.addImmagineRappresentativa(img,isd); + // saving into back-end + manager.addImmagineRappresentativa(img, isd); } } - - //POSIZIONAMENTO_DELL_AREA_DI_INDAGINE + + // POSIZIONAMENTO_DELL_AREA_DI_INDAGINE list = toMap.get(ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE); - if(list==null || list.isEmpty() || list.get(0)==null || list.get(0).getListGDB()==null) - throw new Exception("Error: no data found for "+ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE.getTitle()); - + if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) + throw new Exception("Error: no data found for " + + ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE.getTitle()); + listGDB = list.get(0).getListGDB(); GenericDatasetBean pad = listGDB.get(0); LOG.debug("\n\n"); - LOG.debug(ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE+" building with client obj: "+pad); + LOG.debug(ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE + " building with client obj: " + + pad); LayerConcessione layerPad = ConvertToServiceModel.toLayerConcessione(pad); - LOG.debug("Built "+ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE+" as server obj: "+layerPad); + LOG.debug("Built " + ConcessioniFormCardTitle.POSIZIONAMENTO_DELL_AREA_DI_INDAGINE + " as server obj: " + + layerPad); for (FileUploaded fileUploaded : pad.getFilesUploaded()) { - LOG.debug("Adding uploaded file: "+fileUploaded.getFileName() + " to "+layerPad); + LOG.debug("Adding uploaded file: " + fileUploaded.getFileName() + " to " + layerPad); FileInputStream fis = new FileInputStream(fileUploaded.getTempSystemPath()); InputStreamDescriptor isd = new InputStreamDescriptor(fis, fileUploaded.getFileName()); - //saving into back-end + // saving into back-end manager.setPosizionamento(layerPad, isd); } - - //PIANTA_DI_FINE_SCAVO + + // PIANTA_DI_FINE_SCAVO list = toMap.get(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO); - if(list==null || list.isEmpty() || list.get(0)==null || list.get(0).getListGDB()==null) - throw new Exception("Error: no data found for "+ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO.getTitle()); - + if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) + throw new Exception( + "Error: no data found for " + ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO.getTitle()); + listGDB = list.get(0).getListGDB(); GenericDatasetBean pfs = listGDB.get(0); LOG.debug("\n\n"); - LOG.debug(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO+" building with client obj: "+pfs); + LOG.debug(ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO + " building with client obj: " + pfs); LayerConcessione layerPfs = ConvertToServiceModel.toLayerConcessione(pfs); - LOG.debug("Built "+ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO+" as server obj: "+layerPfs); + LOG.debug("Built " + ConcessioniFormCardTitle.PIANTA_DI_FINE_SCAVO + " as server obj: " + layerPfs); for (FileUploaded fileUploaded : pfs.getFilesUploaded()) { - LOG.debug("Adding uploaded file: "+fileUploaded.getFileName() + " to "+layerPfs); + LOG.debug("Adding uploaded file: " + fileUploaded.getFileName() + " to " + layerPfs); FileInputStream fis = new FileInputStream(fileUploaded.getTempSystemPath()); InputStreamDescriptor isd = new InputStreamDescriptor(fis, fileUploaded.getFileName()); - //saving into back-end - manager.addPiantaScavo(layerPfs, isd); + // saving into back-end + manager.addPiantaFineScavo(layerPfs, isd); } - }catch (Exception e) { - LOG.error("Error on converting form data: ",e); - throw new Exception("Error occurred on saving data, try again or contact the support. Error: "+e.getMessage()); + } catch (Exception e) { + LOG.error("Error on converting form data: ", e); + throw new Exception( + "Error occurred on saving data, try again or contact the support. Error: " + e.getMessage()); } try { - - CommitReport cRep = null; - - if(registered) { - PublicationReport report = manager.commitRegistered(); - LOG.info("Registered: "+report); - - cRep = new CommitReport(); - cRep.setRecordId(report.getTheRecord().getId()); - cRep.setReport(report.toString()); - if(report.getTheRecord()!=null ) { - cRep.setState(STATE.OK); - cRep.setMsg("Project saved successfully"); - } - else { - cRep.setState(STATE.ERROR); - cRep.setMsg("Project not saved correctly"); - } - }else - throw new Exception("Sorry, the record has not been registred correclty. Try again"); - + // If true -> data are published into the SDI + Boolean publish = true; + Concessione registered = manager.commit(publish); + LOG.info("Registered: " + registered); + String link = null; + try { + link = ((WorkspaceContent) registered.getRelazioneScavo().getActualContent().get(0)).getLink(); + } catch (Exception e) { + LOG.warn("Not able to check public link ", e); + } + + // String link = "toTest"; + CommitReport cRep = new CommitReport(); + cRep.setRecordId(registered.getId()); + if (link != null) { + cRep.setState(STATE.OK); + cRep.setMsg("Project saved successfully"); + } else { + cRep.setState(STATE.WARN); + cRep.setMsg("Project saved with errors"); + } + return cRep; - }catch (ValidationException e1){ - LOG.error("Error on validating data: ",e1); - throw new Exception("Error on validating data: ", e1); - }catch (Exception e) { - LOG.error("Error on commiting data: ",e); - throw new Exception("Error occurred on saving data, try again or contact the support. Error: "+e.getMessage()); - }finally { + } catch (ValidationException e1) { + LOG.error("Error on validating data: ", e1); + throw new Exception("Error on validating data: " + Serialization.prettyPrint(e1.getReport())); + } catch (PublishException e2) { + LOG.error("Error on publishing data: ", e2); + throw new Exception("Error on publishing data: " + e2.getMessage()); + } catch (Exception e) { + LOG.error("Error on commiting data: ", e); + throw new Exception( + "Error occurred on saving data, try again or contact the support. Error: " + e.getMessage()); + } finally { // if(manager!=null) { // try { // manager.shutdown(); @@ -208,12 +232,18 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen // // } } + } - + + /** + * Gets the geona init config. + * + * @return the geona init config + */ @Override public GeonaISConfig getGeonaInitConfig() { LOG.info("getConfig called"); - + String scope = SessionUtil.getCurrentContext(this.getThreadLocalRequest(), false); String theSecondaryType; try { @@ -225,31 +255,54 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen // LOG.warn("\n\n\nHARD-CABLING THE SCOPE, PLEASE REMOTE IT!!!!\n\n\n"); // scope = "/gcube/devsec/devVRE"; - + GeonaISConfig configs = new GeonaISConfig(theSecondaryType, scope); - LOG.info("returning config: "+configs); + LOG.info("returning config: " + configs); return configs; } - - - + + /** + * Gets the links for. + * + * @param itemId the item id + * @param recordType the record type + * @return the links for + * @throws Exception the exception + */ + @Override + public GeoNaItemRef getLinksFor(Long itemId, String recordType) throws Exception { + LOG.info("getLinksFor called"); + + SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true); + GeoportalCommon gc = new GeoportalCommon(); + GeoNaItemRef item = new GeoNaItemRef(itemId, recordType); + item = gc.getPublicLinksFor(item); + LOG.info("Returning: " + item); + return item; + } + + /** + * Pretty print client data entry map. + * + * @param toMap the to map + */ private void prettyPrintClientDataEntryMap(HashMap> toMap) { - + for (ConcessioniFormCardTitle theType : toMap.keySet()) { LOG.debug("\n\n"); LOG.debug(theType.toString()); List list = toMap.get(theType); for (GeoNaFormDataObject geoNaFormDataObject : list) { - LOG.debug("\t has "+geoNaFormDataObject.getListGDB().size() +" data bean/s"); + LOG.debug("\t has " + geoNaFormDataObject.getListGDB().size() + " data bean/s"); int i = 0; for (GenericDatasetBean gbd : geoNaFormDataObject.getListGDB()) { - LOG.debug("\t "+ ++i +") "+GenericDatasetBean.class.getSimpleName()+" entries:"); + LOG.debug("\t " + ++i + ") " + GenericDatasetBean.class.getSimpleName() + " entries:"); Map> map = gbd.getFormDataEntryFields(); for (String keyEntry : map.keySet()) { - LOG.debug("\t "+keyEntry + ": "+map.get(keyEntry)); + LOG.debug("\t " + keyEntry + ": " + map.get(keyEntry)); } for (FileUploaded fup : gbd.getFilesUploaded()) { - LOG.debug("\t "+fup); + LOG.debug("\t " + fup); } } } diff --git a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml b/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml index 62c8534..8e50a33 100644 --- a/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/geoportaldataentry/GeoPortalDataEntryApp.gwt.xml @@ -1,29 +1,34 @@ - - + + - - - - - - - - - - + + + + - - + - + - - + - - - + + + + + + + + + + + + + +