summaryrefslogtreecommitdiffstats
path: root/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java')
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java54
1 files changed, 29 insertions, 25 deletions
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java
index 5fd0dc9..91121c6 100644
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java
+++ b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/aggregatevnf/search/AggregateVnfSearchProvider.java
@@ -106,11 +106,10 @@ public class AggregateVnfSearchProvider implements SearchProvider {
}
ObjectMapper mapper = new ObjectMapper();
- JsonNode rootNode = null;
List<SearchSuggestion> suggestionEntityList = new ArrayList<SearchSuggestion>();
try {
- rootNode = mapper.readTree(operationResult);
+ JsonNode rootNode = mapper.readTree(operationResult);
JsonNode hitsNode = rootNode.get(KEY_SEARCH_RESULT);
// Check if there are hits that are coming back
if (hitsNode.has(KEY_HITS)) {
@@ -120,30 +119,14 @@ public class AggregateVnfSearchProvider implements SearchProvider {
* next we iterate over the values in the hit array elements
*/
Iterator<JsonNode> nodeIterator = hitsArray.elements();
- JsonNode entityNode = null;
- CommonSearchSuggestion responseSuggestion = null;
- JsonNode sourceNode = null;
-
while (nodeIterator.hasNext()) {
- entityNode = nodeIterator.next();
- String responseText = getValueFromNode(entityNode, KEY_TEXT);
- // do the point transformation as we build the response?
- responseSuggestion = new CommonSearchSuggestion();
- responseSuggestion.setRoute(vnfSearchSuggestionRoute);
- responseSuggestion.setText(responseText);
- responseSuggestion.setHashId(NodeUtils.generateUniqueShaDigest(responseText));
-
- sourceNode = entityNode.get(KEY_DOCUMENT).get(KEY_CONTENT);
- if (sourceNode.has(KEY_FILTER_LIST)) {
- ArrayNode filtersArray = (ArrayNode) sourceNode.get(KEY_FILTER_LIST);
- for (int i = 0; i < filtersArray.size(); i++) {
- String filterValueString = filtersArray.get(i).toString();
- UiFilterValueEntity filterValue =
- mapper.readValue(filterValueString, UiFilterValueEntity.class);
- responseSuggestion.getFilterValues().add(filterValue);
- }
+ JsonNode entityNode = nodeIterator.next();
+ if(entityNode != null) {
+ String responseText = getValueFromNode(entityNode, KEY_TEXT);
+
+ CommonSearchSuggestion responseSuggestion = createCommonSearchSuggestion(mapper, entityNode, responseText);
+ suggestionEntityList.add(responseSuggestion);
}
- suggestionEntityList.add(responseSuggestion);
}
}
} catch (IOException exc) {
@@ -153,9 +136,30 @@ public class AggregateVnfSearchProvider implements SearchProvider {
}
+ private CommonSearchSuggestion createCommonSearchSuggestion(ObjectMapper mapper, JsonNode entityNode, String responseText) throws IOException {
+ // do the point transformation as we build the response?
+ CommonSearchSuggestion responseSuggestion = new CommonSearchSuggestion();
+ responseSuggestion.setRoute(vnfSearchSuggestionRoute);
+ responseSuggestion.setText(responseText);
+ responseSuggestion.setHashId(NodeUtils.generateUniqueShaDigest(responseText));
+
+ JsonNode keyDocument = entityNode.get(KEY_DOCUMENT);
+ JsonNode sourceNode = keyDocument.get(KEY_CONTENT);
+ if (sourceNode.has(KEY_FILTER_LIST)) {
+ ArrayNode filtersArray = (ArrayNode) sourceNode.get(KEY_FILTER_LIST);
+ for (int i = 0; i < filtersArray.size(); i++) {
+ String filterValueString = filtersArray.get(i).toString();
+ UiFilterValueEntity filterValue =
+ mapper.readValue(filterValueString, UiFilterValueEntity.class);
+ responseSuggestion.getFilterValues().add(filterValue);
+ }
+ }
+ return responseSuggestion;
+ }
+
private String getValueFromNode(JsonNode node, String fieldName) {
- if (node == null || fieldName == null) {
+ if (fieldName == null) {
return null;
}