import com.google.common.annotations.Beta;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.api.Module;
@Beta
protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) {
final Module module = moduleForPrefix(prefix);
checkArgument(module != null, "Failed to lookup prefix %s", prefix);
- return QName.create(module.getQNameModule(), localName);
+
+ final QName qname = QName.create(module.getQNameModule(), localName);
+ for (IdentitySchemaNode identity : module.getIdentities()) {
+ if (qname.equals(identity.getQName())) {
+ return identity.getQName();
+ }
+ }
+
+ throw new IllegalArgumentException("Failed to find identity matching " + qname);
}
}