diff options
Diffstat (limited to 'adapters/mso-openstack-adapters/src/main/java/org')
7 files changed, 0 insertions, 782 deletions
diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/openstack/CXFConfiguration.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/openstack/CXFConfiguration.java index a7bca73fdd..abfacebf05 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/openstack/CXFConfiguration.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/openstack/CXFConfiguration.java @@ -34,8 +34,6 @@ import org.apache.cxf.jaxws.EndpointImpl; import org.apache.cxf.transport.servlet.CXFServlet; import org.onap.so.adapters.cloudregion.CloudRegionRestV1; import org.onap.so.adapters.network.MsoNetworkAdapterImpl; -import org.onap.so.adapters.tenant.MsoTenantAdapterImpl; -import org.onap.so.adapters.tenant.TenantAdapterRest; import org.onap.so.adapters.vnf.MsoVnfAdapterAsyncImpl; import org.onap.so.adapters.vnf.MsoVnfAdapterImpl; import org.onap.so.client.policy.JettisonStyleMapperProvider; @@ -53,12 +51,8 @@ import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; @Configuration public class CXFConfiguration { @Autowired - private TenantAdapterRest tenantAdapterRest; - @Autowired private MsoNetworkAdapterImpl networkAdapterImpl; @Autowired - private MsoTenantAdapterImpl tenantAdapterImpl; - @Autowired private MsoVnfAdapterImpl vnfAdapterImpl; @Autowired private MsoVnfAdapterAsyncImpl vnfAdapterAsyncImpl; @@ -99,20 +93,6 @@ public class CXFConfiguration { } /* - * tenant adapter endpoint - */ - @Bean - public Endpoint tenantAdapterEndpoint() { - EndpointImpl endpoint = new EndpointImpl(springBus(), tenantAdapterImpl); - endpoint.publish("/TenantAdapter"); - endpoint.setWsdlLocation("TenantAdapter.wsdl"); - endpoint.getInInterceptors().add(new SOAPLoggingInInterceptor()); - endpoint.getOutInterceptors().add(new SOAPLoggingOutInterceptor()); - endpoint.getOutFaultInterceptors().add(new SOAPLoggingOutInterceptor()); - return endpoint; - } - - /* * vnfAdapterEndpoint VnfAsyncAdapterEndpoint VnfCloudAdapterEndpoint */ @Bean @@ -137,19 +117,6 @@ public class CXFConfiguration { return endpoint; } - // Uses Jettson Style marshalling semantics - @Bean - public Server rsServer() { - JAXRSServerFactoryBean endpoint = new JAXRSServerFactoryBean(); - endpoint.setBus(springBus()); - endpoint.setServiceBeans(Arrays.<Object>asList(tenantAdapterRest)); - endpoint.setAddress("/rest"); - endpoint.setFeatures(Arrays.asList(createSwaggerFeature(), new LoggingFeature())); - endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(jettisonStyleObjectMapper.getMapper()), - soAuditLogContainerFilter)); - return endpoint.create(); - } - // Uses normal Jackson marshalling semantics @Bean public Server rsServerApi() { diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapter.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapter.java deleted file mode 100644 index 68f7558add..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapter.java +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Modifications Copyright (C) 2018 IBM. - * ================================================================================ - * 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.onap.so.adapters.tenant; - - -import java.util.Map; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebParam.Mode; -import javax.jws.WebService; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.ws.Holder; -import org.onap.so.adapters.tenant.exceptions.TenantException; -import org.onap.so.adapters.tenantrest.TenantRollback; -import org.onap.so.entity.MsoRequest; - -@WebService(name = "TenantAdapter", targetNamespace = "http://org.onap.so/tenant") -public interface MsoTenantAdapter { - /** - * This is the "Create Tenant" Web Service Endpoint definition. - */ - @WebMethod - public void createTenant(@WebParam(name = "cloudSiteId") @XmlElement(required = true) String cloudSiteId, - @WebParam(name = "tenantName") @XmlElement(required = true) String tenantName, - @WebParam(name = "metadata") Map<String, String> metadata, - @WebParam(name = "failIfExists") Boolean failIfExists, @WebParam(name = "backout") Boolean backout, - @WebParam(name = "request") MsoRequest msoRequest, - @WebParam(name = "tenantId", mode = Mode.OUT) Holder<String> tenantId, - @WebParam(name = "rollback", mode = Mode.OUT) Holder<TenantRollback> rollback) throws TenantException; - - @WebMethod - public void queryTenant(@WebParam(name = "cloudSiteId") @XmlElement(required = true) String cloudSiteId, - @WebParam(name = "tenantNameOrId") @XmlElement(required = true) String tenantNameOrId, - @WebParam(name = "request") MsoRequest msoRequest, - @WebParam(name = "tenantId", mode = Mode.OUT) Holder<String> tenantId, - @WebParam(name = "tenantName", mode = Mode.OUT) Holder<String> tenantName, - @WebParam(name = "metadata", mode = Mode.OUT) Holder<Map<String, String>> metadata) throws TenantException; - - @WebMethod - public void deleteTenant(@WebParam(name = "cloudSiteId") @XmlElement(required = true) String cloudSiteId, - @WebParam(name = "tenantId") @XmlElement(required = true) String tenantId, - @WebParam(name = "request") MsoRequest msoRequest, - @WebParam(name = "tenantDeleted", mode = Mode.OUT) Holder<Boolean> tenantDeleted) throws TenantException; - - @WebMethod - public void rollbackTenant(@WebParam(name = "rollback") @XmlElement(required = true) TenantRollback rollback) - throws TenantException; - - @WebMethod - public void healthCheck(); -} diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapterImpl.java deleted file mode 100644 index 4b02595074..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapterImpl.java +++ /dev/null @@ -1,246 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Modifications Copyright (C) 2018 IBM. - * Modifications Copyright (c) 2019 Samsung - * ================================================================================ - * 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.onap.so.adapters.tenant; - - -import java.util.Map; -import javax.annotation.Resource; -import javax.jws.WebService; -import javax.xml.ws.Holder; -import javax.xml.ws.WebServiceContext; -import org.onap.so.adapters.tenant.exceptions.TenantAlreadyExists; -import org.onap.so.adapters.tenant.exceptions.TenantException; -import org.onap.so.adapters.tenantrest.TenantRollback; -import org.onap.so.entity.MsoRequest; -import org.onap.logging.filter.base.ErrorCode; -import org.onap.so.logger.MessageEnum; -import org.onap.so.openstack.beans.MsoTenant; -import org.onap.so.openstack.exceptions.MsoCloudSiteNotFound; -import org.onap.so.openstack.exceptions.MsoException; -import org.onap.so.openstack.utils.MsoTenantUtils; -import org.onap.so.openstack.utils.MsoTenantUtilsFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@WebService(serviceName = "TenantAdapter", endpointInterface = "org.onap.so.adapters.tenant.MsoTenantAdapter", - targetNamespace = "http://org.onap.so/tenant") -@Component -public class MsoTenantAdapterImpl implements MsoTenantAdapter { - public static final String CREATE_TENANT = "createTenant"; - public static final String OPENSTACK = "OpenStack"; - public static final String QUERY_TENANT = "QueryTenant"; - public static final String DELETE_TENANT = "DeleteTenant"; - public static final String ROLLBACK_TENANT = "RollbackTenant"; - private static final String OPENSTACK_COMMUNICATE_EXCEPTION_MSG = - "{} {} Exception while communicate with Open Stack "; - @Resource - private WebServiceContext wsContext; - - @Autowired - private MsoTenantUtilsFactory tFactory; - private static Logger logger = LoggerFactory.getLogger(MsoTenantAdapterImpl.class); - - /** - * Health Check web method. Does nothing but return to show the adapter is deployed. - */ - @Override - public void healthCheck() { - logger.debug("Health check call in Tenant Adapter"); - } - - /** - * This is the "Create Tenant" web service implementation. It will create a new Tenant in the specified cloud. If - * the tenant already exists, this can be considered a success or failure, depending on the value of the - * 'failIfExists' parameter. - * - * The method returns the tenantId (the Openstack ID), and a TenantRollback object. This last object can be passed - * as-is to the rollbackTenant method to undo what (if anything) was created. This is useful if a Tenant is - * successfully created but the orchestrator fails on a subsequent operation. - */ - @Override - public void createTenant(String cloudSiteId, String tenantName, Map<String, String> metadata, Boolean failIfExists, - Boolean backout, MsoRequest msoRequest, Holder<String> tenantId, Holder<TenantRollback> rollback) - throws TenantException { - - logger.debug("Call to MSO createTenant adapter. Creating Tenant: {} in {}", tenantName, cloudSiteId); - - // Start building up rollback object - TenantRollback tenantRollback = new TenantRollback(); - tenantRollback.setCloudId(cloudSiteId); - tenantRollback.setMsoRequest(msoRequest); - - MsoTenantUtils tUtils; - try { - tUtils = tFactory.getTenantUtils(cloudSiteId); - } catch (MsoCloudSiteNotFound me) { - logger.error("{} {} no implementation found for {}: ", MessageEnum.RA_CREATE_TENANT_ERR, - ErrorCode.DataError.getValue(), cloudSiteId, me); - throw new TenantException(me); - } - - MsoTenant newTenant = null; - String newTenantId; - try { - newTenant = tUtils.queryTenantByName(tenantName, cloudSiteId); - } catch (MsoException me) { - logger.error(OPENSTACK_COMMUNICATE_EXCEPTION_MSG, MessageEnum.RA_CREATE_TENANT_ERR, - ErrorCode.DataError.getValue(), me); - throw new TenantException(me); - } - if (newTenant == null) { - if (backout == null) - backout = true; - try { - newTenantId = tUtils.createTenant(tenantName, cloudSiteId, metadata, backout.booleanValue()); - } catch (MsoException me) { - logger.error(OPENSTACK_COMMUNICATE_EXCEPTION_MSG, MessageEnum.RA_CREATE_TENANT_ERR, - ErrorCode.DataError.getValue(), me); - throw new TenantException(me); - } - tenantRollback.setTenantId(newTenantId); - tenantRollback.setTenantCreated(true); - logger.debug("Tenant {} successfully created with ID {}", tenantName, newTenantId); - } else { - if (failIfExists != null && failIfExists) { - logger.error("{} {} CreateTenant: Tenant {} already exists in {} ", MessageEnum.RA_TENANT_ALREADY_EXIST, - ErrorCode.DataError.getValue(), tenantName, cloudSiteId); - throw new TenantAlreadyExists(tenantName, cloudSiteId, newTenant.getTenantId()); - } - - newTenantId = newTenant.getTenantId(); - tenantRollback.setTenantCreated(false); - logger.debug("Tenant {} already exists with ID {}", tenantName, newTenantId); - } - - - tenantId.value = newTenantId; - rollback.value = tenantRollback; - return; - } - - @Override - public void queryTenant(String cloudSiteId, String tenantNameOrId, MsoRequest msoRequest, Holder<String> tenantId, - Holder<String> tenantName, Holder<Map<String, String>> metadata) throws TenantException { - - logger.debug("Querying Tenant {} in {}", tenantNameOrId, cloudSiteId); - - MsoTenantUtils tUtils; - try { - tUtils = tFactory.getTenantUtils(cloudSiteId); - } catch (MsoCloudSiteNotFound me) { - logger.error("{} {} no implementation found for {}: ", MessageEnum.RA_CREATE_TENANT_ERR, - ErrorCode.DataError.getValue(), cloudSiteId, me); - throw new TenantException(me); - } - - MsoTenant qTenant = null; - try { - qTenant = tUtils.queryTenant(tenantNameOrId, cloudSiteId); - if (qTenant == null) { - // Not found by ID, Try by name. - qTenant = tUtils.queryTenantByName(tenantNameOrId, cloudSiteId); - } - - if (qTenant == null) { - logger.debug("QueryTenant: Tenant {} not found", tenantNameOrId); - tenantId.value = null; - tenantName.value = null; - metadata.value = null; - } else { - logger.debug("QueryTenant: Tenant {} found with ID {}", tenantNameOrId, qTenant.getTenantId()); - tenantId.value = qTenant.getTenantId(); - tenantName.value = qTenant.getTenantName(); - metadata.value = qTenant.getMetadata(); - } - } catch (MsoException me) { - logger.error("Exception in queryTenant for {}: ", MessageEnum.RA_GENERAL_EXCEPTION, - ErrorCode.DataError.getValue(), tenantNameOrId, me); - throw new TenantException(me); - } - return; - } - - @Override - public void deleteTenant(String cloudSiteId, String tenantId, MsoRequest msoRequest, Holder<Boolean> tenantDeleted) - throws TenantException { - - logger.debug("Deleting Tenant {} in {}", tenantId, cloudSiteId); - - // Delete the Tenant. - try { - - MsoTenantUtils tUtils = tFactory.getTenantUtils(cloudSiteId); - boolean deleted = tUtils.deleteTenant(tenantId, cloudSiteId); - tenantDeleted.value = deleted; - } catch (MsoException me) { - logger.error("{} {} Exception - DeleteTenant {}: ", MessageEnum.RA_DELETE_TEMAMT_ERR, - ErrorCode.DataError.getValue(), tenantId, me); - throw new TenantException(me); - } - - // On success, nothing is returned. - return; - } - - /** - * This web service endpoint will rollback a previous Create VNF operation. A rollback object is returned to the - * client in a successful creation response. The client can pass that object as-is back to the rollbackVnf operation - * to undo the creation. - * - * The rollback includes removing the VNF and deleting the tenant if the tenant did not exist prior to the VNF - * creation. - */ - @Override - public void rollbackTenant(TenantRollback rollback) throws TenantException { - // rollback may be null (e.g. if stack already existed when Create was called) - if (rollback == null) { - logger.warn("{} {} rollbackTenant, rollback is null", MessageEnum.RA_ROLLBACK_NULL, - ErrorCode.DataError.getValue()); - return; - } - - // Get the elements of the VnfRollback object for easier access - String cloudSiteId = rollback.getCloudId(); - String tenantId = rollback.getTenantId(); - - logger.debug("Rolling Back Tenant {} in {}", rollback.getTenantId(), cloudSiteId); - - if (rollback.getTenantCreated()) { - try { - - MsoTenantUtils tUtils = tFactory.getTenantUtils(cloudSiteId); - tUtils.deleteTenant(tenantId, cloudSiteId); - } catch (MsoException me) { - me.addContext(ROLLBACK_TENANT); - // Failed to delete the tenant. - logger.error("{} {} Exception - rollbackTenant {}: ", MessageEnum.RA_ROLLBACK_TENANT_ERR, - ErrorCode.DataError.getValue(), tenantId, me); - throw new TenantException(me); - } - } - return; - } -} diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/TenantAdapterRest.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/TenantAdapterRest.java deleted file mode 100644 index c782adec64..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/TenantAdapterRest.java +++ /dev/null @@ -1,249 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved. - * ================================================================================ - * Modifications Copyright (C) 2018 IBM. - * Modifications Copyright (c) 2019 Samsung - * ================================================================================ - * 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.onap.so.adapters.tenant; - - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.xml.ws.Holder; -import org.onap.so.adapters.tenant.exceptions.TenantAlreadyExists; -import org.onap.so.adapters.tenant.exceptions.TenantException; -import org.onap.so.adapters.tenantrest.CreateTenantError; -import org.onap.so.adapters.tenantrest.CreateTenantRequest; -import org.onap.so.adapters.tenantrest.CreateTenantResponse; -import org.onap.so.adapters.tenantrest.DeleteTenantError; -import org.onap.so.adapters.tenantrest.DeleteTenantRequest; -import org.onap.so.adapters.tenantrest.DeleteTenantResponse; -import org.onap.so.adapters.tenantrest.QueryTenantError; -import org.onap.so.adapters.tenantrest.QueryTenantResponse; -import org.onap.so.adapters.tenantrest.RollbackTenantError; -import org.onap.so.adapters.tenantrest.RollbackTenantRequest; -import org.onap.so.adapters.tenantrest.RollbackTenantResponse; -import org.onap.so.adapters.tenantrest.TenantRollback; -import org.onap.so.openstack.beans.MsoTenant; -import org.onap.so.openstack.exceptions.MsoExceptionCategory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * This class services calls to the REST interface for Tenants (http://host:port/vnfs/rest/v1/tenants) Both XML and JSON - * can be produced/consumed. Set Accept: and Content-Type: headers appropriately. XML is the default. - */ -@Path("/v1/tenants") -@Api(value = "/v1/tenants", description = "root of tenant adapters restful web service") -@Component -public class TenantAdapterRest { - - private static Logger logger = LoggerFactory.getLogger(TenantAdapterRest.class); - private static final String EXCEPTION = "Exception :"; - // RAA? No logging in wrappers - @Autowired - private MsoTenantAdapterImpl tenantImpl; - - - - /* - * URL: EP: http://host:8080/tenants/rest Resource: v1/tenants REQ - metadata? { "cloudSiteId": "DAN", "tenantName": - * "RAA_1", "failIfExists": true, "msoRequest": { "requestId": "ra1", "serviceInstanceId": "sa1" }} RESP- { - * "cloudSiteId": "DAN", "tenantId": "128e10b9996d43a7874f19bbc4eb6749", "tenantCreated": true, "tenantRollback": { - * "tenantId": "128e10b9996d43a7874f19bbc4eb6749", "cloudId": "DAN", // RAA? cloudId instead of cloudSiteId - * "tenantCreated": true, "msoRequest": { "requestId": "ra1", "serviceInstanceId": "sa1" } } } - */ - @POST - @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @ApiOperation(value = "CreateTenant", response = Response.class, - notes = "Creates a new tenant, CreateTenantRequest data is required") - @ApiResponses({@ApiResponse(code = 200, message = "tenant has been successfully created"), - @ApiResponse(code = 500, message = "create tenant failed")}) - public Response createTenant( - @ApiParam(value = "details of tenant being created", required = true) CreateTenantRequest req) { - logger.debug("createTenant enter: {}", req.toJsonString()); - - String newTenantId = null; - TenantRollback tenantRollback; - - try { - Holder<String> htenant = new Holder<>(); - Holder<TenantRollback> hrollback = new Holder<>(); - MsoTenantAdapter impl = tenantImpl; - impl.createTenant(req.getCloudSiteId(), req.getTenantName(), req.getMetadata(), req.getFailIfExists(), - req.getBackout(), req.getMsoRequest(), htenant, hrollback); - newTenantId = htenant.value; - tenantRollback = hrollback.value; - - } catch (TenantAlreadyExists tae) { - logger.debug(EXCEPTION, tae); - CreateTenantError exc = - new CreateTenantError(tae.getMessage(), tae.getFaultInfo().getCategory(), Boolean.TRUE); - return Response.status(HttpServletResponse.SC_NOT_IMPLEMENTED).entity(exc).build(); - } catch (TenantException te) { - logger.debug(EXCEPTION, te); - CreateTenantError exc = new CreateTenantError(te.getFaultInfo().getMessage(), - te.getFaultInfo().getCategory(), Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } catch (Exception e) { - logger.debug(EXCEPTION, e); - CreateTenantError exc = new CreateTenantError(e.getMessage(), MsoExceptionCategory.INTERNAL, Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } - - CreateTenantResponse resp = new CreateTenantResponse(req.getCloudSiteId(), newTenantId, - tenantRollback.getTenantCreated(), tenantRollback); - return Response.status(HttpServletResponse.SC_OK).entity(resp).build(); - } - - /* - * URL: http://host:8080/tenants/rest Resource: v1/tenant/tennatId REQ: {"cloudSiteId": "DAN", "tenantId": - * "ca84cd3d3df44272845da554656b3ace", "msoRequest": { "requestId": "ra1", "serviceInstanceId": "sa1" } } RESP: - * {"tenantDeleted": true} - */ - @DELETE - @Path("{tenantId}") - @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @ApiOperation(value = "DeleteTenant", response = Response.class, notes = "Delete an existing tenant") - @ApiResponses({@ApiResponse(code = 200, message = "tenant has been successfully deleted"), - @ApiResponse(code = 500, message = "delete tenant failed")}) - public Response deleteTenant( - @ApiParam(value = "tenantId of tenant being deleted", - required = true) @PathParam("tenantId") String tenantId, - @ApiParam(value = "DeleteTenantRequest object containing additional information of tenant being deleted", - required = false) DeleteTenantRequest req) { - boolean tenantDeleted = false; - - try { - Holder<Boolean> deleted = new Holder<>(); - MsoTenantAdapter impl = tenantImpl; - impl.deleteTenant(req.getCloudSiteId(), req.getTenantId(), req.getMsoRequest(), deleted); - tenantDeleted = deleted.value; - } catch (TenantException te) { - logger.debug(EXCEPTION, te); - DeleteTenantError exc = new DeleteTenantError(te.getFaultInfo().getMessage(), - te.getFaultInfo().getCategory(), Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } catch (Exception e) { - logger.debug(EXCEPTION, e); - DeleteTenantError exc = new DeleteTenantError(e.getMessage(), MsoExceptionCategory.INTERNAL, Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } - DeleteTenantResponse resp = new DeleteTenantResponse(); - resp.setTenantDeleted(tenantDeleted); - return Response.status(HttpServletResponse.SC_OK).entity(resp).build(); - } - - /* - * URL EP://http://host:8080/tenants/rest Resource: /v1/tenants Params:?tenantNameOrId=RAA_1&cloudSiteId=DAN RESP { - * "tenantId": "214b428a1f554c02935e66330f6a5409", "tenantName": "RAA_1", "metadata": {} } - */ - @GET - @Path("{tenantId}") - @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @ApiOperation(value = "QueryTenant", response = Response.class, notes = "Query an existing tenant") - @ApiResponses({@ApiResponse(code = 200, message = "tenant has been successfully queried"), - @ApiResponse(code = 500, message = "query tenant failed")}) - public Response queryTenant(@ApiParam(value = "tenantId", required = true) @PathParam("tenantId") String tenantId, - // @QueryParam("tenantNameOrId") String tenantNameOrId, //RAA? diff from doc - @ApiParam(value = "cloudSiteId", required = true) @QueryParam("cloudSiteId") String cloudSiteId, - @ApiParam(value = "msoRequest.requestId", - required = true) @QueryParam("msoRequest.requestId") String requestId, - @ApiParam(value = "msoRequest.serviceInstanceId", - required = true) @QueryParam("msoRequest.serviceInstanceId") String serviceInstanceId) { - MsoTenant tenant = null; - try { - Holder<String> htenant = new Holder<>(); - Holder<String> tenantName = new Holder<>(); - Holder<Map<String, String>> metadata = new Holder<>(); - MsoTenantAdapter impl = tenantImpl; - impl.queryTenant(cloudSiteId, tenantId, null, htenant, tenantName, metadata); - tenant = new MsoTenant(htenant.value, tenantName.value, metadata.value); - - } catch (TenantException te) { - logger.debug(EXCEPTION, te); - QueryTenantError exc = - new QueryTenantError(te.getFaultInfo().getMessage(), te.getFaultInfo().getCategory()); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } catch (Exception e) { - logger.debug(EXCEPTION, e); - QueryTenantError exc = new QueryTenantError(e.getMessage(), MsoExceptionCategory.INTERNAL); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } - QueryTenantResponse resp = - new QueryTenantResponse(tenant.getTenantId(), tenant.getTenantName(), tenant.getMetadata()); - return Response.status(HttpServletResponse.SC_OK).entity(resp).build(); - } - - /* - * URL EP: //http://host:8080/tenants/rest Resource: /v1/tenants/rollback REQ {"cloudSiteId": "DAN", "tenantId": - * "f58abb05041d4ff384d4d22d1ccd2a6c", "msoRequest": { "requestId": "ra1", "serviceInstanceId": "sa1" } } RESP: - * {"tenantDeleted": true} - */ - @DELETE - @Path("") - @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - @ApiOperation(value = "RollbackTenant", response = Response.class, notes = "Rollback an existing tenant") - @ApiResponses({@ApiResponse(code = 200, message = "tenant has been successfully rolledback"), - @ApiResponse(code = 500, message = "rollback tenant failed")}) - public Response rollbackTenant( - @ApiParam(value = "rollback, command action", required = true) @QueryParam("rollback") String action, - @ApiParam(value = "RollbackTenantRequest", required = true) RollbackTenantRequest req) { - try { - MsoTenantAdapter impl = tenantImpl; - impl.rollbackTenant(req.getTenantRollback()); - } catch (TenantException te) { - logger.debug(EXCEPTION, te); - RollbackTenantError exc = new RollbackTenantError(te.getFaultInfo().getMessage(), - te.getFaultInfo().getCategory(), Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } catch (Exception e) { - logger.debug(EXCEPTION, e); - RollbackTenantError exc = - new RollbackTenantError(e.getMessage(), MsoExceptionCategory.INTERNAL, Boolean.TRUE); - return Response.status(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).entity(exc).build(); - } - - RollbackTenantResponse resp = new RollbackTenantResponse(); - resp.setTenantRolledback(req != null); - return Response.status(HttpServletResponse.SC_OK).entity(resp).build(); - } -} diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantAlreadyExists.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantAlreadyExists.java deleted file mode 100644 index 8955eb50c6..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantAlreadyExists.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * 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.onap.so.adapters.tenant.exceptions; - - - -import javax.xml.ws.WebFault; -import org.onap.so.openstack.exceptions.MsoExceptionCategory; - - -/** - * This class reports an exception when trying to create a VNF when another VNF of the same name already exists in the - * target cloud/tenant. Note that the createVnf method suppresses this exception by default. - * - * - */ -@WebFault(name = "TenantAlreadyExists", faultBean = "org.onap.so.adapters.tenant.exceptions.TenantExceptionBean", - targetNamespace = "http://org.onap.so/tenant") -public class TenantAlreadyExists extends TenantException { - - private static final long serialVersionUID = 1L; - - public TenantAlreadyExists(String name, String cloudId, String tenantId) { - super("Tenant " + name + " already exists in " + cloudId + " with ID " + tenantId, - MsoExceptionCategory.USERDATA); - } -} diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantException.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantException.java deleted file mode 100644 index 998da98c8d..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantException.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * 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.onap.so.adapters.tenant.exceptions; - - - -import javax.xml.ws.WebFault; -import org.onap.so.openstack.exceptions.MsoException; -import org.onap.so.openstack.exceptions.MsoExceptionCategory; - -/** - * This class simply extends Exception (without addition additional functionality) to provide an identifier for Tenant - * related exceptions on create, delete, query. - * - * - */ -@WebFault(name = "TenantException", faultBean = "org.onap.so.adapters.tenant.exceptions.TenantExceptionBean", - targetNamespace = "http://org.onap.so/tenant") -public class TenantException extends Exception { - - private static final long serialVersionUID = 1L; - - private TenantExceptionBean faultInfo; - - public TenantException(String msg) { - super(msg); - faultInfo = new TenantExceptionBean(msg); - } - - public TenantException(String msg, Throwable e) { - super(msg, e); - faultInfo = new TenantExceptionBean(msg); - } - - public TenantException(String msg, MsoExceptionCategory category) { - super(msg); - faultInfo = new TenantExceptionBean(msg, category); - } - - public TenantException(String msg, MsoExceptionCategory category, Throwable e) { - super(msg, e); - faultInfo = new TenantExceptionBean(msg, category); - } - - public TenantException(MsoException e) { - super(e); - faultInfo = new TenantExceptionBean(e.getContextMessage(), e.getCategory()); - } - - public TenantExceptionBean getFaultInfo() { - return faultInfo; - } - - public void setFaultInfo(TenantExceptionBean faultInfo) { - this.faultInfo = faultInfo; - } -} diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantExceptionBean.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantExceptionBean.java deleted file mode 100644 index 2d9260615a..0000000000 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantExceptionBean.java +++ /dev/null @@ -1,63 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * 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.onap.so.adapters.tenant.exceptions; - - -import java.io.Serializable; -import org.onap.so.openstack.exceptions.MsoExceptionCategory; - -/** - * Jax-WS Fault Bean for Network Exceptions - */ -public class TenantExceptionBean implements Serializable { - - private static final long serialVersionUID = -9062290006520066109L; - - private String message; - private MsoExceptionCategory category; - - public TenantExceptionBean() {} - - public TenantExceptionBean(String message) { - this.message = message; - } - - public TenantExceptionBean(String message, MsoExceptionCategory category) { - this.message = message; - this.category = category; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public MsoExceptionCategory getCategory() { - return category; - } - - public void setCategory(MsoExceptionCategory category) { - this.category = category; - } -} |