You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kf...@apache.org on 2013/02/19 06:52:16 UTC
svn commit: r1447596 - in
/tomcat/trunk/java/org/apache/catalina/storeconfig: InterceptorSF.java
server-registry.xml
Author: kfujino
Date: Tue Feb 19 05:52:16 2013
New Revision: 1447596
URL: http://svn.apache.org/r1447596
Log:
Improvements of InterceptorSF.
- Add support for static membership.
- Interceptor except StaticMembershipInterceptor has no child elements.
Modified:
tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java
tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml
Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java?rev=1447596&r1=1447595&r2=1447596&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java (original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java Tue Feb 19 05:52:16 2013
@@ -20,12 +20,44 @@ package org.apache.catalina.storeconfig;
import java.io.PrintWriter;
import org.apache.catalina.tribes.ChannelInterceptor;
+import org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
/**
* Generate Interceptor Element
*/
public class InterceptorSF extends StoreFactoryBase {
+ private static Log log = LogFactory.getLog(InterceptorSF.class);
+
+ @Override
+ public void store(PrintWriter aWriter, int indent, Object aElement)
+ throws Exception {
+ if (aElement instanceof StaticMembershipInterceptor) {
+ StoreDescription elementDesc = getRegistry().findDescription(
+ aElement.getClass());
+
+ if (elementDesc != null) {
+ if (log.isDebugEnabled())
+ log.debug(sm.getString("factory.storeTag",
+ elementDesc.getTag(), aElement));
+ getStoreAppender().printIndent(aWriter, indent + 2);
+ getStoreAppender().printOpenTag(aWriter, indent + 2, aElement,
+ elementDesc);
+ storeChildren(aWriter, indent + 2, aElement, elementDesc);
+ getStoreAppender().printIndent(aWriter, indent + 2);
+ getStoreAppender().printCloseTag(aWriter, elementDesc);
+ } else {
+ if (log.isWarnEnabled())
+ log.warn(sm.getString("factory.storeNoDescriptor",
+ aElement.getClass()));
+ }
+ } else {
+ super.store(aWriter, indent, aElement);
+ }
+ }
+
/**
* Store the specified Interceptor child.
*
@@ -42,7 +74,7 @@ public class InterceptorSF extends Store
@Override
public void storeChildren(PrintWriter aWriter, int indent, Object aInterceptor,
StoreDescription parentDesc) throws Exception {
- if (aInterceptor instanceof ChannelInterceptor) {
+ if (aInterceptor instanceof StaticMembershipInterceptor) {
ChannelInterceptor interceptor = (ChannelInterceptor) aInterceptor;
// Store nested <Member> elements
storeElementArray(aWriter, indent + 2, interceptor.getMembers());
Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml?rev=1447596&r1=1447595&r2=1447596&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml (original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml Tue Feb 19 05:52:16 2013
@@ -396,7 +396,7 @@
tag="Interceptor"
standard="false"
default="false"
- children="true"
+ children="false"
tagClass="org.apache.catalina.tribes.ChannelInterceptor"
storeFactoryClass="org.apache.catalina.storeconfig.InterceptorSF">
</Description>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org