Skip to content

Commit 7fb1947

Browse files
Merge pull request #119 from PhilippSalvisberg/bugfix/issue-118-special-chars
Bugfix/issue 118 special chars
2 parents d375f92 + 122e92e commit 7fb1947

21 files changed

+58
-36
lines changed

sqldev/pom.xml

+27-11
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@
3333
</dependency>
3434
<dependency>
3535
<groupId>oracle</groupId>
36-
<artifactId>javatools-nodeps</artifactId>
37-
<version>13.0.0</version>
36+
<artifactId>oracle.javatools-nodeps</artifactId>
37+
<version>12.2.1</version>
3838
<scope>system</scope>
39-
<systemPath>${sqldev.basedir}/modules/oracle.javatools/javatools-nodeps.jar</systemPath>
39+
<systemPath>${sqldev.basedir}/external/oracle.javatools-nodeps.jar</systemPath>
4040
</dependency>
4141
<dependency>
4242
<groupId>oracle</groupId>
@@ -192,19 +192,19 @@
192192
<!-- used mainly to access the database via JdbcTemplate -->
193193
<groupId>org.springframework</groupId>
194194
<artifactId>spring-jdbc</artifactId>
195-
<version>5.2.6.RELEASE</version>
195+
<version>5.3.2</version>
196196
</dependency>
197197
<dependency>
198198
<!-- transitive reference, but IntelliJ wants to have it explicit (to avoid warnings) -->
199199
<groupId>org.springframework</groupId>
200200
<artifactId>spring-core</artifactId>
201-
<version>5.2.6.RELEASE</version>
201+
<version>5.3.2</version>
202202
</dependency>
203203
<dependency>
204204
<!-- used for HtmlUtils.htmlEscape in RunnerPanel -->
205205
<groupId>org.springframework</groupId>
206206
<artifactId>spring-web</artifactId>
207-
<version>5.2.6.RELEASE</version>
207+
<version>5.3.2</version>
208208
</dependency>
209209
<dependency>
210210
<!-- optional, for RunGenerator and TestGenerator -->
@@ -222,7 +222,7 @@
222222
<dependency>
223223
<groupId>org.jetbrains</groupId>
224224
<artifactId>annotations</artifactId>
225-
<version>13.0</version>
225+
<version>20.1.0</version>
226226
<scope>compile</scope>
227227
</dependency>
228228
</dependencies>
@@ -430,17 +430,33 @@
430430
META-INF/extension.xml=target/classes/META-INF/extension.xml
431431
</Include-Resource>
432432
<Export-Package>
433-
org.utplsql.sqldev,
433+
org.utplsql.sqldev.coverage,
434+
org.utplsql.sqldev.dal,
435+
org.utplsql.sqldev.exception,
434436
org.utplsql.sqldev.menu,
437+
org.utplsql.sqldev.model,
438+
org.utplsql.sqldev.model.oddgen,
439+
org.utplsql.sqldev.model.parser,
435440
org.utplsql.sqldev.model.preference,
436-
org.utplsql.sqldev.actions,
437-
org.utplsql.sqldev.resources
441+
org.utplsql.sqldev.model.runner,
442+
org.utplsql.sqldev.model.ut,
443+
org.utplsql.sqldev.oddgen,
444+
org.utplsql.sqldev.parser,
445+
org.utplsql.sqldev.resources,
446+
org.utplsql.sqldev.runner,
447+
org.utplsql.sqldev.snippet,
448+
org.utplsql.sqldev.ui.common,
449+
org.utplsql.sqldev.ui.coverage,
450+
org.utplsql.sqldev.ui.preference,
451+
org.utplsql.sqldev.ui.runner
438452
</Export-Package>
439453
<_exportcontents>
440454
org.aspectj.runtime.internal,
441455
org.aspectj.lang,
442456
org.aspectj.runtime,
443-
org.aspectj.lang.reflect
457+
org.aspectj.lang.reflect,
458+
org.springframework.core.style,
459+
org.springframework.lang
444460
</_exportcontents>
445461
<Require-Bundle>
446462
oracle.javatools,

sqldev/src/main/java/org/utplsql/sqldev/model/JsonToStringStyler.java

+10-5
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@
2525
import org.springframework.core.style.ValueStyler;
2626

2727
public class JsonToStringStyler implements ToStringStyler, ValueStyler{
28-
public static final ToStringStyler INSTANCE = new JsonToStringStyler();
2928
public static final String INDENT_SPACES = " ";
3029
private int indent = 0;
31-
30+
31+
private static ThreadLocal<JsonToStringStyler> threadLocal = ThreadLocal.withInitial(JsonToStringStyler::new);
32+
3233
private void newLine(StringBuilder buffer) {
3334
buffer.append('\n');
3435
buffer.append(getIndentSpaces(0));
@@ -45,7 +46,7 @@ private String getIndentSpaces(int indentOffset) {
4546
private String getStringStyle(String value) {
4647
StringBuilder sb = new StringBuilder();
4748
sb.append('"');
48-
sb.append(value.replace("\"", "\\\"").replace("\n", "\\n").replace("\r", ""));
49+
sb.append(value.replace("\\", "\\\\").replace("\"", "\\\"").replace("\n", "\\n").replace("\r", "").replace("\t", "\\t"));
4950
sb.append('"');
5051
return sb.toString();
5152
}
@@ -95,7 +96,11 @@ private String getMapStyle(Map<?, ?> map) {
9596
private String getDefaultStyle(Object value) {
9697
return String.valueOf(value);
9798
}
98-
99+
100+
public static ToStringStyler getInstance() {
101+
return threadLocal.get();
102+
}
103+
99104
@Override
100105
public void styleStart(StringBuilder buffer, Object obj) {
101106
indent++;
@@ -157,7 +162,7 @@ public String style(Object value) {
157162
} else if (value instanceof Map) {
158163
return getMapStyle((Map<?, ?>) value);
159164
} else {
160-
return getDefaultStyle(value);
165+
return getDefaultStyle(value.toString());
161166
}
162167
}
163168
}

sqldev/src/main/java/org/utplsql/sqldev/model/oddgen/GenContext.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public Connection getConn() {
4040

4141
@Override
4242
public String toString() {
43-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
43+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
4444
.append("conn", conn)
4545
.append("objectType", objectType)
4646
.append("objectName", objectName)

sqldev/src/main/java/org/utplsql/sqldev/model/parser/PlsqlObject.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class PlsqlObject {
2929

3030
@Override
3131
public String toString() {
32-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
32+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3333
.append("name", name)
3434
.append("type", type)
3535
.append("position", position)

sqldev/src/main/java/org/utplsql/sqldev/model/parser/Unit.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class Unit {
2525

2626
@Override
2727
public String toString() {
28-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
28+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2929
.append("name", name)
3030
.append("position", position)
3131
.append("positionOfName", positionOfName)

sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public static PreferenceModel getInstance(final PropertyStorage prefs) {
7070

7171
@Override
7272
public String toString() {
73-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
73+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
7474
.append(KEY_USE_REALTIME_REPORTER, isUseRealtimeReporter())
7575
.append(KEY_UNSHARED_WORKSHEET, isUnsharedWorksheet())
7676
.append(KEY_RESET_PACKAGE, isResetPackage())

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Counter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public Counter() {
3535

3636
@Override
3737
public String toString() {
38-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
38+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3939
.append("disabled", disabled)
4040
.append("success", success)
4141
.append("failure", failure)

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class Expectation {
2828

2929
@Override
3030
public String toString() {
31-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
31+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3232
.append("description", description)
3333
.append("message", message)
3434
.append("caller", caller)

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Item.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public Item() {
3434

3535
@Override
3636
public String toString() {
37-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
37+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3838
.append("id", id)
3939
.append("startTime", startTime)
4040
.append("endTime", endTime)

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public abstract class PostEvent extends RealtimeReporterEvent {
2929

3030
@Override
3131
public String toString() {
32-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
32+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3333
.append("startTime", startTime)
3434
.append("endTime", endTime)
3535
.append("executionTime", executionTime)

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostRunEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class PostRunEvent extends PostEvent {
2222

2323
@Override
2424
public String toString() {
25-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
25+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2626
// ancestor
2727
.append("startTime", getStartTime())
2828
.append("endTime", getEndTime())

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostSuiteEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class PostSuiteEvent extends PostEvent {
2323

2424
@Override
2525
public String toString() {
26-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
26+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2727
// ancestor
2828
.append("startTime", getStartTime())
2929
.append("endTime", getEndTime())

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PostTestEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class PostTestEvent extends PostEvent {
2929

3030
@Override
3131
public String toString() {
32-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
32+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3333
// ancestor
3434
.append("startTime", getStartTime())
3535
.append("endTime", getEndTime())

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreRunEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class PreRunEvent extends RealtimeReporterEvent {
2727

2828
@Override
2929
public String toString() {
30-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
30+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3131
.append("items", items)
3232
.append("totalNumberOfTests", totalNumberOfTests)
3333
.toString();

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreSuiteEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class PreSuiteEvent extends RealtimeReporterEvent {
2323

2424
@Override
2525
public String toString() {
26-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
26+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2727
.append("id", id)
2828
.toString();
2929
}

sqldev/src/main/java/org/utplsql/sqldev/model/runner/PreTestEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class PreTestEvent extends RealtimeReporterEvent {
2525

2626
@Override
2727
public String toString() {
28-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
28+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2929
.append("id", id)
3030
.append("testNumber", testNumber)
3131
.append("totalNumberOfTests", totalNumberOfTests)

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Run.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.springframework.core.style.ToStringCreator;
2323
import org.utplsql.sqldev.model.JsonToStringStyler;
24+
import org.utplsql.sqldev.model.URLTools;
2425

2526
@SuppressWarnings("unused")
2627
public class Run {
@@ -45,7 +46,7 @@ public class Run {
4546

4647
@Override
4748
public String toString() {
48-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
49+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
4950
.append("reporterId", reporterId)
5051
.append("connectionName", connectionName)
5152
.append("pathList", pathList)
@@ -82,7 +83,7 @@ public void setStartTime(final String startTime) {
8283

8384
public String getName() {
8485
final String time = startTime.substring(11, 19);
85-
final String conn = connectionName != null ? connectionName.substring(15) : "n/a";
86+
final String conn = connectionName != null ? URLTools.replaceHexChars(connectionName.substring(15)) : "n/a";
8687
return time + " (" + conn + ")";
8788
}
8889

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Suite.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public Suite() {
3232

3333
@Override
3434
public String toString() {
35-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
35+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3636
// ancestor
3737
.append("id", getId())
3838
.append("startTime", getStartTime())

sqldev/src/main/java/org/utplsql/sqldev/model/runner/Test.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class Test extends Item {
3737

3838
@Override
3939
public String toString() {
40-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
40+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
4141
// ancestor
4242
.append("id", getId())
4343
.append("startTime", getStartTime())

sqldev/src/main/java/org/utplsql/sqldev/model/ut/Annotation.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class Annotation {
2727

2828
@Override
2929
public String toString() {
30-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
30+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
3131
.append("objectOwner", objectOwner)
3232
.append("objectName", objectName)
3333
.append("name", name)

sqldev/src/main/java/org/utplsql/sqldev/model/ut/OutputLines.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class OutputLines {
2424

2525
@Override
2626
public String toString() {
27-
return new ToStringCreator(this, JsonToStringStyler.INSTANCE)
27+
return new ToStringCreator(this, JsonToStringStyler.getInstance())
2828
.append("lines", lines)
2929
.append("numlines", numlines)
3030
.toString();

0 commit comments

Comments
 (0)