You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/01/19 17:11:03 UTC
[isis] 01/04: ISIS-2223: simplify FieldType,
not yet mitigating thread-local issue
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 5ea7164ef5d147387c9f022b6b197ad707a0eb4b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 19 17:40:12 2020 +0100
ISIS-2223: simplify FieldType, not yet mitigating thread-local issue
---
.../core/commons/internal/encoding/FieldType.java | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/core/commons/src/main/java/org/apache/isis/core/commons/internal/encoding/FieldType.java b/core/commons/src/main/java/org/apache/isis/core/commons/internal/encoding/FieldType.java
index 9b4ef04..4690fde 100644
--- a/core/commons/src/main/java/org/apache/isis/core/commons/internal/encoding/FieldType.java
+++ b/core/commons/src/main/java/org/apache/isis/core/commons/internal/encoding/FieldType.java
@@ -1294,7 +1294,7 @@ public abstract class FieldType<T> {
// debugging
// ///////////////////////////////////////////////////////
- private static ThreadLocal<int[]> debugIndent = new ThreadLocal<int[]>();
+ private static ThreadLocal<int[]> debugIndent = ThreadLocal.<int[]>withInitial(()->new int[1]);
private static void log(final FieldType<?> fieldType, final StringBuilder buf) {
buf.insert(0, ": ");
@@ -1308,10 +1308,7 @@ public abstract class FieldType<T> {
}
private static void unlog(final FieldType<?> fieldType) {
- unlog(fieldType, new StringBuilder());
- }
-
- private static void unlog(final FieldType<?> fieldType, final StringBuilder buf) {
+ final StringBuilder buf = new StringBuilder();
if (fieldType.isIndentingAndOutdenting()) {
buf.insert(0, "< ");
}
@@ -1327,28 +1324,19 @@ public abstract class FieldType<T> {
}
private static int currentDebugLevel() {
- return debugIndent()[0];
+ return debugIndent.get()[0];
}
private static void incrementDebugLevel() {
- final int[] indentLevel = debugIndent();
+ final int[] indentLevel = debugIndent.get();
indentLevel[0] += 2;
}
private static void decrementDebugLevel() {
- final int[] indentLevel = debugIndent();
+ final int[] indentLevel = debugIndent.get();
indentLevel[0] -= 2;
}
- private static int[] debugIndent() {
- int[] indentLevel = debugIndent.get();
- if (indentLevel == null) {
- indentLevel = new int[1];
- debugIndent.set(indentLevel);
- }
- return indentLevel;
- }
-
// ///////////////////////////////////////////////////////
// toString
// ///////////////////////////////////////////////////////