Author: supun
Date: Mon Sep 20 11:29:01 2010
New Revision: 998890

URL: http://svn.apache.org/viewvc?rev=998890&view=rev
Log:
issue SYNAPSE-683

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

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java?rev=998890&r1=998889&r2=998890&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
 Mon Sep 20 11:29:01 2010
@@ -23,6 +23,10 @@ import org.apache.synapse.config.xml.XML
 import org.apache.synapse.core.LoadBalanceMembershipHandler;
 import org.apache.synapse.endpoints.DynamicLoadbalanceEndpoint;
 import org.apache.synapse.endpoints.Endpoint;
+import org.apache.synapse.endpoints.dispatch.Dispatcher;
+import org.apache.synapse.endpoints.dispatch.SoapSessionDispatcher;
+import org.apache.synapse.endpoints.dispatch.HttpSessionDispatcher;
+import org.apache.synapse.endpoints.dispatch.SimpleClientSessionDispatcher;
 
 import java.util.Properties;
 
@@ -64,6 +68,30 @@ public class DynamicLoadbalanceEndpointS
             endpointElement.addAttribute("name", name, null);
         }
 
+        Dispatcher dispatcher = dynamicLoadbalanceEndpoint.getDispatcher();
+        if (dispatcher != null) {
+
+            OMElement sessionElement = fac.createOMElement("session", 
SynapseConstants.SYNAPSE_OMNAMESPACE);
+            if (dispatcher instanceof SoapSessionDispatcher) {
+                sessionElement.addAttribute("type", "soap", null);
+            } else if (dispatcher instanceof HttpSessionDispatcher) {
+                sessionElement.addAttribute("type", "http", null);
+            } else if (dispatcher instanceof SimpleClientSessionDispatcher) {
+                sessionElement.addAttribute("type", "simpleClientSession", 
null);
+            } else {
+                handleException("invalid session dispatcher : " + 
dispatcher.getClass().getName());
+            }
+
+            long sessionTimeout = 
dynamicLoadbalanceEndpoint.getSessionTimeout();
+            if (sessionTimeout != -1) {
+                OMElement sessionTimeoutElement = 
fac.createOMElement("sessionTimeout",
+                        SynapseConstants.SYNAPSE_OMNAMESPACE);
+                sessionTimeoutElement.setText(String.valueOf(sessionTimeout));
+                sessionElement.addChild(sessionTimeoutElement);
+            }
+            endpointElement.addChild(sessionElement);
+        }
+
         OMElement dynamicLoadbalanceElement
                 = fac.createOMElement("dynamicLoadbalance", 
SynapseConstants.SYNAPSE_OMNAMESPACE);
         endpointElement.addChild(dynamicLoadbalanceElement);


Reply via email to