You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2007/03/09 09:37:01 UTC

svn commit: r516327 - /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java

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: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org