import org.opendaylight.yangtools.yang.model.api.SchemaContext;
public final class ParserFieldsParameter {
- private static final char COLON = ':';
- private static final char SEMICOLON = ';';
- private static final char SLASH = '/';
- private static final char STARTING_PARENTHESIS = '(';
- private static final char CLOSING_PARENTHESIS = ')';
-
private ParserFieldsParameter() {
}
while (currentPosition < input.length()) {
final char currentChar = input.charAt(currentPosition);
- if (ParserConstants.YANG_IDENTIFIER_PART.matches(currentChar) || currentChar == '/') {
- if (currentChar == SLASH) {
+ if (ParserConstants.YANG_IDENTIFIER_PART.matches(currentChar)) {
+ currentPosition++;
+ continue;
+ }
+
+ switch (currentChar) {
+ case '/':
// add parsed identifier to results for current level
- currentNode = addChildToResult(
- currentNode,
- input.substring(startPosition, currentPosition), currentQNameModule, currentLevel);
+ currentNode = addChildToResult(currentNode, input.substring(startPosition, currentPosition),
+ currentQNameModule, currentLevel);
// go one level down
currentLevel = prepareQNameLevel(parsed, currentLevel);
currentPosition++;
- startPosition = currentPosition;
- } else {
- currentPosition++;
- }
-
- continue;
- }
-
- switch (currentChar) {
- case COLON :
+ break;
+ case ':':
// new namespace and revision found
currentQNameModule = context.findModules(
input.substring(startPosition, currentPosition)).iterator().next().getQNameModule();
currentPosition++;
break;
- case STARTING_PARENTHESIS:
+ case '(':
// add current child to parsed results for current level
final DataSchemaContextNode<?> child = addChildToResult(
currentNode,
currentPosition = closingParenthesis + 1;
if (currentPosition != input.length()) {
if (currentPosition + 1 < input.length()) {
- if (input.charAt(currentPosition) == SEMICOLON) {
+ if (input.charAt(currentPosition) == ';') {
currentPosition++;
} else {
throw new RestconfDocumentedException(
}
break;
- case SEMICOLON:
+ case ';':
// complete identifier found
addChildToResult(
currentNode,
final Set<QName> nextLevel = new HashSet<>();
parsedQNames.add(nextLevel);
return nextLevel;
- } else {
- return parsedQNames.get(index + 1);
}
- } else {
- final Set<QName> nextLevel = new HashSet<>();
- parsedQNames.add(nextLevel);
- return nextLevel;
+
+ return parsedQNames.get(index + 1);
}
+
+ final Set<QName> nextLevel = new HashSet<>();
+ parsedQNames.add(nextLevel);
+ return nextLevel;
}
/**
while (position < input.length()) {
final char currentChar = input.charAt(position);
- if (currentChar == STARTING_PARENTHESIS) {
+ if (currentChar == '(') {
count++;
}
- if (currentChar == CLOSING_PARENTHESIS) {
+ if (currentChar == ')') {
count--;
}