Author: kfujino
Date: Mon Dec 15 08:25:42 2014
New Revision: 1645595

URL: http://svn.apache.org/r1645595
Log:
In order to enable define in Cluster element, ClusterSingleSignOn implements 
ClusterValve.

Modified:
    
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java

Modified: 
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1645595&r1=1645594&r2=1645595&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java 
Mon Dec 15 08:25:42 2014
@@ -21,9 +21,7 @@ package org.apache.catalina.ha.authentic
 
 import java.security.Principal;
 
-import org.apache.catalina.Cluster;
 import org.apache.catalina.Container;
-import org.apache.catalina.Engine;
 import org.apache.catalina.Host;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.Manager;
@@ -31,6 +29,7 @@ import org.apache.catalina.Session;
 import org.apache.catalina.authenticator.SingleSignOn;
 import org.apache.catalina.ha.CatalinaCluster;
 import org.apache.catalina.ha.ClusterManager;
+import org.apache.catalina.ha.ClusterValve;
 import org.apache.catalina.ha.session.SerializablePrincipal;
 import org.apache.catalina.realm.GenericPrincipal;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -56,7 +55,7 @@ import org.apache.tomcat.util.ExceptionU
  *
  * @author Fabien Carrion
  */
-public class ClusterSingleSignOn extends SingleSignOn {
+public class ClusterSingleSignOn extends SingleSignOn implements ClusterValve {
 
     // ----------------------------------------------------- Instance Variables
 
@@ -68,7 +67,9 @@ public class ClusterSingleSignOn extends
     // ------------------------------------------------------------- Properties
 
     private CatalinaCluster cluster = null;
+    @Override
     public CatalinaCluster getCluster() { return cluster; }
+    @Override
     public void setCluster(CatalinaCluster cluster) {
         this.cluster = cluster;
     }
@@ -91,33 +92,19 @@ public class ClusterSingleSignOn extends
 
         // Load the cluster component, if any
         try {
-            //the channel is already running
-            Cluster cluster = getCluster();
-            // stop remove cluster binding
             if(cluster == null) {
                 Container host = getContainer();
                 if(host instanceof Host) {
-                    cluster = host.getCluster();
-                    if(cluster instanceof CatalinaCluster) {
-                        setCluster((CatalinaCluster) cluster);
-                        getCluster().addClusterListener(clusterSSOListener);
-                    } else {
-                        Container engine = host.getParent();
-                        if(engine instanceof Engine) {
-                            cluster = engine.getCluster();
-                            if(cluster instanceof CatalinaCluster) {
-                                setCluster((CatalinaCluster) cluster);
-                                
getCluster().addClusterListener(clusterSSOListener);
-                            }
-                        } else {
-                            cluster = null;
-                        }
+                    if(host.getCluster() instanceof CatalinaCluster) {
+                        setCluster((CatalinaCluster) host.getCluster());
                     }
                 }
             }
             if (cluster == null) {
                 throw new LifecycleException(
                         "There is no Cluster for ClusterSingleSignOn");
+            } else {
+                getCluster().addClusterListener(clusterSSOListener);
             }
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to