summaryrefslogtreecommitdiffstats
path: root/adapters/mso-openstack-adapters/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'adapters/mso-openstack-adapters/src/main/java/org')
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/openstack/CXFConfiguration.java33
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapter.java71
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/MsoTenantAdapterImpl.java246
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/TenantAdapterRest.java249
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantAlreadyExists.java45
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantException.java75
-rw-r--r--adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/tenant/exceptions/TenantExceptionBean.java63
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;
- }
-}