From 369672383e1fb6e5feb8664d15f225c106b22514 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 15 Apr 2020 10:17:27 +0000 Subject: Improve readability --- .../src/main/java/com/yahoo/document/idstring/IdIdString.java | 8 +++++--- document/src/main/java/com/yahoo/document/idstring/IdString.java | 1 + document/src/test/java/com/yahoo/document/IdIdStringTest.java | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'document') diff --git a/document/src/main/java/com/yahoo/document/idstring/IdIdString.java b/document/src/main/java/com/yahoo/document/idstring/IdIdString.java index 28573296370..9c75cf6828b 100644 --- a/document/src/main/java/com/yahoo/document/idstring/IdIdString.java +++ b/document/src/main/java/com/yahoo/document/idstring/IdIdString.java @@ -11,11 +11,13 @@ import com.yahoo.text.Utf8; * Time: 11:02 AM */ public class IdIdString extends IdString { - private String type; + private final String type; private String group; private long location; private boolean hasGroup; private boolean hasNumber; + private static final int SIZE_OF_ID_AND_3_COLONS = 2 + 3; // "id:::" + private static final int MAX_LENGTH = IdString.MAX_LENGTH_EXCEPT_NAMESPACE_SPECIFIC - SIZE_OF_ID_AND_3_COLONS; public static String replaceType(String id, String typeName) { int typeStartPos = id.indexOf(":", 3) + 1; @@ -47,9 +49,9 @@ public class IdIdString extends IdString { super(Scheme.id, namespace, localId); this.type = type; boolean hasSetLocation = false; - if (namespace.length() + type.length() + keyValues.length() + 5 >= IdString.MAX_LENGTH_EXCEPT_NAMESPACE_SPECIFIC) { + if (namespace.length() + type.length() + keyValues.length() >= MAX_LENGTH) { throw new IllegalArgumentException("Length of namespace(" + namespace.length() + ") + doctype(" + type.length() + - ") + key/values(" + keyValues.length() +"), is longer than " + (MAX_LENGTH_EXCEPT_NAMESPACE_SPECIFIC - 5)); + ") + key/values(" + keyValues.length() +"), is longer than " + MAX_LENGTH); } for(String pair : keyValues.split(",")) { int pos = pair.indexOf('='); diff --git a/document/src/main/java/com/yahoo/document/idstring/IdString.java b/document/src/main/java/com/yahoo/document/idstring/IdString.java index d25c39f3b44..2114a480ec3 100644 --- a/document/src/main/java/com/yahoo/document/idstring/IdString.java +++ b/document/src/main/java/com/yahoo/document/idstring/IdString.java @@ -42,6 +42,7 @@ public abstract class IdString { private final String namespace; private final String namespaceSpecific; private Utf8String cache; + // This max unsigned 16 bit integer - 1 as the offset will be length + 1 static final int MAX_LENGTH_EXCEPT_NAMESPACE_SPECIFIC = 0xfffe; /** diff --git a/document/src/test/java/com/yahoo/document/IdIdStringTest.java b/document/src/test/java/com/yahoo/document/IdIdStringTest.java index b321d91e6e9..7915f2c8b45 100644 --- a/document/src/test/java/com/yahoo/document/IdIdStringTest.java +++ b/document/src/test/java/com/yahoo/document/IdIdStringTest.java @@ -67,7 +67,7 @@ public class IdIdStringTest { } @Test - public void requireThatTooLongPreNamspaceSpecificThrowsWhileParsing() throws Exception { + public void requireThatTooLongPreNamespaceSpecificThrowsWhileParsing() throws Exception { StringBuilder builder = new StringBuilder("id:"); for (int i = 0; i < 0x10000; i++) { builder.append('n'); @@ -81,7 +81,7 @@ public class IdIdStringTest { } } @Test - public void requireThatTooLongPreNamspaceSpecificThrowsOnConstruction() { + public void requireThatTooLongPreNamespaceSpecificThrowsOnConstruction() { StringBuilder builder = new StringBuilder(); for (int i = 0; i < 0x10000; i++) { builder.append('n'); -- cgit v1.2.3