Migrated context creation to new version of APIs which provides uuids
This commit is contained in:
parent
a4ee7d0812
commit
44f3d2d84c
|
@ -12,9 +12,9 @@ import org.gcube.informationsystem.context.reference.entities.Context;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextNotFoundException;
|
||||||
import org.gcube.informationsystem.resourceregistry.instances.context.ContextUtility;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.instances.context.entities.ContextManagement;
|
import org.gcube.informationsystem.resourceregistry.instances.context.entities.ContextManagement;
|
||||||
import org.gcube.informationsystem.utils.ISMapper;
|
import org.gcube.informationsystem.utils.ISMapper;
|
||||||
|
import org.gcube.resourcemanagement.support.shared.types.datamodel.D4SEnvironment;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -58,6 +58,46 @@ public class ContextCreator extends ContextElaborator {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void elaborateContext(D4SEnvironment d4sEnvironment) throws Exception {
|
||||||
|
UUID uuid = null;
|
||||||
|
ScopeBean scopeBean = d4sEnvironment.getContext();
|
||||||
|
|
||||||
|
UUID oldISResourceUUID = null;
|
||||||
|
try {
|
||||||
|
oldISResourceUUID = UUID.fromString(d4sEnvironment.getUuid());
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
uuid = getContextUUID(scopeBean);
|
||||||
|
}catch (ContextNotFoundException e) {
|
||||||
|
// The context has to be created
|
||||||
|
logger.info("{} not found", scopeBean.toString());
|
||||||
|
}
|
||||||
|
if(uuid==null) {
|
||||||
|
logger.info("Parent Context of {} is {}", scopeBean, scopeBean.enclosingScope());
|
||||||
|
UUID parentUUID = getContextUUID(scopeBean.enclosingScope());
|
||||||
|
Context context;
|
||||||
|
if(oldISResourceUUID==null) {
|
||||||
|
context = new ContextImpl(scopeBean.name());
|
||||||
|
}else {
|
||||||
|
context = new ContextImpl(scopeBean.name(), oldISResourceUUID);
|
||||||
|
}
|
||||||
|
if(parentUUID!=null) {
|
||||||
|
context.setParent(parentUUID);
|
||||||
|
}
|
||||||
|
context = create(context);
|
||||||
|
contexts.put(scopeBean.toString(), context.getHeader().getUUID());
|
||||||
|
}else {
|
||||||
|
logger.info("Context {} is already present with UUID {}", scopeBean, uuid.toString());
|
||||||
|
if(oldISResourceUUID==null || uuid.compareTo(oldISResourceUUID)!=0) {
|
||||||
|
String warn = "Context " + scopeBean.toString() + " has in Resource Registry UUID " + uuid.toString() + " which does not match with UUID " + oldISResourceUUID + " of the resource in the OLD Information System";
|
||||||
|
logger.warn(warn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void elaborateContext(ScopeBean scopeBean) throws Exception {
|
protected void elaborateContext(ScopeBean scopeBean) throws Exception {
|
||||||
|
|
|
@ -14,5 +14,4 @@ public class ContextManagementTest extends ContextTest {
|
||||||
contextCreator.all();
|
contextCreator.all();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue