You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2011/03/25 23:06:30 UTC
svn commit: r1085580 - in /servicemix/smx4/nmr/trunk/nmr/core/src:
main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java
test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java
Author: gertv
Date: Fri Mar 25 22:06:30 2011
New Revision: 1085580
URL: http://svn.apache.org/viewvc?rev=1085580&view=rev
Log:
SMX4NMR-262: Endpoint.CHANNEL_SYNC_DELIVERY property doesn't work when passed as string
Thanks to Jonathan Anstey for providing the patch!
Modified:
servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java
servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java
Modified: servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java?rev=1085580&r1=1085579&r2=1085580&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java (original)
+++ servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java Fri Mar 25 22:06:30 2011
@@ -144,7 +144,7 @@ public class EndpointRegistryImpl implem
* Should the Channel use sync delivery?
*/
private boolean isChannelSyncDelivery(Map<String, ?> properties) {
- return Boolean.TRUE.equals(properties.get(Endpoint.CHANNEL_SYNC_DELIVERY));
+ return getBoolean(properties.get(Endpoint.CHANNEL_SYNC_DELIVERY));
}
/**
@@ -310,4 +310,14 @@ public class EndpointRegistryImpl implem
}
return endpoints;
}
+
+ private static boolean getBoolean(Object o) {
+ if (o instanceof String) {
+ return Boolean.valueOf(o.toString());
+ } else if (o instanceof Boolean) {
+ return (Boolean) o;
+ } else {
+ return false;
+ }
+ }
}
Modified: servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java?rev=1085580&r1=1085579&r2=1085580&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java (original)
+++ servicemix/smx4/nmr/trunk/nmr/core/src/test/java/org/apache/servicemix/nmr/core/EndpointRegistryImplTest.java Fri Mar 25 22:06:30 2011
@@ -79,6 +79,16 @@ public class EndpointRegistryImplTest ex
assertNotNull(r.choose(registry));
assertFalse(r.choose(registry).iterator().hasNext());
}
+
+ public void testRegisterWithoutSyncChannel() throws Exception {
+ DummyEndpoint endpoint = new DummyEndpoint();
+
+ Map<String, Object> properties = ServiceHelper.createMap(Endpoint.NAME, "endpoint-id");
+
+ registry.register(endpoint, properties);
+ assertFalse("Injected channel should not have shouldRunSynchronously enabled",
+ endpoint.channel.isShouldRunSynchronously());
+ }
public void testRegisterWithSyncChannel() throws Exception {
DummyEndpoint endpoint = new DummyEndpoint();
@@ -91,6 +101,20 @@ public class EndpointRegistryImplTest ex
endpoint.channel.isShouldRunSynchronously());
}
+ /*
+ * Test to ensure that the CHANNEL_SYNC_DELIVERY flag can also be set with a String instead of Boolean value
+ */
+ public void testStringChannelSyncDeliveryProperty() throws Exception {
+ DummyEndpoint endpoint = new DummyEndpoint();
+
+ Map<String, Object> properties = ServiceHelper.createMap(Endpoint.NAME, "endpoint-id");
+ properties.put(Endpoint.CHANNEL_SYNC_DELIVERY, "true");
+
+ registry.register(endpoint, properties);
+ assertTrue("Injected channel should have shouldRunSynchronously enabled",
+ endpoint.channel.isShouldRunSynchronously());
+ }
+
public void testLdapFilter() throws Exception {
System.setProperty("org.osgi.vendor.framework", "org.apache.servicemix.nmr.core");