Fixed some major sonar issues
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / XpathStringParsingPathArgumentBuilder.java
index 5bf9611492bb6575cbcfff8def3d671165a2b37d..133df37c1cc023f7791123a399c428091e9c8eaf 100644 (file)
@@ -12,6 +12,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import java.util.LinkedList;
+import java.util.List;
 import javax.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.Builder;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -70,7 +71,7 @@ class XpathStringParsingPathArgumentBuilder implements Builder<Iterable<PathArgu
     private final AbstractStringInstanceIdentifierCodec codec;
     private final String data;
 
-    private final LinkedList<PathArgument> product = new LinkedList<>();
+    private final List<PathArgument> product = new LinkedList<>();
 
     private DataSchemaContextNode<?> current;
     private int offset;
@@ -92,9 +93,9 @@ class XpathStringParsingPathArgumentBuilder implements Builder<Iterable<PathArgu
     }
 
     private PathArgument computeNextArgument() {
-        checkValid(SLASH  == currentChar(),"Identifier must start with '/'.");
+        checkValid(SLASH == currentChar(), "Identifier must start with '/'.");
         skipCurrentChar();
-
+        checkValid(!allCharactersConsumed(), "Identifier cannot end with '/'.");
         QName name = nextQName();
         if(allCharactersConsumed() || SLASH == currentChar()) {
             return computeIdentifier(name);