Repository: qpid-jms
Updated Branches:
  refs/heads/master dd8a0adf4 -> 4a6bbc4ee


return any unused properties to the caller


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/05da58a0
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/05da58a0
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/05da58a0

Branch: refs/heads/master
Commit: 05da58a0a50fb2bbea857333949936327bdc79c3
Parents: dd8a0ad
Author: Robert Gemmell <[email protected]>
Authored: Mon Feb 2 11:33:26 2015 +0000
Committer: Robert Gemmell <[email protected]>
Committed: Mon Feb 2 11:33:26 2015 +0000

----------------------------------------------------------------------
 .../main/java/org/apache/qpid/jms/JmsConnectionFactory.java  | 4 ++--
 .../src/main/java/org/apache/qpid/jms/JmsDestination.java    | 8 +++++++-
 .../src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java | 8 +++++---
 3 files changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/05da58a0/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
index 21c3eaf..e196fbd 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
@@ -106,7 +106,7 @@ public class JmsConnectionFactory extends JNDIStorable 
implements ConnectionFact
      * @param map
      */
     @Override
-    protected void buildFromProperties(Map<String, String> map) {
+    protected Map<String, String> buildFromProperties(Map<String, String> map) 
{
         // Apply the remoteURI in a consistent order before
         // any other properties, since as it may contain
         // some options within it.
@@ -115,7 +115,7 @@ public class JmsConnectionFactory extends JNDIStorable 
implements ConnectionFact
             setRemoteURI(remoteURI);
         }
 
-        PropertyUtil.setProperties(this, map);
+        return PropertyUtil.setProperties(this, map);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/05da58a0/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
index 0ebc204..0402bd7 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDestination.java
@@ -20,6 +20,7 @@ import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.qpid.jms.jndi.JNDIStorable;
@@ -83,8 +84,13 @@ public abstract class JmsDestination extends JNDIStorable 
implements Externaliza
      * @param props
      */
     @Override
-    protected void buildFromProperties(Map<String, String> props) {
+    protected Map<String, String> buildFromProperties(Map<String, String> 
props) {
         setName(getProperty(props, NAME_PROP, ""));
+
+        Map<String, String> unused = new HashMap<String,String>(props);
+        unused.remove(NAME_PROP);
+
+        return unused;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/05da58a0/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java
index 866f971..d17c1bc 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/JNDIStorable.java
@@ -38,8 +38,9 @@ public abstract class JNDIStorable implements Referenceable, 
Externalizable {
      * Set the properties that will represent the instance in JNDI
      *
      * @param props
+     * @return a new map containing any unused properties, or an empty map if 
they were all used.
      */
-    protected abstract void buildFromProperties(Map<String, String> props);
+    protected abstract Map<String, String> buildFromProperties(Map<String, 
String> props);
 
     /**
      * Initialize the instance from properties stored in JNDI
@@ -52,9 +53,10 @@ public abstract class JNDIStorable implements Referenceable, 
Externalizable {
      * set the properties for this instance as retrieved from JNDI
      *
      * @param props
+     * @return a new map containing any unused properties, or an empty map if 
they were all used.
      */
-    public synchronized void setProperties(Map<String, String> props) {
-        buildFromProperties(props);
+    public synchronized Map<String, String> setProperties(Map<String, String> 
props) {
+        return buildFromProperties(props);
     }
 
     /**


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to