summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java66
1 files changed, 31 insertions, 35 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java
index 352371c3d9..44505ec10c 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/lifecycle/CheckoutTransition.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,10 +17,11 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.components.lifecycle;
import fj.data.Either;
+import java.util.Arrays;
+import java.util.List;
import org.openecomp.sdc.be.components.impl.ComponentBusinessLogic;
import org.openecomp.sdc.be.config.BeEcompErrorManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -48,23 +49,19 @@ import org.openecomp.sdc.be.user.Role;
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.openecomp.sdc.exception.ResponseFormat;
-import java.util.Arrays;
-import java.util.List;
-
public class CheckoutTransition extends LifeCycleTransition {
private static final Logger log = Logger.getLogger(CheckoutTransition.class);
- CheckoutTransition(ComponentsUtils componentUtils, ToscaElementLifecycleOperation lifecycleOperation, ToscaOperationFacade toscaOperationFacade, JanusGraphDao janusGraphDao) {
+ CheckoutTransition(ComponentsUtils componentUtils, ToscaElementLifecycleOperation lifecycleOperation, ToscaOperationFacade toscaOperationFacade,
+ JanusGraphDao janusGraphDao) {
super(componentUtils, lifecycleOperation, toscaOperationFacade, janusGraphDao);
-
// authorized roles
- Role[] resourceServiceCheckoutRoles = { Role.ADMIN, Role.DESIGNER };
- Role[] productCheckoutRoles = { Role.ADMIN, Role.PRODUCT_MANAGER };
+ Role[] resourceServiceCheckoutRoles = {Role.ADMIN, Role.DESIGNER};
+ Role[] productCheckoutRoles = {Role.ADMIN, Role.PRODUCT_MANAGER};
addAuthorizedRoles(ComponentTypeEnum.RESOURCE, Arrays.asList(resourceServiceCheckoutRoles));
addAuthorizedRoles(ComponentTypeEnum.SERVICE, Arrays.asList(resourceServiceCheckoutRoles));
addAuthorizedRoles(ComponentTypeEnum.PRODUCT, Arrays.asList(productCheckoutRoles));
-
}
@Override
@@ -78,39 +75,36 @@ public class CheckoutTransition extends LifeCycleTransition {
}
@Override
- public Either<? extends Component, ResponseFormat> changeState(ComponentTypeEnum componentType, Component component, ComponentBusinessLogic componentBl, User modifier, User owner, boolean shouldLock, boolean inTransaction) {
-
+ public Either<? extends Component, ResponseFormat> changeState(ComponentTypeEnum componentType, Component component,
+ ComponentBusinessLogic componentBl, User modifier, User owner, boolean shouldLock,
+ boolean inTransaction) {
log.debug("start performing {} for resource {}", getName(), component.getUniqueId());
-
Either<? extends Component, ResponseFormat> result = null;
try {
-
- Either<ToscaElement, StorageOperationStatus> checkoutResourceResult = lifeCycleOperation.checkoutToscaElement(component.getUniqueId(), modifier.getUserId(), owner.getUserId());
-
+ Either<ToscaElement, StorageOperationStatus> checkoutResourceResult = lifeCycleOperation
+ .checkoutToscaElement(component.getUniqueId(), modifier.getUserId(), owner.getUserId());
if (checkoutResourceResult.isRight()) {
log.debug("checkout failed on graph");
StorageOperationStatus response = checkoutResourceResult.right().value();
ActionStatus actionStatus = componentUtils.convertFromStorageResponse(response);
-
if (response.equals(StorageOperationStatus.ENTITY_ALREADY_EXISTS)) {
actionStatus = ActionStatus.COMPONENT_VERSION_ALREADY_EXIST;
}
ResponseFormat responseFormat = componentUtils.getResponseFormatByComponent(actionStatus, component, componentType);
result = Either.right(responseFormat);
} else {
-
Component clonedComponent = ModelConverter.convertFromToscaElement(checkoutResourceResult.left().value());
- if(componentType == ComponentTypeEnum.SERVICE) {
- Service service = (Service)clonedComponent;
+ if (componentType == ComponentTypeEnum.SERVICE) {
+ Service service = (Service) clonedComponent;
service.validateAndSetInstantiationType();
}
- if ( checkoutResourceResult.left().value().getToscaType() == ToscaElementTypeEnum.NODE_TYPE ){
+ if (checkoutResourceResult.left().value().getToscaType() == ToscaElementTypeEnum.NODE_TYPE) {
Either<Component, ActionStatus> upgradeToLatestDerived = componentBl.shouldUpgradeToLatestDerived(clonedComponent);
- if (upgradeToLatestDerived.isRight() && ActionStatus.OK != upgradeToLatestDerived.right().value()){
+ if (upgradeToLatestDerived.isRight() && ActionStatus.OK != upgradeToLatestDerived.right().value()) {
result = Either.right(componentUtils.getResponseFormat(upgradeToLatestDerived.right().value()));
return result;
}
- if ( upgradeToLatestDerived.isLeft() ){
+ if (upgradeToLatestDerived.isLeft()) {
//get resource after update derived
clonedComponent = upgradeToLatestDerived.left().value();
}
@@ -119,7 +113,7 @@ public class CheckoutTransition extends LifeCycleTransition {
Either<Boolean, ResponseFormat> upgradeToLatestGeneric = componentBl.shouldUpgradeToLatestGeneric(clonedComponent);
if (upgradeToLatestGeneric.isRight()) {
result = Either.right(upgradeToLatestGeneric.right().value());
- } else if (upgradeToLatestGeneric.left().value() ) {
+ } else if (upgradeToLatestGeneric.left().value()) {
StorageOperationStatus response = upgradeToLatestGenericData(clonedComponent);
if (StorageOperationStatus.OK != response) {
ActionStatus actionStatus = componentUtils.convertFromStorageResponse(response);
@@ -128,9 +122,8 @@ public class CheckoutTransition extends LifeCycleTransition {
}
}
handleCalculatedCapabilitiesRequirements(clonedComponent);
- updateCapReqPropertiesOwnerId(clonedComponent);
+ updateCapReqPropertiesOwnerId(clonedComponent);
}
-
} finally {
if (result == null || result.isRight()) {
BeEcompErrorManager.getInstance().logBeDaoSystemError("Change LifecycleState");
@@ -149,34 +142,36 @@ public class CheckoutTransition extends LifeCycleTransition {
}
private void handleCalculatedCapabilitiesRequirements(Component clonedComponent) {
- if(clonedComponent.isTopologyTemplate() && ToscaUtils.isNotComplexVfc(clonedComponent)){
+ if (clonedComponent.isTopologyTemplate() && ToscaUtils.isNotComplexVfc(clonedComponent)) {
toscaOperationFacade.revertNamesOfCalculatedCapabilitiesRequirements(clonedComponent.getUniqueId());
}
}
private void updateCapReqPropertiesOwnerId(Component component) {
- if(component.isTopologyTemplate() && ToscaUtils.isNotComplexVfc(component)) {
+ if (component.isTopologyTemplate() && ToscaUtils.isNotComplexVfc(component)) {
toscaOperationFacade.updateCapReqPropertiesOwnerId(component.getUniqueId());
}
}
- private StorageOperationStatus upgradeToLatestGenericData(Component clonedComponent) {
+ private StorageOperationStatus upgradeToLatestGenericData(Component clonedComponent) {
StorageOperationStatus updateStatus = StorageOperationStatus.OK;
Either<Component, StorageOperationStatus> updateEither = toscaOperationFacade.updateToscaElement(clonedComponent);
if (updateEither.isRight()) {
updateStatus = updateEither.right().value();
} else if (clonedComponent.shouldGenerateInputs()) {
List<InputDefinition> newInputs = clonedComponent.getInputs();
- updateStatus = lifeCycleOperation.updateToscaDataOfToscaElement(clonedComponent.getUniqueId(), EdgeLabelEnum.INPUTS, VertexTypeEnum.INPUTS, newInputs, JsonPresentationFields.NAME);
+ updateStatus = lifeCycleOperation
+ .updateToscaDataOfToscaElement(clonedComponent.getUniqueId(), EdgeLabelEnum.INPUTS, VertexTypeEnum.INPUTS, newInputs,
+ JsonPresentationFields.NAME);
}
return updateStatus;
}
@Override
- public Either<Boolean, ResponseFormat> validateBeforeTransition(Component component, ComponentTypeEnum componentType, User modifier, User owner, LifecycleStateEnum oldState, LifecycleChangeInfoWithAction lifecycleChangeInfo) {
+ public Either<Boolean, ResponseFormat> validateBeforeTransition(Component component, ComponentTypeEnum componentType, User modifier, User owner,
+ LifecycleStateEnum oldState, LifecycleChangeInfoWithAction lifecycleChangeInfo) {
String componentName = component.getComponentMetadataDefinition().getMetadataDataDefinition().getName();
log.debug("validate before checkout. resource name={}, oldState={}, owner userId={}", componentName, oldState, owner.getUserId());
-
// validate user
Either<Boolean, ResponseFormat> userValidationResponse = userRoleValidation(modifier, component, componentType, lifecycleChangeInfo);
if (userValidationResponse.isRight()) {
@@ -184,10 +179,11 @@ public class CheckoutTransition extends LifeCycleTransition {
}
// check resource is not locked by another user
if (oldState.equals(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT)) {
- ResponseFormat error = componentUtils.getResponseFormat(ActionStatus.COMPONENT_IN_CHECKOUT_STATE, componentName, componentType.name().toLowerCase(), owner.getFirstName(), owner.getLastName(), owner.getUserId());
+ ResponseFormat error = componentUtils
+ .getResponseFormat(ActionStatus.COMPONENT_IN_CHECKOUT_STATE, componentName, componentType.name().toLowerCase(), owner.getFirstName(),
+ owner.getLastName(), owner.getUserId());
return Either.right(error);
}
return Either.left(true);
}
-
}