summaryrefslogtreecommitdiffstats
path: root/cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java')
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java
index 8cad9f5e4..d713746e4 100644
--- a/cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/TempTableCreator.java
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
+import java.util.stream.Collectors;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import lombok.AllArgsConstructor;
@@ -82,8 +83,10 @@ public class TempTableCreator {
final String[] columnNames,
final Collection<List<String>> sqlData) {
final Collection<String> sqlInserts = new HashSet<>(sqlData.size());
- for (final Collection<String> row : sqlData) {
- sqlInserts.add("('" + String.join("','", row) + "')");
+ for (final Collection<String> rowValues : sqlData) {
+ final Collection<String> escapedValues =
+ rowValues.stream().map(it -> escapeSingleQuotesByDoublingThem(it)).collect(Collectors.toList());
+ sqlInserts.add("('" + String.join("','", escapedValues) + "')");
}
sqlStringBuilder.append("INSERT INTO ");
sqlStringBuilder.append(tempTableName);
@@ -94,4 +97,8 @@ public class TempTableCreator {
sqlStringBuilder.append(";");
}
+ private static String escapeSingleQuotesByDoublingThem(final String value) {
+ return value.replace("'", "''");
+ }
+
}