You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/09/20 13:29:01 UTC

svn commit: r998890 - /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java

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);