diff --git a/sqldev/pom.xml b/sqldev/pom.xml index f43e4ed0..559ef2db 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -33,10 +33,10 @@ oracle - javatools-nodeps - 13.0.0 + oracle.javatools-nodeps + 12.2.1 system - ${sqldev.basedir}/modules/oracle.javatools/javatools-nodeps.jar + ${sqldev.basedir}/external/oracle.javatools-nodeps.jar oracle @@ -192,19 +192,19 @@ org.springframework spring-jdbc - 5.2.6.RELEASE + 5.3.2 org.springframework spring-core - 5.2.6.RELEASE + 5.3.2 org.springframework spring-web - 5.2.6.RELEASE + 5.3.2 @@ -222,7 +222,7 @@ org.jetbrains annotations - 13.0 + 20.1.0 compile @@ -430,17 +430,33 @@ META-INF/extension.xml=target/classes/META-INF/extension.xml - org.utplsql.sqldev, + org.utplsql.sqldev.coverage, + org.utplsql.sqldev.dal, + org.utplsql.sqldev.exception, org.utplsql.sqldev.menu, + org.utplsql.sqldev.model, + org.utplsql.sqldev.model.oddgen, + org.utplsql.sqldev.model.parser, org.utplsql.sqldev.model.preference, - org.utplsql.sqldev.actions, - org.utplsql.sqldev.resources + org.utplsql.sqldev.model.runner, + org.utplsql.sqldev.model.ut, + org.utplsql.sqldev.oddgen, + org.utplsql.sqldev.parser, + org.utplsql.sqldev.resources, + org.utplsql.sqldev.runner, + org.utplsql.sqldev.snippet, + org.utplsql.sqldev.ui.common, + org.utplsql.sqldev.ui.coverage, + org.utplsql.sqldev.ui.preference, + org.utplsql.sqldev.ui.runner <_exportcontents> org.aspectj.runtime.internal, org.aspectj.lang, org.aspectj.runtime, - org.aspectj.lang.reflect + org.aspectj.lang.reflect, + org.springframework.core.style, + org.springframework.lang oracle.javatools, diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/JsonToStringStyler.java b/sqldev/src/main/java/org/utplsql/sqldev/model/JsonToStringStyler.java index 2fd04e73..1b5a99c0 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/JsonToStringStyler.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/JsonToStringStyler.java @@ -25,10 +25,11 @@ import org.springframework.core.style.ValueStyler; public class JsonToStringStyler implements ToStringStyler, ValueStyler{ - public static final ToStringStyler INSTANCE = new JsonToStringStyler(); public static final String INDENT_SPACES = " "; private int indent = 0; - + + private static ThreadLocal threadLocal = ThreadLocal.withInitial(JsonToStringStyler::new); + private void newLine(StringBuilder buffer) { buffer.append('\n'); buffer.append(getIndentSpaces(0)); @@ -45,7 +46,7 @@ private String getIndentSpaces(int indentOffset) { private String getStringStyle(String value) { StringBuilder sb = new StringBuilder(); sb.append('"'); - sb.append(value.replace("\"", "\\\"").replace("\n", "\\n").replace("\r", "")); + sb.append(value.replace("\\", "\\\\").replace("\"", "\\\"").replace("\n", "\\n").replace("\r", "").replace("\t", "\\t")); sb.append('"'); return sb.toString(); } @@ -95,7 +96,11 @@ private String getMapStyle(Map map) { private String getDefaultStyle(Object value) { return String.valueOf(value); } - + + public static ToStringStyler getInstance() { + return threadLocal.get(); + } + @Override public void styleStart(StringBuilder buffer, Object obj) { indent++; @@ -157,7 +162,7 @@ public String style(Object value) { } else if (value instanceof Map) { return getMapStyle((Map) value); } else { - return getDefaultStyle(value); + return getDefaultStyle(value.toString()); } } } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/oddgen/GenContext.java b/sqldev/src/main/java/org/utplsql/sqldev/model/oddgen/GenContext.java index 30fdfbf9..41fc456e 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/oddgen/GenContext.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/oddgen/GenContext.java @@ -40,7 +40,7 @@ public Connection getConn() { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("conn", conn) .append("objectType", objectType) .append("objectName", objectName) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/PlsqlObject.java b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/PlsqlObject.java index 122cfc1c..51806d53 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/PlsqlObject.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/PlsqlObject.java @@ -29,7 +29,7 @@ public class PlsqlObject { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("name", name) .append("type", type) .append("position", position) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.java b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.java index 990e877c..c6bdc5f8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.java @@ -25,7 +25,7 @@ public class Unit { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("name", name) .append("position", position) .append("positionOfName", positionOfName) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.java b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.java index 693ace05..33a3d190 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.java @@ -70,7 +70,7 @@ public static PreferenceModel getInstance(final PropertyStorage prefs) { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append(KEY_USE_REALTIME_REPORTER, isUseRealtimeReporter()) .append(KEY_UNSHARED_WORKSHEET, isUnsharedWorksheet()) .append(KEY_RESET_PACKAGE, isResetPackage()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.java index e14dc387..255a52cc 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.java @@ -35,7 +35,7 @@ public Counter() { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("disabled", disabled) .append("success", success) .append("failure", failure) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.java index 2738bce1..2ca29452 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.java @@ -28,7 +28,7 @@ public class Expectation { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("description", description) .append("message", message) .append("caller", caller) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.java index 059102c5..5f578ca2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.java @@ -34,7 +34,7 @@ public Item() { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("id", id) .append("startTime", startTime) .append("endTime", endTime) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.java index f24f8f52..73b4599a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.java @@ -29,7 +29,7 @@ public abstract class PostEvent extends RealtimeReporterEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("startTime", startTime) .append("endTime", endTime) .append("executionTime", executionTime) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.java index 8c8dbe2f..0a167432 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.java @@ -22,7 +22,7 @@ public class PostRunEvent extends PostEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) // ancestor .append("startTime", getStartTime()) .append("endTime", getEndTime()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.java index 292671c4..94671c33 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.java @@ -23,7 +23,7 @@ public class PostSuiteEvent extends PostEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) // ancestor .append("startTime", getStartTime()) .append("endTime", getEndTime()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.java index 92a43484..36b99abd 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.java @@ -29,7 +29,7 @@ public class PostTestEvent extends PostEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) // ancestor .append("startTime", getStartTime()) .append("endTime", getEndTime()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.java index dd1f0db8..3e150fec 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.java @@ -27,7 +27,7 @@ public class PreRunEvent extends RealtimeReporterEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("items", items) .append("totalNumberOfTests", totalNumberOfTests) .toString(); diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.java index 7b3ccf5c..7026952a 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.java @@ -23,7 +23,7 @@ public class PreSuiteEvent extends RealtimeReporterEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("id", id) .toString(); } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.java index 1fdbd362..30019335 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.java @@ -25,7 +25,7 @@ public class PreTestEvent extends RealtimeReporterEvent { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("id", id) .append("testNumber", testNumber) .append("totalNumberOfTests", totalNumberOfTests) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.java index 9d6b3358..eaae53b2 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.java @@ -21,6 +21,7 @@ import org.springframework.core.style.ToStringCreator; import org.utplsql.sqldev.model.JsonToStringStyler; +import org.utplsql.sqldev.model.URLTools; @SuppressWarnings("unused") public class Run { @@ -45,7 +46,7 @@ public class Run { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("reporterId", reporterId) .append("connectionName", connectionName) .append("pathList", pathList) @@ -82,7 +83,7 @@ public void setStartTime(final String startTime) { public String getName() { final String time = startTime.substring(11, 19); - final String conn = connectionName != null ? connectionName.substring(15) : "n/a"; + final String conn = connectionName != null ? URLTools.replaceHexChars(connectionName.substring(15)) : "n/a"; return time + " (" + conn + ")"; } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.java index b6ec4be2..1b9b1c1b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.java @@ -32,7 +32,7 @@ public Suite() { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) // ancestor .append("id", getId()) .append("startTime", getStartTime()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.java b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.java index 69338662..d24b8203 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.java @@ -37,7 +37,7 @@ public class Test extends Item { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) // ancestor .append("id", getId()) .append("startTime", getStartTime()) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/ut/Annotation.java b/sqldev/src/main/java/org/utplsql/sqldev/model/ut/Annotation.java index 3f69ef77..47e792c7 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/ut/Annotation.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/ut/Annotation.java @@ -27,7 +27,7 @@ public class Annotation { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("objectOwner", objectOwner) .append("objectName", objectName) .append("name", name) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/ut/OutputLines.java b/sqldev/src/main/java/org/utplsql/sqldev/model/ut/OutputLines.java index a8a041ae..75343d6b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/model/ut/OutputLines.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/model/ut/OutputLines.java @@ -24,7 +24,7 @@ public class OutputLines { @Override public String toString() { - return new ToStringCreator(this, JsonToStringStyler.INSTANCE) + return new ToStringCreator(this, JsonToStringStyler.getInstance()) .append("lines", lines) .append("numlines", numlines) .toString();