From d4f1bfb65b04d982f084a2c8051db6550cd279e7 Mon Sep 17 00:00:00 2001 From: Gaurav Agrawal Date: Fri, 10 Mar 2017 12:46:47 +0530 Subject: [PATCH] YANG runtime manager to register default serializers. Change-Id: Ifddbc58b220c903eecc25b673f688b2d8a77ad2e --- apps/yang/BUCK | 12 +++++++ apps/yang/pom.xml | 10 ++++++ .../onosproject/yang/YangRuntimeManager.java | 4 +++ lib/BUCK | 32 ++++++++++++++++++- lib/deps.json | 6 ++++ 5 files changed, 63 insertions(+), 1 deletion(-) diff --git a/apps/yang/BUCK b/apps/yang/BUCK index 7af28b094a..85e557c8b6 100644 --- a/apps/yang/BUCK +++ b/apps/yang/BUCK @@ -3,6 +3,10 @@ COMPILE_DEPS = [ '//lib:onos-yang-model', '//lib:onos-yang-compiler-api', '//lib:onos-yang-runtime', + '//lib:onos-yang-serializers-json', + '//lib:onos-yang-serializers-xml', + '//lib:onos-yang-serializers-utils', + '//lib:org.apache.servicemix.bundles.dom4j', ] BUNDLES = [ @@ -12,6 +16,13 @@ BUNDLES = [ '//lib:onos-yang-runtime', ] +EXCLUDED_BUNDLES = [ + '//lib:onos-yang-serializers-json', + '//lib:onos-yang-serializers-xml', + '//lib:onos-yang-serializers-utils', + '//lib:org.apache.servicemix.bundles.dom4j', +] + osgi_jar ( deps = COMPILE_DEPS, ) @@ -22,4 +33,5 @@ onos_app ( url = 'http://onosproject.org', description = 'Base application to bring in the YANG libraries and assemble them for other apps to use.', included_bundles = BUNDLES, + excluded_bundles = EXCLUDED_BUNDLES, ) \ No newline at end of file diff --git a/apps/yang/pom.xml b/apps/yang/pom.xml index c277ece8ae..d523e25a63 100644 --- a/apps/yang/pom.xml +++ b/apps/yang/pom.xml @@ -35,5 +35,15 @@ onos-yang-runtime ${yang.version} + + org.onosproject + onos-yang-serializers-json + ${yang.version} + + + org.onosproject + onos-yang-serializers-xml + ${yang.version} + \ No newline at end of file diff --git a/apps/yang/src/main/java/org/onosproject/yang/YangRuntimeManager.java b/apps/yang/src/main/java/org/onosproject/yang/YangRuntimeManager.java index 1df5f1380c..c9a9ce9be1 100644 --- a/apps/yang/src/main/java/org/onosproject/yang/YangRuntimeManager.java +++ b/apps/yang/src/main/java/org/onosproject/yang/YangRuntimeManager.java @@ -36,6 +36,8 @@ import org.onosproject.yang.runtime.YangSerializerRegistry; import org.onosproject.yang.runtime.impl.DefaultYangModelRegistry; import org.onosproject.yang.runtime.impl.DefaultYangRuntimeHandler; import org.onosproject.yang.runtime.impl.DefaultYangSerializerRegistry; +import org.onosproject.yang.serializers.json.JsonSerializer; +import org.onosproject.yang.serializers.xml.XmlSerializer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,6 +68,8 @@ public class YangRuntimeManager implements YangModelRegistry, serializerRegistry = new DefaultYangSerializerRegistry(); modelRegistry = new DefaultYangModelRegistry(); runtimeService = new DefaultYangRuntimeHandler(serializerRegistry, modelRegistry); + serializerRegistry.registerSerializer(new JsonSerializer()); + serializerRegistry.registerSerializer(new XmlSerializer()); log.info("Started"); } diff --git a/lib/BUCK b/lib/BUCK index 807d1e2a8c..5b92525d4a 100644 --- a/lib/BUCK +++ b/lib/BUCK @@ -1,4 +1,4 @@ -# ***** This file was auto-generated at Thu, 9 Mar 2017 11:45:41 GMT. Do not edit this file manually. ***** +# ***** This file was auto-generated at Fri, 10 Mar 2017 07:03:42 GMT. Do not edit this file manually. ***** # ***** Use onos-lib-gen ***** pass_thru_pom( @@ -47,6 +47,9 @@ osgi_feature_group( ':onos-yang-model', ':onos-yang-compiler-api', ':onos-yang-maven-plugin', + ':onos-yang-serializers-json', + ':onos-yang-serializers-xml', + ':onos-yang-serializers-utils', ':org.apache.servicemix.bundles.dom4j', ], ) @@ -1213,6 +1216,33 @@ remote_jar ( visibility = [ 'PUBLIC' ], ) +remote_jar ( + name = 'onos-yang-serializers-json', + out = 'onos-yang-serializers-json-1.12.0-b6.jar', + url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:1.12.0-b6', + sha1 = '75286e48c80605ea1fa0fe667c0a8e6933e5c04f', + maven_coords = 'org.onosproject:onos-yang-serializers-json:1.12.0-b6', + visibility = [ 'PUBLIC' ], +) + +remote_jar ( + name = 'onos-yang-serializers-xml', + out = 'onos-yang-serializers-xml-1.12.0-b6.jar', + url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:1.12.0-b6', + sha1 = 'f748a79f2dca0704afbdf5769f700976961017c1', + maven_coords = 'org.onosproject:onos-yang-serializers-xml:1.12.0-b6', + visibility = [ 'PUBLIC' ], +) + +remote_jar ( + name = 'onos-yang-serializers-utils', + out = 'onos-yang-serializers-utils-1.12.0-b6.jar', + url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:1.12.0-b6', + sha1 = 'f6c2fecd595ec7a4ea3c61f21fad38f5202563e6', + maven_coords = 'org.onosproject:onos-yang-serializers-utils:1.12.0-b6', + visibility = [ 'PUBLIC' ], +) + remote_jar ( name = 'org.apache.servicemix.bundles.dom4j', out = 'org.apache.servicemix.bundles.dom4j-1.6.1_5.jar', diff --git a/lib/deps.json b/lib/deps.json index 172b80ed9e..765e534680 100644 --- a/lib/deps.json +++ b/lib/deps.json @@ -36,6 +36,9 @@ "onos-yang-model", "onos-yang-compiler-api", "onos-yang-maven-plugin", + "onos-yang-serializers-json", + "onos-yang-serializers-xml", + "onos-yang-serializers-utils", "org.apache.servicemix.bundles.dom4j" ], "CORE_DEPS": [ @@ -213,6 +216,9 @@ "onos-yang-model":"mvn:org.onosproject:onos-yang-model:1.12.0-b6", "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:1.12.0-b6", "onos-yang-runtime":"mvn:org.onosproject:onos-yang-runtime:1.12.0-b6", + "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:1.12.0-b6", + "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:1.12.0-b6", + "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:1.12.0-b6", "org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5", "openflowj-3.0": { "uri": "mvn:org.projectfloodlight:openflowj:3.0.0-SNAPSHOT",