Apply multiplicity Rule upon Edge creation 65/55465/1
authormichaere <michaere@amdocs.com>
Wed, 27 Jun 2018 08:51:34 +0000 (09:51 +0100)
committermichaere <michaere@amdocs.com>
Wed, 27 Jun 2018 08:51:34 +0000 (09:51 +0100)
commitd10a218c76633374f083f7a2802c198e93a6abae
tree7c68c359600270f4f6eb1290bd34093c386d5d23
parent68cd3355674d66f8feee3d067960c081581a3911
Apply multiplicity Rule upon Edge creation

Uses multiplicity type from dbedge rules json to validate whether to and
from vertices meet the multiplicity constraint e.g. ONE2MANY.

This validation is applied when creating or updating an edge.

Issue-ID: AAI-1197

Change-Id: Id6e78635c5cbea66d8a35e6901b7e1b673125e4e
Signed-off-by: michaere <michaere@amdocs.com>
36 files changed:
src/main/java/org/onap/crud/dao/champ/ChampDao.java
src/main/java/org/onap/crud/entity/Vertex.java
src/main/java/org/onap/crud/event/response/GraphEventResponseHandler.java
src/main/java/org/onap/crud/parser/BulkPayload.java [moved from src/main/java/org/onap/crud/service/BulkPayload.java with 98% similarity]
src/main/java/org/onap/crud/parser/CrudResponseBuilder.java
src/main/java/org/onap/crud/parser/EdgePayload.java [moved from src/main/java/org/onap/crud/service/EdgePayload.java with 98% similarity]
src/main/java/org/onap/crud/parser/VertexPayload.java [moved from src/main/java/org/onap/crud/service/VertexPayload.java with 98% similarity]
src/main/java/org/onap/crud/parser/util/EdgePayloadUtil.java [new file with mode: 0644]
src/main/java/org/onap/crud/service/AaiResourceService.java
src/main/java/org/onap/crud/service/AbstractGraphDataService.java
src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java
src/main/java/org/onap/crud/service/CrudGraphDataService.java
src/main/java/org/onap/crud/service/CrudRestService.java
src/main/java/org/onap/crud/util/CrudServiceUtil.java
src/main/java/org/onap/schema/EdgeRulesLoader.java
src/main/java/org/onap/schema/RelationshipSchema.java
src/main/java/org/onap/schema/validation/MultiplicityValidator.java [new file with mode: 0644]
src/main/java/org/onap/schema/validation/OxmModelValidator.java [moved from src/main/java/org/onap/schema/OxmModelValidator.java with 99% similarity]
src/main/java/org/onap/schema/validation/RelationshipSchemaValidator.java [moved from src/main/java/org/onap/schema/RelationshipSchemaValidator.java with 54% similarity]
src/test/java/org/onap/crud/parser/util/EdgePayloadUtilTest.java [new file with mode: 0644]
src/test/java/org/onap/crud/service/AaiResourceServiceTest.java
src/test/java/org/onap/crud/service/BulkPayloadTest.java
src/test/java/org/onap/crud/service/CrudRestServiceTest.java
src/test/java/org/onap/crud/util/CrudServiceUtilTest.java
src/test/java/org/onap/schema/RelationshipSchemaTest.java
src/test/java/org/onap/schema/validation/MultiplicityValidatorTest.java [new file with mode: 0644]
src/test/resources/edgeProps/edge_properties_v10.json [moved from src/test/resources/model/edge_properties_v10.json with 100% similarity]
src/test/resources/edgeProps/edge_properties_v8.json [moved from src/test/resources/model/edge_properties_v8.json with 100% similarity]
src/test/resources/edgeProps/edge_properties_v9.json [moved from src/test/resources/model/edge_properties_v9.json with 100% similarity]
src/test/resources/model/edge_properties_v11.json [deleted file]
src/test/resources/oxm/aai_oxm_v10.xml [new file with mode: 0644]
src/test/resources/oxm/aai_oxm_v8.xml [new file with mode: 0644]
src/test/resources/oxm/aai_oxm_v9.xml [new file with mode: 0644]
src/test/resources/rules/DbEdgeRules_v10.json [moved from src/test/resources/model/DbEdgeRules_v10.json with 99% similarity]
src/test/resources/rules/DbEdgeRules_v8.json [moved from src/test/resources/model/DbEdgeRules_v8.json with 99% similarity]
src/test/resources/rules/DbEdgeRules_v9.json [moved from src/test/resources/model/DbEdgeRules_v9.json with 99% similarity]