1 package org.openecomp.sdc.be.model.operations.impl;
4 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
5 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
6 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
7 import org.openecomp.sdc.be.model.PropertyDefinition;
8 import org.openecomp.sdc.be.model.operations.StorageException;
9 import org.openecomp.sdc.common.log.wrappers.Logger;
10 import org.springframework.stereotype.Component;
15 public class OperationUtils {
17 private final JanusGraphDao janusGraphDao;
19 private static final Logger logger = Logger.getLogger(OperationUtils.class.getName());
21 public OperationUtils(JanusGraphDao janusGraphDao) {
22 this.janusGraphDao = janusGraphDao;
25 public <T> T onJanusGraphOperationFailure(JanusGraphOperationStatus status) {
26 janusGraphDao.rollback();
27 throw new StorageException(status);
30 static Either<Map<String, PropertyDefinition>, JanusGraphOperationStatus> fillProperties(String uniqueId,
31 PropertyOperation propertyOperation,
32 NodeTypeEnum nodeTypeEnum) {
34 Either<Map<String, PropertyDefinition>, JanusGraphOperationStatus> findPropertiesOfNode =
35 propertyOperation.findPropertiesOfNode(nodeTypeEnum, uniqueId);
36 if (findPropertiesOfNode.isRight()) {
37 JanusGraphOperationStatus janusGraphOperationStatus = findPropertiesOfNode.right().value();
38 logger.debug("After looking for properties of vertex {}. status is {}", uniqueId,
39 janusGraphOperationStatus);
40 if (JanusGraphOperationStatus.NOT_FOUND.equals(janusGraphOperationStatus)) {
41 return Either.right(JanusGraphOperationStatus.OK);
43 return Either.right(janusGraphOperationStatus);
46 return Either.left(findPropertiesOfNode.left().value());