Fixes #24380
This commit is contained in:
parent
eb3a5083b9
commit
3d03e565b4
|
@ -82,12 +82,6 @@ public class ConcessioniLifeCycleManager extends Default3PhaseManager implements
|
||||||
log.debug("Concessione {}, managing relazione {}",document.getId(),rel);
|
log.debug("Concessione {}, managing relazione {}",document.getId(),rel);
|
||||||
rel.putIfAbsent(ProfiledConcessione.Sections.TITOLO,doc.getString(ProfiledConcessione.NOME)+" relazione di scavo");
|
rel.putIfAbsent(ProfiledConcessione.Sections.TITOLO,doc.getString(ProfiledConcessione.NOME)+" relazione di scavo");
|
||||||
rel.putIfAbsent(ProfiledConcessione.SOGGETTO,doc.get(ProfiledConcessione.SOGGETTO));
|
rel.putIfAbsent(ProfiledConcessione.SOGGETTO,doc.get(ProfiledConcessione.SOGGETTO));
|
||||||
rel.putIfAbsent(RegisteredFileSet.CREATION_INFO,c.getInfo().getCreationInfo());
|
|
||||||
rel.putIfAbsent(RegisteredFileSet.ACCESS,c.getInfo().getAccess());
|
|
||||||
Access relAccess=Serialization.convert(rel.get(RegisteredFileSet.ACCESS),Access.class);
|
|
||||||
relAccess.setLicense(ConstraintCheck.defaultFor(relAccess.getLicense(),"CC-BY-4.0").evaluate());
|
|
||||||
relAccess.setPolicy(ConstraintCheck.defaultFor(relAccess.getPolicy(), AccessPolicy.OPEN).evaluate());
|
|
||||||
rel.put(RegisteredFileSet.ACCESS,relAccess);
|
|
||||||
doc.put(ProfiledConcessione.RELAZIONE_SCAVO,rel);
|
doc.put(ProfiledConcessione.RELAZIONE_SCAVO,rel);
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,12 +90,6 @@ public class ConcessioniLifeCycleManager extends Default3PhaseManager implements
|
||||||
Serialization.convert(doc.get(ProfiledConcessione.ABSTRACT_RELAZIONE), Document.class):new Document();
|
Serialization.convert(doc.get(ProfiledConcessione.ABSTRACT_RELAZIONE), Document.class):new Document();
|
||||||
log.debug("Concessione {}, managing abstract relazione {}",document.getId(),abs);
|
log.debug("Concessione {}, managing abstract relazione {}",document.getId(),abs);
|
||||||
abs.putIfAbsent(ProfiledConcessione.Sections.TITOLO,doc.getString(ProfiledConcessione.NOME)+" abstract relazione di scavo");
|
abs.putIfAbsent(ProfiledConcessione.Sections.TITOLO,doc.getString(ProfiledConcessione.NOME)+" abstract relazione di scavo");
|
||||||
abs.putIfAbsent(RegisteredFileSet.CREATION_INFO,c.getInfo().getCreationInfo());
|
|
||||||
abs.putIfAbsent(RegisteredFileSet.ACCESS,c.getInfo().getAccess());
|
|
||||||
Access absAccess=Serialization.convert(abs.get(RegisteredFileSet.ACCESS),Access.class);
|
|
||||||
absAccess.setLicense(ConstraintCheck.defaultFor(absAccess.getLicense(),"CC-BY-4.0").evaluate());
|
|
||||||
absAccess.setPolicy(ConstraintCheck.defaultFor(absAccess.getPolicy(), AccessPolicy.OPEN).evaluate());
|
|
||||||
abs.put(RegisteredFileSet.ACCESS,absAccess);
|
|
||||||
doc.put(ProfiledConcessione.ABSTRACT_RELAZIONE,abs);
|
doc.put(ProfiledConcessione.ABSTRACT_RELAZIONE,abs);
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,13 +108,6 @@ public class ConcessioniLifeCycleManager extends Default3PhaseManager implements
|
||||||
// BBOX in registered filesets
|
// BBOX in registered filesets
|
||||||
|
|
||||||
pos.put(ProfiledConcessione.RESPONSABILE,doc.get(ProfiledConcessione.RESPONSABILE));
|
pos.put(ProfiledConcessione.RESPONSABILE,doc.get(ProfiledConcessione.RESPONSABILE));
|
||||||
|
|
||||||
pos.putIfAbsent(RegisteredFileSet.CREATION_INFO,c.getInfo().getCreationInfo());
|
|
||||||
pos.putIfAbsent(RegisteredFileSet.ACCESS,c.getInfo().getAccess());
|
|
||||||
Access posAccess=Serialization.convert(rel.get(RegisteredFileSet.ACCESS),Access.class);
|
|
||||||
posAccess.setLicense(ConstraintCheck.defaultFor(posAccess.getLicense(),"CC-BY-4.0").evaluate());
|
|
||||||
posAccess.setPolicy(ConstraintCheck.defaultFor(posAccess.getPolicy(), AccessPolicy.OPEN).evaluate());
|
|
||||||
pos.put(RegisteredFileSet.ACCESS,posAccess);
|
|
||||||
doc.put(ProfiledConcessione.POSIZIONAMENTO_SCAVO,pos);
|
doc.put(ProfiledConcessione.POSIZIONAMENTO_SCAVO,pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,12 +120,7 @@ public class ConcessioniLifeCycleManager extends Default3PhaseManager implements
|
||||||
for (int i = 0; i <imgs.size() ; i++) {
|
for (int i = 0; i <imgs.size() ; i++) {
|
||||||
Document imgDoc=Serialization.asDocument(imgs.get(i));
|
Document imgDoc=Serialization.asDocument(imgs.get(i));
|
||||||
imgDoc.putIfAbsent(ProfiledConcessione.SOGGETTO,doc.get(ProfiledConcessione.SOGGETTO));
|
imgDoc.putIfAbsent(ProfiledConcessione.SOGGETTO,doc.get(ProfiledConcessione.SOGGETTO));
|
||||||
imgDoc.putIfAbsent(RegisteredFileSet.CREATION_INFO,c.getInfo().getCreationInfo());
|
|
||||||
imgDoc.putIfAbsent(RegisteredFileSet.ACCESS,c.getInfo().getAccess());
|
|
||||||
Access imgAccess=Serialization.convert(imgDoc.get(RegisteredFileSet.ACCESS),Access.class);
|
|
||||||
imgAccess.setLicense(ConstraintCheck.defaultFor(imgAccess.getLicense(),"CC-BY-4.0").evaluate());
|
|
||||||
imgAccess.setPolicy(ConstraintCheck.defaultFor(imgAccess.getPolicy(), AccessPolicy.OPEN).evaluate());
|
|
||||||
imgDoc.put(RegisteredFileSet.ACCESS,imgAccess);
|
|
||||||
wrapper.setElement("$."+ProfiledConcessione.IMMAGINI_RAPPRESENTATIVE+"["+i+"]",imgDoc);
|
wrapper.setElement("$."+ProfiledConcessione.IMMAGINI_RAPPRESENTATIVE+"["+i+"]",imgDoc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -168,12 +144,6 @@ public class ConcessioniLifeCycleManager extends Default3PhaseManager implements
|
||||||
|
|
||||||
piantaDoc.put(ProfiledConcessione.RESPONSABILE,doc.get(ProfiledConcessione.RESPONSABILE));
|
piantaDoc.put(ProfiledConcessione.RESPONSABILE,doc.get(ProfiledConcessione.RESPONSABILE));
|
||||||
|
|
||||||
piantaDoc.putIfAbsent(RegisteredFileSet.CREATION_INFO,c.getInfo().getCreationInfo());
|
|
||||||
piantaDoc.putIfAbsent(RegisteredFileSet.ACCESS,c.getInfo().getAccess());
|
|
||||||
Access posAccess=Serialization.convert(rel.get(RegisteredFileSet.ACCESS),Access.class);
|
|
||||||
posAccess.setLicense(ConstraintCheck.defaultFor(posAccess.getLicense(),"CC-BY-4.0").evaluate());
|
|
||||||
posAccess.setPolicy(ConstraintCheck.defaultFor(posAccess.getPolicy(), AccessPolicy.OPEN).evaluate());
|
|
||||||
piantaDoc.put(RegisteredFileSet.ACCESS,posAccess);
|
|
||||||
wrapper.setElement("$."+ProfiledConcessione.PIANTE_FINE_SCAVO+"["+i+"]",piantaDoc);
|
wrapper.setElement("$."+ProfiledConcessione.PIANTE_FINE_SCAVO+"["+i+"]",piantaDoc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,13 +53,13 @@ public class ConcessioniPluginTests extends BasicPluginTest {
|
||||||
Document rel = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.RELAZIONE_SCAVO), Document.class);
|
Document rel = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.RELAZIONE_SCAVO), Document.class);
|
||||||
assertNotNull(rel.get(ProfiledConcessione.Sections.TITOLO));
|
assertNotNull(rel.get(ProfiledConcessione.Sections.TITOLO));
|
||||||
assertNotNull(rel.get(ProfiledConcessione.SOGGETTO));
|
assertNotNull(rel.get(ProfiledConcessione.SOGGETTO));
|
||||||
assertNotNull(rel.get(RegisteredFileSet.CREATION_INFO));
|
assertNull(rel.get(RegisteredFileSet.CREATION_INFO));
|
||||||
assertNotNull(rel.get(RegisteredFileSet.ACCESS));
|
assertNull(rel.get(RegisteredFileSet.ACCESS));
|
||||||
|
|
||||||
Document abs = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.ABSTRACT_RELAZIONE), Document.class);
|
Document abs = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.ABSTRACT_RELAZIONE), Document.class);
|
||||||
assertNotNull(abs.get(ProfiledConcessione.Sections.TITOLO));
|
assertNotNull(abs.get(ProfiledConcessione.Sections.TITOLO));
|
||||||
assertNotNull(abs.get(RegisteredFileSet.CREATION_INFO));
|
assertNull(abs.get(RegisteredFileSet.CREATION_INFO));
|
||||||
assertNotNull(abs.get(RegisteredFileSet.ACCESS));
|
assertNull(abs.get(RegisteredFileSet.ACCESS));
|
||||||
|
|
||||||
|
|
||||||
Document pos = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.POSIZIONAMENTO_SCAVO), Document.class);
|
Document pos = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.POSIZIONAMENTO_SCAVO), Document.class);
|
||||||
|
@ -67,8 +67,8 @@ public class ConcessioniPluginTests extends BasicPluginTest {
|
||||||
assertNotNull(pos.get(ProfiledConcessione.Sections.ABSTRACT));
|
assertNotNull(pos.get(ProfiledConcessione.Sections.ABSTRACT));
|
||||||
assertNotNull(pos.get(ProfiledConcessione.Layers.TOPIC));
|
assertNotNull(pos.get(ProfiledConcessione.Layers.TOPIC));
|
||||||
assertNotNull(pos.get(ProfiledConcessione.Layers.SUB_TOPIC));
|
assertNotNull(pos.get(ProfiledConcessione.Layers.SUB_TOPIC));
|
||||||
assertNotNull(pos.get(RegisteredFileSet.CREATION_INFO));
|
assertNull(pos.get(RegisteredFileSet.CREATION_INFO));
|
||||||
assertNotNull(pos.get(RegisteredFileSet.ACCESS));
|
assertNull(pos.get(RegisteredFileSet.ACCESS));
|
||||||
|
|
||||||
|
|
||||||
JSONPathWrapper wrapper = new JSONPathWrapper(c.getTheDocument().toJson());
|
JSONPathWrapper wrapper = new JSONPathWrapper(c.getTheDocument().toJson());
|
||||||
|
@ -77,8 +77,8 @@ public class ConcessioniPluginTests extends BasicPluginTest {
|
||||||
try{
|
try{
|
||||||
Document img = Serialization.asDocument(o);
|
Document img = Serialization.asDocument(o);
|
||||||
assertNotNull(img.get(ProfiledConcessione.SOGGETTO));
|
assertNotNull(img.get(ProfiledConcessione.SOGGETTO));
|
||||||
assertNotNull(img.get(RegisteredFileSet.CREATION_INFO));
|
assertNull(img.get(RegisteredFileSet.CREATION_INFO));
|
||||||
assertNotNull(img.get(RegisteredFileSet.ACCESS));
|
assertNull(img.get(RegisteredFileSet.ACCESS));
|
||||||
}catch (Throwable t){
|
}catch (Throwable t){
|
||||||
System.out.println("Unable to read IMG "+o);
|
System.out.println("Unable to read IMG "+o);
|
||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
|
@ -94,8 +94,8 @@ public class ConcessioniPluginTests extends BasicPluginTest {
|
||||||
assertNotNull(pianta.get(ProfiledConcessione.Sections.ABSTRACT));
|
assertNotNull(pianta.get(ProfiledConcessione.Sections.ABSTRACT));
|
||||||
assertNotNull(pianta.get(ProfiledConcessione.Layers.TOPIC));
|
assertNotNull(pianta.get(ProfiledConcessione.Layers.TOPIC));
|
||||||
assertNotNull(pianta.get(ProfiledConcessione.Layers.SUB_TOPIC));
|
assertNotNull(pianta.get(ProfiledConcessione.Layers.SUB_TOPIC));
|
||||||
assertNotNull(pianta.get(RegisteredFileSet.CREATION_INFO));
|
assertNull(pianta.get(RegisteredFileSet.CREATION_INFO));
|
||||||
assertNotNull(pianta.get(RegisteredFileSet.ACCESS));
|
assertNull(pianta.get(RegisteredFileSet.ACCESS));
|
||||||
}catch (Throwable t){
|
}catch (Throwable t){
|
||||||
System.out.println("Unable to read pianta "+o);
|
System.out.println("Unable to read pianta "+o);
|
||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
|
|
|
@ -48,7 +48,6 @@ import org.gcube.application.geoportal.common.model.rest.QueryRequest;
|
||||||
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
|
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
|
||||||
import org.gcube.application.geoportal.common.model.rest.TempFile;
|
import org.gcube.application.geoportal.common.model.rest.TempFile;
|
||||||
import org.gcube.application.geoportal.common.model.useCaseDescriptor.*;
|
import org.gcube.application.geoportal.common.model.useCaseDescriptor.*;
|
||||||
import org.gcube.application.geoportal.common.utils.ContextUtils;
|
|
||||||
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
||||||
import org.gcube.application.geoportal.service.engine.providers.PluginManager;
|
import org.gcube.application.geoportal.service.engine.providers.PluginManager;
|
||||||
|
|
||||||
|
@ -236,7 +235,7 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
|
||||||
|
|
||||||
// TODO Set Access From UseCaseDescriptor
|
// TODO Set Access From UseCaseDescriptor
|
||||||
Access access=new Access();
|
Access access=new Access();
|
||||||
access.setLicense("");
|
access.setLicense("CC-BY-4.0");
|
||||||
access.setPolicy(AccessPolicy.OPEN);
|
access.setPolicy(AccessPolicy.OPEN);
|
||||||
pubInfo.setAccess(access);
|
pubInfo.setAccess(access);
|
||||||
|
|
||||||
|
@ -625,6 +624,8 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
|
||||||
}
|
}
|
||||||
if(!policy.canWrite(doc,u)) throw new UnauthorizedAccess("No edit rights on project "+id);
|
if(!policy.canWrite(doc,u)) throw new UnauthorizedAccess("No edit rights on project "+id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
doc.getLifecycleInformation().cleanState();
|
doc.getLifecycleInformation().cleanState();
|
||||||
doc.getLifecycleInformation().setLastOperationStatus(LifecycleInformation.Status.OK);
|
doc.getLifecycleInformation().setLastOperationStatus(LifecycleInformation.Status.OK);
|
||||||
|
|
||||||
|
@ -651,10 +652,14 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI<
|
||||||
Document parent = Serialization.asDocument(foundElementsByMatchingPaths.get(0));
|
Document parent = Serialization.asDocument(foundElementsByMatchingPaths.get(0));
|
||||||
|
|
||||||
|
|
||||||
Access toSetAccess = doc.getInfo().getAccess();
|
Access toSetAccess = new Access(doc.getInfo().getAccess().getPolicy(),doc.getInfo().getAccess().getLicense());
|
||||||
if(request.getToSetAccess()!=null){
|
if(request.getToSetAccess()!=null){
|
||||||
//TODO validate specified Access
|
//TODO validate specified Access
|
||||||
toSetAccess = request.getToSetAccess();
|
String requestedLicense = request.getToSetAccess().getLicense();
|
||||||
|
if(requestedLicense!=null)toSetAccess.setLicense(requestedLicense);
|
||||||
|
|
||||||
|
AccessPolicy requestedPolicy = request.getToSetAccess().getPolicy();
|
||||||
|
if(requestedPolicy!=null)toSetAccess.setPolicy(requestedPolicy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// PREPARE REGISTERED FS
|
// PREPARE REGISTERED FS
|
||||||
|
|
Loading…
Reference in New Issue