summaryrefslogtreecommitdiffstats
path: root/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp
diff options
context:
space:
mode:
authorDominic Lunanuova <dgl@research.att.com>2018-02-07 22:10:00 +0000
committerDominic Lunanuova <dgl@research.att.com>2018-02-08 18:49:02 +0000
commitb9a6ae1246c02031deb7f5e0d016f242e7d99452 (patch)
treed71f92fe43309c79500dd111b7e0d483a4ba8d55 /dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp
parentb5a2c68c1a2c00751575d938d983f4301822f6d3 (diff)
Refactor to use org.onap local packages
This is stage 1 of refactoring to use org.onap instead of org.openecomp in java packages and class names. Leaving the update from openecomp portalsdk to onap epsdk for a future exercise since I'm trying to get a standalone GUI working (i.e. non-portal). Issue-ID: DMAAP-159 Change-Id: I6a9368c66fa3603b1d9984f600802326ff2f0592 Signed-off-by: Dominic Lunanuova <dgl@research.att.com>
Diffstat (limited to 'dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp')
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/DmaapBcRestClient.java1495
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/HttpStatusAndResponse.java66
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/IRestClientConstants.java34
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/SimpleRestClientBase.java291
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataBusHomeController.java35
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataRouterController.java321
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DbcappRestrictedBaseController.java968
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DmaapAccessController.java356
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/HealthCheckController.java142
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/MessageRouterController.java207
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/DmaapAccess.java152
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/ManifestTransportModel.java32
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestClient.java182
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestResponse.java42
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/HttpComponentsClientHttpRequestFactoryBasicAuth.java46
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessService.java63
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java97
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/util/DbcappProperties.java71
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Node.java87
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Pub.java96
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Sub.java152
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DcaeLocation.java96
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Dmaap.java141
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DmaapObject.java70
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/ErrorResponse.java65
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Feed.java193
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Client.java110
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Cluster.java108
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Topic.java144
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/model/Result.java18
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/service/AdminAuthExtension.java13
-rw-r--r--dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/util/CustomLoggingFilter.java37
32 files changed, 0 insertions, 5930 deletions
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/DmaapBcRestClient.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/DmaapBcRestClient.java
deleted file mode 100644
index 39d28dd..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/DmaapBcRestClient.java
+++ /dev/null
@@ -1,1495 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller REST Client
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.client;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.http.client.utils.URIBuilder;
-import org.openecomp.dcae.dmaapbc.model.DR_Node;
-import org.openecomp.dcae.dmaapbc.model.DR_Pub;
-import org.openecomp.dcae.dmaapbc.model.DR_Sub;
-import org.openecomp.dcae.dmaapbc.model.DcaeLocation;
-import org.openecomp.dcae.dmaapbc.model.Dmaap;
-import org.openecomp.dcae.dmaapbc.model.DmaapObject;
-import org.openecomp.dcae.dmaapbc.model.ErrorResponse;
-import org.openecomp.dcae.dmaapbc.model.Feed;
-import org.openecomp.dcae.dmaapbc.model.MR_Client;
-import org.openecomp.dcae.dmaapbc.model.MR_Cluster;
-import org.openecomp.dcae.dmaapbc.model.Topic;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * Provides methods to communicate with the DMaaP Bus Controller REST API. This
- * hides all JSON; instead it accepts and returns Java objects.
- */
-public class DmaapBcRestClient extends SimpleRestClientBase {
-
- private static Logger logger = LoggerFactory.getLogger(DmaapBcRestClient.class);
-
- // Omit leading and trailing slashes here
- private static final String DCAELOCATIONS = "dcaeLocations";
- private static final String DMAAP = "dmaap";
- private static final String DR_NODES = "dr_nodes";
- private static final String DR_PUBS = "dr_pubs";
- private static final String DR_SUBS = "dr_subs";
- private static final String FEEDS = "feeds";
- private static final String TOPICS = "topics";
- private static final String MR_CLUSTERS = "mr_clusters";
- private static final String MR_CLIENTS = "mr_clients";
-
- /**
- * Reusable JSON (de)serializer
- */
- private final ObjectMapper mapper;
-
- /**
- * URL of the DMAAP REST endpoint
- */
- private final String dmaapRestUrl;
-
- /**
- * Constructor that configures the client for the specified endpoint using
- * no authentication.
- *
- * @param dmaapRestUrl
- * URL of the endpoint
- */
- public DmaapBcRestClient(final String dmaapRestUrl) {
- super();
- this.dmaapRestUrl = dmaapRestUrl;
- this.mapper = new ObjectMapper();
- // Don't serialize null-value fields in objects
- this.mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- }
-
- /**
- * Constructor that onfigures the client for the specified endpoint using
- * the specified username and password for basic HTTP authentication.
- *
- * @param dmaapRestUrl
- * URL of the endpoint
- * @param username
- * User name
- * @param password
- * Password
- */
- public DmaapBcRestClient(final String dmaapRestUrl, final String username, final String password) {
- super(username, password);
- this.dmaapRestUrl = dmaapRestUrl;
- this.mapper = new ObjectMapper();
- // Don't serialize null-value fields in objects
- this.mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- }
-
- /**
- * Configures the behavior of the JSON deserializer used to build business
- * objects (e.g., a Feed) from REST responses.
- *
- * @param failOnUnknownProperties
- * If true, rejects JSON responses with unexpected fields
- * (default behavior); if false, ignores unexpected fields.
- */
- public void setFailOnUnknownProperties(boolean failOnUnknownProperties) {
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, failOnUnknownProperties);
- }
-
- /**
- * Gets the DMaaP endpoint URL that is used by methods in this class.
- *
- * @return dmaapEndpointUrl
- */
- public String getDmaapRestUrl() {
- return this.dmaapRestUrl;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of DCAE locations.
- *
- * @return List of DmaapObject: list contains DcaeLocation object(s) on
- * success; a single ErrorResponse object if the remote site rejects
- * the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getDcaeLocations() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DCAELOCATIONS));
- logger.debug("getDcaeLocations: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDcaeLocations: unexpected null response");
-
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<DcaeLocation>> typeRef = new TypeReference<List<DcaeLocation>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getDcaeLocations: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets the DCAE location with the specified name.
- *
- * @param locName
- * name of the location to get
- * @return DmaapObject: a DcaeLocation object on success; an ErrorResponse
- * object if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getDcaeLocation(final String locName) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DCAELOCATIONS, locName));
- logger.debug("getDcaeLocation: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDcaeLocation: unexpected null response");
-
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), DcaeLocation.class);
- } catch (Exception ex) {
- logger.debug("getDcaeLocation: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a DCAE location in DMaaP.
- *
- * @param dcaeLoc
- * DcaeLocation to be created
- * @return Status and response: expect 200 and a DcaeLocation on success; a
- * code and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postDcaeLocation(DcaeLocation dcaeLoc) throws Exception {
- String jsonBody = mapper.writeValueAsString(dcaeLoc);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(DCAELOCATIONS), jsonBody);
- if (hsr == null)
- throw new Exception("postDcaeLocation: unexpected null response");
- logger.debug("postDcaeLocation: resp is {}", hsr);
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postDcaeLocation: null response body");
- return response;
- }
- try {
- DcaeLocation resp = mapper.readValue(hsr.getResponseString(), DcaeLocation.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDcaeLocation: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the DCAE location with the specified name.
- *
- * @param locName
- * Name of the location to delete
- * @return Status and response: expect 204 and a DcaeLocation on success; a
- * code and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteDcaeLocation(final String locName) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(DCAELOCATIONS, locName));
- logger.debug("deleteDcaeLocation: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteDcaeLocation: unexpected null response");
- // Returns a loc on success, error message string on error.
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteDcaeLocation: null response body");
- return response;
- }
- try {
- DcaeLocation resp = mapper.readValue(hsr.getResponseString(), DcaeLocation.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteDcaeLocation: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a DCAE location.
- *
- * @param dcaeLoc
- * DCAE Location to be updated
- * @return Status and response; expect 200 and a DcaeLocation on success, a
- * string error on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putDcaeLocation(DcaeLocation dcaeLoc) throws Exception {
- String jsonBody = mapper.writeValueAsString(dcaeLoc);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(DCAELOCATIONS, dcaeLoc.getDcaeLocationName()),
- jsonBody);
- logger.debug("putDcaeLocation: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putDcaeLocation: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putDcaeLocation: null response body");
- return response;
- }
- try {
- DcaeLocation resp = mapper.readValue(hsr.getResponseString(), DcaeLocation.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putDcaeLocation: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets the DMAAP instance for this DCAE deployment.
- *
- * @return DmaapObject: a Dmaap object on success; an ErrorResponse object
- * if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getDmaap() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DMAAP));
- logger.debug("getDmaap: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDmaap: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), Dmaap.class);
- } catch (Exception ex) {
- logger.debug("getDmaap: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a new DMaaP set system wide configuration settings for the
- * dcaeEnvironment
- *
- * @param dmaap
- * Dmaap properties
- * @return Status and response: expect 200 and a Dmaap on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postDmaap(Dmaap dmaap) throws Exception {
- String jsonBody = mapper.writeValueAsString(dmaap);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(DMAAP), jsonBody);
- if (hsr == null)
- throw new Exception("postDmaap: unexpected null response");
- logger.debug("postDmaap: resp is {}", hsr);
- // Returns ? on success, error message string on error.
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postDmaap: null response body");
- return response;
- }
- try {
- Dmaap resp = mapper.readValue(hsr.getResponseString(), Dmaap.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDmaap: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates DMaaP system wide configuration settings for the dcaeEnvironment.
- *
- * @param dmaap
- * Dmaap properties
- * @return Status and response; expect 200 and a DR_Pub on success; a code
- * and and ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putDmaap(Dmaap dmaap) throws Exception {
- String jsonBody = mapper.writeValueAsString(dmaap);
- // Oddly, this PUT has no ID parameter in the URL
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(DMAAP), jsonBody);
- if (hsr == null)
- throw new Exception("putDmaap: unexpected null response");
- logger.debug("putDmaap: resp is {}", hsr);
- // Returns ? on success, error message string on error.
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putDmaap: null response body");
- return response;
- }
- try {
- Dmaap resp = mapper.readValue(hsr.getResponseString(), Dmaap.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putDmaap: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- // NO DELETE_DMAAP METHOD
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of data router nodes.
- *
- * @return List of DmaapObject: list contains DR_Node object(s) on success;
- * a single ErrorResponse object if the remote site rejects the
- * request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getDRNodes() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_NODES));
- logger.debug("getDRNodes: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRNodes: unexpected null response");
-
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<DR_Node>> typeRef = new TypeReference<List<DR_Node>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getDRNodes: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets a data router node with the specified ID.
- *
- * @param fqdn
- * Name of the node to get
- * @return DmaapObject: a DR_Node object on success; an ErrorResponse object
- * if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getDRNode(final String fqdn) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_NODES, fqdn));
- logger.debug("getDRNode: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRNode: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), DR_Node.class);
- } catch (Exception ex) {
- logger.debug("getDRNode: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a data router node.
- *
- * @param drNode
- * Node to be created
- * @return Status and response: expect 200 and a DR_Node on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postDRNode(DR_Node drNode) throws Exception {
- String jsonBody = mapper.writeValueAsString(drNode);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(DR_NODES), jsonBody);
- logger.debug("postDRNode: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postDRNode: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postDRNode: null response body");
- return response;
- }
- try {
- DR_Node resp = mapper.readValue(hsr.getResponseString(), DR_Node.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDRNode: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a data router node.
- *
- * @param drNode
- * Node to be updated
- * @return Status and response: expect 200 and a DR_Node on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putDRNode(DR_Node drNode) throws Exception {
- String jsonBody = mapper.writeValueAsString(drNode);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(DR_NODES, drNode.getFqdn()), jsonBody);
- logger.debug("putDRNode: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putDRNode: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putDRNode: null response body");
- return response;
- }
- try {
- DR_Node resp = mapper.readValue(hsr.getResponseString(), DR_Node.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDRNode: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the data router node with the specified FQDN.
- *
- * @param fqdn
- * Name of the node to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteDRNode(final String fqdn) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(DR_NODES, fqdn));
- logger.debug("deleteDRNode: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteDRNode: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteDRNode: null response body");
- return response;
- }
- try {
- DR_Node resp = mapper.readValue(hsr.getResponseString(), DR_Node.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteDRNode: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of data router publishers.
- *
- * @return List of DmaapObject: list contains DR_Pub object(s) on success; a
- * single ErrorResponse object if the remote site rejects the
- * request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getDRPubs() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_PUBS));
- logger.debug("getDRPubs: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRPubs: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<DR_Pub>> typeRef = new TypeReference<List<DR_Pub>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getDRPubs: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets a data router publisher with the specified ID.
- *
- * @param pubId
- * ID of the publisher to get
- * @return DmaapObject: a DR_Pub object on success; an ErrorResponse object
- * if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getDRPub(final String pubId) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_PUBS, pubId));
- logger.debug("getDRPub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRPub: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), DR_Pub.class);
- } catch (Exception ex) {
- logger.debug("getDRPub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a data router publisher.
- *
- * @param drPub
- * Data router publisher properties
- * @return Status and response: expect 200 and a DR_Pub on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postDRPub(DR_Pub drPub) throws Exception {
- String jsonBody = mapper.writeValueAsString(drPub);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(DR_PUBS), jsonBody);
- logger.debug("postDRPub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postDRPub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postDRPub: null response body");
- return response;
- }
- try {
- DR_Pub resp = mapper.readValue(hsr.getResponseString(), DR_Pub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDRPub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a data router publisher.
- *
- * @param drPub
- * Publisher to be updated
- * @return Status and response: expect 200 and a DR_Pub on success, a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putDRPub(DR_Pub drPub) throws Exception {
- String jsonBody = mapper.writeValueAsString(drPub);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(DR_PUBS, drPub.getPubId()), jsonBody);
- logger.debug("putDRPub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putDRPub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putDRPub: null response body");
- return response;
- }
- try {
- DR_Pub resp = mapper.readValue(hsr.getResponseString(), DR_Pub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDRPub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the data router publisher with the specified ID.
- *
- * @param pubId
- * ID of the publisher to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteDRPub(final String pubId) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(DR_PUBS, pubId));
- logger.debug("deleteDRPub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteDRPub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteDRPub: null response body");
- return response;
- }
- try {
- DR_Pub resp = mapper.readValue(hsr.getResponseString(), DR_Pub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteDRPub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of data router subscribers.
- *
- * @return List of DmaapObject: list contains DR_Sub object(s) on success; a
- * single ErrorResponse object if the remote site rejects the
- * request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getDRSubs() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_SUBS));
- logger.debug("getDRSubs: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRSubs: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<DR_Sub>> typeRef = new TypeReference<List<DR_Sub>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getDRSubs: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets a data router subscriber with the specified ID.
- *
- * @param subId
- * ID of the subscriber to get
- * @return DmaapObject: a DR_Sub object on success; an ErrorResponse object
- * if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getDRSub(final String subId) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(DR_SUBS, subId));
- logger.debug("getDRPub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getDRSub: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), DR_Sub.class);
- } catch (Exception ex) {
- logger.debug("getDRSub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a data router subscriber.
- *
- * @param drSub
- * Data router subscriber properties
- * @return Status and response: expect 200 and a DR_Sub on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postDRSub(DR_Sub drSub) throws Exception {
- String jsonBody = mapper.writeValueAsString(drSub);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(DR_SUBS), jsonBody);
- logger.debug("postDRSub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postDRSub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postDRSub: null response body");
- return response;
- }
- try {
- DR_Sub resp = mapper.readValue(hsr.getResponseString(), DR_Sub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postDRSub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a data router subscriber.
- *
- * @param drSub
- * Subscriber to be updated
- * @return Status and response; expect 200 and a DR_Sub on success, a string
- * error on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putDRSub(DR_Sub drSub) throws Exception {
- String jsonBody = mapper.writeValueAsString(drSub);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(DR_SUBS, drSub.getSubId()), jsonBody);
- logger.debug("putDRSub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putDRSub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putDRSub: null response body");
- return response;
- }
- try {
- DR_Sub resp = mapper.readValue(hsr.getResponseString(), DR_Sub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putDRSub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the data router subscriber with the specified ID.
- *
- * @param subId
- * ID of the subscriber to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteDRSub(final String subId) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(DR_SUBS, subId));
- logger.debug("deleteDRSub: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteDRSub: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteDRSub: null response body");
- return response;
- }
- try {
- DR_Sub resp = mapper.readValue(hsr.getResponseString(), DR_Sub.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteDRSub: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of data router feeds.
- *
- * @return List of DmaapObject: list contains DcaeLocation object(s) on
- * success; a single ErrorResponse object if the remote site rejects
- * the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getFeeds() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(FEEDS));
- logger.debug("getFeeds: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getFeeds: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<Feed>> typeRef = new TypeReference<List<Feed>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getFeeds: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets a data router feed with the specified ID.
- *
- * @param feedId
- * ID of the feed to get
- * @return DmaapObject: a Feed object on success; an ErrorResponse object if
- * the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getFeed(final String feedId) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(FEEDS, feedId));
- logger.debug("getFeed: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getFeed: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), Feed.class);
- } catch (Exception ex) {
- logger.debug("getFeed: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a feed and adds any specified pubs and subs.
- *
- * @param feed
- * Data router feed properties
- * @return Status and response: expect 200 and a Feed on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postFeed(Feed feed) throws Exception {
- String jsonBody = mapper.writeValueAsString(feed);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(FEEDS), jsonBody);
- logger.debug("postFeed: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postFeed: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postFeed: null response body");
- return response;
- }
- try {
- Feed resp = mapper.readValue(hsr.getResponseString(), Feed.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postFeed: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a data router feed.
- *
- * @param feed
- * Feed to be updated
- * @return Status and response: expect 200 and a Feed on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putFeed(Feed feed) throws Exception {
- String jsonBody = mapper.writeValueAsString(feed);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(FEEDS, feed.getFeedId()), jsonBody);
- logger.debug("putFeed: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putFeed: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putFeed: null response body");
- return response;
- }
- try {
- Feed resp = mapper.readValue(hsr.getResponseString(), Feed.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putFeed: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the data router feed with the specified ID.
- *
- * @param feedId
- * ID of the feed to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteFeed(final String feedId) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(FEEDS, feedId));
- logger.debug("deleteFeed: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteFeed: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteFeed: null response body");
- return response;
- }
- try {
- Feed resp = mapper.readValue(hsr.getResponseString(), Feed.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteFeed: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of message router topics.
- *
- * @return List of DmaapObject: list contains Topic object(s) on success; a
- * single ErrorResponse object if the remote site rejects the
- * request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getTopics() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(TOPICS));
- logger.debug("getTopics: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getTopics: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<Topic>> typeRef = new TypeReference<List<Topic>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getTopics: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets the message router topic with the specified FQTN.
- *
- * @param fqtn
- * Fully qualified topic name
- * @return DmaapObject: a Topic object on success; an ErrorResponse object
- * if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getTopic(final String fqtn) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(TOPICS, fqtn));
- logger.debug("getTopic: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getTopic: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), Topic.class);
- } catch (Exception ex) {
- logger.debug("getTopic: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a topic and grants appropriate permissions to specified pubs and
- * subs.
- *
- * @param topic
- * Message router topic properties
- * @return Status and response: expect 200 and a Topic on success; a code
- * and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postTopic(Topic topic) throws Exception {
- String jsonBody = mapper.writeValueAsString(topic);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(TOPICS), jsonBody);
- logger.debug("postTopic: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postTopic: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postTopic: null response body");
- return response;
- }
- try {
- Topic resp = mapper.readValue(hsr.getResponseString(), Topic.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postTopic: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the message router topic with the specified FQTN.
- *
- * @param fqtn
- * Fully qualified topic name to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteTopic(final String fqtn) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(TOPICS, fqtn));
- logger.debug("deleteTopic: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteTopic: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteTopic: null response body");
- return response;
- }
- try {
- Topic resp = mapper.readValue(hsr.getResponseString(), Topic.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteTopic: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of message router clients.
- *
- * @return List of DmaapObject: list contains MR_Client object(s) on
- * success; a single ErrorResponse object if the remote site rejects
- * the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getMRClients() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(MR_CLIENTS));
- logger.debug("getMRClients: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getMRClients: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<MR_Client>> typeRef = new TypeReference<List<MR_Client>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getMRClients: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets the message router client with the specified ID.
- *
- * @param mrClientId
- * ID of the client to get
- * @return DmaapObject: a MR_Client object on success; an ErrorResponse
- * object if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getMRClient(final String mrClientId) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(MR_CLIENTS, mrClientId));
- logger.debug("getMRClient: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getMRClient: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), MR_Client.class);
- } catch (Exception ex) {
- logger.debug("getMRClient: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a message router client.
- *
- * @param mrClient
- * Message router client properties
- * @return Status and response: expect 200 and a MR_Client on success; a
- * code and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postMRClient(MR_Client mrClient) throws Exception {
- String jsonBody = mapper.writeValueAsString(mrClient);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(MR_CLIENTS), jsonBody);
- logger.debug("postMRClient: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postMRClient: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postMRClient: null response body");
- return response;
- }
- try {
- MR_Client resp = mapper.readValue(hsr.getResponseString(), MR_Client.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postMRClient: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a message router client.
- *
- * @param mrClient
- * client to be updated
- * @return Status and response; expect 200 and a MR_Client on success, a
- * string error on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putMRClient(MR_Client mrClient) throws Exception {
- String jsonBody = mapper.writeValueAsString(mrClient);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(MR_CLIENTS, mrClient.getMrClientId()),
- jsonBody);
- logger.debug("putMRClient: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putMRClient: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putMRClient: null response body");
- return response;
- }
- try {
- MR_Client resp = mapper.readValue(hsr.getResponseString(), MR_Client.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putMRClient: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the message router client with the specified ID.
- *
- * @param mrClientId
- * ID of the client to delete
- * @return Status and response; expect 204 and a null on success, a string
- * error on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteMRClient(final String mrClientId) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(MR_CLIENTS, mrClientId));
- logger.debug("deleteMRClient: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("deleteMRClient: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteMRClient: null response body");
- return response;
- }
- try {
- MR_Client resp = mapper.readValue(hsr.getResponseString(), MR_Client.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteMRClient: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Gets a list of message router clusters.
- *
- * @return List of DmaapObject: list contains MR_Cluster object(s) on
- * success; a single ErrorResponse object if the remote site rejects
- * the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public List<DmaapObject> getMRClusters() throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(MR_CLUSTERS));
- logger.debug("getMRClusters: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getMRClusters: unexpected null response");
- List<DmaapObject> responseList = null;
- try {
- TypeReference<List<MR_Cluster>> typeRef = new TypeReference<List<MR_Cluster>>() {
- };
- responseList = mapper.readValue(hsr.getResponseString(), typeRef);
- } catch (Exception ex) {
- logger.debug("getDcaeLocations: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- responseList = new ArrayList<DmaapObject>();
- responseList.add(errResp);
- }
- return responseList;
- }
-
- /**
- * Gets the message router cluster with the specified location name.
- *
- * @param dcaeLocName
- * name of the cluster to get
- * @return DmaapObject: a MR_Cluster object on success; an ErrorResponse
- * object if the remote site rejects the request.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public DmaapObject getMRCluster(final String dcaeLocName) throws Exception {
- HttpStatusAndResponse<String> hsr = getRestContent(buildDmaapUri(MR_CLUSTERS, dcaeLocName));
- logger.debug("getMRCluster: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("getMRCluster: unexpected null response");
- DmaapObject response = null;
- try {
- response = mapper.readValue(hsr.getResponseString(), MR_Cluster.class);
- } catch (Exception ex) {
- logger.debug("getMRCluster: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- response = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- }
- return response;
- }
-
- /**
- * Creates a message router cluster.
- *
- * @param mrCluster
- * Message router cluster properties
- * @return Status and response: expect 200 and a MR_Cluster on success; a
- * code and an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> postMRCluster(MR_Cluster mrCluster) throws Exception {
- String jsonBody = mapper.writeValueAsString(mrCluster);
- HttpStatusAndResponse<String> hsr = postRestContent(buildDmaapUri(MR_CLUSTERS), jsonBody);
- logger.debug("postMRCluster: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("postMRCluster: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("postMRCluster: null response body");
- return response;
- }
- try {
- MR_Cluster resp = mapper.readValue(hsr.getResponseString(), MR_Cluster.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("postMRCluster: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Updates a message router cluster.
- *
- * @param mrCluster
- * cluster to be updated
- * @return Status and response; expect 200 and a MR_Cluster on success, a
- * string error on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> putMRCluster(MR_Cluster mrCluster) throws Exception {
- String jsonBody = mapper.writeValueAsString(mrCluster);
- HttpStatusAndResponse<String> hsr = putRestContent(buildDmaapUri(MR_CLUSTERS, mrCluster.getDcaeLocationName()),
- jsonBody);
- logger.debug("putMRCluster: resp is {}", hsr);
- if (hsr == null)
- throw new Exception("putMRCluster: unexpected null response");
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("putMRCluster: null response body");
- return response;
- }
- try {
- MR_Cluster resp = mapper.readValue(hsr.getResponseString(), MR_Cluster.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("putMRCluster: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /**
- * Deletes the message router cluster with the specified location name.
- *
- * @param dcaeLocName
- * Location name of the cluster to delete
- * @return Status and response: expect 204 and a null on success; a code and
- * an ErrorResponse on failure.
- * @throws Exception
- * if host cannot be reached, response cannot be parsed, etc.
- */
- public HttpStatusAndResponse<Object> deleteMRCluster(final String dcaeLocName) throws Exception {
- HttpStatusAndResponse<String> hsr = deleteRestContent(buildDmaapUri(MR_CLUSTERS, dcaeLocName));
- if (hsr == null)
- throw new Exception("deleteMRCluster: unexpected null response");
- logger.debug("deleteMRCluster: resp is {}", hsr);
- HttpStatusAndResponse<Object> response = new HttpStatusAndResponse<Object>(hsr.getStatusCode(), null);
- if (hsr.getResponse() == null) {
- logger.debug("deleteMRCluster: null response body");
- return response;
- }
- try {
- MR_Cluster resp = mapper.readValue(hsr.getResponseString(), MR_Cluster.class);
- response.setResponse(resp);
- } catch (Exception ex) {
- logger.debug("deleteMRCluster: trying to parse response as error: {}", ex.toString());
- // If this parse fails, let the exception be thrown
- ErrorResponse errResp = mapper.readValue(hsr.getResponseString(), ErrorResponse.class);
- response.setResponse(errResp);
- }
- return response;
- }
-
- /////////////////////////////////////////////////////////////////////
-
- /**
- * Builds the URI for the DMaaP REST endpoint using configuration and the
- * specified task and path parameter(s). Deals with extra or missing slashes
- * to allow for some flexibility in the config file.
- *
- * @param requestPath
- * Last part of endpoint path
- * @param pathParam
- * Additional path parameters in order; ignored if null or empty
- * @return REST endpoint URI
- * @throws Exception
- * if the RESAT URL property is not found
- */
- private URI buildDmaapUri(String task, String... pathParam) throws Exception {
- if (dmaapRestUrl == null || dmaapRestUrl.length() == 0)
- throw new Exception("buildUrlPath: unconfigured, must set dmaapEndpointUrl");
- StringBuilder sb = new StringBuilder();
- // Clean the base of any trailing slashes
- sb.append(trimSlashes(dmaapRestUrl));
- sb.append('/');
- // task is controlled in this file, don't clean it.
- sb.append(task);
- if (pathParam != null) {
- for (String pp : pathParam) {
- sb.append('/');
- // path comes from the user, definitely clean it.
- sb.append(trimSlashes(pp));
- }
- }
- String urlPath = sb.toString();
- URIBuilder uriBuilder = new URIBuilder(urlPath);
- return uriBuilder.build();
- }
-
- /**
- * Strips the specified string of leading and trailing forward-slash
- * characters.
- *
- * @param s
- * String to trim
- * @return String without any leading or trailing '/' characters.
- */
- private String trimSlashes(String s) {
- while (s.length() > 0 && s.charAt(0) == '/')
- s = s.substring(1, s.length());
- while (s.length() > 0 && s.charAt(s.length() - 1) == '/')
- s = s.substring(0, s.length() - 1);
- return s;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/HttpStatusAndResponse.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/HttpStatusAndResponse.java
deleted file mode 100644
index a9b1585..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/HttpStatusAndResponse.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller REST Client
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.client;
-
-/**
- * Holds the status code and body that result from accessing an HTTP URL.
- */
-public class HttpStatusAndResponse<ResponseType> {
-
- private int statusCode;
- private ResponseType response;
-
- public HttpStatusAndResponse(int status, ResponseType resp) {
- this.statusCode = status;
- this.response = resp;
- }
-
- public int getStatusCode() {
- return statusCode;
- }
-
- public void setStatusCode(final int code) {
- this.statusCode = code;
- }
-
- public ResponseType getResponse() {
- return response;
- }
-
- public void setResponse(ResponseType response) {
- this.response = response;
- }
-
- /**
- * Convenience method to avoid testing for null and calling .toString()
- *
- * @return String version of the response object; null if the object is
- * null.
- */
- public String getResponseString() {
- return response == null ? null : response.toString();
- }
-
- @Override
- public String toString() {
- return "HttpStatusAndResponse[" + Integer.toString(statusCode) + ";"
- + (response == null ? "" : response.toString()) + "]";
- }
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/IRestClientConstants.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/IRestClientConstants.java
deleted file mode 100644
index 1db390b..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/IRestClientConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller REST Client
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.client;
-
-public interface IRestClientConstants {
-
- /**
- * Default configuration file to be found on classpath
- */
- public static final String PROPERTY_FILE_NAME = "bc-rest-client.properties";
-
- /**
- * Base URL of the Bus Controller REST service API
- */
- public static final String DMAAP_BUS_CONTROLLER_REST_URL = "dmaap_bus_controller_rest_url";
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/SimpleRestClientBase.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/SimpleRestClientBase.java
deleted file mode 100644
index 7868d8c..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/client/SimpleRestClientBase.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller REST Client
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.client;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.apache.http.Consts;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.AuthCache;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.config.RequestConfig.Builder;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.entity.ContentType;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.auth.BasicScheme;
-import org.apache.http.impl.client.BasicAuthCache;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides a basic client to access a REST endpoint, optionally using HTTP
- * basic authentication.
- *
- * Caveat: If HTTPS access is used and the server uses a self-signed
- * certificate, the local trust store must be extended appropriately. The client
- * throws exceptions if the JVM cannot validate the server certificate.
- */
-public class SimpleRestClientBase {
-
- private static Logger logger = LoggerFactory.getLogger(SimpleRestClientBase.class);
-
- /**
- * Credentials for HTTP basic authentication (optional).
- */
- private final String username;
- private final String password;
-
- /**
- * Timeouts (optional)
- */
- private Integer connectTimeoutMs = null;
- private Integer connectionRequestTimeoutMs = null;
- private Integer socketTimeoutMs = null;
-
- /**
- * Constructs a client that does not use any authentication and uses Apache
- * HTTPD client default values for timeouts.
- */
- public SimpleRestClientBase() {
- this(null, null, null, null, null);
- }
-
- /**
- * Convenience constructor to build a client that uses the specified
- * username and password for basic HTTP authentication on all requests. In
- * other words, this client pre-emptively sends the "Basic" header instead
- * of first trying the request without, failing, negotiating, then sending
- * with credentials.
- *
- * @param username
- * User name for basic HTTP authentication.
- * @param password
- * Password for basic HTTP authentication.
- */
- public SimpleRestClientBase(final String username, final String password) {
- this(username, password, null, null, null);
- }
-
- /**
- * Convenience constructor to build a client that uses the specified
- * timeouts on all requests.
- *
- * @param connectTimeoutMs
- * Connection timeout, in milliseconds
- * @param connectionRequestTimeoutMs
- * Connection request timeout, in milliseconds
- * @param socketTimeoutMs
- * Socket timeout, in milliseconds
- */
- public SimpleRestClientBase(final Integer connectTimeoutMs, final Integer connectionRequestTimeoutMs,
- final Integer socketTimeoutMs) {
- this(null, null, connectTimeoutMs, connectionRequestTimeoutMs, socketTimeoutMs);
- }
-
- /**
- * Constructs a client with the specified credentials and timeout values.
- *
- * @param username
- * User name for basic HTTP authentication; ignored if null
- * @param password
- * Password for basic HTTP authentication; ignored if null
- * @param connectTimeoutMs
- * ignored if null
- * @param connectionRequestTimeoutMs
- * ignored if null
- * @param socketTimeoutMs
- * ignored if null
- */
- public SimpleRestClientBase(final String username, final String password, final Integer connectTimeoutMs,
- final Integer connectionRequestTimeoutMs, final Integer socketTimeoutMs) {
- this.username = username;
- this.password = password;
- this.connectTimeoutMs = null;
- this.connectionRequestTimeoutMs = null;
- this.socketTimeoutMs = null;
- }
-
- /**
- * Constructs and sends a GET request for the URI.
- *
- * @param uri
- * REST endpoint
- * @return Result of the get
- * @throws Exception
- * On any error
- */
- public HttpStatusAndResponse<String> getRestContent(final URI uri) throws Exception {
- HttpGet httpGet = new HttpGet(uri);
- return doRestRequest(httpGet);
- }
-
- /**
- * Constructs and sends a POST request using the specified body.
- *
- * @param uri
- * REST endpoint
- * @param json
- * Content to post
- * @return Result of the post; null if an error happens
- * @throws Exception
- * On any error
- */
- public HttpStatusAndResponse<String> postRestContent(final URI uri, final String json) throws Exception {
- HttpPost httpPost = new HttpPost(uri);
- StringEntity postEntity = new StringEntity(json, ContentType.create("application/json", Consts.UTF_8));
- httpPost.setEntity(postEntity);
- return doRestRequest(httpPost);
- }
-
- /**
- * Constructs and sends a PUT request using the specified body.
- *
- * @param uri
- * REST endpoint
- * @param json
- * Content to put
- * @return Result of the put; null if an error happens
- * @throws Exception
- * On any error
- */
- public HttpStatusAndResponse<String> putRestContent(final URI uri, final String json) throws Exception {
- HttpPut httpPut = new HttpPut(uri);
- StringEntity postEntity = new StringEntity(json, ContentType.create("application/json", Consts.UTF_8));
- httpPut.setEntity(postEntity);
- return doRestRequest(httpPut);
- }
-
- /**
- * Constructs and sends a DELETE request for the URI.
- *
- * @param uri
- * REST endpoint
- * @return Result of the get
- * @throws Exception
- * On any error
- */
- public HttpStatusAndResponse<String> deleteRestContent(final URI uri) throws Exception {
- HttpDelete httpDel = new HttpDelete(uri);
- return doRestRequest(httpDel);
- }
-
- /**
- * Executes the specified request and gathers the response.
- *
- * @param request
- * HttpGet, HttpPost, etc.
- * @return Status code and response body
- * @throws ClientProtocolException
- * On HTTP protocol error
- * @throws IOException
- * On read/write error
- */
- private HttpStatusAndResponse<String> doRestRequest(final HttpRequestBase request)
- throws ClientProtocolException, IOException {
-
- // Set up authentication if needed
- final HttpClientContext context = HttpClientContext.create();
- if (this.username != null || this.password != null) {
- UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(this.username, this.password);
- CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
- credentialsProvider.setCredentials(AuthScope.ANY, credentials);
- context.setCredentialsProvider(credentialsProvider);
-
- HttpHost host = new HttpHost(request.getURI().getHost(), request.getURI().getPort(),
- request.getURI().getScheme());
- AuthCache authCache = new BasicAuthCache();
- authCache.put(host, new BasicScheme());
- context.setAuthCache(authCache);
- }
- final Builder requestConfigBuilder = RequestConfig.custom();
- if (connectionRequestTimeoutMs != null)
- requestConfigBuilder.setConnectionRequestTimeout(connectionRequestTimeoutMs);
- if (connectTimeoutMs != null)
- requestConfigBuilder.setConnectTimeout(connectTimeoutMs);
- if (socketTimeoutMs != null)
- requestConfigBuilder.setSocketTimeout(socketTimeoutMs);
- RequestConfig requestConfig = requestConfigBuilder.build();
- final CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build();
- CloseableHttpResponse response = null;
- String responseJson = null;
- try {
- response = httpClient.execute(request, context);
- // Some methods return non-200 on success
- logger.debug("doRestRequest: status is {}", response.getStatusLine());
- HttpEntity entity = response.getEntity();
- // This is common; don't warn
- if (entity == null) {
- logger.debug("doRestRequest: Entity is null");
- } else {
- // entity content length is never set;
- // this naively tries to read everything.
- responseJson = EntityUtils.toString(entity);
- EntityUtils.consume(entity);
- // Don't give back empty string;
- // it has no more meaning than null.
- if (responseJson.length() == 0)
- responseJson = null;
- }
- } finally {
- if (response != null)
- response.close();
- }
- if (response == null)
- return null;
- return new HttpStatusAndResponse<String>(response.getStatusLine().getStatusCode(), responseJson);
- }
-
- /**
- * Basic test invocation.
- *
- * @param args
- * Expect 1 argument, the URL of a REST endpoint.
- * @throws Exception
- * if anything goes wrong
- */
- public static void main(String[] args) throws Exception {
- if (args.length != 1)
- throw new IllegalArgumentException("Expect 1 argument: REST URL for GET");
- SimpleRestClientBase client = new SimpleRestClientBase();
- URIBuilder uriBuilder = new URIBuilder(args[0]);
- URI uri = uriBuilder.build();
- HttpStatusAndResponse<String> hsr = client.getRestContent(uri);
- System.out.println("Response code is " + hsr.getStatusCode());
- System.out.println(hsr.getResponseString());
- System.out.println("main ends.");
- }
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataBusHomeController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataBusHomeController.java
deleted file mode 100644
index 8748f29..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataBusHomeController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * This controller maps requests for the DMaaP-BC-App's landing page, which is
- * an Angular single-page application.
- */
-@Controller
-@RequestMapping("/")
-public class DataBusHomeController extends DbcappRestrictedBaseController {
-
- public static final String APP_NAME = "dmaap-bc-app";
- public static final DateFormat logDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
-
- /**
- * At one time I published the landing page as simply "/dbc", but it can
- * also be accessed with a default suffix; e.g., "/dbc.htm".
- *
- * @return View name key, which is resolved to a file using an Apache tiles
- * "definitions.xml" file.
- */
- @RequestMapping(value = { "/dbc" }, method = RequestMethod.GET)
- public ModelAndView dbcDefaultController() {
- // a model is only useful for JSP; this app is angular.
- return new ModelAndView("dbc_home_tdkey");
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataRouterController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataRouterController.java
deleted file mode 100644
index cb6aa93..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DataRouterController.java
+++ /dev/null
@@ -1,321 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.dcae.dmaapbc.dbcapp.util.DbcappProperties;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.util.SystemProperties;
-import org.slf4j.MDC;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * Data Router controller: serves Ajax requests made by Angular scripts on pages
- * that show feeds, publishers and subscribers.
- */
-@Controller
-@RequestMapping("/")
-public class DataRouterController extends DbcappRestrictedBaseController {
-
- private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DataRouterController.class);
-
- /**
- * Application properties - NOT available to constructor.
- */
- @Autowired
- private DbcappProperties appProperties;
-
- private static final String FEED_PATH = "/dr_feed";
- private static final String PUB_PATH = "/dr_pub";
- private static final String SUB_PATH = "/dr_sub";
-
- public DataRouterController() {
- }
-
- /**
- * Answers a request for one page of data router feeds.
- *
- * @param request
- * HttpServletRequest
- * @return Result of
- * {@link #getItemListForPageWrapper(HttpServletRequest, DmaapDataItem)}
- */
- @RequestMapping(value = { FEED_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getDRFeedsByPage(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = getItemListForPageWrapper(request, DmaapDataItem.DR_FEED);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Answers a request for one page of data router publishers.
- *
- * @param request
- * HttpServletRequest
- * @return Result of
- * {@link #getItemListForPageWrapper(HttpServletRequest, DmaapDataItem)}
- */
- @RequestMapping(value = { PUB_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getDRPubsByPage(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = getItemListForPageWrapper(request, DmaapDataItem.DR_PUB);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Answers a request for one page of data router subscribers.
- *
- * @param request
- * HttpServletRequest
- * @return Result of
- * {@link #getItemListForPageWrapper(HttpServletRequest, DmaapDataItem)}
- */
- @RequestMapping(value = { SUB_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getDRSubsByPage(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = getItemListForPageWrapper(request, DmaapDataItem.DR_SUB);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Adds a feed with the specified information. Expects a JSON block in the
- * request body - a Feed object.
- *
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { FEED_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addDRFeed(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = addItem(request, DmaapDataItem.DR_FEED, null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Adds a publisher with the specified information. Expects a JSON block in
- * the request body - a DR_Pub object.
- *
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { PUB_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addDRPub(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = addItem(request, DmaapDataItem.DR_PUB, HttpServletResponse.SC_CREATED);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Adds a subscriber with the specified information. Expects a JSON block in
- * the request body - a DR_Sub object.
- *
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { SUB_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addDRSub(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = addItem(request, DmaapDataItem.DR_SUB, HttpServletResponse.SC_CREATED);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Updates a feed with the specified information. Expects a JSON block in
- * the request body - a Feed object.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { FEED_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateFeed(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = updateItem(request, DmaapDataItem.DR_FEED, Long.toString(id), null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Updates a publisher with the specified information. Expects a JSON block
- * in the request body - a DR_Pub object.
- *
- * The pubId may have a dot in it. Spring, in its infinite wisdom, truncates
- * extensions on dotted path parameters; e.g., "foo.json" becomes "foo".
- * Avoid truncation here with the extra ":.+" incantation at the end.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { PUB_PATH + "/{id:.+}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateDRPub(@PathVariable("id") String id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = updateItem(request, DmaapDataItem.DR_PUB, id, null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Updates a subscriber with the specified information. Expects a JSON block
- * in the request body - a DR_Sub object.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it has a "status" and possibly a "data"
- * item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { SUB_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateDRSub(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = updateItem(request, DmaapDataItem.DR_SUB, Long.toString(id), null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Deletes a feed with the ID specified as a path parameter. On successful
- * delete the endpoint returns 204 (confusingly).
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return A JSON object as an HTTP response; on success it only has
- * "status" item; on failure, also has an "error" item.
- */
- @RequestMapping(value = { FEED_PATH + "/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteDRFeed(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = deleteItem(request, DmaapDataItem.DR_FEED, Long.toString(id), 204);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Deletes the publisher with the ID specified as a path parameter.
- *
- * The pubId may have a dot in it. Spring, in its infinite wisdom, truncates
- * extensions on dotted path parameters; e.g., "foo.json" becomes "foo".
- * Avoid truncation here with the extra ":.+" incantation at the end.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return a JSON object; on success it only has "status" item; on failure,
- * also has an "error" item.
- */
- @RequestMapping(value = { PUB_PATH + "/{id:.+}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteDRPub(@PathVariable("id") String id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = deleteItem(request, DmaapDataItem.DR_PUB, id, null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Deletes the subscriber with the ID specified as a path parameter.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return A JSON object; on success it only has "status" item; on failure,
- * also has an "error" item.
- */
- @RequestMapping(value = { SUB_PATH + "/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteDRSub(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = deleteItem(request, DmaapDataItem.DR_SUB, Long.toString(id), 204);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Answers a request for data router feed classification labels, such as
- * "Customer Proprietary", which are read from properties.
- *
- * @param request
- * HttpServletRequest
- * @return List of string values
- */
- @RequestMapping(value = { FEED_PATH + "_pii_types" }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public List<String> getDRFeedPiiType(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- ArrayList<String> response = new ArrayList<>();
- String[] propKeys = appProperties.getCsvListProperty(DbcappProperties.DMAAP_PII_TYPE_LIST);
- for (String key : propKeys)
- response.add(appProperties.getProperty(key));
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DbcappRestrictedBaseController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DbcappRestrictedBaseController.java
deleted file mode 100644
index 517af09..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DbcappRestrictedBaseController.java
+++ /dev/null
@@ -1,968 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.dcae.dmaapbc.client.DmaapBcRestClient;
-import org.openecomp.dcae.dmaapbc.client.HttpStatusAndResponse;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.DmaapAccess;
-import org.openecomp.dcae.dmaapbc.dbcapp.rest.DbcUsvcRestClient;
-import org.openecomp.dcae.dmaapbc.dbcapp.service.DmaapAccessService;
-import org.openecomp.dcae.dmaapbc.dbcapp.util.DbcappProperties;
-import org.openecomp.dcae.dmaapbc.model.DR_Pub;
-import org.openecomp.dcae.dmaapbc.model.DR_Sub;
-import org.openecomp.dcae.dmaapbc.model.DcaeLocation;
-import org.openecomp.dcae.dmaapbc.model.Dmaap;
-import org.openecomp.dcae.dmaapbc.model.DmaapObject;
-import org.openecomp.dcae.dmaapbc.model.ErrorResponse;
-import org.openecomp.dcae.dmaapbc.model.Feed;
-import org.openecomp.dcae.dmaapbc.model.MR_Client;
-import org.openecomp.dcae.dmaapbc.model.Topic;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.domain.User;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * This base class provides utility methods to child controllers. All of the
- * requests are forwarded on to a remote REST API, so there's a large degree of
- * commonality among the implementations. Combining them kept the lines-of-code
- * count down, at the expense of some complexity.
- */
-public class DbcappRestrictedBaseController extends RestrictedBaseController {
-
- /**
- * Query parameter for desired page number
- */
- protected static final String PAGE_NUM_QUERY_PARAM = "pageNum";
-
- /**
- * Query parameter for desired items per page
- */
- protected static final String VIEW_PER_PAGE_QUERY_PARAM = "viewPerPage";
-
- /**
- * Tag for status code in JSON responses - ALWAYS PRESENT.
- */
- protected static final String STATUS_RESPONSE_KEY = "status";
-
- /**
- * Tag for data in JSON responses.
- */
- protected static final String DATA_RESPONSE_KEY = "data";
-
- /**
- * Tag for error message in JSON responses; absent on success.
- */
- protected static final String ERROR_RESPONSE_KEY = "error";
-
- /**
- * Tag for response integer, pages required to display complete result list
- */
- protected static final String TOTAL_PAGES_RESPONSE_KEY = "totalPages";
-
- /**
- * Tag for DMaaP name obtained from REST client.
- */
- protected static final String PROFILE_NAME_RESPONSE_KEY = "profileName";
-
- /**
- * Tag for DMaaP name obtained from REST client.
- */
- protected static final String DMAAP_NAME_RESPONSE_KEY = "dmaapName";
-
- /**
- * Tag for DCAE location name list obtained from REST client.
- */
- protected static final String DCAE_LOCATIONS_RESPONSE_KEY = "dcaeLocations";
-
- /**
- * Logger that conforms with ECOMP guidelines
- */
- private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DbcappRestrictedBaseController.class);
-
- /**
- * For general use in these methods and subclasses
- */
- protected final ObjectMapper mapper = new ObjectMapper();
-
- /**
- * DAO accesses the profiles via a local database. REST accesses the
- * profiles via a remote REST service.
- */
- public enum AccessMethod {
- DAO, REST
- };
-
- /**
- * Enum for selecting an item type.
- */
- public enum DmaapDataItem {
- DR_FEED, DR_PUB, DR_SUB, MR_TOPIC, MR_CLIENT;
- }
-
- /**
- * Application properties - NOT available to constructor.
- */
- @Autowired
- private DbcappProperties appProperties;
-
- /**
- * Database access - which might not be used.
- */
- @Autowired
- private DmaapAccessService dmaapAccessDaoServiceAuto;
-
- /**
- * Read from application properties.
- */
- private String mechIdName, mechIdPass;
-
- /**
- * This is set by {@link #getDmaapAccessService()} to the DAO or REST
- * implementation as configured in properties.
- */
- private DmaapAccessService dmaapAccessService;
-
- /**
- * Hello Spring, here's your no-arg constructor.
- */
- public DbcappRestrictedBaseController() {
- // Do not serialize null values
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- }
-
- /**
- * Access method for subclasses.
- *
- * @return DbcappProperties object that was autowired by Spring.
- */
- protected DbcappProperties getAppProperties() {
- return appProperties;
- }
-
- /**
- * Lazy initialization. As a side effect, caches mech ID and password.
- *
- * @return Either DAO or REST client that implements the access service
- * interface.
- */
- protected DmaapAccessService getDmaapAccessService() {
- if (dmaapAccessService != null)
- return dmaapAccessService;
-
- // Get the application's mechid
- mechIdName = appProperties.getProperty(DbcappProperties.DMAAP_MECHID_NAME);
- // This is encrypted
- String cipher = appProperties.getProperty(DbcappProperties.DMAAP_MECHID_PASSWORD);
- if (mechIdName == null || cipher == null)
- throw new RuntimeException("Failed to get MECH_ID name and/or password from properties");
- try {
- mechIdPass = CipherUtil.decrypt(cipher);
- } catch (Exception ex) {
- throw new RuntimeException("Failed to decrypt password from config file", ex);
- }
-
- String accessMethod = appProperties.getProperty(DbcappProperties.PROFILE_ACCESS_METHOD);
- if (accessMethod == null)
- throw new RuntimeException("Failed to get property " + DbcappProperties.PROFILE_ACCESS_METHOD);
- AccessMethod profileAccessMethod = AccessMethod.valueOf(accessMethod.toUpperCase());
- if (AccessMethod.DAO == profileAccessMethod) {
- // Spring auto-wired this field
- dmaapAccessService = dmaapAccessDaoServiceAuto;
- } else {
- String url = appProperties.getProperty(DbcappProperties.PROFILE_USVC_URL);
- String user = appProperties.getProperty(DbcappProperties.PROFILE_USVC_USER);
- String pass = appProperties.getProperty(DbcappProperties.PROFILE_USVC_PASS);
- if (url == null || user == null || pass == null)
- throw new RuntimeException("getDmaapAccessService: missing property: one of url, user, pass");
- String clearText = null;
- try {
- clearText = CipherUtil.decrypt(pass);
- } catch (Exception ex) {
- throw new RuntimeException("getDmaapAccessService: failed to decrypt password from config");
- }
- dmaapAccessService = new DbcUsvcRestClient(url, user, clearText);
- }
- return dmaapAccessService;
- }
-
- /**
- * Creates a REST client with appropriate credentials, the user/pass from
- * the access profile if present, otherwise with the default mech ID and
- * password.
- *
- * @param dmaapAccess
- * Profile
- * @return REST client.
- */
- protected DmaapBcRestClient getDmaapBcRestClient(DmaapAccess dmaapAccess) {
- DmaapBcRestClient restClient = null;
- if (dmaapAccess.getMechId() == null || dmaapAccess.getMechId().length() == 0)
- restClient = new DmaapBcRestClient(dmaapAccess.getDmaapUrl(), mechIdName, mechIdPass);
- else
- restClient = new DmaapBcRestClient(dmaapAccess.getDmaapUrl(), dmaapAccess.getMechId(),
- dmaapAccess.getPassword());
- return restClient;
- }
-
- /**
- * Pulls out of the specified list the appropriate items for the page of
- * results specified by the page number and view-per-page parameters.
- *
- * @param pageNum
- * Page number requested by user
- * @param viewPerPage
- * Number of items per page
- * @param itemList
- * List of items available
- * @return List of items to display
- */
- @SuppressWarnings("rawtypes")
- private static List shrinkListToPage(final int pageNum, final int viewPerPage, final List itemList) {
- // user-friendly page numbers index from 1
- int firstIndexOnThisPage = viewPerPage * (pageNum - 1);
- int firstIndexOnNextPage = viewPerPage * pageNum;
- int fromIndex = firstIndexOnThisPage < itemList.size() ? firstIndexOnThisPage : itemList.size();
- int toIndex = firstIndexOnNextPage < itemList.size() ? firstIndexOnNextPage : itemList.size();
- // answers empty list if from==to
- return itemList.subList(fromIndex, toIndex);
- }
-
- /**
- * Gets the body of a HTTP request assuming UTF-8 encoding.
- *
- * @param request
- * HttpServletRequest
- * @return String version of request body
- * @throws IOException
- * If the read fails
- */
- protected static String getBody(HttpServletRequest request) throws IOException {
- StringBuilder stringBuilder = new StringBuilder();
- BufferedReader bufferedReader = null;
- try {
- InputStream inputStream = request.getInputStream();
- if (inputStream != null) {
- bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
- char[] charBuffer = new char[512];
- int bytesRead = -1;
- while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
- stringBuilder.append(charBuffer, 0, bytesRead);
- }
- } else {
- stringBuilder.append("");
- }
- } finally {
- if (bufferedReader != null) {
- try {
- bufferedReader.close();
- } catch (IOException ex) {
- throw ex;
- }
- }
-
- }
- return stringBuilder.toString();
- }
-
- /**
- * Builds a JSON success response from the specified inputs.
- *
- * @param statusCode
- * e.g., 200 for OK
- * @param dataPojo
- * Plain old Java object to serialize as JSON; ignored if null.
- * @throws JsonProcessingException
- * If the POJO cannot be serialized
- * @return JSON block with items "status" : 200 and "data" : (data..)
- */
- protected String buildJsonSuccess(int statusCode, Object dataPojo) throws JsonProcessingException {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put(STATUS_RESPONSE_KEY, statusCode);
- if (dataPojo != null)
- model.put(DATA_RESPONSE_KEY, dataPojo);
- String json = mapper.writeValueAsString(model);
- return json;
- }
-
- /**
- * Builds a JSON error response from the specified inputs.
- *
- * @param statusCode
- * e.g., 500 for internal server error
- * @param errMsg
- * Information about the operation that failed
- * @param exception
- * Converted to string; ignored if null.
- * @return JSON block with tags "status" and "error".
- */
- protected String buildJsonError(int statusCode, String errMsg, Exception exception) {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put(STATUS_RESPONSE_KEY, new Integer(500));
- if (exception == null) {
- model.put(ERROR_RESPONSE_KEY, errMsg);
- } else {
- final int enough = 512;
- String exString = exception.toString();
- String exceptionMsg = exString.length() > enough ? exString.substring(0, enough) : exString;
- model.put(ERROR_RESPONSE_KEY, errMsg + ": " + exceptionMsg);
- }
- String json = null;
- try {
- json = mapper.writeValueAsString(model);
- } catch (JsonProcessingException ex) {
- // serializing the trivial map should never fail
- String err = "buildJsonError: failed to serialize";
- logger.error(EELFLoggerDelegate.errorLogger, err, ex);
- throw new RuntimeException(err, ex);
- }
- return json;
- }
-
- /**
- * Gets a list of DMaaP access profiles for this user from the database. The
- * profiles have passwords in the clear - this method decrypts the database
- * entries.
- *
- * Initializes the list for new users and/or configuration changes. Checks
- * the database list against the configured list of URLs, and creates new
- * rows for any configured URLs not present for the user. Most environments
- * are expected to have exactly one valid URL, and the webapp uses a fixed
- * MechID to authenticate itself to the DMaaP bus controller, so this
- * approach means new users can start without any setup of URLs.
- *
- * @param userId
- * User ID
- * @return List of DmaapAccess objects
- * @throws Exception
- * If the URL list is not available in properties
- */
- protected List<DmaapAccess> getOrInitDmaapAccessList(String userId) throws Exception {
- String[] configUrls = getAppProperties().getCsvListProperty(DbcappProperties.DMAAP_REST_URL_LIST);
- if (configUrls == null || configUrls.length == 0)
- throw new Exception("getOrInitDmaapAccessList: Failed to get DMAAP REST URL list");
- // Update this list to track which URLs are in the database.
- List<String> configUrlList = new ArrayList<String>(configUrls.length);
- for (String c : configUrls) {
- // Validate URL to detect config botches
- URL url = new URL(c);
- configUrlList.add(url.toExternalForm());
- }
-
- List<DmaapAccess> dbAccessList = getDmaapAccessService().getDmaapAccessList(userId);
-
- // Check the database entries against the configuration. Also
- // build a list of non-DAO objects with clear-text passwords.
- List<DmaapAccess> clearList = new ArrayList<DmaapAccess>(dbAccessList.size());
- for (DmaapAccess dmaapAccess : dbAccessList) {
- // drop this URL from the list.
- // If it's not known to config, complain because that's a bogus row.
- if (!configUrlList.remove(dmaapAccess.getDmaapUrl()))
- logger.warn(EELFLoggerDelegate.errorLogger, "getOrInitDmaapAccessList: detected extra URL {}",
- dmaapAccess.getDmaapUrl());
- // Return cleartext in JSON
- DmaapAccess clone = new DmaapAccess(dmaapAccess);
- clone.setPassword(clone.decryptPassword());
- clearList.add(clone);
- }
-
- // Create new rows for any configured URLs not found for this user.
- for (int i = 0; i < configUrlList.size(); ++i) {
- String missUrl = configUrlList.get(i);
- logger.debug(EELFLoggerDelegate.debugLogger, "getOrInitDmaapAccessList: adding missing URL {}", missUrl);
- DmaapAccess newDmaapAccess = new DmaapAccess();
- // Create a semi-reasonable name for the table
- newDmaapAccess.setName("dmaap-" + Integer.toString(i + 1));
- newDmaapAccess.setUserId(userId);
- newDmaapAccess.setDmaapUrl(missUrl);
- // Write to db.
- getDmaapAccessService().saveDmaapAccess(newDmaapAccess);
- // Add to response, which assumes the write was successful.
- clearList.add(newDmaapAccess);
- }
-
- return clearList;
- }
-
- /**
- * Gets the user's selected DMaaP access profile.
- *
- * @param userId
- * User ID
- * @return DmaapAccess object that is currently selected, or the first one
- * found if none are selected; null if no access profiles are
- * configured.
- * @throws Exception
- * If the profile is not found
- */
- protected DmaapAccess getSelectedDmaapAccess(String userId) throws Exception {
- List<DmaapAccess> profiles = getOrInitDmaapAccessList(userId);
- if (profiles.size() == 0) {
- logger.debug("getSelectedDmaapAccess: no rows found, returning null");
- return null;
- }
-
- // Return the first one by default if nothing is selected.
- DmaapAccess selected = profiles.get(0);
- for (DmaapAccess da : profiles)
- if (da.getSelected())
- selected = da;
-
- return selected;
- }
-
- /**
- * Supports sorting a list of feeds by the first column displayed: ID
- */
- private static Comparator<DmaapObject> feedComparator = new Comparator<DmaapObject>() {
- @Override
- public int compare(DmaapObject o1, DmaapObject o2) {
- Feed f1 = (Feed) o1;
- Feed f2 = (Feed) o2;
- // sort these numbers lexicographically, same as the front end
- // table.
- return f1.getFeedId().compareTo(f2.getFeedId());
- }
- };
-
- /**
- * Supports sorting a list of publishers by the first column displayed: pub
- * ID
- */
- private static Comparator<DmaapObject> pubComparator = new Comparator<DmaapObject>() {
- @Override
- public int compare(DmaapObject o1, DmaapObject o2) {
- DR_Pub p1 = (DR_Pub) o1;
- DR_Pub p2 = (DR_Pub) o2;
- return p1.getPubId().compareTo(p2.getPubId());
- }
- };
-
- /**
- * Supports sorting a list of subscribers by the first column displayed: sub
- * ID
- */
- private static Comparator<DmaapObject> subComparator = new Comparator<DmaapObject>() {
- @Override
- public int compare(DmaapObject o1, DmaapObject o2) {
- DR_Sub s1 = (DR_Sub) o1;
- DR_Sub s2 = (DR_Sub) o2;
- // sort these numbers lexicographically, same as the front end
- // table.
- return s1.getSubId().compareTo(s2.getSubId());
- }
- };
-
- /**
- * Supports sorting a list of topics by the first column displayed: FQTN
- */
- private static Comparator<DmaapObject> topicComparator = new Comparator<DmaapObject>() {
- @Override
- public int compare(DmaapObject o1, DmaapObject o2) {
- Topic t1 = (Topic) o1;
- Topic t2 = (Topic) o2;
- return t1.getFqtn().compareTo(t2.getFqtn());
- }
- };
-
- /**
- * Supports sorting a list of clients by the first column displayed: client
- * ID.
- */
- private static Comparator<DmaapObject> clientComparator = new Comparator<DmaapObject>() {
- @Override
- public int compare(DmaapObject o1, DmaapObject o2) {
- MR_Client c1 = (MR_Client) o1;
- MR_Client c2 = (MR_Client) o2;
- // sort these numbers lexicographically, same as the front end
- // table.
- return c1.getMrClientId().compareTo(c2.getMrClientId());
- }
- };
-
- /**
- * Gets one page of DMaaP objects and supporting information via the Bus
- * Controller REST client. On success, returns a JSON object as String with
- * the following tags:
- * <UL>
- * <LI>status: Integer; HTTP status code 200.
- * <LI>dmaapName: String, name returned by the remote DMaaP instance.
- * <LI>dcaeLocations: Array of string, locations returned by the remote
- * DMaaP instance.
- * <LI>data: Array of the desired items; e.g., data router feeds.
- * <LI>totalPages: Integer, the number of pages required to display the
- * complete list of items using the submitted page size
- * </UL>
- *
- * This duplicates all of {@link #buildJsonSuccess(int, Object)}.
- *
- * @param dmaapAccess
- * Access details for the DMaaP REST API
- * @param option
- * Specifies which item list type to get: data router feeds, etc.
- * @param pageNum
- * Page number of results
- * @param viewPerPage
- * Number of items per page
- * @return JSON block as String, see above.
- * @throws Exception
- * On any error
- */
- private String getItemListForPage(DmaapAccess dmaapAccess, DmaapDataItem option, int pageNum, int viewPerPage)
- throws Exception {
- DmaapBcRestClient restClient = getDmaapBcRestClient(dmaapAccess);
- // Get the instance so the page can display its name
- DmaapObject dmaap = restClient.getDmaap();
- if (dmaap instanceof ErrorResponse) {
- // Bad password is caught here.
- ErrorResponse err = (ErrorResponse) dmaap;
- throw new Exception(err.getMessage());
- }
- // Get locations for editing
- List<DmaapObject> dcaeLocations = restClient.getDcaeLocations();
- if (dcaeLocations.size() == 1 && dcaeLocations.get(0) instanceof ErrorResponse) {
- // Should never happen - bad password is caught right above - but be
- // careful.
- ErrorResponse err = (ErrorResponse) dcaeLocations.get(0);
- throw new Exception(err.getMessage());
- }
- // Pass them back as String array
- String[] dcaeLocs = new String[dcaeLocations.size()];
- for (int i = 0; i < dcaeLocs.length; ++i) {
- DcaeLocation dcaeLoc = (DcaeLocation) dcaeLocations.get(i);
- dcaeLocs[i] = dcaeLoc.getDcaeLocationName();
- }
- // Get the requested item list
- List<DmaapObject> itemList = null;
- switch (option) {
- case DR_FEED:
- itemList = restClient.getFeeds();
- // size 1 may be error response
- if (itemList.size() > 1)
- Collections.sort(itemList, feedComparator);
- break;
- case DR_PUB:
- itemList = restClient.getDRPubs();
- // size 1 may be error response
- if (itemList.size() > 1)
- Collections.sort(itemList, pubComparator);
- break;
- case DR_SUB:
- itemList = restClient.getDRSubs();
- // size 1 may be error response
- if (itemList.size() > 1)
- Collections.sort(itemList, subComparator);
- break;
- case MR_TOPIC:
- itemList = restClient.getTopics();
- // size 1 may be error response
- if (itemList.size() > 1)
- Collections.sort(itemList, topicComparator);
- break;
- case MR_CLIENT:
- itemList = restClient.getMRClients();
- // size 1 may be error response
- if (itemList.size() > 1)
- Collections.sort(itemList, clientComparator);
- break;
- default:
- throw new Exception("getItemListForPage: pgmr error, unimplemented case: " + option.name());
- }
-
- logger.debug("getItemListForPage: list size is {}", itemList.size());
- int pageCount = (int) Math.ceil((double) itemList.size() / viewPerPage);
- @SuppressWarnings("unchecked")
- List<DmaapObject> subList = shrinkListToPage(pageNum, viewPerPage, itemList);
- itemList = subList;
- // Build response here
- Map<String, Object> model = new HashMap<String, Object>();
- model.put(STATUS_RESPONSE_KEY, new Integer(200));
- model.put(PROFILE_NAME_RESPONSE_KEY, dmaapAccess.getName());
- model.put(DMAAP_NAME_RESPONSE_KEY, ((Dmaap) dmaap).getDmaapName());
- model.put(DCAE_LOCATIONS_RESPONSE_KEY, dcaeLocs);
- model.put(DATA_RESPONSE_KEY, itemList);
- model.put(TOTAL_PAGES_RESPONSE_KEY, pageCount);
-
- // build the response
- String outboundJson = null;
- try {
- outboundJson = mapper.writeValueAsString(model);
- } catch (Exception ex) {
- // should never happen
- logger.error("getItemListForPage: failed to serialize model: ", ex);
- throw new Exception("sendItemListForPage", ex);
- }
-
- return outboundJson;
- }
-
- /**
- * Gets a page of the specified DMaaP items. This method traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * See {@link #getItemListForPage(DmaapAccess, DmaapDataItem, int, int)}.
- *
- * @param request
- * Inbound request
- * @param option
- * DMaaP item type to get
- * @return JSON with list of serialized objects, or an error.
- */
- protected String getItemListForPageWrapper(HttpServletRequest request, DmaapDataItem option) {
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("getItemListForPageWrapper: Failed to get Login UID");
- DmaapAccess selected = getSelectedDmaapAccess(appUser.getLoginId());
- if (selected == null) // leap into exception handler
- throw new Exception("No DMaaP access profiles are configured.");
- int pageNum = Integer.parseInt(request.getParameter(PAGE_NUM_QUERY_PARAM));
- int viewPerPage = Integer.parseInt(request.getParameter(VIEW_PER_PAGE_QUERY_PARAM));
- outboundJson = getItemListForPage(selected, option, pageNum, viewPerPage);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to get DMaaP item type " + option.name(), ex);
- }
- return outboundJson;
- }
-
- /**
- * Adds an item of the specified type with the specified content. Constructs
- * an object by deserializing the JSON block, but ignores any ID field that
- * is supplied.
- *
- * On success, returns a JSON block as String with any data returned by the
- * REST client. Throws an exception on any failure.
- *
- * @param dmaapAccess
- * Access details for the DMaaP REST API
- * @param userId
- * The login ID of the user making the request
- * @param itemType
- * DMaaP item type to add
- * @param itemContent
- * JSON block to deserialize as an object
- * @param scAddlStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return JSON object with result of the operation
- * @throws Exception
- * on any problem
- */
- private String addDmaapItem(DmaapAccess dmaapAccess, String userId, DmaapDataItem itemType, String itemContent,
- Integer scAddlStatus) throws Exception {
- DmaapBcRestClient restClient = getDmaapBcRestClient(dmaapAccess);
- HttpStatusAndResponse<Object> hsr = null;
- switch (itemType) {
- case DR_FEED:
- Feed feed = mapper.readValue(itemContent, Feed.class);
- logger.debug("addDmaapItem: received feed: {} ", feed);
- // Null out any ID to get an auto-generated ID
- feed.setFeedId(null);
- // Assign the owner to be the webapp user
- feed.setOwner(userId);
- hsr = restClient.postFeed(feed);
- break;
- case DR_PUB:
- DR_Pub pub = mapper.readValue(itemContent, DR_Pub.class);
- logger.debug("addDmaapItem: received pub: {} ", pub);
- // Null out any ID to get an auto-generated ID
- pub.setPubId(null);
- hsr = restClient.postDRPub(pub);
- break;
- case DR_SUB:
- DR_Sub sub = mapper.readValue(itemContent, DR_Sub.class);
- logger.debug("addDmaapItem: received sub: {} ", sub);
- // Null out any ID to get an auto-generated ID
- sub.setSubId(null);
- // Assign the owner to be the webapp user
- sub.setOwner(userId);
- hsr = restClient.postDRSub(sub);
- break;
- case MR_TOPIC:
- Topic topic = mapper.readValue(itemContent, Topic.class);
- logger.debug("addDmaapItem: received topic: {} ", topic);
- // No ID on topic
- topic.setOwner(userId);
- hsr = restClient.postTopic(topic);
- break;
- case MR_CLIENT:
- MR_Client client = mapper.readValue(itemContent, MR_Client.class);
- logger.debug("addDmaapItem: received client: {} ", client);
- client.setMrClientId(null);
- hsr = restClient.postMRClient(client);
- break;
- default:
- throw new Exception("addDmaapItem: pgmr error, unimplemented case: " + itemType.name());
- }
-
- // Build result here
- String outboundJson = null;
- if (hsr.getStatusCode() == HttpServletResponse.SC_OK
- || (scAddlStatus != null && hsr.getStatusCode() == scAddlStatus)) {
- outboundJson = buildJsonSuccess(hsr.getStatusCode(), hsr.getResponseString());
- } else {
- throw new Exception("Unexpected HTTP response code " + Integer.toString(hsr.getStatusCode())
- + " with content " + hsr.getResponseString());
- }
- return outboundJson;
- }
-
- /**
- * Adds the specified DMaaP item that is read from the request body. This
- * method traps errors and constructs an appropriate JSON block if an error
- * happens.
- *
- * @param request
- * Used to obtain user info from the active session
- * @param itemType
- * DMaaP item type to add
- * @param scAddlStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return JSON block with success or failure object
- */
- protected String addItem(HttpServletRequest request, DmaapDataItem itemType, Integer scAddlStatus) {
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("addDmaapItem: Failed to get Login ID");
-
- DmaapAccess access = getSelectedDmaapAccess(appUser.getLoginId());
- if (access == null) // leap into exception handler
- throw new Exception("No DMaaP access profiles are configured.");
- String jsonContent = getBody(request);
- outboundJson = addDmaapItem(access, appUser.getLoginId(), itemType, jsonContent, scAddlStatus);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to add DMaaP item " + itemType.name(), ex);
- }
-
- return outboundJson;
- }
-
- /**
- * Updates an item of the specified type with the specified content.
- * Constructs an object by deserializing the JSON block.
- *
- * On success, returns a JSON block as String with any data returned by the
- * REST client. Throws an exception on any failure.
- *
- * @param dmaapAccess
- * Access details for the DMaaP REST API
- * @param userId
- * The Login ID of the user making the request
- * @param itemType
- * DMaaP item type to update
- * @param itemId
- * Item identification
- * @param itemContent
- * JSON block to deserialize as an object
- * @param scAddlStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return JSON object with result of the operation
- * @throws Exception
- * on any problem
- */
- private String updateDmaapItem(DmaapAccess dmaapAccess, String userId, DmaapDataItem itemType, String itemId,
- String itemContent, Integer scAddlStatus) throws Exception {
- DmaapBcRestClient restClient = getDmaapBcRestClient(dmaapAccess);
- HttpStatusAndResponse<Object> hsr = null;
- switch (itemType) {
- case DR_FEED:
- Feed feed = mapper.readValue(itemContent, Feed.class);
- logger.debug("updateDmaapItem: received feed: {} ", feed);
- // Ensure the owner is the webapp user
- feed.setOwner(userId);
- hsr = restClient.putFeed(feed);
- break;
- case DR_PUB:
- DR_Pub pub = mapper.readValue(itemContent, DR_Pub.class);
- logger.debug("updateDmaapItem: received pub: {} ", pub);
- hsr = restClient.putDRPub(pub);
- break;
- case DR_SUB:
- DR_Sub sub = mapper.readValue(itemContent, DR_Sub.class);
- logger.debug("updateDmaapItem: received sub: {} ", sub);
- // Ensure the owner is the webapp user
- sub.setOwner(userId);
- hsr = restClient.putDRSub(sub);
- break;
- case MR_TOPIC:
- Topic topic = mapper.readValue(itemContent, Topic.class);
- logger.debug("updateDmaapItem: received topic: {} ", topic);
- // Ensure the owner is the webapp user
- topic.setOwner(userId);
- // DCAE backend may implement PUT someday.
- if (true && userId != null)
- throw new UnsupportedOperationException("put topic not supported (yet)");
- break;
- case MR_CLIENT:
- MR_Client client = mapper.readValue(itemContent, MR_Client.class);
- logger.debug("updateDmaapItem: received client: {} ", client);
- hsr = restClient.putMRClient(client);
- break;
- default:
- throw new Exception("updateDmaapItem: pgmr error, unimplemented case: " + itemType.name());
- }
-
- // Build result here
- String outboundJson = null;
- if (hsr.getStatusCode() == HttpServletResponse.SC_OK
- || (scAddlStatus != null && hsr.getStatusCode() == scAddlStatus)) {
- outboundJson = buildJsonSuccess(hsr.getStatusCode(), hsr.getResponseString());
- } else {
- throw new Exception("Unexpected HTTP response code " + Integer.toString(hsr.getStatusCode())
- + " with content " + hsr.getResponseString());
- }
- return outboundJson;
- }
-
- /**
- * Updates the specified DMaaP item that is read from the request body. This
- * method traps errors and constructs an appropriate JSON block if an error
- * happens.
- *
- * @param request
- * Used to obtain user info from the active session
- * @param itemType
- * DMaaP item type to update
- * @param itemId
- * Item identification to update
- * @param scUpdatelStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return JSON object with success or error information.
- */
- protected String updateItem(HttpServletRequest request, DmaapDataItem itemType, String itemId,
- Integer scUpdatelStatus) {
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("updateItem: Failed to get Login ID");
- DmaapAccess access = getSelectedDmaapAccess(appUser.getLoginId());
- if (access == null) // leap into exception handler
- throw new Exception("No DMaaP access profiles are configured.");
- String jsonContent = getBody(request);
- outboundJson = updateDmaapItem(access, appUser.getLoginId(), itemType, itemId, jsonContent,
- scUpdatelStatus);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to update DMaaP item " + itemType.name(), ex);
- }
-
- return outboundJson;
- }
-
- /**
- * Deletes an item of the specified type with the specified ID.
- *
- * @param dmaapAccess
- * Access details for the DMaaP REST API
- * @param itemType
- * DMaaP item type to delete
- * @param itemId
- * Item identification
- * @param scAddlStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return On success, returns a JSON block as String with any data returned
- * by the REST client.
- * @throws Exception
- * On any failure.
- */
- private String deleteDmaapItem(DmaapAccess dmaapAccess, DmaapDataItem itemType, String itemId, Integer scAddlStatus)
- throws Exception {
- DmaapBcRestClient restClient = getDmaapBcRestClient(dmaapAccess);
- HttpStatusAndResponse<Object> hsr = null;
- switch (itemType) {
- case DR_FEED:
- hsr = restClient.deleteFeed(itemId);
- break;
- case DR_PUB:
- hsr = restClient.deleteDRPub(itemId);
- break;
- case DR_SUB:
- hsr = restClient.deleteDRSub(itemId);
- break;
- case MR_TOPIC:
- hsr = restClient.deleteTopic(itemId);
- break;
- case MR_CLIENT:
- hsr = restClient.deleteMRClient(itemId);
- break;
- default:
- throw new Exception("deleteDmaapItem: pgmr error, unimplemented case: " + itemType.name());
- }
-
- // Build result here
- String outboundJson = null;
- if (hsr.getStatusCode() == HttpServletResponse.SC_OK
- || (scAddlStatus != null && hsr.getStatusCode() == scAddlStatus)) {
- outboundJson = buildJsonSuccess(hsr.getStatusCode(), hsr.getResponseString());
- } else {
- throw new Exception("Unexpected HTTP response code " + Integer.toString(hsr.getStatusCode())
- + " with content " + hsr.getResponseString());
- }
- return outboundJson;
- }
-
- /**
- * Deletes the specified DMaaP item. This method traps errors and constructs
- * an appropriate JSON block if an error happens.
- *
- * @param request
- * Used to obtain user info from the active session
- * @param itemType
- * DMaaP item type to delete
- * @param itemId
- * item ID to delete
- * @param scAddlStatus
- * HTTP status code 200 is always accepted. If this parameter is
- * not null, the value is also considered a valid HTTP status
- * code on success; e.g., 204.
- * @return JSON object with success or error information.
- */
- protected String deleteItem(HttpServletRequest request, DmaapDataItem itemType, String itemId,
- Integer scAddlStatus) {
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("deleteItem: Failed to get Login ID");
- DmaapAccess selected = getSelectedDmaapAccess(appUser.getLoginId());
- if (selected == null) // leap into exception handler
- throw new Exception("No DMaaP access profiles are configured.");
- outboundJson = deleteDmaapItem(selected, itemType, itemId, scAddlStatus);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to delete DMaaP item " + itemType.name() + " ID " + itemId, ex);
- }
- return outboundJson;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DmaapAccessController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DmaapAccessController.java
deleted file mode 100644
index 5f81a74..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/DmaapAccessController.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.dcae.dmaapbc.client.DmaapBcRestClient;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.DmaapAccess;
-import org.openecomp.dcae.dmaapbc.model.Dmaap;
-import org.openecomp.dcae.dmaapbc.model.DmaapObject;
-import org.openecomp.dcae.dmaapbc.model.ErrorResponse;
-import org.openecomp.portalsdk.core.domain.User;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.util.SystemProperties;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.slf4j.MDC;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * DMaaP Access controller: serves Ajax requests made by Angular on pages where
- * the user adds, edits and deletes DMaaP access profiles. This controller must
- * defend the database against rogue requests including SQL injection attacks.
- */
-@Controller
-@RequestMapping("/")
-public class DmaapAccessController extends DbcappRestrictedBaseController {
-
- /**
- * Logger that conforms with ECOMP guidelines
- */
- private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DmaapAccessController.class);
-
- private static final String DMAAP_ACCESS_PATH = "/dmaap_access";
- private static final String SELECT_DMAAP_ACCESS_PATH = "/select_dmaap_access";
-
- /**
- * For general use in these methods
- */
- private final ObjectMapper mapper;
-
- /**
- * Never forget that Spring autowires fields AFTER the constructor is
- * called.
- */
- public DmaapAccessController() {
- mapper = new ObjectMapper();
- }
-
- /**
- * Gets a list of DMaaP access profiles for this user from the database and
- * returns them in a JSON array nested within a response object. Traps errors and constructs an appropriate JSON block if an error
- * happens.
- *
- * See {@link #getOrInitDmaapAccessList(String)}.
- *
- * @param request
- * HttpServletRequest
- * @return JSON with access profiles, or an error JSON if the request fails.
- */
- @RequestMapping(value = { DMAAP_ACCESS_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getDmaapAccessList(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("getDmaapAccessList: Failed to get Login ID");
- List<DmaapAccess> dbAccessList = getOrInitDmaapAccessList(appUser.getLoginId());
- // Wrap the list in the status indicator.
- Map<String, Object> model = new HashMap<String, Object>();
- model.put(STATUS_RESPONSE_KEY, new Integer(200));
- model.put(DATA_RESPONSE_KEY, dbAccessList);
- outboundJson = mapper.writeValueAsString(model);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to get DMaaP access profile list", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Adds a DMaaP access profile for the requesting user ID; ignores any
- * values for row ID and user ID in the body. Traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * @param request
- * HttpServletRequest
- * @return Trivial JSON object indicating success or failure.
- */
- @RequestMapping(value = { DMAAP_ACCESS_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addDmaapAccess(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("addDmaapAccess: Failed to get Login ID");
-
- DmaapAccess dmaapAccess = mapper.readValue(request.getReader(), DmaapAccess.class);
- logger.debug("addDmaapAccess: received object: {} ", dmaapAccess);
-
- // Null out ID to get an auto-generated ID
- dmaapAccess.setId(null);
- // Overwrite any submitted user id
- dmaapAccess.setUserId(appUser.getLoginId());
- // Encrypt password
- if (dmaapAccess.getPassword() != null)
- dmaapAccess.encryptPassword(dmaapAccess.getPassword());
-
- // Create a new row
- getDmaapAccessService().saveDmaapAccess(dmaapAccess);
-
- // Answer success
- outboundJson = buildJsonSuccess(200, null);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to add DMaaP access profile", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Updates a DMaaP access profile if the row user ID matches the requesting
- * user ID. Traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * @param id
- * Path parameter with ID of the DMaaP access profile
- * @param request
- * HttpServletRequest
- * @return Trivial JSON object indicating success or failure.
- */
- @RequestMapping(value = { DMAAP_ACCESS_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateDmaapAccess(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("updateDmaapAccess: Failed to get Login ID");
-
- DmaapAccess domainObj = getDmaapAccessService().getDmaapAccess(id);
- if (!appUser.getLoginId().equals(domainObj.getUserId()))
- throw new Exception("updateDmaapAccess: mismatch of appUser and row user ID");
-
- DmaapAccess dmaapAccess = mapper.readValue(request.getReader(), DmaapAccess.class);
- logger.debug("updateDmaapAccess: received object: {} ", dmaapAccess);
-
- // Use the path-parameter id; don't trust the one in the object
- dmaapAccess.setId(id);
- // Encrypt password if present
- if (dmaapAccess.getPassword() != null)
- dmaapAccess.encryptPassword(dmaapAccess.getPassword());
-
- // Update the existing row
- getDmaapAccessService().saveDmaapAccess(dmaapAccess);
-
- // Answer "OK"
- outboundJson = buildJsonSuccess(200, null);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to update DMaaP access profile", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Deletes a DMaaP access profile if the row user ID matches the requesting
- * user ID. Traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * @param id
- * Path parameter with ID of the DMaaP access profile
- * @param request
- * HttpServletRequest
- * @return Trivial JSON object indicating success or failure (altho this is
- * slightly contrary to conventions for a DELETE method)
- */
- @RequestMapping(value = {
- DMAAP_ACCESS_PATH + "/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteDmaapAccess(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("deleteDmaapAccess: Failed to get Login ID");
- // Validate that this user owns the row with the specified ID
- DmaapAccess domainObj = getDmaapAccessService().getDmaapAccess(id);
- if (!appUser.getLoginId().equals(domainObj.getUserId()))
- throw new Exception("deleteDmaapAccess: mismatch of appUser and row user ID");
-
- getDmaapAccessService().deleteDmaapAccess(id);
-
- // Answer "OK"
- outboundJson = buildJsonSuccess(200, null);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to delete DMaaP access profile", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Gets the selected DMaaP access row for the requesting user.
- *
- * See {@link #getSelectedDmaapAccess(String)}
- *
- * @param request
- * HttpServletRequest
- * @return JSON object with one DmaapAccessProfile, or an error
- */
- @RequestMapping(value = { SELECT_DMAAP_ACCESS_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getSelectedDmaapAccessProfile(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("getSelectedDmaapAccessProfile: Failed to get Login ID");
- DmaapAccess selected = super.getSelectedDmaapAccess(appUser.getLoginId());
- // clone and decrypt
- DmaapAccess clear = new DmaapAccess(selected);
- try {
- clear.setPassword(clear.decryptPassword());
- } catch (Exception ex) {
- // Should never happen
- throw new RuntimeException("getSelectedDmaapAccessProfile: Failed to decrypt password", ex);
- }
- outboundJson = buildJsonSuccess(200, clear);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to get selected DMaaP access profile", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Marks the DMaaP access row as selected (first choice) for the requesting
- * user if the row user ID matches the requesting user ID. As a side effect,
- * removes selected marking from all other user rows. Returns status,
- * additionally an error message on failure. Traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * Choice of PUT is fairly arbitrary - there is no body, but GET is for
- * actions that do not change data.
- *
- * @param id
- * Path parameter with ID of the DMaaP access profile
- * @param request
- * HttpServletRequest
- * @return Trivial JSON object indicating success or failure.
- */
- @RequestMapping(value = {
- SELECT_DMAAP_ACCESS_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String selectDmaapAccess(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- User appUser = UserUtils.getUserSession(request);
- if (appUser == null || appUser.getLoginId() == null || appUser.getLoginId().length() == 0)
- throw new Exception("selectDmaapAccess: Failed to get Login UID");
- // A little inefficient in that it requires 3 database accesses;
- // probably could be done in 1 with some sophisticated SQL.
- List<DmaapAccess> dmaapAccessList = getDmaapAccessService().getDmaapAccessList(appUser.getLoginId());
- for (DmaapAccess dmaap : dmaapAccessList) {
- // Only write out the changed rows.
- boolean changed = false;
- if (id == dmaap.getId()) {
- changed = !dmaap.getSelected();
- dmaap.setSelected(true);
- } else {
- changed = dmaap.getSelected();
- dmaap.setSelected(false);
- }
- if (changed)
- getDmaapAccessService().saveDmaapAccess(dmaap);
- }
-
- // Answer OK
- outboundJson = buildJsonSuccess(200, null);
- } catch (Exception ex) {
- outboundJson = buildJsonError(500, "Failed to select a DMaaP access profile", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
- /**
- * Tests the URL in the DMaaP access profile object. Traps errors and
- * constructs an appropriate JSON block if an error happens.
- *
- * @param request
- * HttpServletRequest
- * @return JSON with a Dmaap object (which has name etc.) on success, error
- * on failure.
- */
- @RequestMapping(value = { "test_dmaap_access" }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String testDmaapAccess(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String outboundJson = null;
- try {
- DmaapAccess dmaapAccess = mapper.readValue(request.getReader(), DmaapAccess.class);
- logger.debug("testDmaapAccess: received object: {} ", dmaapAccess);
- if (dmaapAccess.getDmaapUrl() == null || dmaapAccess.getDmaapUrl().trim().length() == 0)
- throw new Exception("Null or empty URL");
-
- DmaapBcRestClient restClient = getDmaapBcRestClient(dmaapAccess);
- // Get the instance so the page can display its name
- DmaapObject dmaap = restClient.getDmaap();
- if (dmaap instanceof Dmaap) {
- outboundJson = buildJsonSuccess(200, dmaap);
- } else {
- // Bad credentials lands here.
- ErrorResponse err = (ErrorResponse) dmaap;
- outboundJson = buildJsonError(500, "Test failed: " + err.getMessage(), null);
- }
- } catch (Exception ex) {
- // This is entirely likely; e.e., unknown host exception on typo.
- outboundJson = buildJsonError(500, "Invalid DMaaP URL", ex);
- }
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return outboundJson;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/HealthCheckController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/HealthCheckController.java
deleted file mode 100644
index 5754244..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/HealthCheckController.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.util.Date;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.dcae.dmaapbc.dbcapp.service.DmaapAccessService;
-import org.openecomp.portalsdk.core.controller.UnRestrictedBaseController;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.util.SystemProperties;
-import org.slf4j.MDC;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * This controller responds to probes for application health, returning a JSON
- * body to indicate current status.
- */
-@RestController
-@Configuration
-@EnableAspectJAutoProxy
-@RequestMapping("/")
-public class HealthCheckController extends UnRestrictedBaseController {
-
- private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(HealthCheckController.class);
-
- private static final String HEALTH_CHECK_PATH = "/healthCheck";
-
- @Autowired
- private DmaapAccessService dmaapAccessService;
-
- /**
- * Model for JSON response with health-check results.
- */
- public class HealthStatus {
- // Either 200 or 500
- public int statusCode;
- // Additional detail in case of error, empty in case of success.
- public String message;
-
- public HealthStatus(int code, String msg) {
- this.statusCode = code;
- this.message = msg;
- }
-
- public int getStatusCode() {
- return statusCode;
- }
-
- public void setStatusCode(int code) {
- this.statusCode = code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String msg) {
- this.message = msg;
- }
- }
-
- /**
- * Checks application health by making a trivial query to the database.
- *
- * @param request
- * HttpServletRequest
- * @return 200 if database access succeeds, 500 if it fails.
- */
- @RequestMapping(value = { HEALTH_CHECK_PATH }, method = RequestMethod.GET, produces = "application/json")
- public HealthStatus healthCheck(HttpServletRequest request) {
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- HealthStatus healthStatus = null;
- try {
- logger.debug(EELFLoggerDelegate.debugLogger, "Performing health check");
- dmaapAccessService.getDmaapAccessCount();
- healthStatus = new HealthStatus(200, "health check succeeded");
- } catch (Exception ex) {
- logger.error(EELFLoggerDelegate.errorLogger, "Failed to perform health check", ex);
- healthStatus = new HealthStatus(500, "health check failed: " + ex.toString());
- }
- return healthStatus;
- }
-
- /**
- * This implementation does not support suspend/resume.
- *
- * @param request
- * HttpServletRequest
- * @return Trivial success
- */
- @RequestMapping(value = {
- HEALTH_CHECK_PATH + "/suspend" }, method = RequestMethod.GET, produces = "application/json")
- public HealthStatus healthCheckSuspend(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- HealthStatus response = new HealthStatus(200, "suspend not implemented");
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * This implementation does not support suspend/resume.
- *
- * @param request
- * HttpServletRequest
- * @return Trivial success
- */
- @RequestMapping(value = {
- HEALTH_CHECK_PATH + "/resume" }, method = RequestMethod.GET, produces = "application/json")
- public HealthStatus healthCheckResume(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- HealthStatus response = new HealthStatus(200, "resume not implemented");
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Answers ping request without checking the application health.
- *
- * @param request
- * HttpServletRequest
- * @return Trivial success
- */
- @RequestMapping(value = { HEALTH_CHECK_PATH + "/ping" }, method = RequestMethod.GET, produces = "application/json")
- public HealthStatus ping(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- HealthStatus response = new HealthStatus(200, "ping received");
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/MessageRouterController.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/MessageRouterController.java
deleted file mode 100644
index 9d889dd..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/controller/MessageRouterController.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.controller;
-
-import java.util.Date;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.util.SystemProperties;
-import org.slf4j.MDC;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * Message Router controller: serves Ajax requests made by Angular scripts on
- * pages that show topics and clients.
- */
-@Controller
-@RequestMapping("/")
-public class MessageRouterController extends DbcappRestrictedBaseController {
-
- private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MessageRouterController.class);
-
- private static final String TOPIC_PATH = "/mr_topic";
- private static final String CLIENT_PATH = "/mr_client";
-
- public MessageRouterController() {
- }
-
- /**
- * Answers a request for one page of message router topics. See
- * {@link #getItemListForPageWrapper(HttpServletRequest, DmaapDataItem)}
- *
- * @param request
- * HttpServletRequest
- * @return One page of MR topics
- */
- @RequestMapping(value = { TOPIC_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getMRTopicsByPage(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = getItemListForPageWrapper(request, DmaapDataItem.MR_TOPIC);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Answers a request for one page of message router clients. See
- * {@link #getItemListForPageWrapper(HttpServletRequest, DmaapDataItem)}
- *
- * @param request
- * HttpServletRequest
- * @return One page of MR clients
- */
- @RequestMapping(value = { CLIENT_PATH }, method = RequestMethod.GET, produces = "application/json")
- @ResponseBody
- public String getMRClientsByPage(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = getItemListForPageWrapper(request, DmaapDataItem.MR_CLIENT);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Adds a topic with the specified information. Expects a JSON block in the
- * request body - a Topic object.
- *
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { TOPIC_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addTopic(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = addItem(request, DmaapDataItem.MR_TOPIC, HttpServletResponse.SC_CREATED);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Adds a client with the specified information. Expects a JSON block in the
- * request body - a MR_Client object.
- *
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { CLIENT_PATH }, method = RequestMethod.POST, produces = "application/json")
- @ResponseBody
- public String addMRClient(HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = addItem(request, DmaapDataItem.MR_CLIENT, HttpServletResponse.SC_CREATED);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Updates a topic with the specified information. Expects a JSON block in
- * the request body - a Topic object.
- *
- * Writes a JSON object as an HTTP response; on success it has a "status"
- * and possibly a "data" item; on failure, also has an "error" item.
- *
- * @param id
- * ID of the topic to update
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { TOPIC_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateTopic(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = updateItem(request, DmaapDataItem.MR_TOPIC, Long.toString(id), null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Updates a client with the specified information. Expects a JSON block in
- * the request body - a MR_Client object.
- *
- * Writes a JSON object as an HTTP response; on success it has a "status"
- * and possibly a "data" item; on failure, also has an "error" item.
- *
- * @param id
- * ID of the client to update
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { CLIENT_PATH + "/{id}" }, method = RequestMethod.PUT, produces = "application/json")
- @ResponseBody
- public String updateMRClient(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = updateItem(request, DmaapDataItem.MR_CLIENT, Long.toString(id), null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Deletes a topic with the FQTN ID specified as a path parameter.
- *
- * FQTN is a string of dot-separated names. Spring, in its infinite wisdom,
- * truncates extensions on dotted path parameters; e.g., "foo.json" becomes
- * "foo". Avoid truncation here with the extra ":.+" incantation at the end.
- *
- * Writes a JSON object as an HTTP response; on success it only has "status"
- * item; on failure, also has an "error" item.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { "/mr_topic/{id:.+}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteTopic(@PathVariable("id") String id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = deleteItem(request, DmaapDataItem.MR_TOPIC, id, 204);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
- /**
- * Deletes a client with the mrClientId specified as a path parameter.
- *
- * Writes a JSON object as an HTTP response; on success it only has "status"
- * item; on failure, also has an "error" item.
- *
- * @param id
- * Path parameter with object ID
- * @param request
- * HttpServletRequest
- * @return JSON success/failure response
- */
- @RequestMapping(value = { "/mr_client/{id}" }, method = RequestMethod.DELETE, produces = "application/json")
- @ResponseBody
- public String deleteMRClient(@PathVariable("id") long id, HttpServletRequest request) {
- MDC.put(SystemProperties.AUDITLOG_BEGIN_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.setRequestBasedDefaultsIntoGlobalLoggingContext(request, DataBusHomeController.APP_NAME);
- String response = deleteItem(request, DmaapDataItem.MR_CLIENT, Long.toString(id), null);
- MDC.put(SystemProperties.AUDITLOG_END_TIMESTAMP, DataBusHomeController.logDateFormat.format(new Date()));
- logger.info(EELFLoggerDelegate.auditLogger, request.getMethod() + request.getRequestURI());
- return response;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/DmaapAccess.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/DmaapAccess.java
deleted file mode 100644
index 3edd3ba..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/DmaapAccess.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.domain;
-
-import org.openecomp.portalsdk.core.domain.support.DomainVo;
-import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
-
-/**
- * Hold an access profile for a DMaaP REST endpoint. Represents one row in the
- * DBCA_DMAAP table.
- */
-public class DmaapAccess extends DomainVo {
-
- private static final long serialVersionUID = 6443219375733216340L;
-
- // parent class defines these fields:
- // ID, created, modified, created_id, modified_id
-
- /** Login ID for user who owns this row */
- private String userId;
- /** Nickname for this row */
- private String name;
- /** REST API endpoint */
- private String dmaapUrl;
- /** Credentials */
- private String mechId;
- /** Credentials */
- private String password;
- /** User's preferred access profile */
- private boolean selected;
-
- /**
- * Standard POJO no-arg constructor
- */
- public DmaapAccess() {
- }
-
- /**
- * Copy constructor
- *
- * @param copy
- * Instance to copy
- */
- public DmaapAccess(final DmaapAccess copy) {
- // Unfortunately DomainVo doesn't provide a copy constructor;
- // only the ID field is needed.
- this.id = copy.id;
- // Our fields
- this.userId = copy.userId;
- this.name = copy.name;
- this.dmaapUrl = copy.dmaapUrl;
- this.mechId = copy.mechId;
- this.password = copy.password;
- this.selected = copy.selected;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDmaapUrl() {
- return dmaapUrl;
- }
-
- public void setDmaapUrl(String dmaapUrl) {
- this.dmaapUrl = dmaapUrl;
- }
-
- public String getMechId() {
- return mechId;
- }
-
- public void setMechId(String mechId) {
- this.mechId = mechId;
- }
-
- /**
- * Gets the encrypted password. Applications should use
- * {@link #decryptPassword()}!
- *
- * @return The encrypted password
- */
- public String getPassword() {
- return password;
- }
-
- /**
- * Sets the encrypted password. Applications should use
- * {@link #encryptPassword(String)}!
- *
- * @param password
- * The encrypted password
- */
- public void setPassword(String password) {
- this.password = password;
- }
-
- public boolean getSelected() {
- return selected;
- }
-
- public void setSelected(boolean selected) {
- this.selected = selected;
- }
-
- /**
- * A getter that decrypts the value read from the database and returns the
- * clear text. Has no side effects.
- *
- * @return Clear-text password.
- * @throws Exception
- * If the password cannot be decrypted
- */
- public String decryptPassword() throws Exception {
- if (password == null)
- return null;
- return CipherUtil.decrypt(password);
- }
-
- /**
- * A setter that encrypts the clear-text in preparation for storing in the
- * database.
- *
- * @param clearText
- * The clear-text password to be encrypted
- * @throws Exception
- * If the password cannot be encrypted
- */
- public void encryptPassword(String clearText) throws Exception {
- if (clearText == null) {
- password = null;
- return;
- }
- password = CipherUtil.encrypt(clearText);
- }
-
- @Override
- public String toString() {
- return "DmaapAccess[id=" + id + ", url=" + dmaapUrl + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/ManifestTransportModel.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/ManifestTransportModel.java
deleted file mode 100644
index a98f14d..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/domain/ManifestTransportModel.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.domain;
-
-import java.util.Map;
-
-/**
- * Holds a set of String key-value pairs, the JSON version of a
- * java.util.Attributes object read from a jar/war file.
- */
-public class ManifestTransportModel {
-
- private Map<String, String> manifest;
-
- /**
- * Standard POJO no-arg constructor
- */
- public ManifestTransportModel() {
- }
-
- public Map<String, String> getManifest() {
- return manifest;
- }
-
- public void setManifest(Map<String, String> manifest) {
- this.manifest = manifest;
- }
-
- @Override
- public String toString() {
- return "Manifest[size=" + manifest.size() + "]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestClient.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestClient.java
deleted file mode 100644
index 3700c3d..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestClient.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.rest;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.DmaapAccess;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.ManifestTransportModel;
-import org.openecomp.dcae.dmaapbc.dbcapp.service.DmaapAccessService;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * Provides methods for accessing the DBC microservice via REST using basic HTTP
- * authentication.
- *
- */
-public class DbcUsvcRestClient implements DmaapAccessService {
-
- public static final String endpointPath = "/dmaap_access";
- private final String baseUrl;
- private final RestTemplate restTemplate;
-
- /**
- * Builds a restTemplate that uses basic HTTP authentication for use by all
- * methods in this class.
- *
- * @param webapiUrl
- * URL of the web endpoint
- * @param user
- * user name
- * @param pass
- * password
- */
- public DbcUsvcRestClient(String webapiUrl, String user, String pass) {
- if (webapiUrl == null || user == null || pass == null)
- throw new IllegalArgumentException("Nulls not permitted");
-
- baseUrl = webapiUrl;
- URL url = null;
- try {
- url = new URL(baseUrl);
- } catch (MalformedURLException ex) {
- throw new RuntimeException("Failed to parse URL", ex);
- }
- final HttpHost httpHost = new HttpHost(url.getHost(), url.getPort());
-
- // Build a client with a credentials provider
- CredentialsProvider credsProvider = new BasicCredentialsProvider();
- credsProvider.setCredentials(new AuthScope(httpHost), new UsernamePasswordCredentials(user, pass));
- HttpClientBuilder clientBuilder = HttpClientBuilder.create();
- CloseableHttpClient httpClient = clientBuilder.setDefaultCredentialsProvider(credsProvider).build();
-
- // Create request factory with our superpower client
- HttpComponentsClientHttpRequestFactoryBasicAuth requestFactory = new HttpComponentsClientHttpRequestFactoryBasicAuth(
- httpHost);
- requestFactory.setHttpClient(httpClient);
-
- // Put the factory in the template
- this.restTemplate = new RestTemplate();
- restTemplate.setRequestFactory(requestFactory);
- }
-
- /**
- * Gets the manifest from the micro service.
- */
- @Override
- public ManifestTransportModel getManifest() {
- String url = baseUrl + "/manifest";
- ResponseEntity<ManifestTransportModel> daResponse = restTemplate.exchange(url, HttpMethod.GET, null,
- ManifestTransportModel.class);
- ManifestTransportModel response = daResponse.getBody();
- return response;
- }
-
- /**
- * Gets the count of DMaaP access profiles.
- *
- * @return Number of access profiles in the database.
- */
- public int getDmaapAccessCount() {
- String url = baseUrl + "/count_dmaap_access";
- ResponseEntity<DbcUsvcRestResponse> daResponse = restTemplate.exchange(url, HttpMethod.GET, null,
- DbcUsvcRestResponse.class);
- DbcUsvcRestResponse response = daResponse.getBody();
- return response.getStatus();
- }
-
- /**
- * Gets the DMaaP access profiles for the specified userId.
- *
- * @param userId
- * User ID
- * @return List of access profiles
- */
- @Override
- public List<DmaapAccess> getDmaapAccessList(final String userId) {
- String url = baseUrl + endpointPath + "?userId=" + userId;
- ResponseEntity<List<DmaapAccess>> daResponse = restTemplate.exchange(url, HttpMethod.GET, null,
- new ParameterizedTypeReference<List<DmaapAccess>>() {
- });
- List<DmaapAccess> daList = daResponse.getBody();
- return daList;
- }
-
- /**
- * Gets the specified DMaaP access profile.
- */
- @Override
- public DmaapAccess getDmaapAccess(Long dmaapId) {
- String url = baseUrl + endpointPath + "?dmaapId=" + dmaapId;
- ResponseEntity<DmaapAccess> daResponse = restTemplate.exchange(url, HttpMethod.GET, null,
- new ParameterizedTypeReference<DmaapAccess>() {
- });
- DmaapAccess da = daResponse.getBody();
- return da;
- }
-
- /**
- * POSTs or PUTs the DMaaP access profile as needed, based on whether the
- * object's ID field is set. If not set it creates a new row; if set, it
- * updates a row in the remote service table.
- *
- * @param dmaapAccess
- * Access profile
- */
- @Override
- public void saveDmaapAccess(final DmaapAccess dmaapAccess) {
- if (dmaapAccess.getId() == null) {
- String url = baseUrl + endpointPath;
- restTemplate.postForObject(url, dmaapAccess, String.class);
- } else {
- String url = baseUrl + endpointPath + "/" + Long.toString(dmaapAccess.getId());
- restTemplate.put(url, dmaapAccess);
- }
- }
-
- /**
- * Deletes the DMaaP access profile row in the remote service table with the
- * specified id.
- *
- * @param id
- * Access profile ID
- */
- @Override
- public void deleteDmaapAccess(final Long id) {
- String url = baseUrl + endpointPath + "/" + Long.toString(id);
- restTemplate.delete(url);
- }
-
- /**
- * Simple test
- *
- * @param args
- * UserID
- * @throws Exception
- * On any failure
- */
- public static void main(String[] args) throws Exception {
- if (args.length != 1)
- throw new IllegalArgumentException("Single argument expected: userid");
- DbcUsvcRestClient client = new DbcUsvcRestClient("http://localhost:8081/dbus", "dbus_user", "dbus_pass");
- final String userId = args[0];
- System.out.println("Requesting profiles for user " + userId);
- List<DmaapAccess> access = client.getDmaapAccessList(userId);
- if (access == null)
- System.err.println("Received null");
- else
- for (DmaapAccess da : access)
- System.out.println(da);
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestResponse.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestResponse.java
deleted file mode 100644
index 98cfc20..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/DbcUsvcRestResponse.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.rest;
-
-/**
- * Models the responses sent by the micro service in JSON format.
- */
-public class DbcUsvcRestResponse {
-
- private int status;
- private String data, error, exception;
-
- public int getStatus() {
- return status;
- }
-
- public void setStatus(int status) {
- this.status = status;
- }
-
- public String getData() {
- return data;
- }
-
- public void setData(String data) {
- this.data = data;
- }
-
- public String getError() {
- return error;
- }
-
- public void setError(String error) {
- this.error = error;
- }
-
- public String getException() {
- return exception;
- }
-
- public void setException(String exception) {
- this.exception = exception;
- }
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/HttpComponentsClientHttpRequestFactoryBasicAuth.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/HttpComponentsClientHttpRequestFactoryBasicAuth.java
deleted file mode 100644
index 432d61c..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/rest/HttpComponentsClientHttpRequestFactoryBasicAuth.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.rest;
-
-import java.net.URI;
-
-import org.apache.http.HttpHost;
-import org.apache.http.client.AuthCache;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.impl.auth.BasicScheme;
-import org.apache.http.impl.client.BasicAuthCache;
-import org.apache.http.protocol.BasicHttpContext;
-import org.apache.http.protocol.HttpContext;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
-
-/**
- * Utility class to enable Basic HTTP Authentication with Spring REST templates.
- *
- * From:
- * http://www.baeldung.com/2012/04/16/how-to-use-resttemplate-with-basic-authentication-in-spring-3-1/
- */
-public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory {
-
- private HttpHost host;
-
- public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) {
- super();
- this.host = host;
- }
-
- protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) {
- return createHttpContext();
- }
-
- private HttpContext createHttpContext() {
- // Create AuthCache instance
- AuthCache authCache = new BasicAuthCache();
- // Generate BASIC scheme object and add it to the local auth cache
- BasicScheme basicAuth = new BasicScheme();
- authCache.put(host, basicAuth);
-
- // Add AuthCache to the execution context
- BasicHttpContext localcontext = new BasicHttpContext();
- localcontext.setAttribute(HttpClientContext.AUTH_CACHE, authCache);
- return localcontext;
- }
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessService.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessService.java
deleted file mode 100644
index c4d85bf..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessService.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.service;
-
-import java.util.List;
-
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.DmaapAccess;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.ManifestTransportModel;
-
-/**
- * Defines methods to manipulate the database table with DmaapAccess domain
- * objects. No method throws a checked exception, in keeping with the Spring
- * philosophy of throwing unchecked exceptions.
- */
-public interface DmaapAccessService {
-
- /**
- * Gets build information.
- *
- * @return List of key-value pairs; implementations may return null.
- */
- ManifestTransportModel getManifest();
-
- /**
- * Gets the number of Dmaap Access entries.
- *
- * @return Number of rows in the table.
- */
- int getDmaapAccessCount();
-
- /**
- * Gets all DMaaP access rows in the table for the specified user.
- *
- * @param userId
- * Login ID of the user
- * @return List of DMaaP instance objects, which may be empty.
- */
- List<DmaapAccess> getDmaapAccessList(String userId);
-
- /**
- * Gets the DMaaP access object with the specified row ID.
- *
- * @param dmaapId
- * Access profile ID
- * @return DMaap instance; null if none exists.
- */
- DmaapAccess getDmaapAccess(Long dmaapId);
-
- /**
- * Creates a new managed object (a new row in the table).
- *
- * @param dmaap
- * DMaaP instance to create.
- */
- void saveDmaapAccess(DmaapAccess dmaap);
-
- /**
- * Deletes the DMaaP access row with the specified ID.
- *
- * @param dmaapId
- * Access profile ID
- */
- void deleteDmaapAccess(Long dmaapId);
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java
deleted file mode 100644
index bca8458..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hibernate.criterion.Criterion;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.DmaapAccess;
-import org.openecomp.dcae.dmaapbc.dbcapp.domain.ManifestTransportModel;
-import org.openecomp.portalsdk.core.service.DataAccessService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Hibernate-assisted methods to manipulate the DBCA_DMAAP table.
- */
-@Service("dmaapAccessService")
-@Transactional
-public class DmaapAccessServiceImpl implements DmaapAccessService {
-
- @Autowired
- private DataAccessService dataAccessService;
-
- public DataAccessService getDataAccessService() {
- return dataAccessService;
- }
-
- public void setDataAccessService(DataAccessService dataAccessService) {
- this.dataAccessService = dataAccessService;
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#getManifest()
- */
- @Override
- public ManifestTransportModel getManifest() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#getDmaapAccessCount()
- */
- @SuppressWarnings("unchecked")
- @Override
- public int getDmaapAccessCount() {
- List<DmaapAccess> accesses = (List<DmaapAccess>) getDataAccessService().getList(DmaapAccess.class, null);
- return accesses.size();
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#getDmaapAccessList(java.lang.String)
- */
- @SuppressWarnings("unchecked")
- @Override
- public List<DmaapAccess> getDmaapAccessList(String userId) {
- List<Criterion> restrictionsList = new ArrayList<Criterion>();
- Criterion criterion1 = Restrictions.eq("userId", userId);
- restrictionsList.add(criterion1);
- List<DmaapAccess> accesses = (List<DmaapAccess>) getDataAccessService().getList(DmaapAccess.class, null,
- restrictionsList, null);
- return accesses;
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#getDmaapAccess(java.lang.Long)
- */
- @Override
- public DmaapAccess getDmaapAccess(Long dmaapId) {
- return (DmaapAccess) getDataAccessService().getDomainObject(DmaapAccess.class, dmaapId, null);
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#saveDmaapAccess(org.openecomp.dmaapbc.dbcapp.domain.DmaapAccess)
- */
- @Override
- public void saveDmaapAccess(DmaapAccess dmaap) {
- getDataAccessService().saveDomainObject(dmaap, null);
- }
-
- /*
- * (non-Javadoc)
- * @see org.openecomp.dmaapbc.dbcapp.service.DmaapAccessService#deleteDmaapAccess(java.lang.Long)
- */
- @Override
- public void deleteDmaapAccess(Long dmaapId) {
- DmaapAccess dmaapAccess = getDmaapAccess(dmaapId);
- if (dmaapAccess != null)
- getDataAccessService().deleteDomainObject(dmaapAccess, null);
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/util/DbcappProperties.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/util/DbcappProperties.java
deleted file mode 100644
index b08e007..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/dbcapp/util/DbcappProperties.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.openecomp.dcae.dmaapbc.dbcapp.util;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.core.env.Environment;
-
-/**
- * Publishes a list of constants and methods to access the properties that are
- * read by Spring from the specified configuration file(s).
- *
- * Should be used like this (and never in a constructor):
- *
- * <pre>
- * &#64;Autowired
- * DbcappProperties properties;
- * </pre>
- */
-@Configuration
-@PropertySource(value = { "${container.classpath:}/WEB-INF/dbcapp/dbcapp.properties" })
-public class DbcappProperties {
-
- public static final String DMAAP_REST_URL_LIST = "dmaap.rest.url.list";
- public static final String DMAAP_MECHID_NAME = "dmaap.mechid.name";
- public static final String DMAAP_MECHID_PASSWORD = "dmaap.mechid.password";
- public static final String PROFILE_ACCESS_METHOD = "profile.access.method";
- public static final String PROFILE_USVC_URL = "profile.microservice.url";
- public static final String PROFILE_USVC_USER = "profile.microservice.user.name";
- public static final String PROFILE_USVC_PASS = "profile.microservice.user.password";
- public static final String DMAAP_PII_TYPE_LIST = "dmaap.pii.type.list";
-
- private Environment environment;
-
- public DbcappProperties() {
- }
-
- protected Environment getEnvironment() {
- return environment;
- }
-
- @Autowired
- public void setEnvironment(final Environment environment) {
- this.environment = environment;
- }
-
- public boolean containsProperty(String key) {
- return environment.containsProperty(key);
- }
-
- public String getProperty(String key) {
- return environment.getRequiredProperty(key);
- }
-
- /**
- * Gets the values for a comma-separated list property value as a String
- * array.
- *
- * @param key
- * Property key
- * @return Array of values with leading and trailing whitespace removed;
- * null if key is not found.
- */
- public String[] getCsvListProperty(final String key) {
- String listVal = getProperty(key);
- if (listVal == null)
- return null;
- String[] vals = listVal.split("\\s*,\\s*");
- return vals;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Node.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Node.java
deleted file mode 100644
index 87ad86e..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Node.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP Data Router node.
- */
-public class DR_Node extends DmaapObject {
-
- private String fqdn;
- /** dcaeLocation where node VM is deployed */
- private String dcaeLocationName;
- /**
- * name for this VM (sometimes this is a local VM name and may be different
- * than FQDN)
- */
- private String hostName;
- /** version of Node software package */
- private String version;
-
- public DR_Node() {
- }
-
- public DR_Node(String lastMod, Dmaap_Status status, String fqdn, String dcaeLocationName, String hostName,
- String version) {
- super(lastMod, status);
- this.fqdn = fqdn;
- this.dcaeLocationName = dcaeLocationName;
- this.hostName = hostName;
- this.version = version;
- }
-
- public String getFqdn() {
- return fqdn;
- }
-
- public void setFqdn(String fqdn) {
- this.fqdn = fqdn;
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getHostName() {
- return hostName;
- }
-
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- @Override
- public String toString() {
- return "DR_Node[fqdn=" + fqdn + ", dcaeLocationName=" + dcaeLocationName + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Pub.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Pub.java
deleted file mode 100644
index fe0aeca..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Pub.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP Data Router publisher.
- */
-public class DR_Pub extends DmaapObject {
-
- /** dcaeLocation tag where this publisher is deployed */
- private String dcaeLocationName;
- /** name used for basic authentication to DR */
- private String username;
- /** password used for basic authentication to DR */
- private String userpwd;
- /** tag of feed for which this publisher is a source */
- private String feedId;
- /** unique id of a DCAE publisher (generated by Data Router PROV) */
- private String pubId;
-
- public DR_Pub() {
- }
-
- public DR_Pub(Dmaap_Status status, String lastMod, String dcaeLocationName, String username, String userpwd,
- String feedId, String pubId) {
- super(lastMod, status);
- this.dcaeLocationName = dcaeLocationName;
- this.username = username;
- this.userpwd = userpwd;
- this.feedId = feedId;
- this.pubId = pubId;
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getUserpwd() {
- return userpwd;
- }
-
- public void setUserpwd(String userpwd) {
- this.userpwd = userpwd;
- }
-
- public String getFeedId() {
- return feedId;
- }
-
- public void setFeedId(String feedId) {
- this.feedId = feedId;
- }
-
- public String getPubId() {
- return pubId;
- }
-
- public void setPubId(String pubId) {
- this.pubId = pubId;
- }
-
- @Override
- public String toString() {
- return "DR_Pub[dcaeLocationName=" + dcaeLocationName + ", feedId=" + feedId + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Sub.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Sub.java
deleted file mode 100644
index 45adf9c..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DR_Sub.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP Data Router subscriber.
- */
-public class DR_Sub extends DmaapObject {
-
- /** Tag where this publisher is deployed */
- private String dcaeLocationName;
- /** name used for basic authentication from DR */
- private String username;
- /** password used for basic authentication from DR */
- private String userpwd;
- /** tag of feed for which this publisher is a source */
- private String feedId;
- /** URL used by DR to deliver files to this subscriber */
- private String deliveryURL;
- /** URL for accessing the transaction log for this susbcriber */
- private String logURL;
- /** unique ID for a subscriber in this DR environment */
- private String subId;
- /** TODO */
- private boolean suspended;
- /** TODO */
- private boolean use100;
- /** TODO */
- private String owner;
-
- public DR_Sub() {
- }
-
- public DR_Sub(String lastMod, Dmaap_Status status, String dcaeLocationName, String username, String userpwd,
- String feedId, String deliveryURL, String logURL, String subId, boolean suspended, boolean use100,
- String owner) {
- super(lastMod, status);
- this.dcaeLocationName = dcaeLocationName;
- this.username = username;
- this.userpwd = userpwd;
- this.feedId = feedId;
- this.deliveryURL = deliveryURL;
- this.logURL = logURL;
- this.subId = subId;
- this.suspended = suspended;
- this.use100 = use100;
- this.owner = owner;
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getUserpwd() {
- return userpwd;
- }
-
- public void setUserpwd(String userpwd) {
- this.userpwd = userpwd;
- }
-
- public String getFeedId() {
- return feedId;
- }
-
- public void setFeedId(String feedId) {
- this.feedId = feedId;
- }
-
- public String getDeliveryURL() {
- return deliveryURL;
- }
-
- public void setDeliveryURL(String deliveryURL) {
- this.deliveryURL = deliveryURL;
- }
-
- public String getLogURL() {
- return logURL;
- }
-
- public void setLogURL(String logURL) {
- this.logURL = logURL;
- }
-
- public String getSubId() {
- return subId;
- }
-
- public void setSubId(String subId) {
- this.subId = subId;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- public boolean isSuspended() {
- return suspended;
- }
-
- public void setSuspended(boolean suspended) {
- this.suspended = suspended;
- }
-
- public boolean isUse100() {
- return use100;
- }
-
- public void setUse100(boolean use100) {
- this.use100 = use100;
- }
-
- @Override
- public String toString() {
- return "DR_Sub[dcaeLocationName=" + dcaeLocationName + ", feedId=" + feedId + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DcaeLocation.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DcaeLocation.java
deleted file mode 100644
index c0a79c1..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DcaeLocation.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP DCAE location.
- */
-public class DcaeLocation extends DmaapObject {
-
- public enum Dcae_Status {
- EMPTY, NEW, STAGED, VALID, INVALID
- }
-
- /**
- * network location code used to identify the location.
- */
- private String clli;
- /**
- * indicator of DCAE layer. Either opendcae-central or opendcae-local-ntc
- */
- private String dcaeLayer;
- /**
- * unique name of this dcaeLocation. Value should match what DCAE Controller
- * uses.
- */
- private String dcaeLocationName;
- /** determines where within the OpenStack deployment the edge exists */
- private String openStackAvailabilityZone;
-
- public DcaeLocation() {
- }
-
- public DcaeLocation(String lastMod, Dmaap_Status status, String clli, String dcaeLayer, String dcaeLocationName,
- String openStackAvailabilityZone) {
- super(lastMod, status);
- this.clli = clli;
- this.dcaeLayer = dcaeLayer;
- this.dcaeLocationName = dcaeLocationName;
- this.openStackAvailabilityZone = openStackAvailabilityZone;
- }
-
- public String getClli() {
- return clli;
- }
-
- public void setClli(String clli) {
- this.clli = clli;
- }
-
- public String getDcaeLayer() {
- return dcaeLayer;
- }
-
- public void setDcaeLayer(String dcaeLayer) {
- this.dcaeLayer = dcaeLayer;
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getOpenStackAvailabilityZone() {
- return openStackAvailabilityZone;
- }
-
- public void setOpenStackAvailabilityZone(String openStackAvailabilityZone) {
- this.openStackAvailabilityZone = openStackAvailabilityZone;
- }
-
- @Override
- public String toString() {
- return "DcaeLocation[dcaeLocationName=" + dcaeLocationName + ", dcaeLayer=" + dcaeLayer + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Dmaap.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Dmaap.java
deleted file mode 100644
index fd00557..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Dmaap.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP instance.
- */
-public class Dmaap extends DmaapObject {
-
- /** the version of DMaaP BC software */
- private String version;
- /** the root portion of the topic namespace */
- private String topicNsRoot;
- /**
- * a unique identifier for this instance.
- */
- private String dmaapName;
- /** URL for DR Provisioning Server */
- private String drProvUrl;
- /**
- * topic name used by MR Bridge Admin to communicate which topics to
- * replicate
- */
- private String bridgeAdminTopic;
- /** used by DCAE Controller to upload event logs */
- private String loggingUrl;
- /** used by DCAE Controller to authenticate inter-node messages */
- private String nodeKey;
- /** used by DCAE Controller to set up ssh access to VMs */
- private String accessKeyOwner;
-
- public Dmaap() {
- }
-
- public Dmaap(String lastMod, Dmaap_Status status, String version, String topicNsRoot, String dmaapName,
- String drProvUrl, String loggingUrl, String nodeKey, String accessKeyOwner) {
- super(lastMod, status);
- this.version = version;
- this.topicNsRoot = topicNsRoot;
- this.dmaapName = dmaapName;
- this.drProvUrl = drProvUrl;
- this.loggingUrl = loggingUrl;
- this.nodeKey = nodeKey;
- this.accessKeyOwner = accessKeyOwner;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- public String getTopicNsRoot() {
- return topicNsRoot;
- }
-
- public void setTopicNsRoot(String topicNsRoot) {
- this.topicNsRoot = topicNsRoot;
- }
-
- public String getDmaapName() {
- return dmaapName;
- }
-
- public void setDmaapName(String dmaapName) {
- this.dmaapName = dmaapName;
- }
-
- public String getDrProvUrl() {
- return drProvUrl;
- }
-
- public void setDrProvUrl(String drProvUrl) {
- this.drProvUrl = drProvUrl;
- }
-
- public String getLogginUrl() {
- return loggingUrl;
- }
-
- public void setLogginUrl(String logginUrl) {
- this.loggingUrl = logginUrl;
- }
-
- public String getNodeKey() {
- return nodeKey;
- }
-
- public void setNodeKey(String nodeKey) {
- this.nodeKey = nodeKey;
- }
-
- public String getAccessKeyOwner() {
- return accessKeyOwner;
- }
-
- public void setAccessKeyOwner(String accessKeyOwner) {
- this.accessKeyOwner = accessKeyOwner;
- }
-
- public String getLoggingUrl() {
- return loggingUrl;
- }
-
- public void setLoggingUrl(String loggingUrl) {
- this.loggingUrl = loggingUrl;
- }
-
- public String getBridgeAdminTopic() {
- return bridgeAdminTopic;
- }
-
- public void setBridgeAdminTopic(String bridgeAdminTopic) {
- this.bridgeAdminTopic = bridgeAdminTopic;
- }
-
- @Override
- public String toString() {
- return "Dmaap[dmaapName=" + dmaapName + ", version=" + version + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DmaapObject.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DmaapObject.java
deleted file mode 100644
index 977bf78..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/DmaapObject.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Parent class for all DMaaP BC models.
- */
-public abstract class DmaapObject {
-
- public enum Dmaap_Status {
- EMPTY, NEW, STAGED, VALID, INVALID, DELETED
- }
-
- /** time stamp when object was last modified */
- private String lastMod;
- /** indicator of health of this object using values common in this API */
- private Dmaap_Status status;
- /** TODO */
- private String type;
-
- public DmaapObject() {
- }
-
- public DmaapObject(String lastMod, Dmaap_Status status) {
- this.lastMod = lastMod;
- this.status = status;
- }
-
- public String getLastMod() {
- return lastMod;
- }
-
- public void setLastMod(String lastMod) {
- this.lastMod = lastMod;
- }
-
- public Dmaap_Status getStatus() {
- return status;
- }
-
- public void setStatus(Dmaap_Status status) {
- this.status = status;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/ErrorResponse.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/ErrorResponse.java
deleted file mode 100644
index 2cdb182..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/ErrorResponse.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP Bus Controller error response.
- *
- * This inherits some fields (e.g., lastMod and status) that are not used.
- */
-public class ErrorResponse extends DmaapObject {
-
- private Integer code;
- private String message;
- private String fields;
-
- public ErrorResponse() {
- }
-
- public Integer getCode() {
- return code;
- }
-
- public void setCode(Integer code) {
- this.code = code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public String getFields() {
- return fields;
- }
-
- public void setFields(String fields) {
- this.fields = fields;
- }
-
- @Override
- public String toString() {
- return "ErrorResponse[code=" + code + ", message=" + message + ", fields=" + fields + "]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Feed.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Feed.java
deleted file mode 100644
index f56aa54..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Feed.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Bean that models a DMaaP Data Router feed.
- */
-public class Feed extends DmaapObject {
-
- public enum Feed_Status {
- EMPTY, NEW, STAGED, VALID, INVALID, DELETED
- }
-
- /** unique id assigned by the DR PROV server for this feed */
- private String feedId;
- /** name of feed. Combined with feedVersion must be unique */
- private String feedName;
- /** version of feed. Combined with feedName must be unique */
- private String feedVersion;
- /** description */
- private String feedDescription;
- /** ASPR classification */
- private String asprClassification;
- /** provisioning URL for adding subscribers to this feed */
- private String subscribeURL;
- /** URL publisher use to connect to DR */
- private String publishURL;
- /** URL for transaction log for this feed */
- private String logURL;
- /** indicator of whether the feed is suspended */
- private boolean suspended;
- /** what identity owns this feed */
- private String owner;
- /** id of format description of feed content */
- private String formatUuid;
- /** a set of publishers for this feed */
- private List<DR_Pub> pubs;
- /** a set of subscribers for this feed */
- private List<DR_Sub> subs;
-
- public Feed() {
- this.pubs = new ArrayList<DR_Pub>();
- this.subs = new ArrayList<DR_Sub>();
- }
-
- public Feed(Dmaap_Status status, String lastMod, String feedName, String feedVersion, String feedDescription,
- String asprClassification, String subscribeURL, String publishURL, String logURL, boolean suspended,
- String owner, String formatUuid) {
- super(lastMod, status);
- this.feedName = feedName;
- this.feedVersion = feedVersion;
- this.feedDescription = feedDescription;
- this.asprClassification = asprClassification;
- this.subscribeURL = subscribeURL;
- this.publishURL = publishURL;
- this.logURL = logURL;
- this.suspended = suspended;
- this.owner = owner;
- this.formatUuid = formatUuid;
- this.pubs = new ArrayList<DR_Pub>();
- this.subs = new ArrayList<DR_Sub>();
- }
-
- public String getFeedId() {
- return feedId;
- }
-
- public void setFeedId(String feedId) {
- this.feedId = feedId;
- }
-
- public String getFeedName() {
- return feedName;
- }
-
- public void setFeedName(String feedName) {
- this.feedName = feedName;
- }
-
- public String getFeedVersion() {
- return feedVersion;
- }
-
- public void setFeedVersion(String feedVersion) {
- this.feedVersion = feedVersion;
- }
-
- public String getFeedDescription() {
- return feedDescription;
- }
-
- public void setFeedDescription(String feedDescription) {
- this.feedDescription = feedDescription;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- public String getAsprClassification() {
- return asprClassification;
- }
-
- public void setAsprClassification(String asprClassification) {
- this.asprClassification = asprClassification;
- }
-
- public String getSubscribeURL() {
- return subscribeURL;
- }
-
- public void setSubscribeURL(String subscribeURL) {
- this.subscribeURL = subscribeURL;
- }
-
- public String getPublishURL() {
- return publishURL;
- }
-
- public void setPublishURL(String publishURL) {
- this.publishURL = publishURL;
- }
-
- public String getLogURL() {
- return logURL;
- }
-
- public void setLogURL(String logURL) {
- this.logURL = logURL;
- }
-
- public boolean isSuspended() {
- return suspended;
- }
-
- public void setSuspended(boolean suspended) {
- this.suspended = suspended;
- }
-
- public String getFormatUuid() {
- return formatUuid;
- }
-
- public void setFormatUuid(String formatUuid) {
- this.formatUuid = formatUuid;
- }
-
- public List<DR_Pub> getPubs() {
- return pubs;
- }
-
- public void setPubs(List<DR_Pub> pubs) {
- this.pubs = pubs;
- }
-
- public List<DR_Sub> getSubs() {
- return subs;
- }
-
- public void setSubs(List<DR_Sub> subs) {
- this.subs = subs;
- }
-
- @Override
- public String toString() {
- return "Feed[feedId=" + feedId + ", feedName=" + feedName + ", feedVersion=" + feedVersion + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Client.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Client.java
deleted file mode 100644
index a1abc70..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Client.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-/**
- * Bean that models a DMaaP Message Router client.
- */
-public class MR_Client extends DmaapObject {
-
- /** dcaeLocation tag where this client is deployed */
- private String dcaeLocationName;
- /** fully qualified topic name */
- private String fqtn;
- /**
- * name of role of client which will be
- * granted the AAF permission associated with any action
- */
- private String clientRole;
- /** an array of actions. Current possibilities are view, pub, sub */
- private String[] action;
- /** unique handle for this client, generated by DMaaP Bus Controller */
- private String mrClientId;
- /** TODO */
- private String topicURL;
-
- public MR_Client() {
- }
-
- public MR_Client(String lastMod, Dmaap_Status status, String dcaeLocationName, String fqtn, String clientRole,
- String[] action, String mrClientId, String topicURL) {
- super(lastMod, status);
- this.dcaeLocationName = dcaeLocationName;
- this.fqtn = fqtn;
- this.clientRole = clientRole;
- this.action = action;
- this.mrClientId = mrClientId;
- this.topicURL = topicURL;
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getFqtn() {
- return fqtn;
- }
-
- public void setFqtn(String fqtn) {
- this.fqtn = fqtn;
- }
-
- public String getClientRole() {
- return clientRole;
- }
-
- public void setClientRole(String clientRole) {
- this.clientRole = clientRole;
- }
-
- public String[] getAction() {
- return action;
- }
-
- public void setAction(String[] action) {
- this.action = action;
- }
-
- public String getMrClientId() {
- return mrClientId;
- }
-
- public void setMrClientId(String mrClientId) {
- this.mrClientId = mrClientId;
- }
-
- public String getTopicURL() {
- return topicURL;
- }
-
- public void setTopicURL(String topicURL) {
- this.topicURL = topicURL;
- }
-
- @Override
- public String toString() {
- return "MR_Client[dcaeLocationName=" + dcaeLocationName + ", fqtn=" + fqtn + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Cluster.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Cluster.java
deleted file mode 100644
index 6b213b6..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/MR_Cluster.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-import java.util.List;
-
-/**
- * Bean that models a DMaaP Message Router cluster.
- */
-public class MR_Cluster extends DmaapObject {
-
- /** dcaeLocation where cluster VMs are deployed */
- private String dcaeLocationName;
- /** DNS name used by MR clients for this cluster */
- private String fqdn;
- /** an array of hosts that are part of the MR Cluster. */
- private List<String> hosts;
- /** TODO */
- private String topicPort;
- /** TODO */
- private String topicProtocol;
-
- public MR_Cluster() {
- }
-
- /**
- * @param status
- * Status
- * @param lastMod
- * Last modification
- * @param dcaeLocationName
- * dcaeLocation where cluster VMs are deployed
- * @param fqdn
- * DNS name used by MR clients for this cluster
- * @param hosts
- * an array of hosts that are part of the MR Cluster
- */
- public MR_Cluster(Dmaap_Status status, String lastMod, String dcaeLocationName, String fqdn, final String[] hosts) {
- super(lastMod, status);
- this.dcaeLocationName = dcaeLocationName;
- this.fqdn = fqdn;
- for (String h : hosts)
- this.hosts.add(h);
- }
-
- public String getDcaeLocationName() {
- return dcaeLocationName;
- }
-
- public void setDcaeLocationName(String dcaeLocationName) {
- this.dcaeLocationName = dcaeLocationName;
- }
-
- public String getFqdn() {
- return fqdn;
- }
-
- public void setFqdn(String fqdn) {
- this.fqdn = fqdn;
- }
-
- public List<String> getHosts() {
- return hosts;
- }
-
- public void setHosts(List<String> hosts) {
- this.hosts = hosts;
- }
-
- public String getTopicPort() {
- return topicPort;
- }
-
- public void setTopicPort(String topicPort) {
- this.topicPort = topicPort;
- }
-
- public String getTopicProtocol() {
- return topicProtocol;
- }
-
- public void setTopicProtocol(String topicProtocol) {
- this.topicProtocol = topicProtocol;
- }
-
- @Override
- public String toString() {
- return "MR_Cluster[dcaeLocationName=" + dcaeLocationName + ", fqdn=" + fqdn + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Topic.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Topic.java
deleted file mode 100644
index 229ae3f..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/dcae/dmaapbc/model/Topic.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-
- * ================================================================================
- * DCAE DMaaP Bus Controller Models
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.dcae.dmaapbc.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Bean that models a DMaaP Message Router topic.
- */
-public class Topic extends DmaapObject {
-
- /** fully qualified topic name (topic_ns_root.environment.topic_name) */
- private String fqtn;
- /** application supplied value for topicName */
- private String topicName;
- /** description of topic */
- private String topicDescription;
- /** what identity owns this topic */
- private String owner;
- /** flag to MR indicating whether transactions are enabled for this topic */
- private String tnxEnabled;
- /** id of format description of feed content */
- private String formatUuid;
- /** indicates what replication pattern, if any, is desired */
- private String replicationCase;
- /** name of a specific Global MR host */
- private String globalMrURL;
- /** a set of publishers and subscribers for this topic */
- private List<MR_Client> clients;
-
- public Topic() {
- this.clients = new ArrayList<MR_Client>();
- }
-
- public Topic(String lastMod, Dmaap_Status status, String fqtn, String topicName, String topicDescription,
- String owner, String tnxEnabled, String formatUuid, String replicationCase, String globalMrURL) {
- super(lastMod, status);
- this.fqtn = fqtn;
- this.topicName = topicName;
- this.topicDescription = topicDescription;
- this.owner = owner;
- this.tnxEnabled = tnxEnabled;
- this.formatUuid = formatUuid;
- this.replicationCase = replicationCase;
- this.globalMrURL = globalMrURL;
- this.clients = new ArrayList<MR_Client>();
- }
-
- public String getFqtn() {
- return fqtn;
- }
-
- public void setFqtn(String fqtn) {
- this.fqtn = fqtn;
- }
-
- public String getTopicName() {
- return topicName;
- }
-
- public void setTopicName(String topicName) {
- this.topicName = topicName;
- }
-
- public String getTopicDescription() {
- return topicDescription;
- }
-
- public void setTopicDescription(String topicDescription) {
- this.topicDescription = topicDescription;
- }
-
- public String getTnxEnabled() {
- return tnxEnabled;
- }
-
- public void setTnxEnabled(String tnxEnabled) {
- this.tnxEnabled = tnxEnabled;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- public String getFormatUuid() {
- return formatUuid;
- }
-
- public void setFormatUuid(String formatUuid) {
- this.formatUuid = formatUuid;
- }
-
- public List<MR_Client> getClients() {
- return clients;
- }
-
- public void setClients(List<MR_Client> clients) {
- this.clients = clients;
- }
-
- public String getReplicationCase() {
- return replicationCase;
- }
-
- public void setReplicationCase(String replicationCase) {
- this.replicationCase = replicationCase;
- }
-
- public String getGlobalMrURL() {
- return globalMrURL;
- }
-
- public void setGlobalMrURL(String globalMrURL) {
- this.globalMrURL = globalMrURL;
- }
-
- @Override
- public String toString() {
- return "Topic[fqtn=" + fqtn + ", topicName=" + topicName + ", ...]";
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/model/Result.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/model/Result.java
deleted file mode 100644
index d23ed72..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/model/Result.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.openecomp.fusionapp.model;
-
-public class Result {
- private String result;
-
- public Result(String result) {
- this.result = result;
- }
-
- public String getResult() {
- return result;
- }
-
- public void setResult(String result) {
- this.result = result;
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/service/AdminAuthExtension.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/service/AdminAuthExtension.java
deleted file mode 100644
index 5d71602..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/service/AdminAuthExtension.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openecomp.fusionapp.service;
-
-import org.openecomp.portalsdk.core.domain.User;
-
-//@Service("adminAuthExtension")
-//@Transactional
-public class AdminAuthExtension {
-
- public void saveUserExtension(User user){
- //app's developer implement their own logic here, like updating app's related tables
- }
-
-}
diff --git a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/util/CustomLoggingFilter.java b/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/util/CustomLoggingFilter.java
deleted file mode 100644
index 4562584..0000000
--- a/dcae_dmaapbc_webapp/dbca-common/src/main/java/org/openecomp/fusionapp/util/CustomLoggingFilter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.openecomp.fusionapp.util;
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.filter.Filter;
-import ch.qos.logback.core.spi.FilterReply;
-
-/**
- * Custom Filter class bind with logback.xml configuration file to strip out
- * certain log messages coming out of special packages or classes.
- *
- */
-public class CustomLoggingFilter extends Filter<ILoggingEvent> {
-
- /**
- * Custom Filter is added to strip out the continuous U-EB logging messages
- * But make sure we log the ERROR and WARNING Level messages.
- *
- * @param event
- * Logging event
- */
- @Override
- public FilterReply decide(ILoggingEvent event) {
- try {
- if ((event.getLevel() != Level.ERROR || event.getLevel() != Level.WARN)
- && (event.getThreadName().equalsIgnoreCase("UEBConsumerThread"))
- && (event.getLoggerName().contains("com.att.nsa")
- || event.getLoggerName().contains("org.apache.http"))) {
- return FilterReply.DENY;
- } else {
- return FilterReply.NEUTRAL;
- }
- } catch (Exception e) {
- return FilterReply.NEUTRAL;
- }
- }
-}