YAB and YOB defect fix
Change-Id: Ifed54236cfa83b4754383467818581bec59191d9
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobHandler.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobHandler.java
index abb6248..28527ea 100755
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobHandler.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/yob/YobHandler.java
@@ -47,6 +47,9 @@
YangSchemaRegistry registry) {
String setterName = null;
YangSchemaNode node = curNode.getYangSchemaNode();
+ while (node.getReferredSchema() != null) {
+ node = node.getReferredSchema();
+ }
String qualName = getQualifiedDefaultClass(node);
ClassLoader classLoader = YobUtils.getClassLoader(registry, qualName,
@@ -56,7 +59,7 @@
setterName = node.getJavaAttributeName();
}
- Object workBench = new YobWorkBench(node, classLoader, qualName,
+ Object workBench = new YobWorkBench(curNode.getYangSchemaNode(), classLoader, qualName,
setterName);
curNode.addAppInfo(YOB, workBench);
@@ -71,8 +74,9 @@
*/
public void setInParent(YdtExtendedContext ydtNode,
YangSchemaRegistry schemaRegistry) {
- YobWorkBench yobWorkBench = (YobWorkBench) ydtNode.getAppInfo(YOB);
- yobWorkBench.setObjectInParent(ydtNode);
+ YdtExtendedContext parentNode = (YdtExtendedContext) ydtNode.getParent();
+ YobWorkBench parentWorkbench = (YobWorkBench) parentNode.getAppInfo(YOB);
+ parentWorkbench.setObject(ydtNode, schemaRegistry);
}
/**
@@ -88,6 +92,6 @@
YdtExtendedContext ydtRootNode,
YangSchemaRegistry schemaRegistry) {
YobWorkBench yobWorkBench = (YobWorkBench) ydtNode.getAppInfo(YOB);
- yobWorkBench.buildObject(ydtNode);
+ yobWorkBench.buildObject(ydtNode.getYdtContextOperationType(), schemaRegistry);
}
}