ReadData and ReadDataReply protobuff messages 67/8867/6
authorBasheeruddin Ahmed <syedbahm@cisco.com>
Wed, 9 Jul 2014 17:36:48 +0000 (10:36 -0700)
committerMoiz Raja <moraja@cisco.com>
Mon, 28 Jul 2014 20:56:32 +0000 (13:56 -0700)
in distributed datastore
Signed-off-by: Basheeruddin Ahmed <syedbahm@cisco.com>
Change-Id: Ia8353fc70d7af8589de855fee82ec79f06c7a36b
Signed-off-by: Basheeruddin Ahmed <syedbahm@cisco.com>
13 files changed:
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardTransaction.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionProxy.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadData.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadDataReply.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/node/NodeToNormalizedNodeBuilder.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToNodeCodec.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/cluster/datastore/node/NormalizedNodeToProtocolBufferNode.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/protobuff/messages/common/NormalizedNodeMessages.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/java/org/opendaylight/controller/protobuff/messages/transaction/ShardTransactionMessages.java
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/resources/Common.proto
opendaylight/md-sal/sal-protocolbuffer-encoding/src/main/resources/ShardTransaction.proto

index 835ad68bf2df2caf047055bf86eead5ce045bca2..7a0b19742e7843c979bd21d35eb5c28cafd5dfc8 100644 (file)
@@ -123,8 +123,8 @@ public class ShardTransaction extends AbstractUntypedActor {
 
     @Override
     public void handleReceive(Object message) throws Exception {
 
     @Override
     public void handleReceive(Object message) throws Exception {
-        if (message instanceof ReadData) {
-            readData((ReadData) message);
+        if (ReadData.SERIALIZABLE_CLASS.equals(message.getClass())) {
+            readData(ReadData.fromSerializable(message));
         } else if (WriteData.SERIALIZABLE_CLASS.equals(message.getClass())) {
             writeData(WriteData.fromSerializable(message, schemaContext));
         } else if (MergeData.SERIALIZABLE_CLASS.equals(message.getClass())) {
         } else if (WriteData.SERIALIZABLE_CLASS.equals(message.getClass())) {
             writeData(WriteData.fromSerializable(message, schemaContext));
         } else if (MergeData.SERIALIZABLE_CLASS.equals(message.getClass())) {
@@ -139,6 +139,8 @@ public class ShardTransaction extends AbstractUntypedActor {
             // This is here for testing only
             getSender().tell(new GetCompositeModificationReply(
                 new ImmutableCompositeModification(modification)), getSelf());
             // This is here for testing only
             getSender().tell(new GetCompositeModificationReply(
                 new ImmutableCompositeModification(modification)), getSelf());
+        }else{
+          throw new Exception ("handleRecieve received an unknown mesages"+message);
         }
     }
 
         }
     }
 
@@ -155,9 +157,9 @@ public class ShardTransaction extends AbstractUntypedActor {
                 try {
                     Optional<NormalizedNode<?, ?>> optional = future.get();
                     if (optional.isPresent()) {
                 try {
                     Optional<NormalizedNode<?, ?>> optional = future.get();
                     if (optional.isPresent()) {
-                        sender.tell(new ReadDataReply(optional.get()), self);
+                        sender.tell(new ReadDataReply(schemaContext,optional.get()).toSerializable(), self);
                     } else {
                     } else {
-                        sender.tell(new ReadDataReply(null), self);
+                        sender.tell(new ReadDataReply(schemaContext,null).toSerializable(), self);
                     }
                 } catch (InterruptedException | ExecutionException e) {
                     log.error(e,
                     }
                 } catch (InterruptedException | ExecutionException e) {
                     log.error(e,
index aefe357e6834f4065504f99d751fca06d9c69dc8..e30076d09e05930f6441a9454b791a83cfd180d8 100644 (file)
@@ -94,10 +94,10 @@ public class TransactionProxy implements DOMStoreReadWriteTransaction {
 
             @Override public Optional<NormalizedNode<?,?>> call() throws Exception {
                 Object response = actorContext
 
             @Override public Optional<NormalizedNode<?,?>> call() throws Exception {
                 Object response = actorContext
-                    .executeRemoteOperation(remoteTransaction, new ReadData(path),
+                    .executeRemoteOperation(remoteTransaction, new ReadData(path).toSerializable(),
                         ActorContext.ASK_DURATION);
                         ActorContext.ASK_DURATION);
-                if(response instanceof ReadDataReply){
-                    ReadDataReply reply = (ReadDataReply) response;
+                if(response.getClass().equals(ReadDataReply.SERIALIZABLE_CLASS)){
+                    ReadDataReply reply = ReadDataReply.fromSerializable(schemaContext,path, response);
                     if(reply.getNormalizedNode() == null){
                         return Optional.absent();
                     }
                     if(reply.getNormalizedNode() == null){
                         return Optional.absent();
                     }
index f3d623e17b27b7d3ff7e3691b4fff0b29966e33f..cb6347f3e54909330ea924956029f895f44f69e1 100644 (file)
@@ -26,7 +26,7 @@ public class ReadData {
 
   public Object toSerializable(){
     return ShardTransactionMessages.ReadData.newBuilder()
 
   public Object toSerializable(){
     return ShardTransactionMessages.ReadData.newBuilder()
-        .setInstanceIdentifierPathArguments(InstanceIdentifierUtils.getParentPath(path.toString()))
+        .setInstanceIdentifierPathArguments(path.toString())
         .build();
   }
 
         .build();
   }
 
index 52e2c29249704fc2831b1db0d97ad1a4f9b2ecdc..a8926be77979e19882c84be8a1a5fd8fd4ac1ea2 100644 (file)
@@ -8,17 +8,41 @@
 
 package org.opendaylight.controller.cluster.datastore.messages;
 
 
 package org.opendaylight.controller.cluster.datastore.messages;
 
+import org.opendaylight.controller.cluster.datastore.node.NormalizedNodeToNodeCodec;
+import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 
-public class ReadDataReply {
+public class ReadDataReply implements SerializableMessage{
   private final NormalizedNode<?, ?> normalizedNode;
   private final NormalizedNode<?, ?> normalizedNode;
-
-  public ReadDataReply(NormalizedNode<?, ?> normalizedNode){
+  private final SchemaContext schemaContext;
+  public static final Class SERIALIZABLE_CLASS = ShardTransactionMessages.ReadDataReply.class;
+  public ReadDataReply(SchemaContext context,NormalizedNode<?, ?> normalizedNode){
 
     this.normalizedNode = normalizedNode;
 
     this.normalizedNode = normalizedNode;
+    this.schemaContext = context;
   }
 
   public NormalizedNode<?, ?> getNormalizedNode() {
     return normalizedNode;
   }
   }
 
   public NormalizedNode<?, ?> getNormalizedNode() {
     return normalizedNode;
   }
+
+  public Object toSerializable(){
+    if(normalizedNode != null) {
+      return ShardTransactionMessages.ReadDataReply.newBuilder()
+          .setNormalizedNode(new NormalizedNodeToNodeCodec(schemaContext)
+                  .encode(InstanceIdentifier.builder().build(), normalizedNode).getNormalizedNode()
+          ).build();
+    }else{
+      return ShardTransactionMessages.ReadDataReply.newBuilder().build();
+
+    }
+
+  }
+
+  public static ReadDataReply fromSerializable(SchemaContext schemaContext,InstanceIdentifier id,Object serializable){
+    ShardTransactionMessages.ReadDataReply o = (ShardTransactionMessages.ReadDataReply) serializable;
+    return new ReadDataReply(schemaContext,new NormalizedNodeToNodeCodec(schemaContext).decode(id, o.getNormalizedNode()));
+  }
 }
 }
index abea7852111f6a9397777b496d85384d2c06ef3e..68cee1fcaccd91c51c18f6cfab65e45da494bc39 100644 (file)
@@ -51,22 +51,22 @@ public class ShardTransactionTest extends AbstractActorTest {
         new JavaTestKit(getSystem()) {{
             final ActorRef shard = getSystem().actorOf(Shard.props("config"));
             final Props props =
         new JavaTestKit(getSystem()) {{
             final ActorRef shard = getSystem().actorOf(Shard.props("config"));
             final Props props =
-                ShardTransaction.props(store.newReadWriteTransaction(), shard, TestModel.createTestContext());
+                ShardTransaction.props(store.newReadWriteTransaction(), shard, testSchemaContext);
             final ActorRef subject = getSystem().actorOf(props, "testReadData");
 
             new Within(duration("1 seconds")) {
                 protected void run() {
 
                     subject.tell(
             final ActorRef subject = getSystem().actorOf(props, "testReadData");
 
             new Within(duration("1 seconds")) {
                 protected void run() {
 
                     subject.tell(
-                        new ReadData(InstanceIdentifier.builder().build()),
+                        new ReadData(InstanceIdentifier.builder().build()).toSerializable(),
                         getRef());
 
                     final String out = new ExpectMsg<String>("match hint") {
                         // do not put code outside this method, will run afterwards
                         protected String match(Object in) {
                         getRef());
 
                     final String out = new ExpectMsg<String>("match hint") {
                         // do not put code outside this method, will run afterwards
                         protected String match(Object in) {
-                            if (in instanceof ReadDataReply) {
-                                if (((ReadDataReply) in).getNormalizedNode()
-                                    != null) {
+                            if (in.getClass().equals(ReadDataReply.SERIALIZABLE_CLASS)) {
+                              if (ReadDataReply.fromSerializable(testSchemaContext,InstanceIdentifier.builder().build(), in)
+                                  .getNormalizedNode()!= null) {
                                     return "match";
                                 }
                                 return null;
                                     return "match";
                                 }
                                 return null;
@@ -91,21 +91,22 @@ public class ShardTransactionTest extends AbstractActorTest {
         new JavaTestKit(getSystem()) {{
             final ActorRef shard = getSystem().actorOf(Shard.props("config"));
             final Props props =
         new JavaTestKit(getSystem()) {{
             final ActorRef shard = getSystem().actorOf(Shard.props("config"));
             final Props props =
-                ShardTransaction.props(store.newReadWriteTransaction(), shard, TestModel.createTestContext());
+                ShardTransaction.props(store.newReadWriteTransaction(), shard, testSchemaContext);
             final ActorRef subject = getSystem().actorOf(props, "testReadDataWhenDataNotFound");
 
             new Within(duration("1 seconds")) {
                 protected void run() {
 
                     subject.tell(
             final ActorRef subject = getSystem().actorOf(props, "testReadDataWhenDataNotFound");
 
             new Within(duration("1 seconds")) {
                 protected void run() {
 
                     subject.tell(
-                        new ReadData(TestModel.TEST_PATH),
+                        new ReadData(TestModel.TEST_PATH).toSerializable(),
                         getRef());
 
                     final String out = new ExpectMsg<String>("match hint") {
                         // do not put code outside this method, will run afterwards
                         protected String match(Object in) {
                         getRef());
 
                     final String out = new ExpectMsg<String>("match hint") {
                         // do not put code outside this method, will run afterwards
                         protected String match(Object in) {
-                            if (in instanceof ReadDataReply) {
-                                if (((ReadDataReply) in).getNormalizedNode()
+                            if (in.getClass().equals(ReadDataReply.SERIALIZABLE_CLASS)) {
+                                if (ReadDataReply.fromSerializable(testSchemaContext,TestModel.TEST_PATH, in)
+                                    .getNormalizedNode()
                                     == null) {
                                     return "match";
                                 }
                                     == null) {
                                     return "match";
                                 }
index ac1ac376e903857f52dc351e490c5158ad6267fc..1e9fc90a6e1e9831ab9ecb86f5692dbacf7aec6f 100644 (file)
@@ -40,6 +40,7 @@ public class TransactionProxyTest extends AbstractActorTest {
         actorContext.setExecuteShardOperationResponse(createTransactionReply(actorRef));
         actorContext.setExecuteRemoteOperationResponse("message");
 
         actorContext.setExecuteShardOperationResponse(createTransactionReply(actorRef));
         actorContext.setExecuteRemoteOperationResponse("message");
 
+
         TransactionProxy transactionProxy =
             new TransactionProxy(actorContext,
                 TransactionProxy.TransactionType.READ_ONLY, transactionExecutor, TestModel.createTestContext());
         TransactionProxy transactionProxy =
             new TransactionProxy(actorContext,
                 TransactionProxy.TransactionType.READ_ONLY, transactionExecutor, TestModel.createTestContext());
@@ -53,7 +54,7 @@ public class TransactionProxyTest extends AbstractActorTest {
         Assert.assertFalse(normalizedNodeOptional.isPresent());
 
         actorContext.setExecuteRemoteOperationResponse(new ReadDataReply(
         Assert.assertFalse(normalizedNodeOptional.isPresent());
 
         actorContext.setExecuteRemoteOperationResponse(new ReadDataReply(
-            ImmutableNodes.containerNode(TestModel.TEST_QNAME)));
+            TestModel.createTestContext(),ImmutableNodes.containerNode(TestModel.TEST_QNAME)).toSerializable());
 
         read = transactionProxy.read(TestModel.TEST_PATH);
 
 
         read = transactionProxy.read(TestModel.TEST_PATH);
 
@@ -84,7 +85,7 @@ public class TransactionProxyTest extends AbstractActorTest {
         Assert.assertFalse(normalizedNodeOptional.isPresent());
 
         actorContext.setExecuteRemoteOperationResponse(new ReadDataReply(
         Assert.assertFalse(normalizedNodeOptional.isPresent());
 
         actorContext.setExecuteRemoteOperationResponse(new ReadDataReply(
-            null));
+           TestModel.createTestContext(), null).toSerializable());
 
         read = transactionProxy.read(TestModel.TEST_PATH);
 
 
         read = transactionProxy.read(TestModel.TEST_PATH);
 
index cac3382d5667c4899f56202f566b81c472362002..b0ba487177b7d1004b08d5645661c8d76ac55614 100644 (file)
@@ -193,7 +193,8 @@ public abstract class NodeToNormalizedNodeBuilder<T extends PathArgument>
     public final NormalizedNodeContainer<?, ?, ?> normalize(
         final QName nodeType, final Node node) {
       checkArgument(node != null);
     public final NormalizedNodeContainer<?, ?, ?> normalize(
         final QName nodeType, final Node node) {
       checkArgument(node != null);
-      if (!node.getType().equals(AugmentationNode.class.getSimpleName())) {
+
+      if (!node.getType().equals(AugmentationNode.class.getSimpleName())&& !node.getType().equals(ContainerNode.class.getSimpleName())) {
         checkArgument(nodeType != null);
       }
 
         checkArgument(nodeType != null);
       }
 
index 23d412708e240d9dd60197d58336df5680996408..8a940af8bcbb60ba812385537cdc0f43dcf69df0 100644 (file)
@@ -54,7 +54,11 @@ public class NormalizedNodeToNodeCodec {
                 }
             }
             try {
                 }
             }
             try {
-                return currentOp.normalize(nodeType , node);
+                if((node != null)&& (!node.getType().isEmpty())){
+                   return currentOp.normalize(nodeType, node);
+                }else{
+                  return null;
+               }
             } catch(RuntimeException e){
                 throw e;
         }
             } catch(RuntimeException e){
                 throw e;
         }
index 6b2f1bd187c1f8f9e5854ec2cb93c7d052a39444..255af561ba79155eaa49bbc3228d59b7019dbcf6 100644 (file)
@@ -1,5 +1,5 @@
 package org.opendaylight.controller.cluster.datastore.node;
 package org.opendaylight.controller.cluster.datastore.node;
-import com.google.common.base.Preconditions;
+
 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
 import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -46,15 +46,21 @@ public class NormalizedNodeToProtocolBufferNode {
       parentPath = "";
     }
 
       parentPath = "";
     }
 
-    Preconditions.checkArgument(normalizedNode!=null);
-
-    navigateNormalizedNode(0, parentPath,normalizedNode, builderRoot);
-    // here we need to put back the Node Tree in Container
     NormalizedNodeMessages.Container.Builder containerBuilder =
         NormalizedNodeMessages.Container.newBuilder();
     NormalizedNodeMessages.Container.Builder containerBuilder =
         NormalizedNodeMessages.Container.newBuilder();
-    containerBuilder.setParentPath(parentPath).setNormalizedNode(
-        builderRoot.build());
-    container = containerBuilder.build();
+
+    if(normalizedNode != null) {
+
+      navigateNormalizedNode(0, parentPath, normalizedNode, builderRoot);
+      // here we need to put back the Node Tree in Container
+
+      container= containerBuilder.setParentPath(parentPath).setNormalizedNode(
+          builderRoot.build()).build();
+    }else {
+      //this can happen when an attempt was made to read from datastore and normalized node was null.
+      container = containerBuilder.setParentPath(parentPath).build();
+
+    }
 
   }
 
 
   }
 
index 3a19ab2dd34f1bc26835ecddac41d7ea18c060ed..61193abe711301b5872f5e449f422011f0f489bd 100644 (file)
@@ -2200,17 +2200,17 @@ public final class NormalizedNodeMessages {
     com.google.protobuf.ByteString
         getParentPathBytes();
 
     com.google.protobuf.ByteString
         getParentPathBytes();
 
-    // required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
+    // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
     /**
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     boolean hasNormalizedNode();
     /**
      */
     boolean hasNormalizedNode();
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode();
     /**
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode();
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder();
   }
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder();
   }
@@ -2366,23 +2366,23 @@ public final class NormalizedNodeMessages {
       }
     }
 
       }
     }
 
-    // required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
+    // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
     public static final int NORMALIZEDNODE_FIELD_NUMBER = 2;
     private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_;
     /**
     public static final int NORMALIZEDNODE_FIELD_NUMBER = 2;
     private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_;
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     public boolean hasNormalizedNode() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
      */
     public boolean hasNormalizedNode() {
       return ((bitField0_ & 0x00000002) == 0x00000002);
     }
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
       return normalizedNode_;
     }
     /**
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
       return normalizedNode_;
     }
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
       return normalizedNode_;
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
       return normalizedNode_;
@@ -2401,13 +2401,11 @@ public final class NormalizedNodeMessages {
         memoizedIsInitialized = 0;
         return false;
       }
         memoizedIsInitialized = 0;
         return false;
       }
-      if (!hasNormalizedNode()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getNormalizedNode().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
+      if (hasNormalizedNode()) {
+        if (!getNormalizedNode().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
       }
       memoizedIsInitialized = 1;
       return true;
       }
       memoizedIsInitialized = 1;
       return true;
@@ -2637,13 +2635,11 @@ public final class NormalizedNodeMessages {
 
           return false;
         }
 
           return false;
         }
-        if (!hasNormalizedNode()) {
-
-          return false;
-        }
-        if (!getNormalizedNode().isInitialized()) {
+        if (hasNormalizedNode()) {
+          if (!getNormalizedNode().isInitialized()) {
 
 
-          return false;
+            return false;
+          }
         }
         return true;
       }
         }
         return true;
       }
@@ -2741,18 +2737,18 @@ public final class NormalizedNodeMessages {
         return this;
       }
 
         return this;
       }
 
-      // required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
+      // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;
       private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_ = org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder> normalizedNodeBuilder_;
       /**
       private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_ = org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder> normalizedNodeBuilder_;
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public boolean hasNormalizedNode() {
         return ((bitField0_ & 0x00000002) == 0x00000002);
       }
       /**
        */
       public boolean hasNormalizedNode() {
         return ((bitField0_ & 0x00000002) == 0x00000002);
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
@@ -2762,7 +2758,7 @@ public final class NormalizedNodeMessages {
         }
       }
       /**
         }
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public Builder setNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder setNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
@@ -2778,7 +2774,7 @@ public final class NormalizedNodeMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public Builder setNormalizedNode(
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder builderForValue) {
        */
       public Builder setNormalizedNode(
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder builderForValue) {
@@ -2792,7 +2788,7 @@ public final class NormalizedNodeMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public Builder mergeNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder mergeNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
@@ -2811,7 +2807,7 @@ public final class NormalizedNodeMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public Builder clearNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder clearNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
@@ -2824,7 +2820,7 @@ public final class NormalizedNodeMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder getNormalizedNodeBuilder() {
         bitField0_ |= 0x00000002;
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder getNormalizedNodeBuilder() {
         bitField0_ |= 0x00000002;
@@ -2832,7 +2828,7 @@ public final class NormalizedNodeMessages {
         return getNormalizedNodeFieldBuilder().getBuilder();
       }
       /**
         return getNormalizedNodeFieldBuilder().getBuilder();
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
         if (normalizedNodeBuilder_ != null) {
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
         if (normalizedNodeBuilder_ != null) {
@@ -2842,7 +2838,7 @@ public final class NormalizedNodeMessages {
         }
       }
       /**
         }
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 2;</code>
        */
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder>
        */
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder>
@@ -2900,7 +2896,7 @@ public final class NormalizedNodeMessages {
       "aylight.controller.mdsal.Attribute\0226\n\005ch" +
       "ild\030\004 \003(\0132\'.org.opendaylight.controller." +
       "mdsal.Node\022\r\n\005value\030\005 \001(\t\"`\n\tContainer\022\022" +
       "aylight.controller.mdsal.Attribute\0226\n\005ch" +
       "ild\030\004 \003(\0132\'.org.opendaylight.controller." +
       "mdsal.Node\022\r\n\005value\030\005 \001(\t\"`\n\tContainer\022\022" +
-      "\n\nparentPath\030\001 \002(\t\022?\n\016normalizedNode\030\002 \002" +
+      "\n\nparentPath\030\001 \002(\t\022?\n\016normalizedNode\030\002 \001" +
       "(\0132\'.org.opendaylight.controller.mdsal.N" +
       "odeBO\n5org.opendaylight.controller.proto",
       "buff.messages.commonB\026NormalizedNodeMess" +
       "(\0132\'.org.opendaylight.controller.mdsal.N" +
       "odeBO\n5org.opendaylight.controller.proto",
       "buff.messages.commonB\026NormalizedNodeMess" +
index 76fe604008e8885db23cc15e93ed3554db75aeb2..8dbb28acb0f42abe54e041d4e307b0940d218743 100644 (file)
@@ -3636,17 +3636,17 @@ public final class ShardTransactionMessages {
   public interface ReadDataReplyOrBuilder
       extends com.google.protobuf.MessageOrBuilder {
 
   public interface ReadDataReplyOrBuilder
       extends com.google.protobuf.MessageOrBuilder {
 
-    // required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
+    // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
     /**
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     boolean hasNormalizedNode();
     /**
      */
     boolean hasNormalizedNode();
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode();
     /**
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode();
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder();
   }
      */
     org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder();
   }
@@ -3754,23 +3754,23 @@ public final class ShardTransactionMessages {
     }
 
     private int bitField0_;
     }
 
     private int bitField0_;
-    // required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
+    // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
     public static final int NORMALIZEDNODE_FIELD_NUMBER = 1;
     private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_;
     /**
     public static final int NORMALIZEDNODE_FIELD_NUMBER = 1;
     private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_;
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     public boolean hasNormalizedNode() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
      */
     public boolean hasNormalizedNode() {
       return ((bitField0_ & 0x00000001) == 0x00000001);
     }
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
       return normalizedNode_;
     }
     /**
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
       return normalizedNode_;
     }
     /**
-     * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+     * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
       return normalizedNode_;
      */
     public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
       return normalizedNode_;
@@ -3784,13 +3784,11 @@ public final class ShardTransactionMessages {
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized != -1) return isInitialized == 1;
 
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized != -1) return isInitialized == 1;
 
-      if (!hasNormalizedNode()) {
-        memoizedIsInitialized = 0;
-        return false;
-      }
-      if (!getNormalizedNode().isInitialized()) {
-        memoizedIsInitialized = 0;
-        return false;
+      if (hasNormalizedNode()) {
+        if (!getNormalizedNode().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
       }
       memoizedIsInitialized = 1;
       return true;
       }
       memoizedIsInitialized = 1;
       return true;
@@ -3998,13 +3996,11 @@ public final class ShardTransactionMessages {
       }
 
       public final boolean isInitialized() {
       }
 
       public final boolean isInitialized() {
-        if (!hasNormalizedNode()) {
-
-          return false;
-        }
-        if (!getNormalizedNode().isInitialized()) {
+        if (hasNormalizedNode()) {
+          if (!getNormalizedNode().isInitialized()) {
 
 
-          return false;
+            return false;
+          }
         }
         return true;
       }
         }
         return true;
       }
@@ -4028,18 +4024,18 @@ public final class ShardTransactionMessages {
       }
       private int bitField0_;
 
       }
       private int bitField0_;
 
-      // required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
+      // optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;
       private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_ = org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder> normalizedNodeBuilder_;
       /**
       private org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node normalizedNode_ = org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder> normalizedNodeBuilder_;
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public boolean hasNormalizedNode() {
         return ((bitField0_ & 0x00000001) == 0x00000001);
       }
       /**
        */
       public boolean hasNormalizedNode() {
         return ((bitField0_ & 0x00000001) == 0x00000001);
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node getNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
@@ -4049,7 +4045,7 @@ public final class ShardTransactionMessages {
         }
       }
       /**
         }
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public Builder setNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder setNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
@@ -4065,7 +4061,7 @@ public final class ShardTransactionMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public Builder setNormalizedNode(
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder builderForValue) {
        */
       public Builder setNormalizedNode(
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder builderForValue) {
@@ -4079,7 +4075,7 @@ public final class ShardTransactionMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public Builder mergeNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder mergeNormalizedNode(org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node value) {
         if (normalizedNodeBuilder_ == null) {
@@ -4098,7 +4094,7 @@ public final class ShardTransactionMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public Builder clearNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
        */
       public Builder clearNormalizedNode() {
         if (normalizedNodeBuilder_ == null) {
@@ -4111,7 +4107,7 @@ public final class ShardTransactionMessages {
         return this;
       }
       /**
         return this;
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder getNormalizedNodeBuilder() {
         bitField0_ |= 0x00000001;
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder getNormalizedNodeBuilder() {
         bitField0_ |= 0x00000001;
@@ -4119,7 +4115,7 @@ public final class ShardTransactionMessages {
         return getNormalizedNodeFieldBuilder().getBuilder();
       }
       /**
         return getNormalizedNodeFieldBuilder().getBuilder();
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
         if (normalizedNodeBuilder_ != null) {
        */
       public org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder getNormalizedNodeOrBuilder() {
         if (normalizedNodeBuilder_ != null) {
@@ -4129,7 +4125,7 @@ public final class ShardTransactionMessages {
         }
       }
       /**
         }
       }
       /**
-       * <code>required .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
+       * <code>optional .org.opendaylight.controller.mdsal.Node normalizedNode = 1;</code>
        */
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder>
        */
       private com.google.protobuf.SingleFieldBuilder<
           org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.Node.Builder, org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages.NodeOrBuilder>
@@ -6238,7 +6234,7 @@ public final class ShardTransactionMessages {
       "thArguments\030\001 \002(\t\"\021\n\017DeleteDataReply\"3\n\010" +
       "ReadData\022\'\n\037instanceIdentifierPathArgume",
       "nts\030\001 \002(\t\"P\n\rReadDataReply\022?\n\016normalized" +
       "thArguments\030\001 \002(\t\"\021\n\017DeleteDataReply\"3\n\010" +
       "ReadData\022\'\n\037instanceIdentifierPathArgume",
       "nts\030\001 \002(\t\"P\n\rReadDataReply\022?\n\016normalized" +
-      "Node\030\001 \002(\0132\'.org.opendaylight.controller" +
+      "Node\030\001 \001(\0132\'.org.opendaylight.controller" +
       ".mdsal.Node\"u\n\tWriteData\022\'\n\037instanceIden" +
       "tifierPathArguments\030\001 \002(\t\022?\n\016normalizedN" +
       "ode\030\002 \002(\0132\'.org.opendaylight.controller." +
       ".mdsal.Node\"u\n\tWriteData\022\'\n\037instanceIden" +
       "tifierPathArguments\030\001 \002(\t\022?\n\016normalizedN" +
       "ode\030\002 \002(\0132\'.org.opendaylight.controller." +
index 657e5060c346a1100ab1862ac0b667e88f2f6d73..44d9468391ae340545f044e0aa24accc3e1d2265 100644 (file)
@@ -19,5 +19,5 @@ message Node{
 
 message Container{
   required string parentPath =1 ;
 
 message Container{
   required string parentPath =1 ;
-  required Node normalizedNode=2;
+  optional Node normalizedNode=2;
 }
\ No newline at end of file
 }
\ No newline at end of file
index 35449337e47b7a5cb20834395e1d8a7c1a6a19bb..a2a2cac29d5224fb7c4a8bf3ce2b2b5cb830729b 100644 (file)
@@ -42,7 +42,7 @@ required string instanceIdentifierPathArguments=1;
 }
 
 message ReadDataReply{
 }
 
 message ReadDataReply{
-  required Node normalizedNode=1;
+  optional Node normalizedNode=1;
 }
 
 message WriteData {
 }
 
 message WriteData {