added a method

This commit is contained in:
Francesco Mangiacrapa 2021-08-02 12:52:30 +02:00
parent a134c87b6d
commit 5fbb0fa8a7
3 changed files with 169 additions and 92 deletions

View File

@ -3,27 +3,36 @@
<wb-module deploy-name="geoportal-data-entry-app-1.3.0-SNAPSHOT"> <wb-module deploy-name="geoportal-data-entry-app-1.3.0-SNAPSHOT">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="geoportal-data-common-1.1.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/geoportal-data-common/geoportal-data-common">
<dependency-type>uses</dependency-type>
</dependent-module>
@ -33,14 +42,17 @@
<property name="java-output-path" value="/geoportal-data-entry-app/target/geoportal-data-entry-app-1.0.0-SNAPSHOT/WEB-INF/classes"/> <property name="java-output-path" value="/geoportal-data-entry-app/target/geoportal-data-entry-app-1.0.0-SNAPSHOT/WEB-INF/classes"/>
</wb-module> </wb-module>
</project-modules> </project-modules>

View File

@ -100,7 +100,6 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Register New Concessione // Register New Concessione
concessioneNew = clientMongo.createNew(concessione); concessioneNew = clientMongo.createNew(concessione);
// ABSTRACT_RELAZIONE_DI_SCAVO // ABSTRACT_RELAZIONE_DI_SCAVO
list = toMap.get(ConcessioniFormCardTitle.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) if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null)
@ -129,7 +128,6 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Setting Relazione // Setting Relazione
concessioneNew.setRelazioneScavo(relazioneDiScavo); concessioneNew.setRelazioneScavo(relazioneDiScavo);
// IMMAGINI_RAPPRESENTATIVE // IMMAGINI_RAPPRESENTATIVE
list = toMap.get(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE); list = toMap.get(ConcessioniFormCardTitle.IMMAGINI_RAPPRESENTATIVE);
if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null) if (list == null || list.isEmpty() || list.get(0) == null || list.get(0).getListGDB() == null)
@ -142,7 +140,8 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
immaginiRappresentativeService = new ArrayList<UploadedImage>(imgRaprsLst.size()); immaginiRappresentativeService = new ArrayList<UploadedImage>(imgRaprsLst.size());
for (GenericDatasetBean imgRapr : imgRaprsLst) { for (GenericDatasetBean imgRapr : imgRaprsLst) {
LOG.debug("\n\n"); 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); 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);
immaginiRappresentativeService.add(img); immaginiRappresentativeService.add(img);
@ -214,12 +213,14 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Building TempFile for ABSTRACT DELLA RELAZIONE DI SCAVO // Building TempFile for ABSTRACT DELLA RELAZIONE DI SCAVO
SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true); SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true);
List<TempFile> ardsFiles = serviceUtil.toTemFiles(ards.getFilesUploaded()); List<TempFile> ardsFiles = serviceUtil.toTemFiles(ards.getFilesUploaded());
//TODO MUST BE UNIFIED WITH RELAZIONE OPPURE BISOGNA PREVEDERE UN ABSTRACT_RELAZIONE??? // TODO MUST BE UNIFIED WITH RELAZIONE OPPURE BISOGNA PREVEDERE UN
// ABSTRACT_RELAZIONE???
if (ardsFiles != null && ardsFiles.size() > 0) { if (ardsFiles != null && ardsFiles.size() > 0) {
// saving into back-end // saving into back-end
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.RELAZIONE, ardsFiles); AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.RELAZIONE, ardsFiles);
clientMongo.registerFile(mongoId, request); clientMongo.registerFile(mongoId, request);
LOG.info("Registered the mongoId "+mongoId+" request " + Paths.RELAZIONE + "with "+ardsFiles.size()+" file/s"); LOG.info("Registered the mongoId " + mongoId + " request " + Paths.RELAZIONE + "with "
+ ardsFiles.size() + " file/s");
} }
// Building TempFile for RELAZIONE DI SCAVO // Building TempFile for RELAZIONE DI SCAVO
@ -230,7 +231,8 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// saving into back-end // saving into back-end
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.RELAZIONE, files); AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.RELAZIONE, files);
clientMongo.registerFile(mongoId, request); clientMongo.registerFile(mongoId, request);
LOG.info("Registered the mongoId "+mongoId+" request " + Paths.RELAZIONE + "with "+files.size()+" file/s"); LOG.info("Registered the mongoId " + mongoId + " request " + Paths.RELAZIONE + "with " + files.size()
+ " file/s");
} }
// IMMAGINI RAPPRESENTATIVE // IMMAGINI RAPPRESENTATIVE
@ -240,12 +242,15 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Building TempFile for Immagini // Building TempFile for Immagini
SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true); SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true);
files = serviceUtil.toTemFiles(imgRapr.getFilesUploaded()); files = serviceUtil.toTemFiles(imgRapr.getFilesUploaded());
// Upload file to Concessione. The size is always 1 so it is consistent with the 'for' index // Upload file to Concessione. The size is always 1 so it is consistent with the
// 'for' index
if (files != null && files.size() > 0) { if (files != null && files.size() > 0) {
// saving into back-end // saving into back-end
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.imgByIndex(i), files); AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.imgByIndex(i),
files);
clientMongo.registerFile(mongoId, request); clientMongo.registerFile(mongoId, request);
LOG.info("Registered the mongoId "+mongoId+" request " + Paths.IMMAGINI + "with "+files.size()+" file/s"); LOG.info("Registered the mongoId " + mongoId + " request " + Paths.IMMAGINI + "with " + files.size()
+ " file/s");
} }
} }
@ -257,9 +262,11 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Upload file to Concessione // Upload file to Concessione
if (files != null && files.size() > 0) { if (files != null && files.size() > 0) {
// saving into back-end // saving into back-end
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.POSIZIONAMENTO, files); AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.POSIZIONAMENTO,
files);
clientMongo.registerFile(mongoId, request); clientMongo.registerFile(mongoId, request);
LOG.info("Registered the mongoId "+mongoId+" request " + Paths.POSIZIONAMENTO + "with "+files.size()+" file/s"); LOG.info("Registered the mongoId " + mongoId + " request " + Paths.POSIZIONAMENTO + "with "
+ files.size() + " file/s");
} }
// PIANTE FINE SCAVO // PIANTE FINE SCAVO
@ -272,9 +279,11 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
// Upload file to Concessione Section by Path 'Relazione' // Upload file to Concessione Section by Path 'Relazione'
if (files != null && files.size() > 0) { if (files != null && files.size() > 0) {
// saving into back-end // saving into back-end
AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(Paths.piantaByIndex(i), files); AddSectionToConcessioneRequest request = new AddSectionToConcessioneRequest(
Paths.piantaByIndex(i), files);
clientMongo.registerFile(mongoId, request); clientMongo.registerFile(mongoId, request);
LOG.info("Registered the mongoId "+mongoId+" request " + Paths.PIANTE + "with "+files.size()+" file/s"); LOG.info("Registered the mongoId " + mongoId + " request " + Paths.PIANTE + "with "
+ files.size() + " file/s");
} }
} }
@ -330,8 +339,7 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
} catch (Exception e) { } catch (Exception e) {
LOG.error("Error on commiting data: ", e); LOG.error("Error on commiting data: ", e);
throw new Exception( throw new Exception("Error occurred on saving data. Error: " + e.getMessage());
"Error occurred on saving data. Error: " + e.getMessage());
} finally { } finally {
// if(manager!=null) { // if(manager!=null) {
// try { // try {
@ -400,19 +408,37 @@ public class GeoportalDataEntryServiceImpl extends RemoteServiceServlet implemen
* @throws Exception the exception * @throws Exception the exception
*/ */
// @Override // @Override
public void getListConcessioni(Integer startIdx, Integer limit) throws Exception { public void getListConcessioni(Integer start, Integer offset) throws Exception {
LOG.info("getListConcessioni called"); LOG.info("getListConcessioni called");
SessionUtil.getCurrentContext(this.getThreadLocalRequest(), true); try {
ServiceUtil serviceUtil = new ServiceUtil(); List<Concessione> listOfConcessioni = SessionUtil.getListOfConcessioni(getThreadLocalRequest());
MongoConcessioni clientMongo = serviceUtil.getInstanceMongoConcessioni(); int maxOffset = listOfConcessioni.size();
Iterable<Concessione> concessioni = clientMongo.getList(); List<Concessione> toReturn = new ArrayList<Concessione>();
if(start==null && offset==null) {
toReturn.addAll(listOfConcessioni);
}
if(start<0)
start=0;
if(offset>maxOffset)
offset = maxOffset;
toReturn.subList(start, offset);
for (Concessione concessione : toReturn) {
}
// TODO // TODO
LOG.info("Returning: " + concessioni); //LOG.info("Returning: " + concessioni);
}catch (Exception e) {
LOG.error("Error on loading list of concessioni: ", e);
throw new Exception("Error occurred on loading list of Concessioni. Error: " + e.getMessage());
} }
}
/** /**
* Pretty print client data entry map. * Pretty print client data entry map.
* *

View File

@ -3,8 +3,14 @@
*/ */
package org.gcube.portlets.user.geoportaldataentry.server; package org.gcube.portlets.user.geoportaldataentry.server;
import javax.servlet.http.HttpServletRequest; import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.gcube.application.geoportal.common.model.legacy.Concessione;
import org.gcube.application.geoportal.common.rest.MongoConcessioni;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.portal.PortalContext; import org.gcube.common.portal.PortalContext;
import org.gcube.common.scope.api.ScopeProvider; import org.gcube.common.scope.api.ScopeProvider;
@ -29,6 +35,7 @@ import com.liferay.portal.service.UserLocalServiceUtil;
*/ */
public class SessionUtil { public class SessionUtil {
private static final String LIST_OF_CONCESSIONI = "LIST_OF_CONCESSIONI";
/** The log. */ /** The log. */
private static Logger LOG = LoggerFactory.getLogger(SessionUtil.class); private static Logger LOG = LoggerFactory.getLogger(SessionUtil.class);
@ -111,4 +118,36 @@ public class SessionUtil {
return gm.getGroup(groupId); return gm.getGroup(groupId);
} }
/**
* Gets the list of concessioni.
*
* @param httpServletRequest the http servlet request
* @return the list of concessioni
* @throws Exception the exception
*/
public static List<Concessione> getListOfConcessioni(HttpServletRequest httpServletRequest) throws Exception {
HttpSession session = httpServletRequest.getSession();
List<Concessione> listOfConcessioni = (List<Concessione>) session.getAttribute(LIST_OF_CONCESSIONI);
List<Concessione> result = new ArrayList<Concessione>();
if (listOfConcessioni == null) {
LOG.info("Loading list of concessione from client mongo");
SessionUtil.getCurrentContext(httpServletRequest, true);
ServiceUtil serviceUtil = new ServiceUtil();
MongoConcessioni clientMongo = serviceUtil.getInstanceMongoConcessioni();
Iterable<Concessione> concessioni = clientMongo.getList();
if (concessioni != null) {
for (Concessione conc : concessioni) {
result.add(conc);
}
}
LOG.debug("Got list of concessione from client mongo: "+result);
session.setAttribute(LIST_OF_CONCESSIONI, result);
LOG.info("Saved in session list of concessione from client mongo with size: "+result.size());
}
LOG.info("returning list of concessioni with size: "+result.size());
return result;
}
} }