summaryrefslogtreecommitdiffstats
path: root/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java')
-rw-r--r--catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java405
1 files changed, 186 insertions, 219 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java
index 6e980f20ba..45df37c4b8 100644
--- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java
+++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GroupInstanceOperation.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,15 +17,22 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.model.operations.impl;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphVertex;
import fj.data.Either;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.function.Supplier;
+import java.util.stream.Collectors;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.janusgraph.core.JanusGraph;
+import org.janusgraph.core.JanusGraphVertex;
import org.openecomp.sdc.be.config.BeEcompErrorManager;
import org.openecomp.sdc.be.config.BeEcompErrorManager.ErrorSeverity;
import org.openecomp.sdc.be.dao.graph.datatype.GraphEdge;
@@ -38,84 +45,79 @@ import org.openecomp.sdc.be.datatypes.elements.GroupInstanceDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.SchemaDefinition;
import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
-import org.openecomp.sdc.be.model.*;
+import org.openecomp.sdc.be.model.ComponentInstanceProperty;
+import org.openecomp.sdc.be.model.DataTypeDefinition;
+import org.openecomp.sdc.be.model.GroupDefinition;
+import org.openecomp.sdc.be.model.GroupInstance;
+import org.openecomp.sdc.be.model.GroupInstanceProperty;
+import org.openecomp.sdc.be.model.GroupProperty;
+import org.openecomp.sdc.be.model.IComponentInstanceConnectedElement;
import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
import org.openecomp.sdc.be.model.operations.api.IGroupInstanceOperation;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
-import org.openecomp.sdc.be.resources.data.*;
+import org.openecomp.sdc.be.resources.data.ArtifactData;
+import org.openecomp.sdc.be.resources.data.GroupInstanceData;
+import org.openecomp.sdc.be.resources.data.PropertyData;
+import org.openecomp.sdc.be.resources.data.PropertyValueData;
+import org.openecomp.sdc.be.resources.data.UniqueIdData;
import org.openecomp.sdc.common.datastructure.Wrapper;
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.springframework.beans.factory.annotation.Autowired;
-import java.util.*;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-
@org.springframework.stereotype.Component("group-instance-operation")
public class GroupInstanceOperation extends AbstractOperation implements IGroupInstanceOperation {
private static final String UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE = "UpdatePropertyValueOnComponentInstance";
- private static final String FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS = "Failed to update property value on instance. Status is ";
- private static final Logger log = Logger.getLogger(GroupInstanceOperation.class.getName());
-
+ private static final String FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS = "Failed to update property value on instance. Status is ";
+ private static final Logger log = Logger.getLogger(GroupInstanceOperation.class.getName());
@Autowired
GroupOperation groupOperation;
-
@Autowired
PropertyOperation propertyOperation;
-
@javax.annotation.Resource
private ApplicationDataTypeCache dataTypeCache;
public Either<List<GroupInstance>, StorageOperationStatus> getAllGroupInstances(String parentId, NodeTypeEnum parentType) {
Either<List<GroupInstance>, StorageOperationStatus> result = null;
List<GroupInstance> groupInstanceRes = new ArrayList<>();
-
Either<JanusGraph, JanusGraphOperationStatus> graph = janusGraphGenericDao.getGraph();
if (graph.isRight()) {
log.debug("Failed to work with graph {}", graph.right().value());
return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(graph.right().value()));
}
JanusGraph tGraph = graph.left().value();
- @SuppressWarnings("unchecked")
- Iterable<JanusGraphVertex> vertices = tGraph.query().has(UniqueIdBuilder.getKeyByNodeType(parentType), parentId).vertices();
+ @SuppressWarnings("unchecked") Iterable<JanusGraphVertex> vertices = tGraph.query()
+ .has(UniqueIdBuilder.getKeyByNodeType(parentType), parentId).vertices();
if (vertices == null || vertices.iterator() == null || !vertices.iterator().hasNext()) {
log.debug("No nodes for type {} for id = {}", parentType, parentId);
result = Either.right(StorageOperationStatus.NOT_FOUND);
return result;
}
-
Iterator<JanusGraphVertex> iterator = vertices.iterator();
Vertex vertex = iterator.next();
-
Map<String, Object> edgeProperties = null;
-
Either<List<ImmutablePair<GroupInstanceData, GraphEdge>>, JanusGraphOperationStatus> childrenByEdgeCriteria = janusGraphGenericDao
- .getChildrenByEdgeCriteria(vertex, parentId, GraphEdgeLabels.GROUP_INST, NodeTypeEnum.GroupInstance,
- GroupInstanceData.class, edgeProperties);
-
+ .getChildrenByEdgeCriteria(vertex, parentId, GraphEdgeLabels.GROUP_INST, NodeTypeEnum.GroupInstance, GroupInstanceData.class,
+ edgeProperties);
if (childrenByEdgeCriteria.isRight()) {
JanusGraphOperationStatus status = childrenByEdgeCriteria.right().value();
log.debug("Failed to find group instance {} on graph", childrenByEdgeCriteria.right().value());
return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
}
-
List<ImmutablePair<GroupInstanceData, GraphEdge>> list = childrenByEdgeCriteria.left().value();
-
for (ImmutablePair<GroupInstanceData, GraphEdge> pair : list) {
GroupInstanceData groupInstData = pair.getLeft();
GroupInstance groupInstance = new GroupInstance(groupInstData.getGroupDataDefinition());
String instOriginGroupId = groupInstance.getGroupUid();
Either<GroupDefinition, StorageOperationStatus> groupRes = groupOperation.getGroupFromGraph(instOriginGroupId, false, true, false);
-
if (groupRes.isRight()) {
return Either.right(groupRes.right().value());
}
-
GroupDefinition groupDefinition = groupRes.left().value();
- Either<Map<String, PropertyValueData>, JanusGraphOperationStatus> groupInstancePropertyValuesRes = getAllGroupInstancePropertyValuesData(groupInstData);
- if(groupInstancePropertyValuesRes.isRight()){
+ Either<Map<String, PropertyValueData>, JanusGraphOperationStatus> groupInstancePropertyValuesRes = getAllGroupInstancePropertyValuesData(
+ groupInstData);
+ if (groupInstancePropertyValuesRes.isRight()) {
return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(groupInstancePropertyValuesRes.right().value()));
}
buildGroupInstanceFromGroup(groupInstance, groupDefinition, groupInstancePropertyValuesRes.left().value());
@@ -129,7 +131,6 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
} else {
List<String> artifactsUid = new ArrayList<>();
List<String> artifactsUUID = new ArrayList<>();
-
List<ImmutablePair<String, String>> list1 = artifactsRes.left().value();
if (list != null) {
for (ImmutablePair<String, String> pair1 : list1) {
@@ -142,45 +143,44 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
groupInstance.setGroupInstanceArtifactsUuid(artifactsUUID);
}
}
-
groupInstanceRes.add(groupInstance);
log.debug("GroupInstance {} was added to list ", groupInstance.getUniqueId());
}
-
result = Either.left(groupInstanceRes);
return result;
-
}
-
public Either<Integer, StorageOperationStatus> increaseAndGetGroupInstancePropertyCounter(String instanceId) {
return propertyOperation.increaseAndGetObjInstancePropertyCounter(instanceId, NodeTypeEnum.GroupInstance);
}
- public Either<ComponentInstanceProperty, StorageOperationStatus> addPropertyValueToGroupInstance(ComponentInstanceProperty groupInstanceProperty, String groupInstanceId, Integer index, boolean inTransaction) {
+ public Either<ComponentInstanceProperty, StorageOperationStatus> addPropertyValueToGroupInstance(ComponentInstanceProperty groupInstanceProperty,
+ String groupInstanceId, Integer index,
+ boolean inTransaction) {
/// #RULES SUPPORT
+
/// Ignore rules received from client till support
groupInstanceProperty.setRules(null);
///
- ///
+ ///
Either<ComponentInstanceProperty, StorageOperationStatus> result = null;
-
try {
-
- Either<PropertyValueData, JanusGraphOperationStatus> eitherStatus = addPropertyToGroupInstance(groupInstanceProperty, groupInstanceId, index);
-
+ Either<PropertyValueData, JanusGraphOperationStatus> eitherStatus = addPropertyToGroupInstance(groupInstanceProperty, groupInstanceId,
+ index);
if (eitherStatus.isRight()) {
- log.error("Failed to add property value {} to resource instance {} in Graph. status is {}", groupInstanceProperty, groupInstanceId, eitherStatus.right().value().name());
+ log.error("Failed to add property value {} to resource instance {} in Graph. status is {}", groupInstanceProperty, groupInstanceId,
+ eitherStatus.right().value().name());
result = Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(eitherStatus.right().value()));
return result;
} else {
PropertyValueData propertyValueData = eitherStatus.left().value();
-
- ComponentInstanceProperty propertyValueResult = propertyOperation.buildResourceInstanceProperty(propertyValueData, groupInstanceProperty);
+ ComponentInstanceProperty propertyValueResult = propertyOperation
+ .buildResourceInstanceProperty(propertyValueData, groupInstanceProperty);
log.debug("The returned GroupInstanceProperty is {}", propertyValueResult);
-
- Either<String, JanusGraphOperationStatus> findDefaultValue = propertyOperation.findDefaultValueFromSecondPosition(groupInstanceProperty.getPath(), groupInstanceProperty.getUniqueId(), groupInstanceProperty.getDefaultValue());
+ Either<String, JanusGraphOperationStatus> findDefaultValue = propertyOperation
+ .findDefaultValueFromSecondPosition(groupInstanceProperty.getPath(), groupInstanceProperty.getUniqueId(),
+ groupInstanceProperty.getDefaultValue());
if (findDefaultValue.isRight()) {
result = Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(findDefaultValue.right().value()));
return result;
@@ -188,13 +188,10 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
String defaultValue = findDefaultValue.left().value();
propertyValueResult.setDefaultValue(defaultValue);
log.debug("The returned default value in ResourceInstanceProperty is {}", defaultValue);
-
result = Either.left(propertyValueResult);
return result;
}
- }
-
- finally {
+ } finally {
if (!inTransaction) {
if (result == null || result.isRight()) {
log.error("Going to execute rollback on graph.");
@@ -205,11 +202,12 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
}
}
-
}
- public Either<ComponentInstanceProperty, StorageOperationStatus> updatePropertyValueInGroupInstance(ComponentInstanceProperty gropuInstanceProperty, String groupInstanceId, boolean inTransaction) {
+ public Either<ComponentInstanceProperty, StorageOperationStatus> updatePropertyValueInGroupInstance(
+ ComponentInstanceProperty gropuInstanceProperty, String groupInstanceId, boolean inTransaction) {
// TODO Auto-generated method stub
+
// change Propety class
return null;
}
@@ -225,11 +223,10 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
* @param index
* @return
*/
- public Either<PropertyValueData, JanusGraphOperationStatus> addPropertyToGroupInstance(ComponentInstanceProperty groupInstanceProperty, String groupInstanceId, Integer index) {
-
+ public Either<PropertyValueData, JanusGraphOperationStatus> addPropertyToGroupInstance(ComponentInstanceProperty groupInstanceProperty,
+ String groupInstanceId, Integer index) {
Either<GroupInstanceData, JanusGraphOperationStatus> findResInstanceRes = janusGraphGenericDao
.getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.GroupInstance), groupInstanceId, GroupInstanceData.class);
-
if (findResInstanceRes.isRight()) {
JanusGraphOperationStatus status = findResInstanceRes.right().value();
if (status == JanusGraphOperationStatus.NOT_FOUND) {
@@ -237,11 +234,9 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
return Either.right(status);
}
-
String propertyId = groupInstanceProperty.getUniqueId();
Either<PropertyData, JanusGraphOperationStatus> findPropertyDefRes = janusGraphGenericDao
.getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Property), propertyId, PropertyData.class);
-
if (findPropertyDefRes.isRight()) {
JanusGraphOperationStatus status = findPropertyDefRes.right().value();
if (status == JanusGraphOperationStatus.NOT_FOUND) {
@@ -249,37 +244,33 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
return Either.right(status);
}
-
String valueUniqueUid = groupInstanceProperty.getValueUniqueUid();
if (valueUniqueUid == null) {
-
PropertyData propertyData = findPropertyDefRes.left().value();
GroupInstanceData resourceInstanceData = findResInstanceRes.left().value();
-
ImmutablePair<JanusGraphOperationStatus, String> isPropertyValueExists = propertyOperation.findPropertyValue(groupInstanceId, propertyId);
if (isPropertyValueExists.getLeft() == JanusGraphOperationStatus.ALREADY_EXIST) {
log.debug("The property {} already added to the resource instance {}", propertyId, groupInstanceId);
groupInstanceProperty.setValueUniqueUid(isPropertyValueExists.getRight());
- Either<PropertyValueData, JanusGraphOperationStatus> updatePropertyOfResourceInstance = updatePropertyOfGroupInstance(groupInstanceProperty, groupInstanceId);
+ Either<PropertyValueData, JanusGraphOperationStatus> updatePropertyOfResourceInstance = updatePropertyOfGroupInstance(
+ groupInstanceProperty, groupInstanceId);
if (updatePropertyOfResourceInstance.isRight()) {
- BeEcompErrorManager.getInstance().logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE, FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + updatePropertyOfResourceInstance.right().value(), ErrorSeverity.ERROR);
+ BeEcompErrorManager.getInstance().logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE,
+ FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + updatePropertyOfResourceInstance.right().value(),
+ ErrorSeverity.ERROR);
return Either.right(updatePropertyOfResourceInstance.right().value());
}
return Either.left(updatePropertyOfResourceInstance.left().value());
}
-
if (isPropertyValueExists.getLeft() != JanusGraphOperationStatus.NOT_FOUND) {
log.debug("After finding property value of {} on componenet instance {}", propertyId, groupInstanceId);
return Either.right(isPropertyValueExists.getLeft());
}
-
String innerType = null;
-
PropertyDataDefinition propDataDef = propertyData.getPropertyDataDefinition();
String propertyType = propDataDef.getType();
String value = groupInstanceProperty.getValue();
ToscaPropertyType type = ToscaPropertyType.isValidType(propertyType);
-
if (type == ToscaPropertyType.LIST || type == ToscaPropertyType.MAP) {
SchemaDefinition def = propDataDef.getSchema();
if (def == null) {
@@ -293,17 +284,18 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
innerType = propDef.getType();
}
-
log.debug("Before validateAndUpdatePropertyValue");
Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> allDataTypes = dataTypeCache.getAll();
if (allDataTypes.isRight()) {
JanusGraphOperationStatus status = allDataTypes.right().value();
- BeEcompErrorManager.getInstance().logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE, FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + status, ErrorSeverity.ERROR);
+ BeEcompErrorManager.getInstance()
+ .logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE, FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + status,
+ ErrorSeverity.ERROR);
return Either.right(status);
}
- Either<Object, Boolean> isValid = propertyOperation.validateAndUpdatePropertyValue(propertyType, value, innerType, allDataTypes.left().value());
+ Either<Object, Boolean> isValid = propertyOperation
+ .validateAndUpdatePropertyValue(propertyType, value, innerType, allDataTypes.left().value());
log.debug("After validateAndUpdatePropertyValue. isValid = {}", isValid);
-
String newValue = value;
if (isValid.isRight()) {
Boolean res = isValid.right().value();
@@ -316,56 +308,48 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
newValue = object.toString();
}
}
-
String uniqueId = UniqueIdBuilder.buildResourceInstancePropertyValueUid(resourceInstanceData.getUniqueId(), index);
PropertyValueData propertyValueData = new PropertyValueData();
propertyValueData.setUniqueId(uniqueId);
propertyValueData.setValue(newValue);
-
log.debug("Before validateAndUpdateRules");
- ImmutablePair<String, Boolean> pair = propertyOperation.validateAndUpdateRules(propertyType, groupInstanceProperty.getRules(), innerType, allDataTypes.left().value(), false);
+ ImmutablePair<String, Boolean> pair = propertyOperation
+ .validateAndUpdateRules(propertyType, groupInstanceProperty.getRules(), innerType, allDataTypes.left().value(), false);
log.debug("After validateAndUpdateRules. pair = {}", pair);
if (pair.getRight() != null && !pair.getRight()) {
- BeEcompErrorManager.getInstance().logBeInvalidValueError("Add property value", pair.getLeft(), groupInstanceProperty.getName(), propertyType);
+ BeEcompErrorManager.getInstance()
+ .logBeInvalidValueError("Add property value", pair.getLeft(), groupInstanceProperty.getName(), propertyType);
return Either.right(JanusGraphOperationStatus.ILLEGAL_ARGUMENT);
}
propertyOperation.addRulesToNewPropertyValue(propertyValueData, groupInstanceProperty, groupInstanceId);
-
log.debug("Before adding property value to graph {}", propertyValueData);
Either<PropertyValueData, JanusGraphOperationStatus> createNodeResult = janusGraphGenericDao
.createNode(propertyValueData, PropertyValueData.class);
log.debug("After adding property value to graph {}", propertyValueData);
-
if (createNodeResult.isRight()) {
JanusGraphOperationStatus operationStatus = createNodeResult.right().value();
return Either.right(operationStatus);
}
propertyValueData = createNodeResult.left().value();
-
Either<GraphRelation, JanusGraphOperationStatus> createRelResult = janusGraphGenericDao
.createRelation(propertyValueData, propertyData, GraphEdgeLabels.PROPERTY_IMPL, null);
-
if (createRelResult.isRight()) {
JanusGraphOperationStatus operationStatus = createRelResult.right().value();
log.error("Failed to associate property value {} to property {} in graph. status is {}", uniqueId, propertyId, operationStatus);
return Either.right(operationStatus);
}
-
- createRelResult = janusGraphGenericDao
- .createRelation(resourceInstanceData, propertyValueData, GraphEdgeLabels.PROPERTY_VALUE, null);
-
+ createRelResult = janusGraphGenericDao.createRelation(resourceInstanceData, propertyValueData, GraphEdgeLabels.PROPERTY_VALUE, null);
if (createRelResult.isRight()) {
JanusGraphOperationStatus operationStatus = createRelResult.right().value();
- log.error("Failed to associate resource instance {} property value {} in graph. status is {}", groupInstanceId, uniqueId, operationStatus);
+ log.error("Failed to associate resource instance {} property value {} in graph. status is {}", groupInstanceId, uniqueId,
+ operationStatus);
return Either.right(operationStatus);
}
-
return Either.left(propertyValueData);
} else {
log.error("property value already exists.");
return Either.right(JanusGraphOperationStatus.ALREADY_EXIST);
}
-
}
/**
@@ -373,29 +357,23 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
*
* @return
*/
- public Either<PropertyValueData, JanusGraphOperationStatus> updatePropertyOfGroupInstance(ComponentInstanceProperty groupInstanceProerty, String groupInstanceId) {
-
+ public Either<PropertyValueData, JanusGraphOperationStatus> updatePropertyOfGroupInstance(ComponentInstanceProperty groupInstanceProerty,
+ String groupInstanceId) {
Wrapper<JanusGraphOperationStatus> errorWrapper = new Wrapper<>();
- UpdateDataContainer<PropertyData, PropertyValueData> updateDataContainer = new UpdateDataContainer<>(GraphEdgeLabels.PROPERTY_IMPL, (() -> PropertyData.class), (() -> PropertyValueData.class), NodeTypeEnum.Property,
- NodeTypeEnum.PropertyValue);
-
+ UpdateDataContainer<PropertyData, PropertyValueData> updateDataContainer = new UpdateDataContainer<>(GraphEdgeLabels.PROPERTY_IMPL,
+ (() -> PropertyData.class), (() -> PropertyValueData.class), NodeTypeEnum.Property, NodeTypeEnum.PropertyValue);
preUpdateElementOfResourceInstanceValidations(updateDataContainer, groupInstanceProerty, groupInstanceId, errorWrapper);
if (!errorWrapper.isEmpty()) {
return Either.right(errorWrapper.getInnerElement());
- }
-
- else {
+ } else {
String value = groupInstanceProerty.getValue();
// Specific Validation Logic
PropertyData propertyData = updateDataContainer.getDataWrapper().getInnerElement();
-
String innerType = null;
-
PropertyDataDefinition propDataDef = propertyData.getPropertyDataDefinition();
String propertyType = propDataDef.getType();
ToscaPropertyType type = ToscaPropertyType.isValidType(propertyType);
log.debug("The type of the property {} is {}", propertyData.getUniqueId(), propertyType);
-
if (type == ToscaPropertyType.LIST || type == ToscaPropertyType.MAP) {
SchemaDefinition def = propDataDef.getSchema();
if (def == null) {
@@ -413,11 +391,13 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
Either<Map<String, DataTypeDefinition>, JanusGraphOperationStatus> allDataTypes = dataTypeCache.getAll();
if (allDataTypes.isRight()) {
JanusGraphOperationStatus status = allDataTypes.right().value();
- BeEcompErrorManager.getInstance().logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE, FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + status, ErrorSeverity.ERROR);
+ BeEcompErrorManager.getInstance()
+ .logInternalFlowError(UPDATE_PROPERTY_VALUE_ON_COMPONENT_INSTANCE, FAILED_TO_UPDATE_PROPERTY_VALUE_ON_INSTANCE_STATUS_IS + status,
+ ErrorSeverity.ERROR);
return Either.right(status);
}
- Either<Object, Boolean> isValid = propertyOperation.validateAndUpdatePropertyValue(propertyType, value, innerType, allDataTypes.left().value());
-
+ Either<Object, Boolean> isValid = propertyOperation
+ .validateAndUpdatePropertyValue(propertyType, value, innerType, allDataTypes.left().value());
String newValue = value;
if (isValid.isRight()) {
Boolean res = isValid.right().value();
@@ -433,14 +413,14 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
PropertyValueData propertyValueData = updateDataContainer.getValueDataWrapper().getInnerElement();
log.debug("Going to update property value from {} to {}", propertyValueData.getValue(), newValue);
propertyValueData.setValue(newValue);
-
- ImmutablePair<String, Boolean> pair = propertyOperation.validateAndUpdateRules(propertyType, groupInstanceProerty.getRules(), innerType, allDataTypes.left().value(), true);
+ ImmutablePair<String, Boolean> pair = propertyOperation
+ .validateAndUpdateRules(propertyType, groupInstanceProerty.getRules(), innerType, allDataTypes.left().value(), true);
if (pair.getRight() != null && !pair.getRight()) {
- BeEcompErrorManager.getInstance().logBeInvalidValueError("Add property value", pair.getLeft(), groupInstanceProerty.getName(), propertyType);
+ BeEcompErrorManager.getInstance()
+ .logBeInvalidValueError("Add property value", pair.getLeft(), groupInstanceProerty.getName(), propertyType);
return Either.right(JanusGraphOperationStatus.ILLEGAL_ARGUMENT);
}
propertyOperation.updateRulesInPropertyValue(propertyValueData, groupInstanceProerty, groupInstanceId);
-
Either<PropertyValueData, JanusGraphOperationStatus> updateRes = janusGraphGenericDao
.updateNode(propertyValueData, PropertyValueData.class);
if (updateRes.isRight()) {
@@ -450,108 +430,56 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
return Either.left(updateRes.left().value());
}
}
-
}
- private static final class UpdateDataContainer<SomeData, SomeValueData> {
- final Wrapper<SomeValueData> valueDataWrapper;
- final Wrapper<SomeData> dataWrapper;
- final GraphEdgeLabels graphEdge;
- final Supplier<Class<SomeData>> someDataClassGen;
- final Supplier<Class<SomeValueData>> someValueDataClassGen;
- final NodeTypeEnum nodeType;
- final NodeTypeEnum nodeTypeValue;
-
- private UpdateDataContainer(GraphEdgeLabels graphEdge, Supplier<Class<SomeData>> someDataClassGen, Supplier<Class<SomeValueData>> someValueDataClassGen, NodeTypeEnum nodeType, NodeTypeEnum nodeTypeValue) {
- super();
- this.valueDataWrapper = new Wrapper<>();
- this.dataWrapper = new Wrapper<>();
- this.graphEdge = graphEdge;
- this.someDataClassGen = someDataClassGen;
- this.someValueDataClassGen = someValueDataClassGen;
- this.nodeType = nodeType;
- this.nodeTypeValue = nodeTypeValue;
- }
-
- public Wrapper<SomeValueData> getValueDataWrapper() {
- return valueDataWrapper;
- }
-
- public Wrapper<SomeData> getDataWrapper() {
- return dataWrapper;
- }
-
- public GraphEdgeLabels getGraphEdge() {
- return graphEdge;
- }
-
- public Supplier<Class<SomeData>> getSomeDataClassGen() {
- return someDataClassGen;
- }
-
- public Supplier<Class<SomeValueData>> getSomeValueDataClassGen() {
- return someValueDataClassGen;
- }
-
- public NodeTypeEnum getNodeType() {
- return nodeType;
- }
-
- public NodeTypeEnum getNodeTypeValue() {
- return nodeTypeValue;
- }
- }
-
- private <SomeData extends GraphNode, SomeValueData extends GraphNode> void preUpdateElementOfResourceInstanceValidations(UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceProerty,
- String resourceInstanceId, Wrapper<JanusGraphOperationStatus> errorWrapper) {
-
+ private <SomeData extends GraphNode, SomeValueData extends GraphNode> void preUpdateElementOfResourceInstanceValidations(
+ UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceProerty,
+ String resourceInstanceId, Wrapper<JanusGraphOperationStatus> errorWrapper) {
if (errorWrapper.isEmpty()) {
// Verify VFC instance Exist
validateGIExist(resourceInstanceId, errorWrapper);
}
-
if (errorWrapper.isEmpty()) {
// Example: Verify Property connected to VFC exist
validateElementConnectedToComponentExist(updateDataContainer, resourceInstanceProerty, errorWrapper);
}
-
if (errorWrapper.isEmpty()) {
// Example: Verify PropertyValue connected to VFC Instance exist
validateElementConnectedToComponentInstanceExist(updateDataContainer, resourceInstanceProerty, errorWrapper);
}
-
if (errorWrapper.isEmpty()) {
// Example: Verify PropertyValue connected Property
validateElementConnectedToInstance(updateDataContainer, resourceInstanceProerty, errorWrapper);
}
}
- private <SomeData extends GraphNode, SomeValueData extends GraphNode> void validateElementConnectedToInstance(UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceProerty,
- Wrapper<JanusGraphOperationStatus> errorWrapper) {
+ private <SomeData extends GraphNode, SomeValueData extends GraphNode> void validateElementConnectedToInstance(
+ UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceProerty,
+ Wrapper<JanusGraphOperationStatus> errorWrapper) {
Either<ImmutablePair<SomeData, GraphEdge>, JanusGraphOperationStatus> child = janusGraphGenericDao
.getChild(UniqueIdBuilder.getKeyByNodeType(updateDataContainer.getNodeTypeValue()), resourceInstanceProerty.getValueUniqueUid(),
updateDataContainer.getGraphEdge(), updateDataContainer.getNodeType(), updateDataContainer.getSomeDataClassGen().get());
-
if (child.isRight()) {
JanusGraphOperationStatus status = child.right().value();
if (status == JanusGraphOperationStatus.NOT_FOUND) {
status = JanusGraphOperationStatus.INVALID_ID;
}
errorWrapper.setInnerElement(status);
-
} else {
updateDataContainer.getDataWrapper().setInnerElement(child.left().value().left);
}
}
- private <SomeValueData extends GraphNode, SomeData extends GraphNode> void validateElementConnectedToComponentInstanceExist(UpdateDataContainer<SomeData, SomeValueData> updateDataContainer,
- IComponentInstanceConnectedElement resourceInstanceProerty, Wrapper<JanusGraphOperationStatus> errorWrapper) {
+ private <SomeValueData extends GraphNode, SomeData extends GraphNode> void validateElementConnectedToComponentInstanceExist(
+ UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceProerty,
+ Wrapper<JanusGraphOperationStatus> errorWrapper) {
String valueUniqueUid = resourceInstanceProerty.getValueUniqueUid();
if (valueUniqueUid == null) {
errorWrapper.setInnerElement(JanusGraphOperationStatus.INVALID_ID);
} else {
Either<SomeValueData, JanusGraphOperationStatus> findPropertyValueRes = janusGraphGenericDao
- .getNode(UniqueIdBuilder.getKeyByNodeType(updateDataContainer.getNodeTypeValue()), valueUniqueUid, updateDataContainer.getSomeValueDataClassGen().get());
+ .getNode(UniqueIdBuilder.getKeyByNodeType(updateDataContainer.getNodeTypeValue()), valueUniqueUid,
+ updateDataContainer.getSomeValueDataClassGen().get());
if (findPropertyValueRes.isRight()) {
JanusGraphOperationStatus status = findPropertyValueRes.right().value();
if (status == JanusGraphOperationStatus.NOT_FOUND) {
@@ -564,12 +492,12 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
}
- private <SomeData extends GraphNode, SomeValueData extends GraphNode> void validateElementConnectedToComponentExist(UpdateDataContainer<SomeData, SomeValueData> updateDataContainer,
- IComponentInstanceConnectedElement resourceInstanceElementConnected, Wrapper<JanusGraphOperationStatus> errorWrapper) {
+ private <SomeData extends GraphNode, SomeValueData extends GraphNode> void validateElementConnectedToComponentExist(
+ UpdateDataContainer<SomeData, SomeValueData> updateDataContainer, IComponentInstanceConnectedElement resourceInstanceElementConnected,
+ Wrapper<JanusGraphOperationStatus> errorWrapper) {
String uniqueId = resourceInstanceElementConnected.getUniqueId();
Either<SomeData, JanusGraphOperationStatus> findPropertyDefRes = janusGraphGenericDao
.getNode(UniqueIdBuilder.getKeyByNodeType(updateDataContainer.getNodeType()), uniqueId, updateDataContainer.getSomeDataClassGen().get());
-
if (findPropertyDefRes.isRight()) {
JanusGraphOperationStatus status = findPropertyDefRes.right().value();
errorWrapper.setInnerElement(status);
@@ -580,12 +508,15 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
validateGIExist(resourceInstanceId, null, errorWrapper);
}
- private void validateGIExist(String resourceInstanceId, Wrapper<GroupInstanceData> compInsDataWrapper, Wrapper<JanusGraphOperationStatus> errorWrapper) {
+ private void validateGIExist(String resourceInstanceId, Wrapper<GroupInstanceData> compInsDataWrapper,
+ Wrapper<JanusGraphOperationStatus> errorWrapper) {
validateElementExistInGraph(resourceInstanceId, NodeTypeEnum.GroupInstance, () -> GroupInstanceData.class, compInsDataWrapper, errorWrapper);
}
- public <ElementData extends GraphNode> void validateElementExistInGraph(String elementUniqueId, NodeTypeEnum elementNodeType, Supplier<Class<ElementData>> elementClassGen, Wrapper<ElementData> elementDataWrapper,
- Wrapper<JanusGraphOperationStatus> errorWrapper) {
+ public <ElementData extends GraphNode> void validateElementExistInGraph(String elementUniqueId, NodeTypeEnum elementNodeType,
+ Supplier<Class<ElementData>> elementClassGen,
+ Wrapper<ElementData> elementDataWrapper,
+ Wrapper<JanusGraphOperationStatus> errorWrapper) {
Either<ElementData, JanusGraphOperationStatus> findResInstanceRes = janusGraphGenericDao
.getNode(UniqueIdBuilder.getKeyByNodeType(elementNodeType), elementUniqueId, elementClassGen.get());
if (findResInstanceRes.isRight()) {
@@ -601,8 +532,8 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
}
- private void buildGroupInstanceFromGroup(GroupInstance groupInstance, GroupDefinition groupDefinition, Map<String, PropertyValueData> groupInstancePropertyValues) {
-
+ private void buildGroupInstanceFromGroup(GroupInstance groupInstance, GroupDefinition groupDefinition,
+ Map<String, PropertyValueData> groupInstancePropertyValues) {
groupInstance.setGroupName(groupDefinition.getName());
groupInstance.setInvariantUUID(groupDefinition.getInvariantUUID());
groupInstance.setDescription(groupDefinition.getDescription());
@@ -611,17 +542,16 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
groupInstance.setArtifactsUuid(groupDefinition.getArtifactsUuid());
groupInstance.setType(groupDefinition.getType());
groupInstance.setGroupUUID(groupDefinition.getGroupUUID());
-
List<GroupInstanceProperty> groupInstanceProperties = groupDefinition.convertToGroupProperties()
- //converts List of GroupProperties to List of GroupInstanceProperties and updates it with group instance property data
- .stream().map(p -> getUpdatedConvertedProperty(p, groupInstancePropertyValues)).collect(Collectors.toList());
+ //converts List of GroupProperties to List of GroupInstanceProperties and updates it with group instance property data
+ .stream().map(p -> getUpdatedConvertedProperty(p, groupInstancePropertyValues)).collect(Collectors.toList());
groupInstance.convertFromGroupInstancesProperties(groupInstanceProperties);
}
- private GroupInstanceProperty getUpdatedConvertedProperty(GroupProperty groupProperty, Map<String, PropertyValueData> groupInstancePropertyValues){
-
+ private GroupInstanceProperty getUpdatedConvertedProperty(GroupProperty groupProperty,
+ Map<String, PropertyValueData> groupInstancePropertyValues) {
GroupInstanceProperty updatedProperty = new GroupInstanceProperty(groupProperty, groupProperty.getValue());
- if(!MapUtils.isEmpty(groupInstancePropertyValues) && groupInstancePropertyValues.containsKey(groupProperty.getName())){
+ if (!MapUtils.isEmpty(groupInstancePropertyValues) && groupInstancePropertyValues.containsKey(groupProperty.getName())) {
PropertyValueData groupInstancePropertyValue = groupInstancePropertyValues.get(groupProperty.getName());
updatedProperty.setValue(groupInstancePropertyValue.getValue());
updatedProperty.setValueUniqueUid(groupInstancePropertyValue.getUniqueId());
@@ -630,9 +560,7 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
private Either<List<ImmutablePair<String, String>>, JanusGraphOperationStatus> getGroupArtifactsPairs(String groupUniqueId) {
-
Either<List<ImmutablePair<String, String>>, JanusGraphOperationStatus> result = null;
-
Either<List<ImmutablePair<ArtifactData, GraphEdge>>, JanusGraphOperationStatus> childrenNodes = janusGraphGenericDao
.getChildrenNodes(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.GroupInstance), groupUniqueId, GraphEdgeLabels.GROUP_ARTIFACT_REF,
NodeTypeEnum.ArtifactRef, ArtifactData.class);
@@ -642,9 +570,7 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
status = JanusGraphOperationStatus.OK;
}
result = Either.right(status);
-
} else {
-
List<ImmutablePair<String, String>> artifactsList = new ArrayList<>();
List<ImmutablePair<ArtifactData, GraphEdge>> list = childrenNodes.left().value();
if (list != null) {
@@ -656,48 +582,39 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
artifactsList.add(artifact);
}
}
-
- log.debug("The artifacts list related to group {} is {}",groupUniqueId,artifactsList);
+ log.debug("The artifacts list related to group {} is {}", groupUniqueId, artifactsList);
result = Either.left(artifactsList);
}
-
return result;
-
}
- public StorageOperationStatus dissociateAndAssociateGroupsInstanceFromArtifact(String componentId, NodeTypeEnum componentTypeEnum, String oldArtifactId, ArtifactData newArtifact) {
-
+ public StorageOperationStatus dissociateAndAssociateGroupsInstanceFromArtifact(String componentId, NodeTypeEnum componentTypeEnum,
+ String oldArtifactId, ArtifactData newArtifact) {
return this.dissociateAndAssociateGroupsInstanceFromArtifactOnGraph(componentId, componentTypeEnum, oldArtifactId, newArtifact);
-
}
- private StorageOperationStatus dissociateAndAssociateGroupsInstanceFromArtifactOnGraph(String componentId, NodeTypeEnum componentTypeEnum, String oldArtifactId, ArtifactData newArtifact) {
-
+ private StorageOperationStatus dissociateAndAssociateGroupsInstanceFromArtifactOnGraph(String componentId, NodeTypeEnum componentTypeEnum,
+ String oldArtifactId, ArtifactData newArtifact) {
Either<List<GroupInstance>, StorageOperationStatus> allGroupsFromGraph = getAllGroupInstances(componentId, componentTypeEnum);
if (allGroupsFromGraph.isRight()) {
return allGroupsFromGraph.right().value();
}
-
List<GroupInstance> allGroups = allGroupsFromGraph.left().value();
if (allGroups == null || allGroups.isEmpty()) {
return StorageOperationStatus.OK;
}
-
// Find all groups which contains this artifact id
- List<GroupInstance> associatedGroups = allGroups.stream().filter(p -> p.getGroupInstanceArtifacts() != null && p.getGroupInstanceArtifacts().contains(oldArtifactId)).collect(Collectors.toList());
-
+ List<GroupInstance> associatedGroups = allGroups.stream()
+ .filter(p -> p.getGroupInstanceArtifacts() != null && p.getGroupInstanceArtifacts().contains(oldArtifactId)).collect(Collectors.toList());
if (associatedGroups != null && !associatedGroups.isEmpty()) {
-
- log.debug("The groups {} contains the artifact {}",associatedGroups.stream().map(GroupInstanceDataDefinition::getName).collect(Collectors.toList()),oldArtifactId);
-
+ log.debug("The groups {} contains the artifact {}",
+ associatedGroups.stream().map(GroupInstanceDataDefinition::getName).collect(Collectors.toList()), oldArtifactId);
UniqueIdData oldArtifactData = new UniqueIdData(NodeTypeEnum.ArtifactRef, oldArtifactId);
UniqueIdData newArtifactData = new UniqueIdData(NodeTypeEnum.ArtifactRef, newArtifact.getArtifactDataDefinition().getUniqueId());
Map<String, Object> props = new HashMap<>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), newArtifactData.getLabel());
-
for (GroupInstance groupDefinition : associatedGroups) {
UniqueIdData groupData = new UniqueIdData(NodeTypeEnum.GroupInstance, groupDefinition.getUniqueId());
-
Either<GraphRelation, JanusGraphOperationStatus> deleteRelation = janusGraphGenericDao
.deleteRelation(groupData, oldArtifactData, GraphEdgeLabels.GROUP_ARTIFACT_REF);
log.trace("After dissociate group {} from artifact {}", groupDefinition.getName(), oldArtifactId);
@@ -708,7 +625,6 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
}
return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status);
}
-
Either<GraphRelation, JanusGraphOperationStatus> createRelation = janusGraphGenericDao
.createRelation(groupData, newArtifactData, GraphEdgeLabels.GROUP_ARTIFACT_REF, props);
log.trace("After associate group {} to artifact {}", groupDefinition.getName(), newArtifact.getUniqueIdKey());
@@ -720,36 +636,87 @@ public class GroupInstanceOperation extends AbstractOperation implements IGroupI
return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status);
}
}
-
}
return StorageOperationStatus.OK;
}
private Either<Map<String, PropertyValueData>, JanusGraphOperationStatus> getAllGroupInstancePropertyValuesData(GroupInstanceData groupInstData) {
-
Either<Map<String, PropertyValueData>, JanusGraphOperationStatus> result = null;
- try{
- Either<List<ImmutablePair<PropertyValueData, GraphEdge>>, JanusGraphOperationStatus> getPropertyValueChildrenRes =
- janusGraphGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), groupInstData.getUniqueId(), GraphEdgeLabels.PROPERTY_VALUE,
- NodeTypeEnum.PropertyValue, PropertyValueData.class, true);
- if(getPropertyValueChildrenRes.isRight()){
+ try {
+ Either<List<ImmutablePair<PropertyValueData, GraphEdge>>, JanusGraphOperationStatus> getPropertyValueChildrenRes = janusGraphGenericDao
+ .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), groupInstData.getUniqueId(), GraphEdgeLabels.PROPERTY_VALUE,
+ NodeTypeEnum.PropertyValue, PropertyValueData.class, true);
+ if (getPropertyValueChildrenRes.isRight()) {
JanusGraphOperationStatus status = getPropertyValueChildrenRes.right().value();
log.debug("Failed to fetch property value nodes for group instance {}. Status is {}. ", groupInstData.getName(), status);
- if(status == JanusGraphOperationStatus.NOT_FOUND){
+ if (status == JanusGraphOperationStatus.NOT_FOUND) {
result = Either.left(null);
- }else{
+ } else {
result = Either.right(status);
}
- }else{
- result = Either.left(getPropertyValueChildrenRes.left().value().stream()
- .collect(Collectors.toMap(pair->(String)(pair.getRight().getProperties().get(GraphPropertiesDictionary.PROPERTY_NAME.getProperty())), ImmutablePair::getLeft)));
+ } else {
+ result = Either.left(getPropertyValueChildrenRes.left().value().stream().collect(Collectors
+ .toMap(pair -> (String) (pair.getRight().getProperties().get(GraphPropertiesDictionary.PROPERTY_NAME.getProperty())),
+ ImmutablePair::getLeft)));
}
- } catch(Exception e){
- log.debug("The Exception occured during fetch group instance () property values. The message is {}. ", groupInstData.getName(), e.getMessage(), e);
- if(result == null){
+ } catch (Exception e) {
+ log.debug("The Exception occured during fetch group instance () property values. The message is {}. ", groupInstData.getName(),
+ e.getMessage(), e);
+ if (result == null) {
result = Either.right(JanusGraphOperationStatus.GENERAL_ERROR);
}
}
return result;
}
+
+ private static final class UpdateDataContainer<SomeData, SomeValueData> {
+
+ final Wrapper<SomeValueData> valueDataWrapper;
+ final Wrapper<SomeData> dataWrapper;
+ final GraphEdgeLabels graphEdge;
+ final Supplier<Class<SomeData>> someDataClassGen;
+ final Supplier<Class<SomeValueData>> someValueDataClassGen;
+ final NodeTypeEnum nodeType;
+ final NodeTypeEnum nodeTypeValue;
+
+ private UpdateDataContainer(GraphEdgeLabels graphEdge, Supplier<Class<SomeData>> someDataClassGen,
+ Supplier<Class<SomeValueData>> someValueDataClassGen, NodeTypeEnum nodeType, NodeTypeEnum nodeTypeValue) {
+ super();
+ this.valueDataWrapper = new Wrapper<>();
+ this.dataWrapper = new Wrapper<>();
+ this.graphEdge = graphEdge;
+ this.someDataClassGen = someDataClassGen;
+ this.someValueDataClassGen = someValueDataClassGen;
+ this.nodeType = nodeType;
+ this.nodeTypeValue = nodeTypeValue;
+ }
+
+ public Wrapper<SomeValueData> getValueDataWrapper() {
+ return valueDataWrapper;
+ }
+
+ public Wrapper<SomeData> getDataWrapper() {
+ return dataWrapper;
+ }
+
+ public GraphEdgeLabels getGraphEdge() {
+ return graphEdge;
+ }
+
+ public Supplier<Class<SomeData>> getSomeDataClassGen() {
+ return someDataClassGen;
+ }
+
+ public Supplier<Class<SomeValueData>> getSomeValueDataClassGen() {
+ return someValueDataClassGen;
+ }
+
+ public NodeTypeEnum getNodeType() {
+ return nodeType;
+ }
+
+ public NodeTypeEnum getNodeTypeValue() {
+ return nodeTypeValue;
+ }
+ }
}