This repository has been archived on 2021-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/legacy/LegacyConcessioniManager.java

139 lines
5.6 KiB
Java

package org.gcube.application.geoportal.service.engine.legacy;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.gcube.application.geoportal.model.InputStreamDescriptor;
import org.gcube.application.geoportal.model.db.DBConstants;
import org.gcube.application.geoportal.model.db.PostgisTable;
import org.gcube.application.geoportal.model.fault.SDIInteractionException;
import org.gcube.application.geoportal.service.model.legacy.concessioni.Concessione;
import org.gcube.application.geoportal.service.model.legacy.concessioni.LayerConcessione;
import org.gcube.application.geoportal.service.model.legacy.concessioni.RelazioneScavo;
import org.gcube.application.geoportal.service.model.legacy.concessioni.UploadedImage;
import org.gcube.application.geoportal.service.utils.Serialization;
import org.gcube.application.geoportal.storage.SDIManager;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LegacyConcessioniManager extends AbstractRecordManager<Concessione> {
public LegacyConcessioniManager(Concessione theRecord) {
super(theRecord);
}
@Override
protected PostgisTable getCentroidsTable() {
return DBConstants.Concessioni.CENTROIDS;
}
@Override
protected void initCentroidLayer() throws SDIInteractionException {
log.debug("Checking for centroid layer configuration.. ");
SDIManager sdiManager=new SDIManager();
sdiManager.configureCentroidLayer("centroids_concessioni", "gna", "gna_postgis");
}
public Concessione setRelazioneScavo(RelazioneScavo rel, InputStreamDescriptor theFile) throws IOException {
ContentHandler handler=getContentHandler();
//Check if already stored content
Concessione record=getRecord();
if(record.getRelazioneScavo()!=null && !record.getRelazioneScavo().getActualContent().isEmpty()) {
handler.dispose(record.getRelazioneScavo());
}
rel.setRecord(record);
//Register relazione
record.setRelazioneScavo(rel);
handler.register(rel, theFile);
return record;
}
public Concessione addImmagineRappresentativa(UploadedImage img, InputStreamDescriptor theFile) throws IOException {
ContentHandler handler=getContentHandler();
Concessione record=getRecord();
//Add immagine
img.setRecord(record);
record.getImmaginiRappresentative().add(img);
handler.register(img, theFile);
return record;
}
// public Concessione disposeImmagineRappresentativa(UploadedImage img, InputStream theFile) {
// if(concessione.)
// }
public Concessione setPosizionamento(LayerConcessione layer, InputStreamDescriptor...inputStreams ) throws IOException {
ContentHandler handler=getContentHandler();
//Check if already stored content
Concessione record=getRecord();
if(record.getPosizionamentoScavo()!=null && !record.getPosizionamentoScavo().getActualContent().isEmpty())
handler.dispose(record.getPosizionamentoScavo());
layer.setRecord(record);
//Register posizionamneot
record.setPosizionamentoScavo(layer);
handler.register(layer, inputStreams);
return record;
}
public Concessione addPiantaFineScavo(LayerConcessione layer, InputStreamDescriptor...inputStreams ) throws IOException {
ContentHandler handler=getContentHandler();
Concessione record=getRecord();
//Add pianta
layer.setRecord(record);
record.getPianteFineScavo().add(layer);
handler.register(layer, inputStreams);
return record;
}
@Override
protected Map<String,String> evaluateCentroid(){
Concessione record=getRecord();
// CENTROID
Map<String,String> centroidsRow=new HashMap<String, String>();
centroidsRow.put(DBConstants.Concessioni.PRODUCT_ID, record.getId()+"");
centroidsRow.put(DBConstants.Concessioni.ANNO, record.getDataInizioProgetto().getYear()+"");
centroidsRow.put(DBConstants.Concessioni.NOME, record.getNome());
centroidsRow.put(DBConstants.Concessioni.REGIONE, ""); //TODO
centroidsRow.put(DBConstants.Defaults.XCOORD_FIELD, record.getCentroidLong()+"");
centroidsRow.put(DBConstants.Defaults.YCOORD_FIELD, record.getCentroidLat()+"");
//Updated Schema
centroidsRow.put(DBConstants.Concessioni.DESCRIZIONE,record.getIntroduzione());
centroidsRow.put(DBConstants.Concessioni.CONTENUTO,record.getDescrizioneContenuto());
centroidsRow.put(DBConstants.Concessioni.AUTORE,Serialization.asString(record.getAuthors()));
centroidsRow.put(DBConstants.Concessioni.CONTRIBUTORE,record.getContributore());
centroidsRow.put(DBConstants.Concessioni.TITOLARE,Serialization.asString(record.getTitolari()));
centroidsRow.put(DBConstants.Concessioni.RESPONSABILE,record.getResponsabile());
centroidsRow.put(DBConstants.Concessioni.EDITORE,record.getEditore());
centroidsRow.put(DBConstants.Concessioni.FINANZIAMENTO,Serialization.asString(record.getFontiFinanziamento()));
centroidsRow.put(DBConstants.Concessioni.SOGGETTO,Serialization.asString(record.getSoggetto()));
centroidsRow.put(DBConstants.Concessioni.RISORSE,Serialization.asString(record.getRisorseCorrelate()));
centroidsRow.put(DBConstants.Concessioni.DATE_SCAVO,Serialization.FULL_FORMATTER.format(record.getDataFineProgetto()));
centroidsRow.put(DBConstants.Concessioni.DATA_ARCHIVIAZIONE,Serialization.FULL_FORMATTER.format(record.getLastUpdateTime()));
centroidsRow.put(DBConstants.Concessioni.VERSIONE,record.getVersion());
centroidsRow.put(DBConstants.Concessioni.LICENZA,record.getLicenzaID());
centroidsRow.put(DBConstants.Concessioni.TITOLARE_LICENZA,record.getTitolareLicenza());
centroidsRow.put(DBConstants.Concessioni.ACCESSO,record.getPolicy().toString());
centroidsRow.put(DBConstants.Concessioni.PAROLE_CHIAVE,Serialization.asString(record.getParoleChiaveLibere()));
return centroidsRow;
}
}