Redesigning E/R instance definition

This commit is contained in:
Luca Frosini 2023-04-20 12:09:07 +02:00
parent 88fe4e3ff3
commit 237d637809
13 changed files with 21 additions and 23 deletions

View File

@ -1126,8 +1126,6 @@ public abstract class ElementManagement<El extends OElement, T extends Type> {
element.removeProperty(key);
}
element.save();
return element;
}

View File

@ -122,9 +122,6 @@ public abstract class EntityElementManagement<E extends EntityElement, ET extend
throw new ResourceRegistryException(error);
}
OVertex vertexEntity = oDatabaseDocument.newVertex(typeName);
this.element = vertexEntity;
try {
if(uuid != null) {
OVertex v = getElement();
@ -149,6 +146,9 @@ public abstract class EntityElementManagement<E extends EntityElement, ET extend
throw e;
}
OVertex vertexEntity = oDatabaseDocument.newVertex(typeName);
this.element = vertexEntity;
if(accessType == AccessType.RESOURCE) {
// Facet and relation are created in calling method
} else {

View File

@ -64,9 +64,9 @@ public class SharingManager {
* The the body is the following
*
* [
* {"@class" : "HostingNode", "@uuid" : "16032d09-3823-444e-a1ff-a67de4f350a8" },
* {"@class" : "Hosts", "@uuid" : "97ab8a6b-6b1b-4868-b8fc-ba48d0439ba9"},
* {"@class" : "EService", "@uuid" : "d3b1a29b-aa70-4a5a-be83-361a4209dd3e"}
* {"@class" : "HostingNode", "uuid" : "16032d09-3823-444e-a1ff-a67de4f350a8" },
* {"@class" : "Hosts", "uuid" : "97ab8a6b-6b1b-4868-b8fc-ba48d0439ba9"},
* {"@class" : "EService", "uuid" : "d3b1a29b-aa70-4a5a-be83-361a4209dd3e"}
* ]
*
*

View File

@ -41,7 +41,7 @@ public class InvalidOperationTest extends ERManagementTest {
private static Logger logger = LoggerFactory.getLogger(InvalidOperationTest.class);
public static final String ACTIVATES = "{\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"add\":\"propagate\",\"remove\":\"cascade\",\"delete\":\"cascade\"},\"@class\":\"Activates\",\"source\":{\"@class\":\"Configuration\",\"@uuid\":\"CONFIGURATION_UUID\"},\"target\":{\"@uuid\":\"ESERVICE_UUID\",\"@class\":\"EService\"}}";
public static final String ACTIVATES = "{\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"add\":\"propagate\",\"remove\":\"cascade\",\"delete\":\"cascade\"},\"@class\":\"Activates\",\"source\":{\"@class\":\"Configuration\",\"uuid\":\"CONFIGURATION_UUID\"},\"target\":{\"uuid\":\"ESERVICE_UUID\",\"@class\":\"EService\"}}";
public static final String ACTOR = "{\"@class\":\"Actor\",\"@metadata\":null,\"consistsOf\":[{\"@class\":\"IsIdentifiedBy\",\"@metadata\":null,\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"remove\":\"cascade\",\"delete\":\"cascade\",\"add\":\"propagate\"},\"source\":{\"@class\":\"Actor\",\"@metadata\":null},\"target\":{\"@class\":\"ContactFacet\",\"@metadata\":null,\"title\":\"Dr.\",\"name\":\"Frosini\",\"middleName\":null,\"surname\":null,\"eMail\":\"luca.frosini@isti.cnr.it\"}}],\"isRelatedTo\":[]}";
@Test(expected = SchemaViolationException.class)

View File

@ -30,10 +30,10 @@
"isRelatedTo" : [
{
"@class": "Activates",
"@uuid": "d3f58e52-5346-47bc-b736-9d77a0b554ce",
"uuid": "d3f58e52-5346-47bc-b736-9d77a0b554ce",
"source": {
"@class": "HostingNode",
"@uuid" : "5fbc1a56-d450-4f0f-85c1-9b1684581717"
"uuid" : "5fbc1a56-d450-4f0f-85c1-9b1684581717"
}
}
]

View File

@ -5,7 +5,7 @@
"@class": "ConsistsOf",
"source" : {
"@class" : "EService",
"@uuid": "0255b7ec-e3da-4071-b456-9a2907ece1db"
"uuid": "0255b7ec-e3da-4071-b456-9a2907ece1db"
}
}
}

View File

@ -1 +1 @@
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE @uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db"))) WHERE value = "down"
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db"))) WHERE value = "down"

View File

@ -7,11 +7,11 @@
"@class" : "EService",
"$or": [
{"$and": {
"@uuid" : "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925",
"uuid" : "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925",
"@metadata" :{ "createdBy": {"$ne": "luca.frosini"} }
}},
{"$and": {
"@uuid" : "0255b7ec-e3da-4071-b456-9a2907ece1db",
"uuid" : "0255b7ec-e3da-4071-b456-9a2907ece1db",
"@metadata" : { "createdBy": "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080" }
}}
]

View File

@ -1 +1 @@
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE ((@uuid = "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925" AND @metadata.createdBy <> "luca.frosini") OR (@uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db" AND @metadata.createdBy = "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080"))))) WHERE value = "down"
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE ((uuid = "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925" AND @metadata.createdBy <> "luca.frosini") OR (uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db" AND @metadata.createdBy = "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080"))))) WHERE value = "down"

View File

@ -1,6 +1,6 @@
{
"@class": "EService",
"@uuid": "0255b7ec-e3da-4071-b456-9a2907ece1db",
"uuid": "0255b7ec-e3da-4071-b456-9a2907ece1db",
"consistsOf": [
{
"@class": "ConsistsOf",
@ -31,10 +31,10 @@
"isRelatedTo" : [
{
"@class": "Activates",
"@uuid": "d3f58e52-5346-47bc-b736-9d77a0b554ce",
"uuid": "d3f58e52-5346-47bc-b736-9d77a0b554ce",
"source": {
"@class": "HostingNode",
"@uuid" : "5fbc1a56-d450-4f0f-85c1-9b1684581717",
"uuid" : "5fbc1a56-d450-4f0f-85c1-9b1684581717",
"consistsOf": [
{
"@class": "ConsistsOf",

View File

@ -1 +1 @@
SELECT FROM ( TRAVERSE outV("EService") FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("AccessPointFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE outV("EService") FROM ( TRAVERSE inE("IsIdentifiedBy") FROM ( SELECT FROM ( TRAVERSE inV("SoftwareFacet") FROM ( TRAVERSE outE("IsIdentifiedBy") FROM ( TRAVERSE outV("EService") FROM ( SELECT FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE inV("EService") FROM ( TRAVERSE outE("Activates") FROM ( SELECT FROM ( TRAVERSE outV("HostingNode") FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("CPUFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE outV("HostingNode") FROM ( SELECT FROM Activates WHERE @uuid = "d3f58e52-5346-47bc-b736-9d77a0b554ce")))) WHERE vendor = "GenuineIntel"))) WHERE @uuid = "5fbc1a56-d450-4f0f-85c1-9b1684581717"))))) WHERE value = "down")) WHERE propagationConstraint.add = "propagate")))) WHERE name = "data-transfer-service" AND group = "DataTransfer"))))) WHERE endpoint = "http://pc-frosini.isti.cnr.it:8080/data-transfer-service/gcube/service"))) WHERE @uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db"
SELECT FROM ( TRAVERSE outV("EService") FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("AccessPointFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE outV("EService") FROM ( TRAVERSE inE("IsIdentifiedBy") FROM ( SELECT FROM ( TRAVERSE inV("SoftwareFacet") FROM ( TRAVERSE outE("IsIdentifiedBy") FROM ( TRAVERSE outV("EService") FROM ( SELECT FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE inV("EService") FROM ( TRAVERSE outE("Activates") FROM ( SELECT FROM ( TRAVERSE outV("HostingNode") FROM ( TRAVERSE inE("ConsistsOf") FROM ( SELECT FROM ( TRAVERSE inV("CPUFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( TRAVERSE outV("HostingNode") FROM ( SELECT FROM Activates WHERE uuid = "d3f58e52-5346-47bc-b736-9d77a0b554ce")))) WHERE vendor = "GenuineIntel"))) WHERE uuid = "5fbc1a56-d450-4f0f-85c1-9b1684581717"))))) WHERE value = "down")) WHERE propagationConstraint.add = "propagate")))) WHERE name = "data-transfer-service" AND group = "DataTransfer"))))) WHERE endpoint = "http://pc-frosini.isti.cnr.it:8080/data-transfer-service/gcube/service"))) WHERE uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db"

View File

@ -6,11 +6,11 @@
"@class" : "EService",
"$or": [
{"$and": {
"@uuid" : "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925",
"uuid" : "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925",
"@metadata" :{ "createdBy": {"$ne": "luca.frosini"} }
}},
{"$and": {
"@uuid" : "0255b7ec-e3da-4071-b456-9a2907ece1db",
"uuid" : "0255b7ec-e3da-4071-b456-9a2907ece1db",
"@metadata" : { "createdBy": "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080" }
}}
]

View File

@ -1 +1 @@
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE ((@uuid = "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925" AND @metadata.createdBy <> "luca.frosini") OR (@uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db" AND metadata.createdBy = "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080")))))
SELECT FROM ( TRAVERSE inV("StateFacet") FROM ( TRAVERSE outE("ConsistsOf") FROM ( SELECT FROM ( SELECT FROM EService) WHERE ((uuid = "aec0ef31-c735-4a4c-b2f4-57dfbd2fe925" AND @metadata.createdBy <> "luca.frosini") OR (uuid = "0255b7ec-e3da-4071-b456-9a2907ece1db" AND metadata.createdBy = "DataTransfer:data-transfer-service:pc-frosini.isti.cnr.it_8080")))))