This commit is contained in:
Francesco Mangiacrapa 2020-12-18 11:37:23 +01:00
parent d0f8f7cb6e
commit ae01d80937
6 changed files with 84 additions and 34 deletions

View File

@ -14,7 +14,7 @@
<groupId>org.gcube.portlets.user</groupId> <groupId>org.gcube.portlets.user</groupId>
<artifactId>geoportal-data-entry-app</artifactId> <artifactId>geoportal-data-entry-app</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>1.1.0</version> <version>1.2.0-SNAPSHOT</version>
<name>GeoPortal Data Entry App</name> <name>GeoPortal Data Entry App</name>
<description>The GeoPortal Data Entry App is an application to build the web forms for data entries needed to GeoNa project</description> <description>The GeoPortal Data Entry App is an application to build the web forms for data entries needed to GeoNa project</description>
<scm> <scm>

View File

@ -11,10 +11,11 @@ package org.gcube.portlets.user.geoportaldataentry.client;
public enum ConcessioniFormCardTitle { public enum ConcessioniFormCardTitle {
INFORMAZIONI_DI_PROGETTO("Informazioni", "Informazioni di Progetto", 1, false, null), INFORMAZIONI_DI_PROGETTO("Informazioni", "Informazioni di Progetto", 1, false, null),
RELAZIONE_DI_SCAVO("Relazione di Scavo", "Relazione di Scavo", 2, false, null), ABSTRACT_RELAZIONE_DI_SCAVO("Abstract Relazione di Scavo", "Abstract Relazione di Scavo", 2, false, null),
IMMAGINI_RAPPRESENTATIVE("Immagini Rappresentative", "Immagini Rappresentative", 3, true, 8), RELAZIONE_DI_SCAVO("Relazione di Scavo", "Relazione di Scavo", 3, false, null),
POSIZIONAMENTO_DELL_AREA_DI_INDAGINE("Posizionamento", "Posizionamento dell'Area di Indagine", 4, false, null), IMMAGINI_RAPPRESENTATIVE("Immagini Rappresentative", "Immagini Rappresentative", 4, true, 8),
PIANTA_DI_FINE_SCAVO("Pianta di Fine Scavo", "Pianta di Fine Scavo", 5, true, null); POSIZIONAMENTO_DELL_AREA_DI_INDAGINE("Posizionamento", "Posizionamento dell'Area di Indagine", 5, false, null),
PIANTA_DI_FINE_SCAVO("Pianta di Fine Scavo", "Pianta di Fine Scavo", 6, true, null);
private String key; private String key;
private String title; private String title;

View File

@ -109,6 +109,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
@Override @Override
public void onSuccess(List<MetaDataProfileBean> result) { public void onSuccess(List<MetaDataProfileBean> result) {
GWT.log("Returned "+result.size()+ "profile/s");
orderedCards = setGeoNaFormsOrder(result); orderedCards = setGeoNaFormsOrder(result);
//ordered values //ordered values
buildNewCards(orderedCards); buildNewCards(orderedCards);
@ -130,6 +131,7 @@ public class GeoPortalDataEntryApp implements EntryPoint {
//TODO TO TEST //TODO TO TEST
//if(geonaForm.getFormCardTitle().equals(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE)){ //if(geonaForm.getFormCardTitle().equals(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE)){
GWT.log("Adding card: "+geonaForm.getFormCardTitle());
CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()),appManagerBus); CreateMetadataForm baseForm = new CreateMetadataForm(Arrays.asList(geonaForm.getMetadataProfileBean()),appManagerBus);
geonaForm.setMetadataForm(baseForm); geonaForm.setMetadataForm(baseForm);
String key = geonaForm.getMetadataProfileBean().getType(); String key = geonaForm.getMetadataProfileBean().getType();
@ -159,11 +161,15 @@ public class GeoPortalDataEntryApp implements EntryPoint {
for (MetaDataProfileBean metaDataProfileBean : listMetadataProfilesForGeona) { for (MetaDataProfileBean metaDataProfileBean : listMetadataProfilesForGeona) {
String theMetaType = metaDataProfileBean.getType().toLowerCase(); String theMetaType = metaDataProfileBean.getType().toLowerCase();
GWT.log("Building form card for type: "+theMetaType);
GeoNaFormCardModel geonaForm = new GeoNaFormCardModel(metaDataProfileBean, null, null); GeoNaFormCardModel geonaForm = new GeoNaFormCardModel(metaDataProfileBean, null, null);
if(theMetaType.contains(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getKey().toLowerCase())) { if(theMetaType.contains(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getKey().toLowerCase())) {
geonaForm.setFormCardTitle(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO); geonaForm.setFormCardTitle(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO);
treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getOrder(), geonaForm); treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.INFORMAZIONI_DI_PROGETTO.getOrder(), geonaForm);
}else if(theMetaType.contains(ConcessioniFormCardTitle.ABSTRACT_RELAZIONE_DI_SCAVO.getKey().toLowerCase())) {
geonaForm.setFormCardTitle(ConcessioniFormCardTitle.ABSTRACT_RELAZIONE_DI_SCAVO);
treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.ABSTRACT_RELAZIONE_DI_SCAVO.getOrder(), geonaForm);
}else if(theMetaType.contains(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getKey().toLowerCase())) { }else if(theMetaType.contains(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getKey().toLowerCase())) {
geonaForm.setFormCardTitle(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO); geonaForm.setFormCardTitle(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO);
treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getOrder(), geonaForm); treemapOrderedGeoNaProfiles.put(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO.getOrder(), geonaForm);

View File

@ -15,6 +15,7 @@ import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.user.client.Window; import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.FlowPanel;
/** /**
@ -47,6 +48,8 @@ public class MetadataFormCard {
private HandlerManager appManagerBus; private HandlerManager appManagerBus;
private Integer maxFormRepeatability; private Integer maxFormRepeatability;
private FlowPanel tabContainer = new FlowPanel();
/** /**
* The Class MetadataFormCardEventHandler. * The Class MetadataFormCardEventHandler.
@ -145,6 +148,7 @@ public class MetadataFormCard {
}); });
} }
tab.add(tabContainer);
addNewForm(createMetadataForm); addNewForm(createMetadataForm);
} }
@ -154,21 +158,21 @@ public class MetadataFormCard {
* @param newForm the new form * @param newForm the new form
*/ */
private void addNewForm(final CreateMetadataForm newForm) { private void addNewForm(final CreateMetadataForm newForm) {
tab.add(newForm); tabContainer.insert(newForm,0);
listForms.add(newForm); listForms.add(newForm);
if(listForms.size()>1) { if(listForms.size()>1) {
final Button buttonRemoveLatestForm = new Button("Remove"); final Button buttonRemoveLatestForm = new Button("Remove");
buttonRemoveLatestForm.setIcon(IconType.TRASH); buttonRemoveLatestForm.setIcon(IconType.TRASH);
tab.add(buttonRemoveLatestForm); tabContainer.insert(buttonRemoveLatestForm,1);
buttonRemoveLatestForm.addClickHandler(new ClickHandler() { buttonRemoveLatestForm.addClickHandler(new ClickHandler() {
@Override @Override
public void onClick(ClickEvent event) { public void onClick(ClickEvent event) {
tab.remove(newForm); tabContainer.remove(newForm);
listForms.remove(newForm); listForms.remove(newForm);
tab.remove(buttonRemoveLatestForm); tabContainer.remove(buttonRemoveLatestForm);
} }
}); });

View File

@ -187,19 +187,15 @@ public class ConvertToServiceModel {
/** /**
* To relazione scavo. * To relazione scavo.
* *
* @param abstractRelazioneScavo the abstract relazione scavo
* @param gdb the gdb * @param gdb the gdb
* @return the relazione scavo * @return the relazione scavo
*/ */
public static RelazioneScavo toRelazioneScavo(GenericDatasetBean gdb){ public static RelazioneScavo toRelazioneScavo(RelazioneScavo abstractRelazioneScavo, GenericDatasetBean gdb){
Map<String, List<String>> mapFields = gdb.getFormDataEntryFields(); Map<String, List<String>> mapFields = gdb.getFormDataEntryFields();
RelazioneScavo relazioneScavo = new RelazioneScavo(); RelazioneScavo relazioneScavo = abstractRelazioneScavo == null?new RelazioneScavo():abstractRelazioneScavo;
List<String> abstractLst = mapFields.get("Abstract");
if(abstractLst!=null && abstractLst.size()>0) {
relazioneScavo.setAbstractSection(abstractLst.get(0));
}
List<String> responsabiliLst = mapFields.get("Responsabile del documento"); List<String> responsabiliLst = mapFields.get("Responsabile del documento");
if(responsabiliLst!=null) { if(responsabiliLst!=null) {
@ -229,6 +225,42 @@ public class ConvertToServiceModel {
return relazioneScavo; return relazioneScavo;
} }
public static RelazioneScavo toAbstractRelazioneScavo(GenericDatasetBean gdb) {
Map<String, List<String>> mapFields = gdb.getFormDataEntryFields();
RelazioneScavo relazioneScavo = new RelazioneScavo();
List<String> abstractLstIta = mapFields.get("Abstract in Italiano");
if(abstractLstIta!=null && abstractLstIta.size()>0) {
relazioneScavo.setAbstractSection(abstractLstIta.get(0));
}
List<String> abstractLstEng = mapFields.get("Abstract in Inglese");
if(abstractLstEng!=null && abstractLstEng.size()>0) {
//TOOD SET INTO SERVICE
//relazioneScavo.setAbstractSection(abstractLstEng.get(0));
}
//TODO IN FUTURE WHEN THE MODEL WILL BE UPDATED
/*List<String> politicaDiAccessoLst = mapFields.get("Politica di accesso");
if(politicaDiAccessoLst!=null && politicaDiAccessoLst.size()>0) {
try {
AccessPolicy ap = AccessPolicy.valueOf(politicaDiAccessoLst.get(0));
relazioneScavo.setPolicy(ap);
}catch (Exception e) {
LOG.warn("I cannot cast "+politicaDiAccessoLst.get(0) +" to "+AccessPolicy.values(),e);
}
}
List<String> licenzaIdList = mapFields.get("ID Licenza");
if(licenzaIdList!=null && licenzaIdList.size()>0) {
relazioneScavo.setLicenseID(licenzaIdList.get(0));
}*/
return relazioneScavo;
}
/** /**
* To immagini rappresentative. * To immagini rappresentative.
* *
@ -241,26 +273,27 @@ public class ConvertToServiceModel {
UploadedImage uplaodedImage = new UploadedImage(); UploadedImage uplaodedImage = new UploadedImage();
List<String> titoloLst = mapFields.get("Titolo"); // List<String> titoloLst = mapFields.get("Titolo");
if(titoloLst!=null && titoloLst.size()>0) { // if(titoloLst!=null && titoloLst.size()>0) {
uplaodedImage.setTitolo(titoloLst.get(0)); // uplaodedImage.setTitolo(titoloLst.get(0));
} // }
//
List<String> didascaliaLst = mapFields.get("Didascalia"); List<String> didascaliaLst = mapFields.get("Didascalia");
if(didascaliaLst!=null && didascaliaLst.size()>0) { if(didascaliaLst!=null && didascaliaLst.size()>0) {
uplaodedImage.setDidascalia(didascaliaLst.get(0)); uplaodedImage.setDidascalia(didascaliaLst.get(0));
} }
//NB here is setResponsabili but should be setAuthor
List<String> responsabileLst = mapFields.get("Responsabile"); List<String> responsabileLst = mapFields.get("Autore");
if(responsabileLst!=null) { if(responsabileLst!=null) {
uplaodedImage.setResponsabili(responsabileLst); uplaodedImage.setResponsabili(responsabileLst);
//uplaodedImage.setAuthor is missing!!!
} }
List<String> autoreList = mapFields.get("Autore"); // List<String> autoreList = mapFields.get("Autore");
if(autoreList!=null) { // if(autoreList!=null) {
//TODO // //TODO
} // }
List<String> politicaDiAccessoLst = mapFields.get("Politica di accesso"); List<String> politicaDiAccessoLst = mapFields.get("Politica di accesso");
if(politicaDiAccessoLst!=null && politicaDiAccessoLst.size()>0) { if(politicaDiAccessoLst!=null && politicaDiAccessoLst.size()>0) {
@ -277,12 +310,6 @@ public class ConvertToServiceModel {
uplaodedImage.setLicenseID(licenzaIdList.get(0)); uplaodedImage.setLicenseID(licenzaIdList.get(0));
} }
//TODO???
List<String> autoreLst = mapFields.get("Autore");
if(autoreLst!=null) {
}
return uplaodedImage; return uplaodedImage;
} }

View File

@ -98,6 +98,18 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// saving into back-end // saving into back-end
manager = ManagerFactory.registerNew(concessione); manager = ManagerFactory.registerNew(concessione);
// ABSTRACT_RELAZIONE_DI_SCAVO
list = toMap.get(ConcessioniFormCardTitle.ABSTRACT_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.ABSTRACT_RELAZIONE_DI_SCAVO.getTitle());
listGDB = list.get(0).getListGDB();
GenericDatasetBean ards = listGDB.get(0);
LOG.debug("\n\n");
LOG.debug(ConcessioniFormCardTitle.ABSTRACT_RELAZIONE_DI_SCAVO + " building with client obj: " + ards);
RelazioneScavo abstractRelazioneDiScavo = ConvertToServiceModel.toAbstractRelazioneScavo(ards);
// RELAZIONE_DI_SCAVO // RELAZIONE_DI_SCAVO
list = toMap.get(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO); list = toMap.get(ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO);
@ -109,7 +121,7 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
GenericDatasetBean rds = listGDB.get(0); GenericDatasetBean rds = listGDB.get(0);
LOG.debug("\n\n"); 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); RelazioneScavo relazioneDiScavo = ConvertToServiceModel.toRelazioneScavo(abstractRelazioneDiScavo, rds);
LOG.debug("Built " + ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO + " as server obj: " + relazioneDiScavo); LOG.debug("Built " + ConcessioniFormCardTitle.RELAZIONE_DI_SCAVO + " as server obj: " + relazioneDiScavo);
// Should be only one // Should be only one
for (FileUploaded fileUploaded : rds.getFilesUploaded()) { for (FileUploaded fileUploaded : rds.getFilesUploaded()) {