Author: asankha
Date: Fri Mar 9 00:36:58 2007
New Revision: 516327
URL: http://svn.apache.org/viewvc?view=rev&rev=516327
Log:
fix NPE for non existent endpoints
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java?view=diff&rev=516327&r1=516326&r2=516327
==============================================================================
---
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
(original)
+++
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
Fri Mar 9 00:36:58 2007
@@ -20,9 +20,14 @@
package org.apache.synapse.endpoints;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
public class IndirectEndpoint implements Endpoint {
+ private static final Log log = LogFactory.getLog(IndirectEndpoint.class);
+
private String name = null;
private String key = null;
private boolean active = true;
@@ -31,6 +36,9 @@
public void send(MessageContext synMessageContext) {
// get the actual endpoint and send
Endpoint endpoint = synMessageContext.getEndpoint(key);
+ if (endpoint == null) {
+ handleException("Reference to non-existent endpoint for key : " +
key);
+ }
if (endpoint.isActive()) {
endpoint.send(synMessageContext);
@@ -70,5 +78,10 @@
public void onChildEndpointFail(Endpoint endpoint, MessageContext
synMessageContext) {
endpoint.setActive(false);
parentEndpoint.onChildEndpointFail(this, synMessageContext);
+ }
+
+ private void handleException(String msg) {
+ log.error(msg);
+ throw new SynapseException(msg);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]