Author: rajikak
Date: Mon Sep 20 09:02:58 2010
New Revision: 998834

URL: http://svn.apache.org/viewvc?rev=998834&view=rev
Log:
Fixed SYNAPSE-617.

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java?rev=998834&r1=998833&r2=998834&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
 Mon Sep 20 09:02:58 2010
@@ -21,10 +21,12 @@ package org.apache.synapse.config.xml.en
 
 import org.apache.axiom.om.OMElement;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.SynapseException;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.endpoints.FailoverEndpoint;
 
 import javax.xml.namespace.QName;
+import java.util.List;
 
 /**
  * Creates {...@link FailoverEndpoint} using a XML configuration.
@@ -57,6 +59,16 @@ public class FailoverEndpointFactory ext
             if (name != null) {
                 failoverEndpoint.setName(name);
             }
+
+            List<Endpoint> childEndpoints = getEndpoints(failoverElement, 
failoverEndpoint);
+            if(childEndpoints == null || childEndpoints.size() == 0){
+                String msg = "Invalid Synapse configuration.\n"
+                        + "A FailOver must have child elements, but the 
FailOver "
+                        + "'" + failoverEndpoint.getName() + "' does not have 
any child elements.";
+                log.error(msg);
+                throw new SynapseException(msg);
+            }
+
             // set endpoints and return
             failoverEndpoint.setChildren(getEndpoints(failoverElement, 
failoverEndpoint));
             // process the parameters


Reply via email to