1 package org.opendaylight.controller.cluster.datastore.node.utils;
3 import org.opendaylight.yangtools.yang.common.QName;
4 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
6 import java.util.HashSet;
8 import java.util.regex.Matcher;
9 import java.util.regex.Pattern;
11 public class AugmentationIdentifierGenerator {
12 private final String id;
13 private static final Pattern pattern = Pattern.compile("AugmentationIdentifier\\Q{\\EchildNames=\\Q[\\E(.*)\\Q]}\\E");
14 private final Matcher matcher;
15 private final boolean doesMatch;
17 public AugmentationIdentifierGenerator(String id){
19 matcher = pattern.matcher(this.id);
20 doesMatch = matcher.matches();
23 public boolean matches(){
27 public YangInstanceIdentifier.AugmentationIdentifier getPathArgument(){
28 Set<QName> childNames = new HashSet<QName>();
29 final String childQNames = matcher.group(1);
31 final String[] splitChildQNames = childQNames.split(",");
33 for(String name : splitChildQNames){
35 org.opendaylight.controller.cluster.datastore.node.utils.QNameFactory
36 .create(name.trim()));
39 return new YangInstanceIdentifier.AugmentationIdentifier(null, childNames);