diff options
author | Tschaen, Brendan <ctschaen@att.com> | 2019-07-01 15:00:07 -0400 |
---|---|---|
committer | Tschaen, Brendan <ctschaen@att.com> | 2019-07-01 15:00:07 -0400 |
commit | 5b43c6998e98f2fe9695f8dc9dc86be8bac2a320 (patch) | |
tree | f1080bd828eb785664c4ef8bfd4b0e5e3d21c0e6 | |
parent | 960971d2b7cb4915925ea37ecc78e484b42d51af (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.java | 56 | ||||
-rw-r--r-- | src/test/java/org/onap/music/datastore/PreparedQueryObjectTest.java | 26 |
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)); + } } |