Return-Path: X-Original-To: apmail-qpid-commits-archive@www.apache.org Delivered-To: apmail-qpid-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7A5F817875 for ; Mon, 2 Feb 2015 15:13:07 +0000 (UTC) Received: (qmail 74063 invoked by uid 500); 2 Feb 2015 15:13:08 -0000 Delivered-To: apmail-qpid-commits-archive@qpid.apache.org Received: (qmail 73973 invoked by uid 500); 2 Feb 2015 15:13:08 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 73853 invoked by uid 99); 2 Feb 2015 15:13:08 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Feb 2015 15:13:08 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id EB7CCE04D1; Mon, 2 Feb 2015 15:13:07 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: robbie@apache.org To: commits@qpid.apache.org Date: Mon, 02 Feb 2015 15:13:10 -0000 Message-Id: <52875de9251c4173a78d1db0e1bfb66b@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [4/6] qpid-jms git commit: ensure that the return values are unmodifiable ensure that the return values are unmodifiable Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/19ea818b Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/19ea818b Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/19ea818b Branch: refs/heads/master Commit: 19ea818b76151ea731c55dcfeba0f5715baf611c Parents: 909ea19 Author: Robert Gemmell Authored: Mon Feb 2 12:19:23 2015 +0000 Committer: Robert Gemmell Committed: Mon Feb 2 12:19:23 2015 +0000 ---------------------------------------------------------------------- .../org/apache/qpid/jms/JmsConnectionFactory.java | 16 +++++----------- .../java/org/apache/qpid/jms/JmsDestination.java | 9 ++------- .../java/org/apache/qpid/jms/jndi/JNDIStorable.java | 4 ++-- .../apache/qpid/jms/JmsConnectionFactoryTest.java | 16 +++++++++++++++- .../test/java/org/apache/qpid/jms/JmsQueueTest.java | 16 +++++++++++++++- .../org/apache/qpid/jms/JmsTemporaryQueueTest.java | 16 +++++++++++++++- .../org/apache/qpid/jms/JmsTemporaryTopicTest.java | 16 +++++++++++++++- .../test/java/org/apache/qpid/jms/JmsTopicTest.java | 16 +++++++++++++++- 8 files changed, 84 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/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 e196fbd..7f84de4 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 @@ -102,30 +102,24 @@ public class JmsConnectionFactory extends JNDIStorable implements ConnectionFact setRemoteURI(remoteURI); } - /** - * @param map - */ @Override - protected Map buildFromProperties(Map map) { + protected Map buildFromProperties(Map props) { // Apply the remoteURI in a consistent order before // any other properties, since as it may contain // some options within it. - String remoteURI = map.remove(REMOTE_URI_PROP); + String remoteURI = props.remove(REMOTE_URI_PROP); if (remoteURI != null) { setRemoteURI(remoteURI); } - return PropertyUtil.setProperties(this, map); + return PropertyUtil.setProperties(this, props); } - /** - * @param map - */ @Override - protected void populateProperties(Map map) { + protected void populateProperties(Map props) { try { Map result = PropertyUtil.getProperties(this); - map.putAll(result); + props.putAll(result); } catch (Exception e) { e.printStackTrace(); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/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 0402bd7..ff08c44 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.Collections; import java.util.HashMap; import java.util.Map; @@ -80,9 +81,6 @@ public abstract class JmsDestination extends JNDIStorable implements Externaliza return !this.topic; } - /** - * @param props - */ @Override protected Map buildFromProperties(Map props) { setName(getProperty(props, NAME_PROP, "")); @@ -90,12 +88,9 @@ public abstract class JmsDestination extends JNDIStorable implements Externaliza Map unused = new HashMap(props); unused.remove(NAME_PROP); - return unused; + return Collections.unmodifiableMap(unused); } - /** - * @param props - */ @Override protected void populateProperties(Map props) { props.put(NAME_PROP, getName()); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/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 d17c1bc..8753fcc 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,7 +38,7 @@ 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. + * @return a new, unmodifiable, map containing any unused properties, or empty if none were. */ protected abstract Map buildFromProperties(Map props); @@ -53,7 +53,7 @@ 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. + * @return a new, unmodifiable, map containing any unused properties, or empty if none were. */ public synchronized Map setProperties(Map props) { return buildFromProperties(props); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java index d2014b2..baae401 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionFactoryTest.java @@ -132,8 +132,14 @@ public class JmsConnectionFactoryTest extends QpidJmsTestCase { // Verify the URI was filtered to remove the applied options assertEquals("URI was filtered to remove options that were applied", baseUri, cf.getRemoteURI()); - // Verify the returned map was empty + // Verify the returned map was empty and unmodifiable assertTrue("Map should be empty: " + unusedProps, unusedProps.isEmpty()); + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test @@ -163,6 +169,14 @@ public class JmsConnectionFactoryTest extends QpidJmsTestCase { assertEquals("Unexpected size of return map", 1, unusedProps.size()); assertTrue("Expected property not found in map: " + unusedProps, unusedProps.containsKey(unusedKey)); assertEquals("Unexpected property value", unusedValue, unusedProps.get(unusedKey)); + + // Verify the returned map was unmodifiable + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsQueueTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsQueueTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsQueueTest.java index b5a59b4..ed8787d 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsQueueTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsQueueTest.java @@ -120,8 +120,14 @@ public class JmsQueueTest extends QpidJmsTestCase { assertEquals("Unexpected value for name", name, queue.getQueueName()); - // Verify the returned map was empty + // Verify the returned map was empty and unmodifiable assertTrue("Map should be empty: " + unusedProps, unusedProps.isEmpty()); + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test @@ -144,6 +150,14 @@ public class JmsQueueTest extends QpidJmsTestCase { assertEquals("Unexpected size of return map", 1, unusedProps.size()); assertTrue("Expected property not found in map: " + unusedProps, unusedProps.containsKey(unusedKey)); assertEquals("Unexpected property value", unusedValue, unusedProps.get(unusedKey)); + + // Verify the returned map was unmodifiable + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java index 41f1b30..93ae0ea 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryQueueTest.java @@ -128,8 +128,14 @@ public class JmsTemporaryQueueTest extends QpidJmsTestCase { assertEquals("Unexpected value for name", name, queue.getQueueName()); - // Verify the returned map was empty + // Verify the returned map was empty and unmodifiable assertTrue("Map should be empty: " + unusedProps, unusedProps.isEmpty()); + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test @@ -152,6 +158,14 @@ public class JmsTemporaryQueueTest extends QpidJmsTestCase { assertEquals("Unexpected size of return map", 1, unusedProps.size()); assertTrue("Expected property not found in map: " + unusedProps, unusedProps.containsKey(unusedKey)); assertEquals("Unexpected property value", unusedValue, unusedProps.get(unusedKey)); + + // Verify the returned map was unmodifiable + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java index 8025060..5cd0be1 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTemporaryTopicTest.java @@ -128,8 +128,14 @@ public class JmsTemporaryTopicTest extends QpidJmsTestCase { assertEquals("Unexpected value for name", name, topic.getTopicName()); - // Verify the returned map was empty + // Verify the returned map was empty and unmodifiable assertTrue("Map should be empty: " + unusedProps, unusedProps.isEmpty()); + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test @@ -152,6 +158,14 @@ public class JmsTemporaryTopicTest extends QpidJmsTestCase { assertEquals("Unexpected size of return map", 1, unusedProps.size()); assertTrue("Expected property not found in map: " + unusedProps, unusedProps.containsKey(unusedKey)); assertEquals("Unexpected property value", unusedValue, unusedProps.get(unusedKey)); + + // Verify the returned map was unmodifiable + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19ea818b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTopicTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTopicTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTopicTest.java index 408ad9f..702e82b 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTopicTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsTopicTest.java @@ -120,8 +120,14 @@ public class JmsTopicTest extends QpidJmsTestCase { assertEquals("Unexpected value for name", name, topic.getTopicName()); - // Verify the returned map was empty + // Verify the returned map was empty and unmodifiable assertTrue("Map should be empty: " + unusedProps, unusedProps.isEmpty()); + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test @@ -144,6 +150,14 @@ public class JmsTopicTest extends QpidJmsTestCase { assertEquals("Unexpected size of return map", 1, unusedProps.size()); assertTrue("Expected property not found in map: " + unusedProps, unusedProps.containsKey(unusedKey)); assertEquals("Unexpected property value", unusedValue, unusedProps.get(unusedKey)); + + // Verify the returned map was unmodifiable + try { + unusedProps.put("a", "b"); + fail("Map should be unmodifiable"); + } catch (UnsupportedOperationException uoe) { + // expected + } } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org For additional commands, e-mail: commits-help@qpid.apache.org