aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java85
1 files changed, 0 insertions, 85 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java b/catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java
deleted file mode 100644
index 5e51615164..0000000000
--- a/catalog-be/src/main/java/org/openecomp/sdc/common/transaction/mngr/RollbackManager.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.common.transaction.mngr;
-
-import fj.P;
-import fj.data.Either;
-import fj.data.HashMap;
-import fj.data.List;
-import org.openecomp.sdc.common.transaction.api.RollbackHandler;
-import org.openecomp.sdc.common.transaction.api.TransactionUtils.DBActionCodeEnum;
-import org.openecomp.sdc.common.transaction.api.TransactionUtils.DBTypeEnum;
-import org.openecomp.sdc.common.util.MethodActivationStatusEnum;
-
-public class RollbackManager {
- private final HashMap<DBTypeEnum, RollbackHandler> rollbackHandlersMap;
- private final Integer transactionId;
- private final String userId;
- private final String actionType;
-
- RollbackManager(Integer transactionId, String userId, String actionType, Iterable<RollbackHandler> rollbackHandlers) {
- this.transactionId = transactionId;
- this.userId = userId;
- this.actionType = actionType;
- this.rollbackHandlersMap = HashMap.from(List.iterableList(rollbackHandlers).map(i -> P.p(i.getDBType(), i)));
- }
-
- public DBActionCodeEnum transactionRollback() {
- List<DBActionCodeEnum> results = rollbackHandlersMap.values().map(RollbackHandler::doRollback);
- boolean failure = results.exists(r -> r == DBActionCodeEnum.FAIL_GENERAL);
- return failure ? DBActionCodeEnum.FAIL_GENERAL : DBActionCodeEnum.SUCCESS;
- }
-
- protected Either<RollbackHandler, MethodActivationStatusEnum> addRollbackHandler(RollbackHandler rollbackHandler) {
- Either<RollbackHandler, MethodActivationStatusEnum> result;
- if (rollbackHandlersMap.contains(rollbackHandler.getDBType())) {
- result = Either.right(MethodActivationStatusEnum.NOT_ALLOWED);
- } else {
- rollbackHandlersMap.set(rollbackHandler.getDBType(), rollbackHandler);
- result = Either.left(rollbackHandler);
- }
- return result;
-
- }
-
- protected Either<RollbackHandler, MethodActivationStatusEnum> createRollbackHandler(final DBTypeEnum dbType) {
-
- RollbackHandler rollbackHandler = new RollbackHandler(transactionId, userId, actionType) {
-
- @Override
- public DBTypeEnum getDBType() {
- return dbType;
- }
-
- @Override
- protected boolean isRollbackForPersistenceData() {
- return true;
- }
- };
- return addRollbackHandler(rollbackHandler);
- }
-
- protected Either<RollbackHandler, MethodActivationStatusEnum> getRollbackHandler(DBTypeEnum dbType) {
- // need to swap here because the uses of Either in SDC appears to be opposite of convention
- // by convention left is failure; in SDC right is failure
- return rollbackHandlersMap.get(dbType).toEither(MethodActivationStatusEnum.NOT_FOUND).swap();
- }
-}