You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2004/02/17 15:06:25 UTC

cvs commit: cocoon-lenya/src/java/org/apache/lenya/cms/cocoon/transformation AccessControlSitetreeTransformer.java

andreas     2004/02/17 06:06:25

  Modified:    src/java/org/apache/lenya/cms/cocoon/transformation
                        AccessControlSitetreeTransformer.java
  Log:
  made it compatible with Cocoon 2.1.4
  
  Revision  Changes    Path
  1.3       +34 -15    cocoon-lenya/src/java/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
  
  Index: AccessControlSitetreeTransformer.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AccessControlSitetreeTransformer.java	13 Nov 2003 16:09:53 -0000	1.2
  +++ AccessControlSitetreeTransformer.java	17 Feb 2004 14:06:25 -0000	1.3
  @@ -61,6 +61,7 @@
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.ComponentSelector;
   import org.apache.avalon.framework.parameters.Parameters;
  +import org.apache.avalon.framework.service.ServiceSelector;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Request;
  @@ -102,7 +103,8 @@
       public static final String PARAMETER_AREA = "area";
   
       private String documentId;
  -    private ComponentSelector selector;
  +    private ComponentSelector componentSelector;
  +    private ServiceSelector serviceSelector;
       private PolicyManager policyManager;
       private AccessControllerResolver acResolver;
       private AccreditableManager accreditableManager;
  @@ -116,7 +118,8 @@
           throws ProcessingException, SAXException, IOException {
           super.setup(resolver, objectModel, src, par);
   
  -        selector = null;
  +        componentSelector = null;
  +        serviceSelector = null;
           acResolver = null;
           policyManager = null;
   
  @@ -137,11 +140,21 @@
   
               Request request = ObjectModelHelper.getRequest(objectModel);
   
  -            selector =
  -                (ComponentSelector) manager.lookup(AccessControllerResolver.ROLE + "Selector");
  -            acResolver =
  -                (AccessControllerResolver) selector.select(
  -                    AccessControllerResolver.DEFAULT_RESOLVER);
  +            Object selector = manager.lookup(AccessControllerResolver.ROLE + "Selector");
  +
  +            if (selector instanceof ComponentSelector) {
  +                componentSelector = (ComponentSelector) selector;
  +                acResolver =
  +                    (AccessControllerResolver) componentSelector.select(
  +                        AccessControllerResolver.DEFAULT_RESOLVER);
  +            }
  +            if (selector instanceof ServiceSelector) {
  +                serviceSelector = (ServiceSelector) selector;
  +                acResolver =
  +                    (AccessControllerResolver) serviceSelector.select(
  +                        AccessControllerResolver.DEFAULT_RESOLVER);
  +            }
  +
               if (getLogger().isDebugEnabled()) {
                   getLogger().debug("    Resolved AC resolver [" + acResolver + "]");
               }
  @@ -177,14 +190,20 @@
        * @see org.apache.avalon.framework.activity.Disposable#dispose()
        */
       public void dispose() {
  -        //      if (getLogger().isDebugEnabled()) {
  -        getLogger().debug("Disposing transformer");
  -        //      }
  -        if (selector != null) {
  +        if (getLogger().isDebugEnabled()) {
  +            getLogger().debug("Disposing transformer");
  +        }
  +        if (componentSelector != null) {
  +            if (acResolver != null) {
  +                componentSelector.release(acResolver);
  +            }
  +            manager.release(componentSelector);
  +        }
  +        if (serviceSelector != null) {
               if (acResolver != null) {
  -                selector.release(acResolver);
  +                serviceSelector.release(acResolver);
               }
  -            manager.release(selector);
  +            manager.release(serviceSelector);
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org