Test-common module update 57/94557/7
authormanuedelf <emmanuelle.delfour@orange.com>
Fri, 11 Dec 2020 15:04:34 +0000 (16:04 +0100)
committermanuedelf <emmanuelle.delfour@orange.com>
Sat, 9 Jan 2021 14:41:35 +0000 (15:41 +0100)
Update test-common module to be able to deserialize json for yang object
that are not data object (notification, rpcdata).
- change parent to mdsal bing parent to be able to generate classes from
yang files : today converter can only parse json for data object not
notification or rpcdata. A temporary workaroud is to add stub model yang
data object.
- replace getBindingToNormalizedNodeCodec by getBindingDOMCodecServices
to have all the methods of BindingDOMCodecServices.
TODO: clean converter to use methods from BindingDOMCodecServices
and focus converter on parsing/writing json or xml file for data
object, notification or rpcdata.

JIRA: TRNSPRTPCE-230
Signed-off-by: manuedelf <emmanuelle.delfour@orange.com>
Change-Id: I201060182ffe6434ffe837198d84e44c35d237c5

test-common/pom.xml
test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContext.java
test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContextImpl.java
test-common/src/main/java/org/opendaylight/transportpce/test/converter/JSONDataObjectConverter.java
test-common/src/main/java/org/opendaylight/transportpce/test/converter/XMLDataObjectConverter.java

index 7850990ce25e1899579b3406504a7296da58d616..cf840c619903d3911760d96b2a93296b9ac22092 100644 (file)
@@ -10,9 +10,9 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>bundle-parent</artifactId>
-        <version>8.0.3</version>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>7.0.4</version>
         <relativePath />
     </parent>
 
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
-            <dependency>
-                <groupId>org.opendaylight.mdsal</groupId>
-                <artifactId>mdsal-artifacts</artifactId>
-                <version>7.0.4</version>
-                <scope>import</scope>
-                <type>pom</type>
-            </dependency>
         </dependencies>
     </dependencyManagement>
     <dependencies>
index b5b396ab28bc3a05ea1174b1f9b0ef52f34f7aa4..9b630b901bfe2063250f8a798ed0393457e6897d 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.transportpce.test;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.binding.api.NotificationService;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
@@ -26,10 +26,10 @@ public interface DataStoreContext {
 
     EffectiveModelContext getSchemaContext();
 
-    BindingNormalizedNodeSerializer getBindingToNormalizedNodeCodec();
-
     NotificationService getNotificationService();
 
     NotificationPublishService getNotificationPublishService();
 
+    BindingDOMCodecServices getBindingDOMCodecServices();
+
 }
index 0829a4ac3eabe28aaa35f234b22fad36c68eeebe..9fea5cb4a87042b17a2b0a68bfdef43e8e6e7c0f 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.mdsal.binding.dom.adapter.BindingAdapterFactory;
 import org.opendaylight.mdsal.binding.dom.adapter.ConstantAdapterContext;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
 import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
 import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices;
 import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers;
@@ -89,11 +88,6 @@ public class DataStoreContextImpl implements DataStoreContext {
         return schemaCtx;
     }
 
-    @Override
-    public BindingNormalizedNodeSerializer getBindingToNormalizedNodeCodec() {
-        return bindingDOMCodecServices;
-    }
-
     @Override
     public NotificationService getNotificationService() {
         return notificationService;
@@ -129,5 +123,10 @@ public class DataStoreContextImpl implements DataStoreContext {
                 FixedDOMSchemaService.of(bindingDOMCodecServices.getRuntimeContext()));
     }
 
+    @Override
+    public BindingDOMCodecServices getBindingDOMCodecServices() {
+        return bindingDOMCodecServices;
+    }
+
 
 }
index 62b442284f52a9b2fedb8f3eba1291fe3d068641..7693c8ff9fe69348b4412d609e19c825adef4354 100644 (file)
@@ -54,7 +54,7 @@ public final class JSONDataObjectConverter extends AbstractDataObjectConverter {
      */
     public static DataObjectConverter createWithDataStoreUtil(@Nonnull DataStoreContext dataStoreContextUtil) {
         return new JSONDataObjectConverter(dataStoreContextUtil.getSchemaContext(),
-                dataStoreContextUtil.getBindingToNormalizedNodeCodec());
+                dataStoreContextUtil.getBindingDOMCodecServices());
     }
 
     /**
@@ -132,7 +132,7 @@ public final class JSONDataObjectConverter extends AbstractDataObjectConverter {
         NormalizedNodeResult result = new NormalizedNodeResult();
         try (NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
             JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
-                JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(getSchemaContext()),
+                JSONCodecFactorySupplier.RFC7951.getShared(getSchemaContext()),
                 getSchemaContext())) {
             jsonParser.parse(reader);
         } catch (IOException e) {
index 10e402a86b64d1649d72c0e032275f340edfab0f..fefafd1819ceab6779ef48174cb411e2b32690d8 100644 (file)
@@ -72,7 +72,7 @@ public final class XMLDataObjectConverter extends AbstractDataObjectConverter {
      */
     public static XMLDataObjectConverter createWithDataStoreUtil(@Nonnull DataStoreContext dataStoreContextUtil) {
         BindingNormalizedNodeSerializer bindingToNormalizedNodeCodec =
-                dataStoreContextUtil.getBindingToNormalizedNodeCodec();
+                dataStoreContextUtil.getBindingDOMCodecServices();
         return new XMLDataObjectConverter(dataStoreContextUtil.getSchemaContext(), bindingToNormalizedNodeCodec);
     }