aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java')
-rw-r--r--src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java260
1 files changed, 130 insertions, 130 deletions
diff --git a/src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java b/src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java
index 2d9a8e1..4e8bdd0 100644
--- a/src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java
+++ b/src/main/java/org/onap/aai/sa/searchdbabstraction/searchapi/Filter.java
@@ -26,7 +26,9 @@ 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:
+ * <p>
+ * The expected JSON structure for a filter stanza is as follows:
+ *
* <pre>
* {
* "filter": {
@@ -38,149 +40,147 @@ import java.util.List;
*/
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(", ");
- }
+ /**
+ * All queries in this list must evaluate to true for the filter to pass.
+ */
+ private QueryStatement[] all;
- if (query.isNotMatch()) {
- notMatchQueries.add(query);
- } else {
- sb.append(query.toElasticSearch());
- matchQueriesCount++;
- }
- }
- sb.append("],");
+ /**
+ * Any one of the queries in this list must evaluate to true for the filter to pass.
+ */
+ private QueryStatement[] any;
- sb.append("\"must_not\": [");
- for (QueryStatement query : notMatchQueries) {
- if (notMatchQueriesCount > 0) {
- sb.append(", ");
- }
- sb.append(query.toElasticSearch());
- notMatchQueriesCount++;
- }
- sb.append("]");
+ public QueryStatement[] getAll() {
+ return all;
}
- // 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(", ");
- }
+ public void setAll(QueryStatement[] all) {
+ this.all = all;
+ }
+
+ public QueryStatement[] getAny() {
+ return any;
+ }
+
+ public void setAny(QueryStatement[] any) {
+ this.any = any;
+ }
- if (query.isNotMatch()) {
- notMatchQueries.add(query);
- } else {
- sb.append(query.toElasticSearch());
- matchQueriesCount++;
+ /**
+ * 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("]");
}
- }
- 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(", ");
+
+ // 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(query.toElasticSearch());
- notMatchQueriesCount++;
- }
- sb.append("]");
- }
- sb.append("}");
- sb.append("}");
+ sb.append("}");
+ sb.append("}");
- return sb.toString();
- }
+ return sb.toString();
+ }
- @Override
- public String toString() {
+ @Override
+ public String toString() {
- StringBuilder sb = new StringBuilder();
+ StringBuilder sb = new StringBuilder();
- sb.append("{");
+ sb.append("{");
- sb.append("all: [");
- if (all != null) {
- for (QueryStatement query : all) {
- sb.append(query.toString());
- }
- }
- 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("any: [");
+ if (any != null) {
+ for (QueryStatement query : any) {
+ sb.append(query.toString());
+ }
+ }
+ sb.append("] ");
- sb.append("}");
+ sb.append("}");
- return sb.toString();
- }
+ return sb.toString();
+ }
}