summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/sparky/inventory/servlet
diff options
context:
space:
mode:
authorArul.Nambi <arul.nambi@amdocs.com>2017-09-26 14:00:57 -0400
committerArul.Nambi <arul.nambi@amdocs.com>2017-09-26 14:01:41 -0400
commitc593dfe4c59d37d5d4ea14e3ac31da3318029562 (patch)
tree76cc5a494f02e14b809caad9c050fbfd6cd61a51 /src/main/java/org/openecomp/sparky/inventory/servlet
parent6777c6092050a0271c5d7de9c239cf1580d41fa8 (diff)
Renaming openecomp to onap
Issue-ID: AAI-208 Change-Id: I2bd02287bed376111156aca0100e2b7b74e368e3 Signed-off-by: Arul.Nambi <arul.nambi@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/sparky/inventory/servlet')
-rw-r--r--src/main/java/org/openecomp/sparky/inventory/servlet/EntityCountHistoryServlet.java373
-rw-r--r--src/main/java/org/openecomp/sparky/inventory/servlet/GeoVisualizationServlet.java220
2 files changed, 0 insertions, 593 deletions
diff --git a/src/main/java/org/openecomp/sparky/inventory/servlet/EntityCountHistoryServlet.java b/src/main/java/org/openecomp/sparky/inventory/servlet/EntityCountHistoryServlet.java
deleted file mode 100644
index 114463e..0000000
--- a/src/main/java/org/openecomp/sparky/inventory/servlet/EntityCountHistoryServlet.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- */
-package org.openecomp.sparky.inventory.servlet;
-
-import org.openecomp.cl.mdc.MdcContext;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.ByteBuffer;
-import java.security.SecureRandom;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TreeMap;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.cl.api.Logger;
-import org.openecomp.cl.eelf.LoggerFactory;
-import org.openecomp.sparky.logging.AaiUiMsgs;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.openecomp.sparky.dal.elasticsearch.SearchAdapter;
-import org.openecomp.sparky.dal.elasticsearch.config.ElasticSearchConfig;
-import org.openecomp.sparky.dal.rest.OperationResult;
-import org.openecomp.sparky.dal.rest.RestClientBuilder;
-import org.openecomp.sparky.inventory.EntityHistoryQueryBuilder;
-import org.openecomp.sparky.util.NodeUtils;
-import org.openecomp.sparky.util.ServletUtils;
-import org.openecomp.sparky.viewandinspect.config.VisualizationConfig;
-
-/**
- * The Class EntityCountHistoryServlet.
- */
-public class EntityCountHistoryServlet extends HttpServlet {
-
- private static final Logger LOG = LoggerFactory.getInstance().getLogger(EntityCountHistoryServlet.class);
-
- private static final long serialVersionUID = 1L;
-
- private SearchAdapter search = null;
- private ElasticSearchConfig elasticConfig = null;
- private VisualizationConfig visualConfig = null;
- private ObjectMapper mapper;
-
- private static final String SEARCH_STRING = "_search";
- private static final String TABLE = "table";
- private static final String GRAPH = "graph";
-
- private List<String> vnfEntityTypesToSummarize;
- private boolean summarizevnf = false;
-
- /**
- * Instantiates a new entity count history servlet.
- *
- * @throws ServletException the servlet exception
- */
- public EntityCountHistoryServlet() throws ServletException {
- init();
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.GenericServlet#init()
- */
- @Override
- public void init() throws ServletException {
- super.init();
- try {
- if (elasticConfig == null) {
- elasticConfig = ElasticSearchConfig.getConfig();
- }
- if (visualConfig == null) {
- visualConfig = VisualizationConfig.getConfig();
- vnfEntityTypesToSummarize =
- Arrays.asList(visualConfig.getVnfEntityTypes().toLowerCase().split("[\\s,]+"));
- summarizevnf = visualConfig.getEntityTypesToSummarize().toLowerCase().contains("vnf");
- }
- if (search == null) {
- search = new SearchAdapter();
- }
- this.mapper = new ObjectMapper();
- this.mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
- } catch (Exception exc) {
- new ServletException(
- "Caught an exception while getting an instance of servlet configuration.", exc);
- }
- }
-
- public void setSearch(SearchAdapter search) {
- this.search = search;
- }
-
- public void setElasticConfig(ElasticSearchConfig elasticConfig) {
- this.elasticConfig = elasticConfig;
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- */
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String txnID = request.getHeader("X-TransactionId");
- if (txnID == null){
- txnID = NodeUtils.getRandomTxnId();
- }
-
- String partnerName = request.getHeader("X-FromAppId");
- if ( partnerName == null)
- partnerName = "Browser";
-
- MdcContext.initialize(txnID, "AAI-UI", "", partnerName,
- request.getRemoteAddr());
-
- @SuppressWarnings("unused")
- OperationResult operationResult = null;
- if (request.getParameter("type") != null
- && (request.getParameter("type").equalsIgnoreCase(TABLE)
- || request.getParameter("type").equalsIgnoreCase(GRAPH))) {
- try {
- operationResult = getResults(response, request.getParameter("type"));
- } catch (Exception exc) {
- LOG.error(AaiUiMsgs.ERROR_SERVLET_PROCESSSING, exc);
- }
- } else {
- ServletUtils.setServletResponse(LOG, true, 501, response,
- ServletUtils.generateJsonErrorResponse("Unsupported request"));
- }
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- */
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException {
-
- }
-
- /**
- * Gets the results.
- *
- * @param response the response
- * @param type the type
- * @return the results
- * @throws Exception the exception
- */
- private OperationResult getResults(HttpServletResponse response, String type) throws Exception {
- OperationResult operationResult = new OperationResult();
-
- String requestString =
- String.format("/%s/%s?pretty", elasticConfig.getEntityCountHistoryIndex(), SEARCH_STRING);
-
- String reqPayload = EntityHistoryQueryBuilder.getQuery(type).toString();
-
- try {
- final String fullUrlStr = ServletUtils.getFullUrl(elasticConfig, requestString);
- OperationResult opResult =
- ServletUtils.executePostQuery(LOG, search, response, fullUrlStr, reqPayload);
-
- JSONObject finalOutput = null;
- if (type.equalsIgnoreCase(TABLE)) {
- finalOutput = formatTableOutput(opResult.getResult());
- } else if (type.equalsIgnoreCase(GRAPH)) {
- finalOutput = formatLineGraphOutput(opResult.getResult());
- }
-
- if (finalOutput != null) {
- response.setContentType("application/json");
- PrintWriter out = response.getWriter();
- out.println(finalOutput);
- out.close();
- }
-
- } catch (JsonProcessingException exc) {
- ServletUtils.handleSearchServletErrors(LOG, "Unable to map JSONpayload", exc, response);
- }
-
- return operationResult;
- }
-
- /**
- * Format table output.
- *
- * @param results the results
- * @return the JSON object
- * @throws JsonProcessingException the json processing exception
- */
- private JSONObject formatTableOutput(String results) throws JsonProcessingException {
- JsonNode resultNode = null;
-
- JSONObject finalResult = new JSONObject();
- JSONArray entitiesArr = new JSONArray();
-
- Map<String, Long> entityCountInTable = initializeEntityMap();
-
- long vnfCount = 0;
-
- try {
- resultNode = mapper.readTree(results);
-
- final JsonNode bucketsNode = getBucketsNode(resultNode);
- if (bucketsNode.isArray()) {
-
- for (final JsonNode entityNode : bucketsNode) {
- String entityType = entityNode.get("key").asText();
- boolean isAVnf = vnfEntityTypesToSummarize.contains(entityType);
- long countValue = 0;
-
- if (isAVnf || entityCountInTable.get(entityType) != null) {
- final JsonNode hitsBucketNode = entityNode.get("sort_by_date").get("hits").get("hits");
- if (hitsBucketNode.isArray()) {
- // the first bucket will be the latest
- final JsonNode hitNode = hitsBucketNode.get(0);
-
- countValue = hitNode.get("_source").get("count").asLong();
-
- /*
- * Special case: Add all the VNF types together to get aggregate count
- */
- if (summarizevnf && isAVnf) {
- vnfCount += countValue;
- countValue = vnfCount;
- entityType = "vnf";
- }
-
- entityCountInTable.replace(entityType, countValue);
- }
- }
-
- }
- }
- for (Entry<String, Long> entry : entityCountInTable.entrySet()) {
- JSONObject entityType = new JSONObject();
- entityType.put("key", entry.getKey());
- entityType.put("doc_count", entry.getValue());
- entitiesArr.put(entityType);
- }
-
- finalResult.put("result", entitiesArr);
-
- } catch (Exception exc) {
- LOG.warn(AaiUiMsgs.ERROR_BUILDING_RESPONSE_FOR_TABLE_QUERY, exc.getLocalizedMessage());
- }
-
- return finalResult;
- }
-
-
- /**
- * Format line graph output.
- *
- * @param results the results
- * @return the JSON object
- * @throws JsonProcessingException the json processing exception
- */
- private JSONObject formatLineGraphOutput(String results) throws JsonProcessingException {
- Map<Long, Long> countByDateMap = new HashMap<Long, Long>();
-
- JsonNode resultNode = null;
-
- JSONObject finalResult = new JSONObject();
- JSONArray finalResultArr = new JSONArray();
-
- try {
- resultNode = mapper.readTree(results);
-
- final JsonNode bucketsNode = getBucketsNode(resultNode);
-
- if (bucketsNode.isArray()) {
-
- for (final JsonNode entityNode : bucketsNode) {
- final JsonNode dateBucketNode = entityNode.get("group_by_date").get("buckets");
- if (dateBucketNode.isArray()) {
- for (final JsonNode dateBucket : dateBucketNode) {
- Long date = dateBucket.get("key").asLong();
- final JsonNode countBucketNode =
- dateBucket.get("sort_by_date").get("hits").get("hits");
-
- if (countBucketNode.isArray()) {
- final JsonNode latestEntityNode = countBucketNode.get(0);
-
- long currentCount = latestEntityNode.get("_source").get("count").asLong();
- if (countByDateMap.containsKey(date)) {
- // add to the value if map already contains this date
- currentCount += countByDateMap.get(date);
- }
-
- countByDateMap.put(date, currentCount);
- }
- }
-
- }
- }
- }
- /*
- * Sort the map by epoch timestamp
- */
- Map<Long, Long> sortedMap = new TreeMap<Long, Long>(countByDateMap);
- for (Entry<Long, Long> entry : sortedMap.entrySet()) {
- JSONObject dateEntry = new JSONObject();
- dateEntry.put("date", entry.getKey());
- dateEntry.put("count", entry.getValue());
- finalResultArr.put(dateEntry);
- }
-
- } catch (Exception exc) {
- LOG.warn(AaiUiMsgs.ERROR_BUILDING_SEARCH_RESPONSE, exc.getLocalizedMessage());
- }
-
- return finalResult.put("result", finalResultArr);
- }
-
- /**
- * Gets the buckets node.
- *
- * @param node the node
- * @return the buckets node
- * @throws Exception the exception
- */
- private JsonNode getBucketsNode(JsonNode node) throws Exception {
- if (node.get("aggregations").get("group_by_entityType").get("buckets") != null) {
- return node.get("aggregations").get("group_by_entityType").get("buckets");
- } else {
- throw new Exception("Failed to map JSON response");
- }
- }
-
- /**
- * Initialize entity map.
- *
- * @return the map
- */
- private Map<String, Long> initializeEntityMap() {
- Map<String, Long> entityMap = new HashMap<String, Long>();
- String[] entityTypes = visualConfig.getEntityTypesToSummarize().split(",");
- for (String entity : entityTypes) {
- entityMap.put(entity, (long) 0);
- }
-
- return entityMap;
- }
-
-}
diff --git a/src/main/java/org/openecomp/sparky/inventory/servlet/GeoVisualizationServlet.java b/src/main/java/org/openecomp/sparky/inventory/servlet/GeoVisualizationServlet.java
deleted file mode 100644
index 9a51724..0000000
--- a/src/main/java/org/openecomp/sparky/inventory/servlet/GeoVisualizationServlet.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- */
-package org.openecomp.sparky.inventory.servlet;
-
-import org.openecomp.cl.mdc.MdcContext;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.ByteBuffer;
-import java.security.SecureRandom;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.openecomp.cl.api.Logger;
-import org.openecomp.cl.eelf.LoggerFactory;
-import org.openecomp.sparky.logging.AaiUiMsgs;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.openecomp.sparky.dal.elasticsearch.SearchAdapter;
-import org.openecomp.sparky.dal.elasticsearch.config.ElasticSearchConfig;
-import org.openecomp.sparky.dal.rest.OperationResult;
-import org.openecomp.sparky.dal.rest.RestClientBuilder;
-import org.openecomp.sparky.util.NodeUtils;
-import org.openecomp.sparky.util.ServletUtils;
-
-/**
- * The Class GeoVisualizationServlet.
- */
-public class GeoVisualizationServlet extends HttpServlet {
-
- private static final Logger LOG =
- LoggerFactory.getInstance().getLogger(GeoVisualizationServlet.class);
-
- private static final long serialVersionUID = 1L;
-
- private SearchAdapter search = null;
- private ElasticSearchConfig elasticConfig = null;
- private ObjectMapper mapper;
-
- private static final String SEARCH_STRING = "_search";
-
- private static final String SEARCH_PARAMETER =
- "?filter_path=hits.hits._source&_source=location&size=5000&q=entityType:";
-
- /**
- * Instantiates a new geo visualization servlet.
- *
- * @throws ServletException the servlet exception
- */
- public GeoVisualizationServlet() throws ServletException {
- init();
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.GenericServlet#init()
- */
- @Override
- public void init() throws ServletException {
- super.init();
- try {
- if (elasticConfig == null) {
- elasticConfig = ElasticSearchConfig.getConfig();
- }
- if (search == null) {
- search = new SearchAdapter();
- }
- this.mapper = new ObjectMapper();
- } catch (Exception exc) {
- new ServletException(
- "Caught an exception while getting an instance of servlet configuration.", exc);
- }
- }
-
- public void setSearch(SearchAdapter search) {
- this.search = search;
- }
-
- public void setElasticConfig(ElasticSearchConfig elasticConfig) {
- this.elasticConfig = elasticConfig;
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- */
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String txnID = request.getHeader("X-TransactionId");
- if (txnID == null){
- txnID = NodeUtils.getRandomTxnId();
- }
-
- String partnerName = request.getHeader("X-FromAppId");
- if ( partnerName == null)
- partnerName = "Browser";
-
- MdcContext.initialize(txnID, "AAI-UI", "", partnerName,
- request.getRemoteAddr());
-
- OperationResult operationResult = null;
- try {
- operationResult = getGeoVisualizationResults(response, request.getParameter("entity"));
- } catch (Exception exc) {
- LOG.error(AaiUiMsgs.ERROR_PROCESSING_REQUEST, exc);
- }
- }
-
- /* (non-Javadoc)
- * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- */
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException {
-
- }
-
- /**
- * Gets the geo visualization results.
- *
- * @param response the response
- * @param entityType the entity type
- * @return the geo visualization results
- * @throws Exception the exception
- */
- protected OperationResult getGeoVisualizationResults(HttpServletResponse response,
- String entityType) throws Exception {
- OperationResult operationResult = new OperationResult();
-
- String parameters = SEARCH_PARAMETER + entityType;
- String requestString = String.format("/%s/%s/%s", elasticConfig.getTopographicalSearchIndex(),
- SEARCH_STRING, parameters);
-
- try {
- final String fullUrlStr = ServletUtils.getFullUrl(elasticConfig, requestString);
- OperationResult opResult = ServletUtils.executeGetQuery(LOG, search, response, fullUrlStr);
-
- JSONObject finalOutputJson = formatOutput(opResult.getResult());
-
- if (finalOutputJson != null) {
- response.setContentType("application/json");
- PrintWriter out = response.getWriter();
- out.println(finalOutputJson);
- out.close();
- }
-
- } catch (JsonProcessingException exc) {
- ServletUtils.handleSearchServletErrors(LOG, "Unable to map JSONpayload", exc, response);
- }
-
- return operationResult;
- }
-
- /**
- * Format output.
- *
- * @param results the results
- * @return the JSON object
- */
- private JSONObject formatOutput(String results) {
- JsonNode resultNode = null;
- JSONObject finalResult = new JSONObject();
- JSONArray entitiesArr = new JSONArray();
-
- try {
- resultNode = mapper.readTree(results);
-
- final JsonNode hitsNode = resultNode.get("hits").get("hits");
- if (hitsNode.isArray()) {
-
- for (final JsonNode arrayNode : hitsNode) {
- JsonNode sourceNode = arrayNode.get("_source");
- if (sourceNode.get("location") != null) {
- JsonNode locationNode = sourceNode.get("location");
- if (NodeUtils.isNumeric(locationNode.get("lon").asText())
- && NodeUtils.isNumeric(locationNode.get("lat").asText())) {
- JSONObject location = new JSONObject();
- location.put("longitude", locationNode.get("lon").asText());
- location.put("latitude", locationNode.get("lat").asText());
-
- entitiesArr.put(location);
- }
-
- }
- }
- }
- finalResult.put("plotPoints", entitiesArr);
-
- } catch (IOException exc) {
- LOG.warn(AaiUiMsgs.ERROR_BUILDING_SEARCH_RESPONSE, exc.getLocalizedMessage());
- }
-
- return finalResult;
- }
-}