diff options
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java')
-rw-r--r-- | catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java | 81 |
1 files changed, 34 insertions, 47 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java index 35541e6d46..89f8f71e2a 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/GraphLockOperation.java @@ -25,6 +25,7 @@ import org.openecomp.sdc.be.dao.titan.TitanOperationStatus; import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition; import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade; import org.openecomp.sdc.be.model.operations.api.ICacheMangerOperation; import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation; import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; @@ -32,6 +33,7 @@ import org.openecomp.sdc.be.resources.data.ComponentMetadataData; import org.openecomp.sdc.be.resources.data.ResourceMetadataData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import fj.data.Either; @@ -42,9 +44,9 @@ public class GraphLockOperation implements IGraphLockOperation { @javax.annotation.Resource private TitanGenericDao titanGenericDao; - - @javax.annotation.Resource - private ResourceOperation resourceOperation; + + @Autowired + ToscaOperationFacade toscaOperationFacade; @javax.annotation.Resource private ICacheMangerOperation cacheManagerOperation; @@ -56,9 +58,7 @@ public class GraphLockOperation implements IGraphLockOperation { /* * (non-Javadoc) * - * @see org.openecomp.sdc.be.model.operations.impl.IGraphLockOperation# - * lockResource(java.lang.String, - * org.openecomp.sdc.be.model.operations.api.IResourceOperation) + * @see org.openecomp.sdc.be.model.operations.impl.IGraphLockOperation# lockResource(java.lang.String, org.openecomp.sdc.be.model.operations.api.IResourceOperation) */ @Override public StorageOperationStatus lockComponent(String componentId, NodeTypeEnum nodeType) { @@ -70,14 +70,13 @@ public class GraphLockOperation implements IGraphLockOperation { // In this way we mark the component as updated one (and component // won't be fetched from cache since the component in cache has // different timestamp) - Either<ComponentMetadataData, TitanOperationStatus> updateTime = updateModificationTimeOfComponent( - componentId, nodeType); - if (updateTime.isRight()) { - TitanOperationStatus operationStatus = updateTime.right().value(); - if (operationStatus != TitanOperationStatus.OK) { - return DaoStatusConverter.convertTitanStatusToStorageStatus(operationStatus); - } - } +// Either<ComponentMetadataData, TitanOperationStatus> updateTime = updateModificationTimeOfComponent(componentId, nodeType); +// if (updateTime.isRight()) { +// TitanOperationStatus operationStatus = updateTime.right().value(); +// if (operationStatus != TitanOperationStatus.OK) { +// return DaoStatusConverter.convertTitanStatusToStorageStatus(operationStatus); +// } +// } lockElementStatus = titanGenericDao.lockElement(componentId, nodeType); @@ -97,24 +96,21 @@ public class GraphLockOperation implements IGraphLockOperation { * @param nodeType * @return */ - private Either<ComponentMetadataData, TitanOperationStatus> updateModificationTimeOfComponent(String componentId, - NodeTypeEnum nodeType) { + private Either<ComponentMetadataData, TitanOperationStatus> updateModificationTimeOfComponent(String componentId, NodeTypeEnum nodeType) { if (nodeType == NodeTypeEnum.Resource || nodeType == NodeTypeEnum.Service || nodeType == NodeTypeEnum.Product) { // We fetch all node since update only timestamp make problems since // there is default resource type (VFC) which changes component // resource type when we update only timestamp(ResourceMetadataData // contains default value VFC on resourceType field). - Either<ComponentMetadataData, TitanOperationStatus> findComp = titanGenericDao - .getNode(UniqueIdBuilder.getKeyByNodeType(nodeType), componentId, ComponentMetadataData.class); + Either<ComponentMetadataData, TitanOperationStatus> findComp = titanGenericDao.getNode(UniqueIdBuilder.getKeyByNodeType(nodeType), componentId, ComponentMetadataData.class); if (findComp.isRight()) { return Either.right(findComp.right().value()); } ComponentMetadataData componentMetadataData = findComp.left().value(); componentMetadataData.getMetadataDataDefinition().setLastUpdateDate(System.currentTimeMillis()); - Either<ComponentMetadataData, TitanOperationStatus> updateNode = titanGenericDao - .updateNode(componentMetadataData, ComponentMetadataData.class); + Either<ComponentMetadataData, TitanOperationStatus> updateNode = titanGenericDao.updateNode(componentMetadataData, ComponentMetadataData.class); return updateNode; } return Either.right(TitanOperationStatus.OK); @@ -123,23 +119,20 @@ public class GraphLockOperation implements IGraphLockOperation { /* * (non-Javadoc) * - * @see org.openecomp.sdc.be.model.operations.impl.IGraphLockOperation# - * unlockResource(java.lang.String, - * org.openecomp.sdc.be.model.operations.api.IResourceOperation) + * @see org.openecomp.sdc.be.model.operations.impl.IGraphLockOperation# unlockResource(java.lang.String, org.openecomp.sdc.be.model.operations.api.IResourceOperation) */ @Override public StorageOperationStatus unlockComponent(String componentId, NodeTypeEnum nodeType) { - Either<Long, StorageOperationStatus> addComponentToCachePart1 = addComponentToCachePart1WithoutCommit( - componentId, nodeType); +// Either<Long, StorageOperationStatus> addComponentToCachePart1 = addComponentToCachePart1WithoutCommit(componentId, nodeType); TitanOperationStatus lockElementStatus = titanGenericDao.releaseElement(componentId, nodeType); - if (addComponentToCachePart1.isLeft()) { - Long lastUpdateDate = addComponentToCachePart1.left().value(); - addComponentToCachePart2(componentId, lastUpdateDate, nodeType); - } - +// if (addComponentToCachePart1.isLeft()) { +// Long lastUpdateDate = addComponentToCachePart1.left().value(); +// addComponentToCachePart2(componentId, lastUpdateDate, nodeType); +// } +// return DaoStatusConverter.convertTitanStatusToStorageStatus(lockElementStatus); } @@ -151,15 +144,14 @@ public class GraphLockOperation implements IGraphLockOperation { @Override public StorageOperationStatus unlockComponentByName(String name, String componentId, NodeTypeEnum nodeType) { - Either<Long, StorageOperationStatus> addComponentToCachePart1 = addComponentToCachePart1WithoutCommit( - componentId, nodeType); +// Either<Long, StorageOperationStatus> addComponentToCachePart1 = addComponentToCachePart1WithoutCommit(componentId, nodeType); TitanOperationStatus lockElementStatus = titanGenericDao.releaseElement(name, nodeType); - - if (addComponentToCachePart1.isLeft()) { - Long lastUpdateDate = addComponentToCachePart1.left().value(); - addComponentToCachePart2(componentId, lastUpdateDate, nodeType); - } +// +// if (addComponentToCachePart1.isLeft()) { +// Long lastUpdateDate = addComponentToCachePart1.left().value(); +// addComponentToCachePart2(componentId, lastUpdateDate, nodeType); +// } return DaoStatusConverter.convertTitanStatusToStorageStatus(lockElementStatus); } @@ -171,15 +163,12 @@ public class GraphLockOperation implements IGraphLockOperation { * @param nodeType * @return */ - private Either<Long, StorageOperationStatus> addComponentToCachePart1WithoutCommit(String componentId, - NodeTypeEnum nodeType) { + private Either<Long, StorageOperationStatus> addComponentToCachePart1WithoutCommit(String componentId, NodeTypeEnum nodeType) { if (componentId != null) { // In case of error, the componentId might be // empty. - if (nodeType == NodeTypeEnum.Resource || nodeType == NodeTypeEnum.Service - || nodeType == NodeTypeEnum.Product) { + if (nodeType == NodeTypeEnum.Resource || nodeType == NodeTypeEnum.Service || nodeType == NodeTypeEnum.Product) { Long lastUpdateDate = null; - Either<ComponentMetadataData, StorageOperationStatus> resResult = resourceOperation - .getComponentByLabelAndId(componentId, nodeType, ComponentMetadataData.class); + Either<ComponentMetadataData, StorageOperationStatus> resResult = toscaOperationFacade.getComponentMetadata(componentId); if (resResult.isLeft()) { ComponentMetadataData resourceMetadataData = resResult.left().value(); lastUpdateDate = resourceMetadataData.getMetadataDataDefinition().getLastUpdateDate(); @@ -201,12 +190,10 @@ public class GraphLockOperation implements IGraphLockOperation { * @param nodeType * @return */ - private Either<Long, StorageOperationStatus> addComponentToCachePart2(String componentId, Long lastUpdateDate, - NodeTypeEnum nodeType) { + private Either<Long, StorageOperationStatus> addComponentToCachePart2(String componentId, Long lastUpdateDate, NodeTypeEnum nodeType) { if (componentId != null) { // In case of error, the componentId might be // empty. - if (nodeType == NodeTypeEnum.Resource || nodeType == NodeTypeEnum.Service - || nodeType == NodeTypeEnum.Product) { + if (nodeType == NodeTypeEnum.Resource || nodeType == NodeTypeEnum.Service || nodeType == NodeTypeEnum.Product) { // add task to Q log.debug("Going to add component {} of type {} to cache", componentId, nodeType.name().toLowerCase()); cacheManagerOperation.updateComponentInCache(componentId, lastUpdateDate, nodeType); |