Author: hiranya
Date: Wed May 19 07:09:24 2010
New Revision: 946058
URL: http://svn.apache.org/viewvc?rev=946058&view=rev
Log:
Fixing SYNAPSE-652
Fixed possible NPE at Axis2MessageContext#getEndpoint() and updated the test
cases to cover the respective scenario
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/DynamicResourceTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?rev=946058&r1=946057&r2=946058&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
Wed May 19 07:09:24 2010
@@ -152,12 +152,16 @@ public class Axis2MessageContext impleme
return (Endpoint) o;
} else {
Endpoint e = getConfiguration().getEndpoint(key);
- synchronized (e) {
+ if (e != null) {
if (!e.isInitialized()) {
- e.init(synEnv);
+ synchronized (e) {
+ if (!e.isInitialized()) {
+ e.init(synEnv);
+ }
+ }
}
+ localEntries.put(key, e);
}
- localEntries.put(key, e);
return e;
}
}
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/DynamicResourceTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/DynamicResourceTest.java?rev=946058&r1=946057&r2=946058&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/DynamicResourceTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/registry/DynamicResourceTest.java
Wed May 19 07:09:24 2010
@@ -125,6 +125,12 @@ public class DynamicResourceTest extends
assertTrue(seq1 != seq4);
assertTrue(!((SequenceMediator) seq1).isInitialized());
+ // Phase 5
+ System.out.println("Testing for non-existing sequences...");
+ synCtx = TestUtils.createSynapseMessageContext("<empty/>", config);
+ Mediator seq5 = synCtx.getSequence("non-existing-sequence");
+ assertNull(seq5);
+
System.out.println("Dynamic sequence lookup tests were successful...");
}
@@ -172,6 +178,12 @@ public class DynamicResourceTest extends
assertTrue(ep1 != ep4);
assertTrue(!ep1.isInitialized());
+ // Phase 5
+ System.out.println("Testing for non-existing endpoints...");
+ synCtx = TestUtils.createSynapseMessageContext("<empty/>", config);
+ Endpoint ep5 = synCtx.getEndpoint("non-existing-endpoint");
+ assertNull(ep5);
+
System.out.println("Dynamic endpoint lookup tests were successful...");
}
}