aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTschaen, Brendan <ctschaen@att.com>2019-07-01 15:00:07 -0400
committerTschaen, Brendan <ctschaen@att.com>2019-07-01 15:00:07 -0400
commit5b43c6998e98f2fe9695f8dc9dc86be8bac2a320 (patch)
treef1080bd828eb785664c4ef8bfd4b0e5e3d21c0e6
parent960971d2b7cb4915925ea37ecc78e484b42d51af (diff)
Enhance PreparedQueryObject
Change-Id: I3da1ff5b5e8b63b6cf15a16cec5660e9ec9cf73d Issue-ID: MUSIC-422 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
-rw-r--r--src/main/java/org/onap/music/datastore/PreparedQueryObject.java56
-rw-r--r--src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java26
2 files changed, 69 insertions, 13 deletions
diff --git a/src/main/java/org/onap/music/datastore/PreparedQueryObject.java b/src/main/java/org/onap/music/datastore/PreparedQueryObject.java
index db317eb8..d65096a7 100644
--- a/src/main/java/org/onap/music/datastore/PreparedQueryObject.java
+++ b/src/main/java/org/onap/music/datastore/PreparedQueryObject.java
@@ -2,7 +2,7 @@
* ============LICENSE_START==========================================
* org.onap.music
* ===================================================================
- * Copyright (c) 2017 AT&T Intellectual Property
+ * Copyright (c) 2017-2019 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.
@@ -42,6 +42,35 @@ public class PreparedQueryObject {
private String primaryKeyValue;
+ /**
+ * Create PreparedQueryObject
+ */
+ public PreparedQueryObject() {
+ this.values = new ArrayList<>();
+ this.query = new StringBuilder();
+ }
+
+ /**
+ * Create PreparedQueryObject
+ * @param query query portion of the prepared query
+ */
+ public PreparedQueryObject(String query) {
+ this.values = new ArrayList<>();
+ this.query = new StringBuilder(query);
+ }
+
+ /**
+ * Create PreparedQueryObject
+ * @param query query portion of the prepared query
+ * @param values to be added to the query string as prepared query
+ */
+ public PreparedQueryObject(String query, Object...values) {
+ this.query = new StringBuilder(query);
+ this.values = new ArrayList<>();
+ for (Object value: values) {
+ this.values.add(value);
+ }
+ }
public String getKeyspaceName() {
return keyspaceName;
@@ -83,28 +112,29 @@ public class PreparedQueryObject {
this.consistency = consistency;
}
- /**
- *
- */
- public PreparedQueryObject() {
-
- this.values = new ArrayList<>();
- this.query = new StringBuilder();
- }
-
/**
- * @return
+ * @return values to be set as part of the prepared query
*/
public List<Object> getValues() {
return values;
}
/**
- * @param o
+ * @param o object to be added as a value to the prepared query, in order
*/
public void addValue(Object o) {
this.values.add(o);
}
+
+ /**
+ * Add values to the preparedQuery
+ * @param objs ordered list of objects to be added as values to the prepared query
+ */
+ public void addValues(Object... objs) {
+ for (Object obj: objs) {
+ this.values.add(obj);
+ }
+ }
/**
* @param s
@@ -117,7 +147,7 @@ public class PreparedQueryObject {
}
/**
- * @return
+ * @return the query
*/
public String getQuery() {
return this.query.toString();
diff --git a/src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java b/src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java
index 71e484a7..7ab7d148 100644
--- a/src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java
+++ b/src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java
@@ -72,4 +72,30 @@ public class PreparedQueryObjectTest {
assertEquals("primaryKeyValue", preparedQueryObject.getPrimaryKeyValue());
}
+ @Test
+ public void testAddValue() {
+ preparedQueryObject.addValue("one");
+ assertEquals("one", preparedQueryObject.getValues().get(0));
+ }
+
+ @Test
+ public void testAddValues() {
+ preparedQueryObject.addValues("one", "two", "three");
+ assertEquals(3, preparedQueryObject.getValues().size());
+ assertEquals("two", preparedQueryObject.getValues().get(1));
+ }
+
+ @Test
+ public void testConstructorQuery() {
+ preparedQueryObject = new PreparedQueryObject("some query string");
+ assertEquals("some query string", preparedQueryObject.getQuery());
+ }
+
+ @Test
+ public void testConstructorQueryValues() {
+ preparedQueryObject = new PreparedQueryObject("another query string", "a", "b", "c");
+ assertEquals("another query string", preparedQueryObject.getQuery());
+ assertEquals(3, preparedQueryObject.getValues().size());
+ assertEquals("b", preparedQueryObject.getValues().get(1));
+ }
}