139 lines
5.6 KiB
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;
|
|
}
|
|
} |