- public Collection<SchemaNodeIdentifier> parseArgumentValue(StmtContext<?, ?, ?> ctx, String value)
- throws SourceException {
-
- Splitter keySplitter = Splitter.on(SEPARATOR).omitEmptyStrings().trimResults();
- List<String> keyTokens = keySplitter.splitToList(value);
-
- // to detect if key contains duplicates
- if ((new HashSet<>(keyTokens)).size() < keyTokens.size()) {
- throw new IllegalArgumentException();
- }
-
- Set<SchemaNodeIdentifier> keyNodes = new HashSet<>();
-
- for (String keyToken : keyTokens) {
-
- SchemaNodeIdentifier keyNode = SchemaNodeIdentifier
- .create(true, Utils.qNameFromArgument(ctx, keyToken));
- keyNodes.add(keyNode);
+ public Collection<SchemaNodeIdentifier> parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
+ final Builder<SchemaNodeIdentifier> builder = ImmutableSet.builder();
+ int tokens = 0;
+ for (String keyToken : StmtContextUtils.LIST_KEY_SPLITTER.split(value)) {
+ builder.add(SchemaNodeIdentifier.create(false, Utils.qNameFromArgument(ctx, keyToken)));
+ tokens++;