diff --git a/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/GppModel.java b/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/GppModel.java index 22da774..423c905 100644 --- a/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/GppModel.java +++ b/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/GppModel.java @@ -283,13 +283,13 @@ protected CharSequence doEncode() { @Override protected void doDecode(CharSequence str) { - if (str == null || str.isEmpty() || (str.charAt(0) == 'D' && str.charAt(1) == 'B')) { + if (str == null || str.length() == 0 || (str.charAt(0) == 'D' && str.charAt(1) == 'B')) { if (!sections.isEmpty()) { sections.clear(); header.getSectionsIds().clear(); } - if (str != null && !str.isEmpty()) { + if (str != null && str.length() != 0) { List encodedSections = SlicedCharSequence.split(str, '~'); header.decode(encodedSections.get(0)); diff --git a/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/SlicedCharSequence.java b/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/SlicedCharSequence.java index b881e88..d4d9bb9 100644 --- a/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/SlicedCharSequence.java +++ b/iabgpp-encoder/src/main/java/com/iab/gpp/encoder/section/SlicedCharSequence.java @@ -38,7 +38,11 @@ public static List split(CharSequence charSequence, char splitter) } List out = null; int next = 0; - while ((next = base.indexOf(splitter, start, end)) != -1) { + // TODO: use base.indexOf(splitter, start, end) if the JDK baseline is set to above 21 + while ((next = base.indexOf(splitter, start)) != -1) { + if (next >= end) { + break; + } if (out == null) { // most sections/segments have less than 4 components out = new ArrayList<>(4); diff --git a/pom.xml b/pom.xml index c8a7ac0..0adc5e0 100644 --- a/pom.xml +++ b/pom.xml @@ -51,16 +51,47 @@ UTF-8 - 1.8 - 1.8 + 11 + + org.apache.maven.plugins + maven-compiler-plugin + 3.15.0 + + ${maven.compiler.release} + + maven-surefire-plugin - 2.22.2 + 3.5.6 + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.6.3 + + + enforce-java-and-maven + validate + + enforce + + + + + [11,) + + + [3.9.0,) + + + + + org.jacoco @@ -84,7 +115,7 @@ com.diffplug.spotless spotless-maven-plugin - 3.2.1 + 3.6.0 @@ -105,7 +136,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.0 + 3.4.0 attach-sources @@ -119,7 +150,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.3.1 + 3.12.0 public @@ -136,7 +167,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.5 + 3.2.8 sign-artifacts @@ -149,6 +180,16 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-enforcer-plugin + +