aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java
diff options
context:
space:
mode:
authorArul.Nambi <arul.nambi@amdocs.com>2017-09-14 12:39:20 -0400
committerArul.Nambi <arul.nambi@amdocs.com>2017-09-14 12:39:57 -0400
commit22c477621c40c4762cceb67a1d18749bff68fb87 (patch)
treef96700b9c33611cca6d7a5a872ea9d81818510cb /src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java
parent153d13fd91cb93feee77b51d1125274cf554f07e (diff)
Renaming openecomp to onap
Issue-ID: AAI-208 Change-Id: I0f634abc5501adb5fc29523594af8d1f1356adb5 Signed-off-by: Arul.Nambi <arul.nambi@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java')
-rw-r--r--src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java188
1 files changed, 0 insertions, 188 deletions
diff --git a/src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java b/src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java
deleted file mode 100644
index bfed378..0000000
--- a/src/main/java/org/openecomp/sa/searchdbabstraction/searchapi/Filter.java
+++ /dev/null
@@ -1,188 +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.sa.searchdbabstraction.searchapi;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class represents the filter stanza in a search statement.
- *
- * <p>The expected JSON structure for a filter stanza is as follows:
- * <pre>
- * {
- * "filter": {
- * "all": [ {query structure}, {query structure}, ... {query structure} ],
- * "any": [ {query structure}, {query structure}, ... {query structure} ]
- * }
- * }
- * </pre>
- */
-public class Filter {
-
- /**
- * All queries in this list must evaluate to true for the filter to pass.
- */
- private QueryStatement[] all;
-
- /**
- * Any one of the queries in this list must evaluate to true for the
- * filter to pass.
- */
- private QueryStatement[] any;
-
-
- public QueryStatement[] getAll() {
- return all;
- }
-
- public void setAll(QueryStatement[] all) {
- this.all = all;
- }
-
- public QueryStatement[] getAny() {
- return any;
- }
-
- public void setAny(QueryStatement[] any) {
- this.any = any;
- }
-
- /**
- * This method returns a string which represents this filter in syntax
- * that is understandable by ElasticSearch and is suitable for inclusion
- * in an ElasticSearch query string.
- *
- * @return - ElasticSearch syntax string.
- */
- public String toElasticSearch() {
-
- StringBuilder sb = new StringBuilder();
-
- List<QueryStatement> notMatchQueries = new ArrayList<QueryStatement>();
- sb.append("{");
- sb.append("\"bool\": {");
-
- // Add the queries from our 'all' list.
- int matchQueriesCount = 0;
- int notMatchQueriesCount = 0;
- if (all != null) {
- sb.append("\"must\": [");
-
- for (QueryStatement query : all) {
- if (matchQueriesCount > 0) {
- sb.append(", ");
- }
-
- if (query.isNotMatch()) {
- notMatchQueries.add(query);
- } else {
- sb.append(query.toElasticSearch());
- matchQueriesCount++;
- }
- }
- sb.append("],");
-
-
- sb.append("\"must_not\": [");
- for (QueryStatement query : notMatchQueries) {
- if (notMatchQueriesCount > 0) {
- sb.append(", ");
- }
- sb.append(query.toElasticSearch());
- notMatchQueriesCount++;
- }
- sb.append("]");
- }
-
- // Add the queries from our 'any' list.
- notMatchQueries.clear();
- if (any != null) {
- if (all != null) {
- sb.append(",");
- }
- sb.append("\"should\": [");
-
- matchQueriesCount = 0;
- for (QueryStatement query : any) {
- //if(!firstQuery.compareAndSet(true, false)) {
- if (matchQueriesCount > 0) {
- sb.append(", ");
- }
-
- if (query.isNotMatch()) {
- notMatchQueries.add(query);
- } else {
- sb.append(query.toElasticSearch());
- matchQueriesCount++;
- }
- }
- sb.append("],");
-
- //firstQuery.set(true);
- notMatchQueriesCount = 0;
- sb.append("\"must_not\": [");
- for (QueryStatement query : notMatchQueries) {
- //if(!firstQuery.compareAndSet(true, false)) {
- if (notMatchQueriesCount > 0) {
- sb.append(", ");
- }
- sb.append(query.toElasticSearch());
- notMatchQueriesCount++;
- }
- sb.append("]");
- }
- sb.append("}");
- sb.append("}");
-
- return sb.toString();
- }
-
- @Override
- public String toString() {
-
- StringBuilder sb = new StringBuilder();
-
- sb.append("{");
-
- sb.append("all: [");
- if (all != null) {
- for (QueryStatement query : all) {
- sb.append(query.toString());
- }
- }
- sb.append("], ");
-
- sb.append("any: [");
- if (any != null) {
- for (QueryStatement query : any) {
- sb.append(query.toString());
- }
- }
- sb.append("] ");
-
- sb.append("}");
-
- return sb.toString();
- }
-}