Author: kfujino
Date: Mon Dec 15 08:30:58 2014
New Revision: 1645596

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

Modified:
    
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
    tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1645596&r1=1645595&r2=1645596&view=diff
==============================================================================
--- 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
 (original)
+++ 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
 Mon Dec 15 08:30:58 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 != null && host instanceof Host) {
-                    cluster = host.getCluster();
-                    if(cluster != null && cluster instanceof CatalinaCluster) {
-                        setCluster((CatalinaCluster) cluster);
-                        getCluster().addClusterListener(clusterSSOListener);
-                    } else {
-                        Container engine = host.getParent();
-                        if(engine != null && engine instanceof Engine) {
-                            cluster = engine.getCluster();
-                            if(cluster != null && cluster instanceof 
CatalinaCluster) {
-                                setCluster((CatalinaCluster) cluster);
-                                
getCluster().addClusterListener(clusterSSOListener);
-                            }
-                        } else {
-                            cluster = null;
-                        }
+                if(host instanceof Host) {
+                    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);

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1645596&r1=1645595&r2=1645596&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Mon Dec 15 08:30:58 2014
@@ -229,6 +229,15 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Cluster">
+    <changelog>
+      <fix>
+        In order to enable define in <code>Cluster</code> element,
+        <code>ClusterSingleSignOn</code> implements <code>ClusterValve</code>.
+        (kfujino)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="WebSocket">
     <changelog>
       <fix>



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

Reply via email to