import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
+import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import com.google.common.base.Preconditions;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+
public class YangSchemaUtils {
public static final String AUGMENT_IDENTIFIER = "augment-identifier";
}
return null;
}
+
+
+ public static TypeDefinition<?> findTypeDefinition(SchemaContext context, SchemaPath path) {
+ List<QName> arguments = path.getPath();
+ QName first = arguments.get(0);
+ QName typeQName = arguments.get(arguments.size() -1);
+ DataNodeContainer previous = context.findModuleByNamespaceAndRevision(first.getNamespace(), first.getRevision());
+ if(previous == null) {
+ return null;
+ }
+ Preconditions.checkArgument(arguments.size() == 1);
+ for (QName qName : arguments) {
+ //previous.getDataChildByName(qName);
+ }
+ for(TypeDefinition<?> typedef : previous.getTypeDefinitions()) {
+ if(typedef.getQName().equals(typeQName)) {
+ return typedef;
+ }
+ }
+ return null;
+ }
}