integration completed, new UI interactions added
This commit is contained in:
parent
3533c69d96
commit
28b78c8f04
|
@ -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<String, GeoNaFormCardModel> mapForms = new LinkedHashMap<String, GeoNaFormCardModel>();
|
||||
|
||||
private GeonaDataEntryMainForm geoNaMainForm;
|
||||
|
||||
private Collection<GeoNaFormCardModel> orderedCards;
|
||||
|
||||
private GeonaMainPanel mainPanel;
|
||||
|
||||
//private List<MetaDataProfileBean> orderedListMetadataProfilesForGeona = null;
|
||||
|
||||
/**
|
||||
|
@ -52,20 +67,49 @@ 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<List<MetaDataProfileBean>>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<MetaDataProfileBean> result) {
|
||||
Collection<GeoNaFormCardModel> orderedCards = setGeoNaFormsOrder(result);
|
||||
orderedCards = setGeoNaFormsOrder(result);
|
||||
|
||||
//ordered values
|
||||
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) {
|
||||
key = geonaForm.getFormCardTitle().getTitle();
|
||||
}
|
||||
geoNaMainForm.addForm(key, geonaForm);
|
||||
mapForms.put(key, geonaForm);
|
||||
}
|
||||
mainPanel.setLoaderVisible("", false);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
});
|
||||
|
||||
bindEvents();
|
||||
mainPanel.addFormPanel(geoNaMainForm);
|
||||
RootPanel.get(DIV_PORTLET_ID).add(mainPanel);
|
||||
|
||||
}
|
||||
|
||||
private void buildNewCards(Collection<GeoNaFormCardModel> orderedCards) {
|
||||
mainPanel.setLoaderVisible("Loading...", true);
|
||||
resetUI();
|
||||
//ordered values
|
||||
for (GeoNaFormCardModel geonaForm : orderedCards) {
|
||||
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()));
|
||||
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()),appManagerBus);
|
||||
geonaForm.setMetadataForm(baseForm);
|
||||
String key = geonaForm.getMetadataProfileBean().getType();
|
||||
if(geonaForm.getFormCardTitle()!=null) {
|
||||
|
@ -77,16 +121,9 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
mainPanel.setLoaderVisible("", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
mainPanel.addFormPanel(geoNaMainForm);
|
||||
//
|
||||
RootPanel.get(DIV_PORTLET_ID).add(mainPanel);
|
||||
|
||||
private void resetUI() {
|
||||
geoNaMainForm.reset();
|
||||
mapForms.clear();
|
||||
}
|
||||
|
||||
private Collection<GeoNaFormCardModel> setGeoNaFormsOrder(List<MetaDataProfileBean> listMetadataProfilesForGeona) {
|
||||
|
@ -133,4 +170,66 @@ public class GeoPortalDataEntryApp implements EntryPoint {
|
|||
|
||||
}
|
||||
|
||||
|
||||
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<String>() {
|
||||
|
||||
@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);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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<GeoNaFormDataObject> listGeonaFormObjects) throws Exception;
|
||||
}
|
||||
|
|
|
@ -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<java.lang.String> 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<GeoNaFormDataObject> listGeonaFormObjects, AsyncCallback<String> callback);
|
||||
}
|
||||
|
|
|
@ -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<SaveGeonaDataFormsHandler> {
|
||||
|
||||
/** The type. */
|
||||
public static Type<SaveGeonaDataFormsHandler> TYPE = new Type<SaveGeonaDataFormsHandler>();
|
||||
private List<GeoNaFormDataObject> listGeonaDataForms;
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new save geona data forms event.
|
||||
*
|
||||
* @param listGeonaDataForms the list geona data forms
|
||||
*/
|
||||
public SaveGeonaDataFormsEvent(List<GeoNaFormDataObject> 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<SaveGeonaDataFormsHandler> 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<GeoNaFormDataObject> getListGeonaDataForms() {
|
||||
return listGeonaDataForms;
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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<Tab> listTabs = new ArrayList<Tab>();
|
||||
|
||||
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<GeoNaFormDataObject> listGoneFormObjects = new ArrayList<GeoNaFormDataObject>();
|
||||
List<GeoNaFormDataObject> listGeonaFormObjects = new ArrayList<GeoNaFormDataObject>();
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
@ -27,6 +28,11 @@ public class GeonaMainPanel extends Composite {
|
|||
@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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<g:HTMLPanel ui:field="geonaMainPanel">
|
||||
<b:PageHeader subtext="data entry facility"
|
||||
styleName="{style.custom-page-header}">GeoNa</b:PageHeader>
|
||||
<m:GeonaNavigationBar></m:GeonaNavigationBar>
|
||||
<m:GeonaNavigationBar ui:field="geonaNavigationBar"></m:GeonaNavigationBar>
|
||||
<r:LoaderIcon ui:field="loader"></r:LoaderIcon>
|
||||
<g:HTMLPanel ui:field="geonaMainFormPanel"></g:HTMLPanel>
|
||||
</g:HTMLPanel>
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
@ -24,12 +26,6 @@ public class GeonaNavigationBar extends Composite {
|
|||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
public GeonaNavigationBar(EventBus eventBus) {
|
||||
this();
|
||||
this.eventBus = eventBus;
|
||||
bindEvents();
|
||||
}
|
||||
|
||||
private void bindEvents() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
@ -38,13 +34,25 @@ public class GeonaNavigationBar extends Composite {
|
|||
@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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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<String> licenzaLst = mapFields.get("Licenza");
|
||||
List<String> licenzaLst = mapFields.get("ID Licenza");
|
||||
if(licenzaLst!=null && licenzaLst.size()>0) {
|
||||
//TODO FABIO
|
||||
//concessione.setLicenza()
|
||||
|
@ -183,7 +182,7 @@ public class ConvertToServiceModel {
|
|||
}
|
||||
|
||||
|
||||
List<String> licenzaIdList = mapFields.get("Licenza");
|
||||
List<String> 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<String, List<String>> mapFields = gdb.getFormDataEntryFields();
|
||||
|
||||
LayerConcessione layerConcessione = new LayerConcessione();
|
||||
|
||||
List<String> titoloLst = mapFields.get("Titolo");
|
||||
if(titoloLst!=null && titoloLst.size()>0) {
|
||||
layerConcessione.setTitolo(titoloLst.get(0));
|
||||
}
|
||||
|
||||
List<String> valutazioneQualitaLst = mapFields.get("Valutazione della qualità");
|
||||
if(valutazioneQualitaLst!=null && valutazioneQualitaLst.size()>0) {
|
||||
layerConcessione.setValutazioneQualita(valutazioneQualitaLst.get(0));
|
||||
}
|
||||
|
||||
|
||||
List<String> metodoRaccoltaDatiLst = mapFields.get("Metodo di raccolta dei dati");
|
||||
if(metodoRaccoltaDatiLst!=null && metodoRaccoltaDatiLst.size()>0) {
|
||||
layerConcessione.setMetodoRaccoltaDati(metodoRaccoltaDatiLst.get(0));
|
||||
}
|
||||
|
||||
List<String> scalaAcquisizioneLst = mapFields.get("Scala di acquisizione dei dati");
|
||||
if(scalaAcquisizioneLst!=null && scalaAcquisizioneLst.size()>0) {
|
||||
layerConcessione.setScalaAcquisizione(scalaAcquisizioneLst.get(0));
|
||||
}
|
||||
|
||||
List<String> autoreLst = mapFields.get("Autore");
|
||||
if(autoreLst!=null) {
|
||||
layerConcessione.setAuthors(autoreLst);
|
||||
}
|
||||
|
||||
return layerConcessione;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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<GeoNaFormDataObject> listGeonaFormObjects) throws Exception{
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue