Edit FileSet features and utilities
This commit is contained in:
parent
220e8f0354
commit
27a326ea33
|
@ -193,7 +193,7 @@ public class DefaultMongoConcessioni implements MongoConcessioni{
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Concessione registerFile(String id, AddSectionToConcessioneRequest request) throws Exception {
|
public Concessione registerFileSet(String id, AddSectionToConcessioneRequest request) throws Exception {
|
||||||
log.info("Registering {} in {}",request,id);
|
log.info("Registering {} in {}",request,id);
|
||||||
Call<WebTarget,Concessione> call= new Call<WebTarget,Concessione>(){
|
Call<WebTarget,Concessione> call= new Call<WebTarget,Concessione>(){
|
||||||
@Override
|
@Override
|
||||||
|
@ -205,7 +205,24 @@ public class DefaultMongoConcessioni implements MongoConcessioni{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Concessione toReturn = delegate.make(call);
|
Concessione toReturn = delegate.make(call);
|
||||||
log.debug("Published {} ",toReturn);
|
log.debug("Registered Fileset {} result is {} ",request,toReturn);
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Concessione cleanFileSet(String id, String path)throws Exception{
|
||||||
|
log.info("Cleaning Fileset at {} in {}",path,id);
|
||||||
|
Call<WebTarget,Concessione> call= new Call<WebTarget,Concessione>(){
|
||||||
|
@Override
|
||||||
|
public Concessione call(WebTarget endpoint) throws Exception {
|
||||||
|
Response resp= endpoint.path(InterfaceConstants.Methods.DELETE_FILES_PATH).
|
||||||
|
path(id).request(MediaType.APPLICATION_JSON).post(Entity.entity(path,
|
||||||
|
MediaType.APPLICATION_JSON));
|
||||||
|
return check(resp,Concessione.class);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Concessione toReturn = delegate.make(call);
|
||||||
|
log.debug("Cleaned path {} result {} ",path,toReturn);
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.util.ArrayList;
|
||||||
import javax.ws.rs.client.WebTarget;
|
import javax.ws.rs.client.WebTarget;
|
||||||
|
|
||||||
import org.gcube.application.geoportal.client.DefaultMongoConcessioni;
|
import org.gcube.application.geoportal.client.DefaultMongoConcessioni;
|
||||||
|
import org.gcube.application.geoportal.client.utils.FileSets;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione.Paths;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione.Paths;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor;
|
import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor;
|
||||||
|
@ -67,8 +68,8 @@ public class StatefulMongoConcessioni extends DefaultMongoConcessioni implements
|
||||||
currentC=replace(currentC);
|
currentC=replace(currentC);
|
||||||
|
|
||||||
|
|
||||||
currentC=super.registerFile(currentC.getMongo_id(),
|
currentC=super.registerFileSet(currentC.getMongo_id(),
|
||||||
request(Paths.imgByIndex(currentC.getImmaginiRappresentative().size()-1),f));
|
FileSets.build(Paths.imgByIndex(currentC.getImmaginiRappresentative().size()-1),f).getTheRequest());
|
||||||
return currentC;
|
return currentC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,8 +81,8 @@ public class StatefulMongoConcessioni extends DefaultMongoConcessioni implements
|
||||||
currentC=replace(currentC);
|
currentC=replace(currentC);
|
||||||
|
|
||||||
|
|
||||||
currentC=super.registerFile(currentC.getMongo_id(),
|
currentC=super.registerFileSet(currentC.getMongo_id(),
|
||||||
request(Paths.piantaByIndex(currentC.getPianteFineScavo().size()-1),files));
|
FileSets.build(Paths.piantaByIndex(currentC.getPianteFineScavo().size()-1),files).getTheRequest());
|
||||||
return currentC;
|
return currentC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,8 +93,8 @@ public class StatefulMongoConcessioni extends DefaultMongoConcessioni implements
|
||||||
currentC=replace(currentC);
|
currentC=replace(currentC);
|
||||||
|
|
||||||
|
|
||||||
currentC=super.registerFile(currentC.getMongo_id(),
|
currentC=super.registerFileSet(currentC.getMongo_id(),
|
||||||
request(Paths.POSIZIONAMENTO,files));
|
FileSets.build(Paths.POSIZIONAMENTO,files).getTheRequest());
|
||||||
return currentC;
|
return currentC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,8 +105,8 @@ public class StatefulMongoConcessioni extends DefaultMongoConcessioni implements
|
||||||
currentC=replace(currentC);
|
currentC=replace(currentC);
|
||||||
|
|
||||||
|
|
||||||
currentC=super.registerFile(currentC.getMongo_id(),
|
currentC=super.registerFileSet(currentC.getMongo_id(),
|
||||||
request(Paths.RELAZIONE,f));
|
FileSets.build(Paths.RELAZIONE,f).getTheRequest());
|
||||||
return currentC;
|
return currentC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,45 +114,22 @@ public class StatefulMongoConcessioni extends DefaultMongoConcessioni implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Concessione addImmagineRappresentativa(UploadedImage toAdd, InputStreamDescriptor f) throws Exception {
|
public Concessione addImmagineRappresentativa(UploadedImage toAdd, InputStreamDescriptor f) throws Exception {
|
||||||
return addImmagineRappresentativa(toAdd,asTemp(f));
|
return addImmagineRappresentativa(toAdd,FileSets.asTemp(storage,f));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Concessione addPiantaFineScavo(LayerConcessione toAdd, InputStreamDescriptor... files) throws Exception {
|
public Concessione addPiantaFineScavo(LayerConcessione toAdd, InputStreamDescriptor... files) throws Exception {
|
||||||
return addPiantaFineScavo(toAdd, asTemp(files));
|
return addPiantaFineScavo(toAdd, FileSets.asTemp(storage,files));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Concessione setPosizionamento(LayerConcessione toSet, InputStreamDescriptor... files) throws Exception {
|
public Concessione setPosizionamento(LayerConcessione toSet, InputStreamDescriptor... files) throws Exception {
|
||||||
return setPosizionamento(toSet,asTemp(files));
|
return setPosizionamento(toSet,FileSets.asTemp(storage,files));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Concessione setRelazioneScavo(RelazioneScavo toSet, InputStreamDescriptor f) throws Exception {
|
public Concessione setRelazioneScavo(RelazioneScavo toSet, InputStreamDescriptor f) throws Exception {
|
||||||
return setRelazioneScavo(toSet,asTemp(f));
|
return setRelazioneScavo(toSet,FileSets.asTemp(storage,f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected static AddSectionToConcessioneRequest request(String path, TempFile...files) {
|
|
||||||
AddSectionToConcessioneRequest req=new AddSectionToConcessioneRequest();
|
|
||||||
req.setDestinationPath(path);
|
|
||||||
req.setStreams(new ArrayList<TempFile>());
|
|
||||||
for(TempFile f:files)
|
|
||||||
req.getStreams().add(f);
|
|
||||||
return req;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected TempFile asTemp(InputStreamDescriptor descriptor) throws RemoteBackendException, FileNotFoundException {
|
|
||||||
return storage.putOntoStorage(descriptor.getStream(), descriptor.getFilename());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected TempFile[] asTemp(InputStreamDescriptor... descriptors) throws RemoteBackendException, FileNotFoundException {
|
|
||||||
ArrayList<TempFile> toReturn=new ArrayList<TempFile>();
|
|
||||||
for(InputStreamDescriptor desc:descriptors)
|
|
||||||
toReturn.add(storage.putOntoStorage(desc.getStream(), desc.getFilename()));
|
|
||||||
return toReturn.toArray(new TempFile[toReturn.size()]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
package org.gcube.application.geoportal.client.utils;
|
||||||
|
|
||||||
|
import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor;
|
||||||
|
import org.gcube.application.geoportal.common.model.rest.AddSectionToConcessioneRequest;
|
||||||
|
import org.gcube.application.geoportal.common.rest.TempFile;
|
||||||
|
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
||||||
|
import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException;
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
public class FileSets {
|
||||||
|
|
||||||
|
public static class RequestBuilder {
|
||||||
|
AddSectionToConcessioneRequest theRequest=new AddSectionToConcessioneRequest();
|
||||||
|
|
||||||
|
public RequestBuilder add(TempFile... f){
|
||||||
|
if(theRequest.getStreams()==null)
|
||||||
|
theRequest.setStreams(new ArrayList<TempFile>());
|
||||||
|
for(TempFile temp: f )
|
||||||
|
theRequest.getStreams().add(temp);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestBuilder add(TempFile f){
|
||||||
|
if(theRequest.getStreams()==null)
|
||||||
|
theRequest.setStreams(new ArrayList<TempFile>());
|
||||||
|
theRequest.getStreams().add(f);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestBuilder setPath(String path){
|
||||||
|
theRequest.setDestinationPath(path);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public AddSectionToConcessioneRequest getTheRequest(){return theRequest;}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static RequestBuilder build(String path) {
|
||||||
|
return new RequestBuilder().setPath(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RequestBuilder build(String path, TempFile...files) {
|
||||||
|
return new RequestBuilder().setPath(path).add(files);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TempFile asTemp(StorageUtils storage,InputStreamDescriptor descriptor) throws RemoteBackendException, FileNotFoundException {
|
||||||
|
return storage.putOntoStorage(descriptor.getStream(), descriptor.getFilename());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TempFile[] asTemp(StorageUtils storage,InputStreamDescriptor... descriptors) throws RemoteBackendException, FileNotFoundException {
|
||||||
|
ArrayList<TempFile> toReturn=new ArrayList<TempFile>();
|
||||||
|
for(InputStreamDescriptor desc:descriptors)
|
||||||
|
toReturn.add(storage.putOntoStorage(desc.getStream(), desc.getFilename()));
|
||||||
|
return toReturn.toArray(new TempFile[toReturn.size()]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
package org.gcube.application.geoportal.clients;
|
package org.gcube.application.geoportal.clients;
|
||||||
|
|
||||||
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertNotNull;
|
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package org.gcube.application.geoportal.clients;
|
package org.gcube.application.geoportal.clients;
|
||||||
|
|
||||||
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.mongoConcessioni;
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.mongoConcessioni;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
@ -12,6 +11,7 @@ import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
|
import org.gcube.application.geoportal.client.legacy.ConcessioniManagerI;
|
||||||
import org.gcube.application.geoportal.common.model.TestModel;
|
import org.gcube.application.geoportal.common.model.TestModel;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione.Paths;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione.Paths;
|
||||||
|
@ -67,14 +67,19 @@ public class StatelessClientTests extends BasicVreTests{
|
||||||
Collections.singletonList(new StorageUtils().putOntoStorage(
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
||||||
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
||||||
|
|
||||||
c= client.registerFile(c.getMongo_id(), request);
|
c= client.registerFileSet(c.getMongo_id(), request);
|
||||||
|
|
||||||
assertNotNull(c.getRelazioneScavo().getActualContent());
|
assertNotNull(c.getRelazioneScavo().getActualContent());
|
||||||
assertNotNull(c.getRelazioneScavo().getActualContent().get(0));
|
assertNotNull(c.getRelazioneScavo().getActualContent().get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void publish() throws Exception {
|
public void testPublsh() throws Exception {
|
||||||
|
publish(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Concessione publish(Boolean verify) throws Exception {
|
||||||
Concessione c= client.createNew(TestModel.prepareConcessione());
|
Concessione c= client.createNew(TestModel.prepareConcessione());
|
||||||
|
|
||||||
String mongoId=c.getMongo_id();
|
String mongoId=c.getMongo_id();
|
||||||
|
@ -84,14 +89,14 @@ public class StatelessClientTests extends BasicVreTests{
|
||||||
Collections.singletonList(new StorageUtils().putOntoStorage(
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
||||||
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
||||||
|
|
||||||
client.registerFile(mongoId, request);
|
client.registerFileSet(mongoId, request);
|
||||||
|
|
||||||
request=
|
request=
|
||||||
new AddSectionToConcessioneRequest(Paths.imgByIndex(0),
|
new AddSectionToConcessioneRequest(Paths.imgByIndex(0),
|
||||||
Collections.singletonList(new StorageUtils().putOntoStorage(
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
||||||
new FileInputStream(Files.getFileFromResources("concessioni/immagine.png")), "immagine.png")));
|
new FileInputStream(Files.getFileFromResources("concessioni/immagine.png")), "immagine.png")));
|
||||||
|
|
||||||
client.registerFile(mongoId, request);
|
client.registerFileSet(mongoId, request);
|
||||||
|
|
||||||
|
|
||||||
request=
|
request=
|
||||||
|
@ -99,25 +104,28 @@ public class StatelessClientTests extends BasicVreTests{
|
||||||
Collections.singletonList(new StorageUtils().putOntoStorage(
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
||||||
new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")), "pos.shp")));
|
new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")), "pos.shp")));
|
||||||
|
|
||||||
client.registerFile(mongoId, request);
|
client.registerFileSet(mongoId, request);
|
||||||
|
|
||||||
request=
|
request=
|
||||||
new AddSectionToConcessioneRequest(Paths.piantaByIndex(0),
|
new AddSectionToConcessioneRequest(Paths.piantaByIndex(0),
|
||||||
Collections.singletonList(new StorageUtils().putOntoStorage(
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
||||||
new FileInputStream(Files.getFileFromResources("concessioni/pianta.shp")), "pianta.shp")));
|
new FileInputStream(Files.getFileFromResources("concessioni/pianta.shp")), "pianta.shp")));
|
||||||
|
|
||||||
client.registerFile(mongoId, request);
|
client.registerFileSet(mongoId, request);
|
||||||
|
|
||||||
|
|
||||||
c=client.publish(mongoId);
|
c=client.publish(mongoId);
|
||||||
|
|
||||||
|
if(verify)
|
||||||
assertTrue(c.getReport().getStatus().equals(ValidationStatus.PASSED));
|
assertTrue(c.getReport().getStatus().equals(ValidationStatus.PASSED));
|
||||||
|
|
||||||
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getConfiguration(){
|
public void getConfiguration() throws Exception {
|
||||||
|
System.out.println(client.getCurrentConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -128,7 +136,24 @@ public class StatelessClientTests extends BasicVreTests{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCleanFileSet() throws Exception {
|
||||||
|
|
||||||
|
Concessione c=publish(false);
|
||||||
|
client.unpublish(c.getMongo_id());
|
||||||
|
|
||||||
|
//Precheck to be sure
|
||||||
|
assertFalse(c.getPosizionamentoScavo().getActualContent().isEmpty());
|
||||||
|
assertFalse(c.getPianteFineScavo().get(0).getActualContent().isEmpty());
|
||||||
|
|
||||||
|
//Clear pos
|
||||||
|
c=client.cleanFileSet(c.getMongo_id(),Paths.POSIZIONAMENTO);
|
||||||
|
assertTrue(c.getPosizionamentoScavo().getActualContent().isEmpty());
|
||||||
|
|
||||||
|
//Clear pianta [0]
|
||||||
|
c=client.cleanFileSet(c.getMongo_id(),Paths.piantaByIndex(0));
|
||||||
|
assertTrue(c.getPianteFineScavo().get(0).getActualContent().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// UTILS
|
// UTILS
|
||||||
|
|
|
@ -5,6 +5,7 @@ import org.gcube.application.geoportal.clients.TokenSetter;
|
||||||
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
|
||||||
|
@ -24,7 +25,13 @@ public class ClearConcessioni {
|
||||||
AtomicLong count=new AtomicLong(0);
|
AtomicLong count=new AtomicLong(0);
|
||||||
AtomicLong nullCount=new AtomicLong(0);
|
AtomicLong nullCount=new AtomicLong(0);
|
||||||
AtomicLong errCount=new AtomicLong(0);
|
AtomicLong errCount=new AtomicLong(0);
|
||||||
manager.getList().forEachRemaining((Concessione c)->{
|
|
||||||
|
|
||||||
|
Iterator<Concessione> it=null;
|
||||||
|
// it=manager.getList();
|
||||||
|
it=manager.search("{\"centroidLat\" : 0}");
|
||||||
|
|
||||||
|
it.forEachRemaining((Concessione c)->{
|
||||||
try{
|
try{
|
||||||
String currentId=c.getMongo_id();
|
String currentId=c.getMongo_id();
|
||||||
if(currentId==null) {
|
if(currentId==null) {
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
package org.gcube.application.geoportal.usecases;
|
||||||
|
|
||||||
|
import org.gcube.application.geoportal.client.utils.FileSets;
|
||||||
|
import org.gcube.application.geoportal.clients.TokenSetter;
|
||||||
|
import org.gcube.application.geoportal.common.model.legacy.AssociatedContent;
|
||||||
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
||||||
|
import org.gcube.application.geoportal.common.model.legacy.InputStreamDescriptor;
|
||||||
|
import org.gcube.application.geoportal.common.model.rest.AddSectionToConcessioneRequest;
|
||||||
|
import org.gcube.application.geoportal.common.rest.MongoConcessioni;
|
||||||
|
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
|
||||||
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.mongoConcessioni;
|
||||||
|
|
||||||
|
public class EditFileSet {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
// params
|
||||||
|
String context="/gcube/devsec/devVRE";
|
||||||
|
String publishOption="true";
|
||||||
|
|
||||||
|
String toUpdateId="6131ebbc02ad3d2580412be3";
|
||||||
|
String toEditPath= Concessione.Paths.POSIZIONAMENTO;
|
||||||
|
String folderPath="/Users/fabioisti/Downloads/GNA_ELAIUSSA_FAC-SIMILE_2021/GNA_topografia_Elaiussa/PLANIMETRIE_SAGGI";
|
||||||
|
|
||||||
|
//Check params
|
||||||
|
Boolean publish = Boolean.parseBoolean(publishOption);
|
||||||
|
File sourceFolder=new File(folderPath);
|
||||||
|
if(!sourceFolder.canRead()) throw new Exception("Cannot read from "+folderPath);
|
||||||
|
|
||||||
|
System.out.println("!!!!!!! SETTING CONTEXT "+context);
|
||||||
|
TokenSetter.set(context);
|
||||||
|
|
||||||
|
|
||||||
|
//Prepare Fileset
|
||||||
|
System.out.println("Preparing request..");
|
||||||
|
StorageUtils storage=new StorageUtils();
|
||||||
|
AddSectionToConcessioneRequest request= prepareRequest(storage,toEditPath,sourceFolder);
|
||||||
|
|
||||||
|
MongoConcessioni client=mongoConcessioni().build();
|
||||||
|
|
||||||
|
// Unpublish
|
||||||
|
System.out.println("Unpublishing "+toUpdateId);
|
||||||
|
client.unpublish(toUpdateId);
|
||||||
|
|
||||||
|
// update Fileset
|
||||||
|
System.out.println("Removing old fileset.. ");
|
||||||
|
client.cleanFileSet(toUpdateId,toEditPath);
|
||||||
|
|
||||||
|
System.out.println("Sending new Fileset ..");
|
||||||
|
Concessione result= client.registerFileSet(toUpdateId,request);
|
||||||
|
|
||||||
|
if(publish)
|
||||||
|
result = client.publish(toUpdateId);
|
||||||
|
|
||||||
|
System.out.println("Done ");
|
||||||
|
System.out.println("Result : "+result);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static AddSectionToConcessioneRequest prepareRequest(StorageUtils storage, String path, File directory) throws FileNotFoundException {
|
||||||
|
|
||||||
|
File[] children =directory.listFiles();
|
||||||
|
System.out.println("Found "+children+ " files to push");
|
||||||
|
InputStreamDescriptor[] iss=new InputStreamDescriptor[children.length];
|
||||||
|
|
||||||
|
FileSets.RequestBuilder builder = FileSets.build(path);
|
||||||
|
for (File f : directory.listFiles())
|
||||||
|
builder.add(FileSets.asTemp(storage, new InputStreamDescriptor(new FileInputStream(f),f.getName())));
|
||||||
|
return builder.getTheRequest();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue