diff options
author | 2021-07-27 16:24:23 -0400 | |
---|---|---|
committer | 2021-08-26 10:56:05 -0400 | |
commit | 1a506214e5779e068c1d2b7b34dbf3d1c2e8c637 (patch) | |
tree | ebb568c24921793a2998f9d3a180e9e778d97c56 /adapters/mso-catalog-db-adapter/src | |
parent | 7498ebd8f5f866a271379330a17291f06d5fe889 (diff) |
SO-3720 BuildingBlockRollback lookup table
Issue-ID: SO-3720
BuildingBlockRollback lookup table will indicate the rollback BB to take;
this is the first part for simplifying WorkflowActionBBTasks logic:
instead of doing string matching, we just do a lookup of a block to call
to perform the rollback operation.
In some cases, the Action is set as well - this would be needed for certain
BBs, in that case, there is a corresponding rollbackAction as well.
Change-Id: I072a2ada894cf4672f5a1cdce762605757cb1d14
Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com>
Diffstat (limited to 'adapters/mso-catalog-db-adapter/src')
3 files changed, 79 insertions, 0 deletions
diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/JerseyConfiguration.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/JerseyConfiguration.java index 359c8cd46e..e276faf5d0 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/JerseyConfiguration.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/JerseyConfiguration.java @@ -27,6 +27,7 @@ import javax.ws.rs.ApplicationPath; import org.glassfish.jersey.server.ResourceConfig; import org.onap.logging.filter.base.Constants; import org.onap.logging.filter.base.ONAPComponents; +import org.onap.so.adapters.catalogdb.rest.BuildingBlockRollbackRestImpl; import org.onap.so.adapters.catalogdb.rest.CatalogDbAdapterRest; import org.onap.so.adapters.catalogdb.rest.ServiceRestImpl; import org.onap.so.adapters.catalogdb.rest.VnfRestImpl; @@ -53,6 +54,7 @@ public class JerseyConfiguration extends ResourceConfig { register(AcceptHeaderOpenApiResource.class); register(ServiceRestImpl.class); register(VnfRestImpl.class); + register(BuildingBlockRollbackRestImpl.class); OpenAPI oas = new OpenAPI(); Info info = new Info(); diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/BuildingBlockRollbackRestImpl.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/BuildingBlockRollbackRestImpl.java new file mode 100644 index 0000000000..bd247e1a4f --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/BuildingBlockRollbackRestImpl.java @@ -0,0 +1,67 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Bell Canada + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.so.adapters.catalogdb.rest; + +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.info.Info; +import io.swagger.v3.oas.annotations.media.ArraySchema; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import java.util.List; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import org.onap.so.db.catalog.beans.BuildingBlockRollback; +import org.onap.so.db.catalog.data.repository.BuildingBlockRollbackRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +@OpenAPIDefinition(info = @Info(title = "/v1", description = "model")) +@Path("/v1/buildingBlockRollback") +@Component +public class BuildingBlockRollbackRestImpl { + + @Autowired + private BuildingBlockRollbackRepository bbRollbackRepo; + + @GET + @Path("/{id}") + @Produces({MediaType.APPLICATION_JSON}) + @Transactional(readOnly = true) + public BuildingBlockRollback findService(@PathParam("id") Integer id) { + return bbRollbackRepo.findOneById(id); + } + + @GET + @Operation(description = "Look up BuildingBlock Rollback List", responses = @ApiResponse( + content = @Content(array = @ArraySchema(schema = @Schema(implementation = BuildingBlockRollback.class))))) + @Produces({MediaType.APPLICATION_JSON}) + @Transactional(readOnly = true) + public List<BuildingBlockRollback> getBBRollbackList() { + return bbRollbackRepo.findAll(); + } +} diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.9.1__AddBuildingBlockRollback.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.9.1__AddBuildingBlockRollback.sql new file mode 100644 index 0000000000..11dd1ecfb3 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V8.9.1__AddBuildingBlockRollback.sql @@ -0,0 +1,10 @@ +use catalogdb; + +CREATE TABLE IF NOT EXISTS `building_block_rollback` ( + `ID` INT NOT NULL AUTO_INCREMENT, + `BUILDING_BLOCK_NAME` varchar(200) NOT NULL, + `ACTION` varchar(200) null, + `ROLLBACK_BUILDING_BLOCK_NAME` varchar(200) NOT NULL, + `ROLLBACK_ACTION` varchar(200) NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; |