[ONOS-4351][ONOS-4524] Augment linking and defect fixed.
Change-Id: I7c8e8c90579eea4631e014c4906a543a3c249427
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
index d2132f0..d63b887 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
@@ -71,31 +71,32 @@
* RPC info.
*
* @param yangPlugin YANG plugin config
- * @throws IOException IO operations fails
+ * @throws TranslatorException translator operations fails
*/
@Override
- public void generateCodeEntry(YangPluginConfig yangPlugin)
- throws IOException {
+ public void generateCodeEntry(YangPluginConfig yangPlugin) throws TranslatorException {
if (!(this instanceof JavaCodeGeneratorInfo)) {
// TODO:throw exception
}
// Add package information for rpc and create corresponding folder.
- updatePackageInfo((JavaCodeGeneratorInfo) this, yangPlugin);
-
+ try {
+ updatePackageInfo(this, yangPlugin);
+ } catch (IOException e) {
+ throw new TranslatorException("Failed to prepare generate code entry for RPC node " + this.getName());
+ }
}
/**
* Creates a java file using the YANG RPC info.
*
- * @throws IOException IO operations fails
+ * @throws TranslatorException translator operations fails
*/
@Override
- public void generateCodeExit()
- throws IOException {
+ public void generateCodeExit() throws TranslatorException {
// Get the parent module/sub-module.
- YangNode parent = getParentNodeInGenCode((YangNode) this);
+ YangNode parent = getParentNodeInGenCode(this);
// Parent should be holder of rpc or notification.
if (!(parent instanceof RpcNotificationContainer)) {
@@ -110,7 +111,8 @@
JavaAttributeInfo javaAttributeInfoOfInput = null;
JavaAttributeInfo javaAttributeInfoOfOutput = null;
- // Get the child input and output node and obtain create java attribute info.
+ // Get the child input and output node and obtain create java attribute
+ // info.
YangNode yangNode = this.getChild();
while (yangNode != null) {
if (yangNode instanceof YangInput) {
@@ -130,10 +132,13 @@
/*
* Add the rpc information to the parent's service temp file.
*/
- ((TempJavaCodeFragmentFilesContainer) parent)
- .getTempJavaCodeFragmentFiles().getServiceTempFiles()
- .addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfoOfInput, javaAttributeInfoOfOutput,
- ((YangNode) this).getName());
+ try {
+ ((TempJavaCodeFragmentFilesContainer) parent).getTempJavaCodeFragmentFiles().getServiceTempFiles()
+ .addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfoOfInput, javaAttributeInfoOfOutput,
+ ((YangNode) this).getName());
+ } catch (IOException e) {
+ throw new TranslatorException("Failed to generate code for RPC node " + this.getName());
+ }
// No file will be generated during RPC exit.
}
@@ -210,5 +215,5 @@
public void setTempJavaCodeFragmentFiles(TempJavaCodeFragmentFiles fileHandle) {
tempJavaCodeFragmentFiles = fileHandle;
}
-}
+}