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 8971abc..2bac2e5 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,16 +7,25 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.TreeMap; +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; +import org.gcube.portlets.user.geoportaldataentry.client.events.SaveGeonaDataFormsHandler; import org.gcube.portlets.user.geoportaldataentry.client.ui.GeonaDataEntryMainForm; import org.gcube.portlets.user.geoportaldataentry.client.ui.GeonaMainPanel; import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel; +import org.gcube.portlets.user.geoportaldataentry.client.ui.utils.LoaderIcon; import org.gcube.portlets.widgets.mpformbuilder.client.MetadataProfileFormBuilderServiceAsync; import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm; import org.gcube.portlets.widgets.mpformbuilder.shared.metadata.MetaDataProfileBean; +import com.github.gwtbootstrap.client.ui.Alert; +import com.github.gwtbootstrap.client.ui.Modal; +import com.github.gwtbootstrap.client.ui.constants.AlertType; import com.google.gwt.core.client.EntryPoint; 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.RootPanel; @@ -38,10 +47,16 @@ public class GeoPortalDataEntryApp implements EntryPoint { */ private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class); - private final HandlerManager eventBus = new HandlerManager(null); + private final HandlerManager appManagerBus = new HandlerManager(null); private LinkedHashMap mapForms = new LinkedHashMap(); + private GeonaDataEntryMainForm geoNaMainForm; + + private Collection orderedCards; + + private GeonaMainPanel mainPanel; + //private List orderedListMetadataProfilesForGeona = null; /** @@ -52,20 +67,21 @@ public class GeoPortalDataEntryApp implements EntryPoint { String scope = "/gcube/devsec/devVRE"; String secondaryType = "GeoNaMetadata"; - final GeonaMainPanel mainPanel = new GeonaMainPanel(); + mainPanel = new GeonaMainPanel(appManagerBus); mainPanel.setLoaderVisible("Loading...", true); - final GeonaDataEntryMainForm geoNaMainForm = new GeonaDataEntryMainForm(); + geoNaMainForm = new GeonaDataEntryMainForm(appManagerBus); MetadataProfileFormBuilderServiceAsync.Util.getInstance().getProfilesInTheScope(scope, secondaryType, new AsyncCallback>() { @Override public void onSuccess(List result) { - Collection orderedCards = setGeoNaFormsOrder(result); + orderedCards = setGeoNaFormsOrder(result); //ordered values - for (GeoNaFormCardModel geonaForm : orderedCards) { - CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean())); + buildNewCards(orderedCards); + /*for (GeoNaFormCardModel geonaForm : orderedCards) { + CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()),appManagerBus); geonaForm.setMetadataForm(baseForm); String key = geonaForm.getMetadataProfileBean().getType(); if(geonaForm.getFormCardTitle()!=null) { @@ -74,7 +90,7 @@ public class GeoPortalDataEntryApp implements EntryPoint { geoNaMainForm.addForm(key, geonaForm); mapForms.put(key, geonaForm); } - mainPanel.setLoaderVisible("", false); + mainPanel.setLoaderVisible("", false);*/ } @Override @@ -82,13 +98,34 @@ public class GeoPortalDataEntryApp implements EntryPoint { } }); - + bindEvents(); mainPanel.addFormPanel(geoNaMainForm); -// RootPanel.get(DIV_PORTLET_ID).add(mainPanel); } + private void buildNewCards(Collection orderedCards) { + mainPanel.setLoaderVisible("Loading...", true); + resetUI(); + //ordered values + for (GeoNaFormCardModel geonaForm : orderedCards) { + CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()),appManagerBus); + geonaForm.setMetadataForm(baseForm); + String key = geonaForm.getMetadataProfileBean().getType(); + if(geonaForm.getFormCardTitle()!=null) { + key = geonaForm.getFormCardTitle().getTitle(); + } + geoNaMainForm.addForm(key, geonaForm); + mapForms.put(key, geonaForm); + } + mainPanel.setLoaderVisible("", false); + } + + private void resetUI() { + geoNaMainForm.reset(); + mapForms.clear(); + } + private Collection setGeoNaFormsOrder(List listMetadataProfilesForGeona) { TreeMap treemapOrderedGeoNaProfiles = new TreeMap(); @@ -132,5 +169,67 @@ public class GeoPortalDataEntryApp implements EntryPoint { return treemapOrderedGeoNaProfiles.values(); } + + + private void bindEvents() { + + appManagerBus.addHandler(SaveGeonaDataFormsEvent.TYPE, new SaveGeonaDataFormsHandler() { + + @Override + public void onSave(SaveGeonaDataFormsEvent saveGeonaDataFormsEvent) { + + if(saveGeonaDataFormsEvent.getListGeonaDataForms()!=null) { + + final Modal modal = new Modal(true); + modal.setCloseVisible(false); + final LoaderIcon loader = new LoaderIcon(); + loader.setText("Trying to save the data, please wait..."); + modal.add(loader); + + GreetingServiceAsync.Util.getInstance().saveGeonaDataForms(saveGeonaDataFormsEvent.getListGeonaDataForms(), new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + modal.remove(loader); + Alert alert = new Alert(caught.getMessage()); + alert.setType(AlertType.ERROR); + alert.setClose(false); + modal.add(alert); + modal.setCloseVisible(true); + resetUI(); + } + + @Override + public void onSuccess(String result) { + modal.remove(loader); + Alert alert = new Alert(result); + alert.setType(AlertType.INFO); + alert.setClose(false); + modal.add(alert); + modal.setCloseVisible(true); + resetUI(); + } + }); + } + + } + }); + + appManagerBus.addHandler(CreateNewProjectEvent.TYPE, new CreateNewProjectEventHandler() { + + @Override + public void onCreateNewProject(CreateNewProjectEvent newProjectEvent) { + + //means the form was not submitted + if(mapForms.size()>0) { + boolean confirm = Window.confirm("The data are not saved and will be lost, Confirm?"); + if(confirm) + buildNewCards(orderedCards); + }else + buildNewCards(orderedCards); + + } + }); + } } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingService.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingService.java index d180c24..62ec218 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingService.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingService.java @@ -1,5 +1,9 @@ package org.gcube.portlets.user.geoportaldataentry.client; +import java.util.List; + +import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; + import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @@ -8,5 +12,6 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; */ @RemoteServiceRelativePath("greet") public interface GreetingService extends RemoteService { - String greetServer(String name) throws IllegalArgumentException; + + String saveGeonaDataForms(List listGeonaFormObjects) throws Exception; } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingServiceAsync.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingServiceAsync.java index b249913..dd7b3e1 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/GreetingServiceAsync.java @@ -1,18 +1,15 @@ package org.gcube.portlets.user.geoportaldataentry.client; +import java.util.List; + +import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; + import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; public interface GreetingServiceAsync { - /** - * GWT-RPC service asynchronous (client-side) interface - * @see org.gcube.portlets.user.geoportaldataentry.client.GreetingService - */ - void greetServer( java.lang.String name, AsyncCallback callback ); - - /** * Utility class to get the RPC Async interface from client-side code */ @@ -34,4 +31,7 @@ public interface GreetingServiceAsync // Utility class should not be instantiated } } + + + void saveGeonaDataForms(List listGeonaFormObjects, AsyncCallback callback); } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsEvent.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsEvent.java new file mode 100644 index 0000000..b268b69 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsEvent.java @@ -0,0 +1,63 @@ +package org.gcube.portlets.user.geoportaldataentry.client.events; + +import java.util.List; + +import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; + +import com.google.gwt.event.shared.GwtEvent; + +// TODO: Auto-generated Javadoc +/** + * The Class SaveGeonaDataFormsEvent. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * Oct 20, 2020 + */ +public class SaveGeonaDataFormsEvent extends GwtEvent { + + /** The type. */ + public static Type TYPE = new Type(); + private List listGeonaDataForms; + + + /** + * Instantiates a new save geona data forms event. + * + * @param listGeonaDataForms the list geona data forms + */ + public SaveGeonaDataFormsEvent(List listGeonaDataForms) { + this.listGeonaDataForms = listGeonaDataForms; + } + + /** + * Gets the associated type. + * + * @return the associated type + */ + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#getAssociatedType() + */ + @Override + public Type getAssociatedType() { + return TYPE; + } + + /** + * Dispatch. + * + * @param handler the handler + */ + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler) + */ + @Override + protected void dispatch(SaveGeonaDataFormsHandler handler) { + handler.onSave(this); + } + + public List getListGeonaDataForms() { + return listGeonaDataForms; + } + +} diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsHandler.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsHandler.java new file mode 100644 index 0000000..befe3b9 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/events/SaveGeonaDataFormsHandler.java @@ -0,0 +1,22 @@ +package org.gcube.portlets.user.geoportaldataentry.client.events; + +import com.google.gwt.event.shared.EventHandler; + + +// TODO: Auto-generated Javadoc +/** + * The Interface SaveGeonaDataFormsHandler. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * Oct 20, 2020 + */ +public interface SaveGeonaDataFormsHandler extends EventHandler { + + /** + * On save. + * + * @param saveGeonaDataFormsEvent the save geona data forms event + */ + void onSave(SaveGeonaDataFormsEvent saveGeonaDataFormsEvent); +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaDataEntryMainForm.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaDataEntryMainForm.java index 7fc93c5..ba91b57 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaDataEntryMainForm.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaDataEntryMainForm.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; +import org.gcube.portlets.user.geoportaldataentry.client.events.SaveGeonaDataFormsEvent; import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel; import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard; import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; @@ -16,6 +17,7 @@ import com.github.gwtbootstrap.client.ui.TabPanel; import com.github.gwtbootstrap.client.ui.constants.AlertType; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; @@ -47,8 +49,11 @@ public class GeonaDataEntryMainForm extends Composite { private List listTabs = new ArrayList(); - public GeonaDataEntryMainForm() { + private HandlerManager appManagerBus; + + public GeonaDataEntryMainForm(HandlerManager appManagerBus) { initWidget(uiBinder.createAndBindUi(this)); + this.appManagerBus = appManagerBus; } public void addForm(String tabHeading, GeoNaFormCardModel geonFormModel){ @@ -61,7 +66,7 @@ public class GeonaDataEntryMainForm extends Composite { final Tab tab = new Tab(); tab.setHeading(tabHeading); //MetadataFormCard mfc = new MetadataFormCard(tab, createMetadataForm, repeatible); - MetadataFormCard mfc = new MetadataFormCard(tab,geonFormModel); + MetadataFormCard mfc = new MetadataFormCard(tab,geonFormModel,appManagerBus); listTabs.add(tab); mainTabPanel.add(tab); @@ -73,6 +78,12 @@ public class GeonaDataEntryMainForm extends Composite { mapForms.put(tabHeading, mfc); } + public void reset() { + mapForms.clear(); + mainTabPanel.clear(); + listTabs.clear(); + } + public void selectTab(int index){ @@ -97,7 +108,7 @@ public class GeonaDataEntryMainForm extends Composite { canSave = false; } - List listGoneFormObjects = new ArrayList(); + List listGeonaFormObjects = new ArrayList(); if(canSave) { for (String metadataType : mapForms.keySet()) { @@ -107,14 +118,15 @@ public class GeonaDataEntryMainForm extends Composite { listGDB.add(form.getFormDataBean()); } - listGoneFormObjects.add(new GeoNaFormDataObject(listGDB, card.getGeonaFormModel().getFormCardTitle())); + listGeonaFormObjects.add(new GeoNaFormDataObject(listGDB, card.getGeonaFormModel().getFormCardTitle())); } + appManagerBus.fireEvent(new SaveGeonaDataFormsEvent(listGeonaFormObjects)); }else { showAlertOnSaveAction("Detected errors, please fix it/them", AlertType.ERROR, true); } - Window.alert("I can save: "+listGoneFormObjects); + Window.alert("I can save: "+listGeonaFormObjects); } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.java index b35ea53..77790f5 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.java @@ -3,6 +3,7 @@ package org.gcube.portlets.user.geoportaldataentry.client.ui; import org.gcube.portlets.user.geoportaldataentry.client.ui.utils.LoaderIcon; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; @@ -26,6 +27,11 @@ public class GeonaMainPanel extends Composite { /** The loader. */ @UiField LoaderIcon loader; + + @UiField + GeonaNavigationBar geonaNavigationBar; + + private HandlerManager appManagerBus; /** The ui binder. */ private static GeonaMainPanelUiBinder uiBinder = GWT.create(GeonaMainPanelUiBinder.class); @@ -42,9 +48,12 @@ public class GeonaMainPanel extends Composite { /** * Instantiates a new geona main panel. + * @param appManagerBus */ - public GeonaMainPanel() { + public GeonaMainPanel(HandlerManager appManagerBus) { initWidget(uiBinder.createAndBindUi(this)); + this.appManagerBus = appManagerBus; + geonaNavigationBar.setAppManagerBus(appManagerBus); } /** diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.ui.xml index 36960c6..b8af370 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaMainPanel.ui.xml @@ -20,7 +20,7 @@ GeoNa - + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaNavigationBar.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaNavigationBar.java index c4c56cc..86d3ab3 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaNavigationBar.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/GeonaNavigationBar.java @@ -1,13 +1,15 @@ package org.gcube.portlets.user.geoportaldataentry.client.ui; +import org.gcube.portlets.user.geoportaldataentry.client.events.CreateNewProjectEvent; + import com.github.gwtbootstrap.client.ui.NavLink; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; @@ -17,34 +19,40 @@ public class GeonaNavigationBar extends Composite { interface GeonaNavigationBarUiBinder extends UiBinder { } - + private EventBus eventBus; public GeonaNavigationBar() { initWidget(uiBinder.createAndBindUi(this)); } - - public GeonaNavigationBar(EventBus eventBus) { - this(); - this.eventBus = eventBus; - bindEvents(); - } private void bindEvents() { // TODO Auto-generated method stub - + } @UiField NavLink linkCreateNewProject; + private HandlerManager appManagerBus; + public GeonaNavigationBar(String firstName) { initWidget(uiBinder.createAndBindUi(this)); } @UiHandler("linkCreateNewProject") void onClick(ClickEvent e) { - Window.alert("Hello!"); + appManagerBus.fireEvent(new CreateNewProjectEvent()); + } + + + /** + * Sets the app manager bus. + * + * @param appManagerBus the new app manager bus + */ + public void setAppManagerBus(HandlerManager appManagerBus) { + this.appManagerBus = appManagerBus; } } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/card/MetadataFormCard.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/card/MetadataFormCard.java index b237c65..8a95a87 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/card/MetadataFormCard.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/client/ui/card/MetadataFormCard.java @@ -12,6 +12,7 @@ import com.github.gwtbootstrap.client.ui.Tab; import com.github.gwtbootstrap.client.ui.constants.IconType; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.event.shared.HandlerManager; /** @@ -41,6 +42,8 @@ public class MetadataFormCard { /** The geona form model. */ private GeoNaFormCardModel geonaFormModel; + private HandlerManager appManagerBus; + /** * The Class MetadataFormCardEventHandler. * @@ -98,10 +101,12 @@ public class MetadataFormCard { * * @param tab the tab * @param geonaFormModel the geona form model + * @param appManagerBus the app manager bus */ - public MetadataFormCard(Tab tab, GeoNaFormCardModel geonaFormModel) { + public MetadataFormCard(Tab tab, GeoNaFormCardModel geonaFormModel, HandlerManager appManagerBus) { this.tab = tab; this.geonaFormModel = geonaFormModel; + this.appManagerBus = appManagerBus; this.repeatible = geonaFormModel.getFormCardTitle().isInternalRepeatibleForm(); this.buildCard(geonaFormModel.getMetadataForm()); geonaFormModel.getMetadataForm().addListener(formCardEventHandler); @@ -122,7 +127,7 @@ public class MetadataFormCard { @Override public void onClick(ClickEvent event) { - CreateMetadataForm newForm = new CreateMetadataForm(createMetadataForm.getMetadataProfiles()); + CreateMetadataForm newForm = new CreateMetadataForm(createMetadataForm.getMetadataProfiles(),appManagerBus); addNewForm(newForm); //newForm.getCreateButton().setFocus(true); } 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 f1b06c0..2e6254b 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,13 +8,12 @@ import java.util.Date; import java.util.List; import java.util.Map; -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.portlets.widgets.mpformbuilder.shared.upload.FileUploaded; import org.gcube.vomanagement.usermanagement.model.GCubeUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -102,7 +101,7 @@ public class ConvertToServiceModel { concessione.setFontiFinanziamento(fontiFinanziamento); } - List licenzaLst = mapFields.get("Licenza"); + List licenzaLst = mapFields.get("ID Licenza"); if(licenzaLst!=null && licenzaLst.size()>0) { //TODO FABIO //concessione.setLicenza() @@ -183,7 +182,7 @@ public class ConvertToServiceModel { } - List licenzaIdList = mapFields.get("Licenza"); + List licenzaIdList = mapFields.get("ID Licenza"); if(licenzaIdList!=null && licenzaIdList.size()>0) { relazioneScavo.setLicenseID(licenzaIdList.get(0)); } @@ -230,6 +229,41 @@ public class ConvertToServiceModel { return uplaodedImage; } + public static LayerConcessione toLayerConcessione(GenericDatasetBean gdb){ + + Map> mapFields = gdb.getFormDataEntryFields(); + + LayerConcessione layerConcessione = new LayerConcessione(); + + List titoloLst = mapFields.get("Titolo"); + if(titoloLst!=null && titoloLst.size()>0) { + layerConcessione.setTitolo(titoloLst.get(0)); + } + + List valutazioneQualitaLst = mapFields.get("Valutazione della qualità"); + if(valutazioneQualitaLst!=null && valutazioneQualitaLst.size()>0) { + layerConcessione.setValutazioneQualita(valutazioneQualitaLst.get(0)); + } + + + List metodoRaccoltaDatiLst = mapFields.get("Metodo di raccolta dei dati"); + if(metodoRaccoltaDatiLst!=null && metodoRaccoltaDatiLst.size()>0) { + layerConcessione.setMetodoRaccoltaDati(metodoRaccoltaDatiLst.get(0)); + } + + List scalaAcquisizioneLst = mapFields.get("Scala di acquisizione dei dati"); + if(scalaAcquisizioneLst!=null && scalaAcquisizioneLst.size()>0) { + layerConcessione.setScalaAcquisizione(scalaAcquisizioneLst.get(0)); + } + + List autoreLst = mapFields.get("Autore"); + if(autoreLst!=null) { + layerConcessione.setAuthors(autoreLst); + } + + return layerConcessione; + } + diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GreetingServiceImpl.java b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GreetingServiceImpl.java index e13a9c6..b865270 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GreetingServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataentry/server/GreetingServiceImpl.java @@ -1,7 +1,10 @@ package org.gcube.portlets.user.geoportaldataentry.server; +import java.util.List; + import org.gcube.portlets.user.geoportaldataentry.client.GreetingService; import org.gcube.portlets.user.geoportaldataentry.shared.FieldVerifier; +import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject; import com.google.gwt.user.server.rpc.RemoteServiceServlet; @@ -46,4 +49,10 @@ public class GreetingServiceImpl extends RemoteServiceServlet implements return html.replaceAll("&", "&").replaceAll("<", "<").replaceAll( ">", ">"); } + + @Override + public String saveGeonaDataForms(List listGeonaFormObjects) throws Exception{ + + return null; + } }