You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2009/04/16 14:25:05 UTC

svn commit: r765600 - in /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server: queue/AMQMessage.java subscription/SubscriptionImpl.java

Author: ritchiem
Date: Thu Apr 16 12:25:05 2009
New Revision: 765600

URL: http://svn.apache.org/viewvc?rev=765600&view=rev
Log:
QPID-1813 : Check the value of _sessionIdentifier and return null if it is null rather than an NPE.

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java?rev=765600&r1=765599&r2=765600&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java Thu Apr 16 12:25:05 2009
@@ -457,12 +457,32 @@
 
     public Object getPublisherClientInstance()
     {
-        return _sessionIdentifier.getSessionInstance();
+        //todo store sessionIdentifier/client id with message in store
+        //Currently the _sessionIdentifier will be null if the message has been
+        // restored from a message Store
+        if (_sessionIdentifier == null)
+        {
+            return null;
+        }
+        else
+        {
+            return _sessionIdentifier.getSessionInstance();
+        }
     }
                                                                                           
     public Object getPublisherIdentifier()
     {
-        return _sessionIdentifier.getSessionIdentifier();
+        //todo store sessionIdentifier/client id with message in store
+        //Currently the _sessionIdentifier will be null if the message has been
+        // restored from a message Store
+        if (_sessionIdentifier == null)
+        {
+            return null;
+        }
+        else
+        {
+            return _sessionIdentifier.getSessionIdentifier();
+        }
     }
 
     public void setClientIdentifier(final AMQProtocolSession.ProtocolSessionIdentifier sessionIdentifier)

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java?rev=765600&r1=765599&r2=765600&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java Thu Apr 16 12:25:05 2009
@@ -382,11 +382,10 @@
 //            return false;
         }
 
-
-
-        //todo - client id should be recoreded and this test removed but handled below
         if (_noLocal)
         {
+            //todo - client id should be recoreded so we don't have to handle
+            // the case where this is null.
             final Object publisherId = entry.getMessage().getPublisherClientInstance();
 
             // We don't want local messages so check to see if message is one we sent
@@ -404,9 +403,8 @@
             {
 
                 localInstance = getProtocolSession().getClientIdentifier();
-                //todo - client id should be recoreded and this test removed but handled here
-
 
+                //todo - client id should be recoreded so we don't have to do the null check
                 if (localInstance != null && localInstance.equals(entry.getMessage().getPublisherIdentifier()))
                 {
                     return false;



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org