1 package org.opendaylight.controller.sal.binding.impl.util;
5 import org.opendaylight.yangtools.yang.common.QName;
6 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
7 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
8 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
10 import com.google.common.base.Preconditions;
12 public class YangSchemaUtils {
14 public static final String AUGMENT_IDENTIFIER = "augment-identifier";
17 public YangSchemaUtils() {
18 throw new UnsupportedOperationException("Helper class. Instantiation is prohibited");
22 public static QName getAugmentationQName(AugmentationSchema augmentation) {
23 Preconditions.checkNotNull(augmentation, "Augmentation must not be null.");
24 QName identifier = getAugmentationIdentifier(augmentation);
25 if(identifier != null) {
28 for(DataSchemaNode child : augmentation.getChildNodes()) {
29 // FIXME: Return true name
30 return QName.create(child.getQName(), "foo_augment");
32 // FIXME: Allways return a qname with module namespace.
36 public static QName getAugmentationIdentifier(AugmentationSchema augmentation) {
37 for(UnknownSchemaNode extension : augmentation.getUnknownSchemaNodes()) {
38 if(AUGMENT_IDENTIFIER.equals(extension.getNodeType().getLocalName())) {
39 return extension.getQName();