From: Patrick Brady Date: Wed, 17 Jul 2019 20:22:35 +0000 (-0700) Subject: Fixes for parameterized sql queries X-Git-Tag: 1.6.0~19 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=afad136327003c1a4b8f3a5708e27d96e3374d67;p=appc.git Fixes for parameterized sql queries The old non-parameterized queries would treat null entries in the SvcLogicContext as "null" string values. The parameterized query treats these as NULL sql values. This change keeps those values as "null" strings. Change-Id: Iee7f7a1861bdd82dc65d59db2be7862b49cf1207 Signed-off-by: Patrick Brady Issue-ID: APPC-1639 --- diff --git a/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/CtxParameterizedResolver.java b/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/CtxParameterizedResolver.java index d44ba066b..344463cd3 100644 --- a/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/CtxParameterizedResolver.java +++ b/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/CtxParameterizedResolver.java @@ -79,7 +79,8 @@ public class CtxParameterizedResolver { if (term != null) { term = term.replaceAll("'", "''"); } - arguments.add(term); + //valueOf will store null values as a String "null" + arguments.add(String.valueOf(term)); return "?"; } else { return (term); diff --git a/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/DBService.java b/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/DBService.java index 471b0b019..4f1df9b99 100644 --- a/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/DBService.java +++ b/appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/dbservices/DBService.java @@ -104,6 +104,7 @@ public class DBService { if (dblib != null && ctx != null) { String key = "select max(ASDC_ARTIFACTS_ID) as id from ASDC_ARTIFACTS WHERE ARTIFACT_NAME = ?"; ArrayList arguments = new ArrayList<>(); + arguments.add(artifactName); log.info("Getting Artifact ID String :" + key); status = dblib.query(key, ctx, arguments); if (status.toString().equals(FAILURE_PARAM)) {