You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2005/05/05 20:29:32 UTC

svn commit: r168370 - in /cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal: coplets/basket/AbstractBasketTransformer.java coplets/basket/FolderTransformer.java tools/transformation/CheckAccessTransformer.java tools/transformation/PortalToolsLayoutTransformer.java transformation/EventLinkTransformer.java

Author: vgritsenko
Date: Thu May  5 11:29:31 2005
New Revision: 168370

URL: http://svn.apache.org/viewcvs?rev=168370&view=rev
Log:
Call super.recycle last.
Call super.dispose.

Modified:
    cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/AbstractBasketTransformer.java
    cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/FolderTransformer.java
    cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/CheckAccessTransformer.java
    cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/PortalToolsLayoutTransformer.java
    cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java

Modified: cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/AbstractBasketTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/AbstractBasketTransformer.java?rev=168370&r1=168369&r2=168370&view=diff
==============================================================================
--- cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/AbstractBasketTransformer.java (original)
+++ cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/AbstractBasketTransformer.java Thu May  5 11:29:31 2005
@@ -23,18 +23,17 @@
 /**
  * This is the base class for all basket transformers
  *
- * @version CVS $Id: BasketTransformer.java 47047 2004-09-22 12:27:27Z vgritsenko $
+ * @version $Id: BasketTransformer.java 47047 2004-09-22 12:27:27Z vgritsenko $
  */
-public abstract class AbstractBasketTransformer
-    extends AbstractSAXTransformer
-    implements Disposable {
+public abstract class AbstractBasketTransformer extends AbstractSAXTransformer
+                                               implements Disposable {
 
     /** The namespace URI to listen for. */
     public static final String NAMESPACE_URI = "http://apache.org/cocoon/portal/basket/1.0";
 
     /** The basket manager */
     protected BasketManager basketManager;
-    
+
     /**
      * Constructor
      */
@@ -47,16 +46,16 @@
      */
     public void service(ServiceManager manager) throws ServiceException {
         super.service(manager);
-        this.basketManager = (BasketManager)this.manager.lookup(BasketManager.ROLE);
+        this.basketManager = (BasketManager) this.manager.lookup(BasketManager.ROLE);
     }
-    
+
     /* (non-Javadoc)
      * @see org.apache.avalon.framework.activity.Disposable#dispose()
      */
     public void dispose() {
-        if ( this.manager != null ) {
+        if (this.manager != null) {
             this.manager.release(this.basketManager);
         }
+        super.dispose();
     }
-    
-}
\ No newline at end of file
+}

Modified: cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/FolderTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/FolderTransformer.java?rev=168370&r1=168369&r2=168370&view=diff
==============================================================================
--- cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/FolderTransformer.java (original)
+++ cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/coplets/basket/FolderTransformer.java Thu May  5 11:29:31 2005
@@ -34,10 +34,9 @@
  * This transformer supports the basket feature. It can generate links to
  * add content and to upload files into the basket.
  *
- * @version CVS $Id: BasketTransformer.java 47047 2004-09-22 12:27:27Z vgritsenko $
+ * @version $Id: BasketTransformer.java 47047 2004-09-22 12:27:27Z vgritsenko $
  */
-public class FolderTransformer
-    extends AbstractBasketTransformer {
+public class FolderTransformer extends AbstractBasketTransformer {
 
     /** Element to upload an item */
     protected static final String UPLOAD_ITEM_ELEMENT = "upload-item";
@@ -52,8 +51,8 @@
      * @see org.apache.avalon.excalibur.pool.Recyclable#recycle()
      */
     public void recycle() {
-        super.recycle();
         this.uploadElements.clear();
+        super.recycle();
     }
 
     /* (non-Javadoc)
@@ -113,4 +112,4 @@
         }
     }
 
-}
\ No newline at end of file
+}

Modified: cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/CheckAccessTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/CheckAccessTransformer.java?rev=168370&r1=168369&r2=168370&view=diff
==============================================================================
--- cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/CheckAccessTransformer.java (original)
+++ cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/CheckAccessTransformer.java Thu May  5 11:29:31 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2005 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -27,22 +27,22 @@
 import org.xml.sax.SAXException;
 
 /**
- * 
- * @version CVS $Id$
+ *
+ * @version $Id$
  */
-public class CheckAccessTransformer 
-extends AbstractSAXTransformer 
-implements Disposable {
+public class CheckAccessTransformer extends AbstractSAXTransformer
+                                    implements Disposable {
 
     public static final String RIGHTS_NAMESPACE_URI =
         "http://apache.org/cocoon/portal/tools/rights/1.0";
+
     public static final String ACCESS_TAG = "access";
     public static final String RIGHT_ID = "id";
-    
+
     private UserRightsService urs;
     private PortalToolManager ptm;
-    
-   /* (non-Javadoc)
+
+    /* (non-Javadoc)
      * @see org.apache.cocoon.transformation.AbstractSAXTransformer#service(org.apache.avalon.framework.service.ServiceManager)
      */
     public void service(ServiceManager manager) throws ServiceException {
@@ -50,23 +50,23 @@
         ptm = (PortalToolManager) this.manager.lookup(PortalToolManager.ROLE);
         urs = ptm.getUserRightsService();
     }
-    
+
     /* (non-Javadoc)
      * @see org.apache.cocoon.transformation.AbstractSAXTransformer#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
      */
-    public void startElement(String uri, String name, String raw, Attributes attr) 
+    public void startElement(String uri, String name, String raw, Attributes attr)
     throws SAXException {
         if (RIGHTS_NAMESPACE_URI.equals(uri) && ACCESS_TAG.equals(name)) {
             String id = attr.getValue(RIGHT_ID);
             if(!urs.userIsAllowed(id, this.ptm.getPortalObjects().getProfileManager().getUser())) {
                 this.stack.push(new Boolean(false));
-            } 
+            }
             this.startRecording();
         } else {
             super.startElement(uri, name, raw, attr);
         }
     }
-    
+
     /* (non-Javadoc)
      * @see org.apache.cocoon.transformation.AbstractSAXTransformer#endElement(java.lang.String, java.lang.String, java.lang.String)
      */
@@ -86,11 +86,11 @@
      * @see org.apache.avalon.framework.activity.Disposable#dispose()
      */
     public void dispose() {
-        if ( this.manager != null ) {
+        if (this.manager != null) {
             this.manager.release(ptm);
             ptm = null;
             this.manager = null;
         }
+        super.dispose();
     }
-
 }

Modified: cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/PortalToolsLayoutTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/PortalToolsLayoutTransformer.java?rev=168370&r1=168369&r2=168370&view=diff
==============================================================================
--- cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/PortalToolsLayoutTransformer.java (original)
+++ cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/tools/transformation/PortalToolsLayoutTransformer.java Thu May  5 11:29:31 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2005 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -36,13 +36,14 @@
 
 /**
  * Adds the navigation etc. to the document
- * 
- * @version CVS $Id$
+ *
+ * @version $Id$
  */
-public class PortalToolsLayoutTransformer extends AbstractSAXTransformer implements Disposable /*, Parameterizable */{
+public class PortalToolsLayoutTransformer extends AbstractSAXTransformer
+                                          implements Disposable /*, Parameterizable */ {
 
 	public static final String ROLE = PortalToolsLayoutTransformer.class.getName();
-	
+
 	private PortalToolManager pm;
 	private String selected;
 
@@ -72,13 +73,13 @@
 	 * @see org.apache.avalon.framework.activity.Disposable#dispose()
 	 */
 	public void dispose() {
-        if ( this.manager != null ) {
-		    this.manager.release(pm);
-            pm = null;
-            this.manager = null;
+        if (this.manager != null) {
+            this.manager.release(pm);
+            this.pm = null;
         }
+        super.dispose();
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.xml.sax.ContentHandler#startDocument()
@@ -86,7 +87,7 @@
 	public void startDocument() throws SAXException {
 		super.startDocument();
 		AttributesImpl a = new AttributesImpl();
-		
+
 		// took the div-tag as root, because it does not matter in the output, if it passes the xsl transformation
 		super.startPrefixMapping("i18n", "http://apache.org/cocoon/i18n/2.1");
 		super.startElement("", "div","div", a);
@@ -125,7 +126,7 @@
 	    }
 	}
 
-	
+
 	/* (non-Javadoc)
 	 * @see org.xml.sax.ContentHandler#endDocument()
 	 */

Modified: cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java?rev=168370&r1=168369&r2=168370&view=diff
==============================================================================
--- cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java (original)
+++ cocoon/blocks/supported/portal/trunk/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java Thu May  5 11:29:31 2005
@@ -1,12 +1,12 @@
 /*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
- * 
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -26,12 +26,12 @@
 import org.xml.sax.helpers.AttributesImpl;
 
 /**
- * This transformer searches for event descriptions in the XML. 
- * For each one an event is created and the event link is inserted into the XML 
+ * This transformer searches for event descriptions in the XML.
+ * For each one an event is created and the event link is inserted into the XML
  * instead of the description.<br><br>
- *  
+ *
  * Example:<br><br>
- * 
+ *
  * <pre>&lt;root xmlns:event="http://apache.org/cocoon/portal/eventlink/1.0"&gt;
  * 	&lt;event:event attribute="href"&gt;
  * 		&lt;a href="http://eventlinkexample"/&gt;
@@ -41,34 +41,32 @@
  * 	&lt;/event:event&gt;
  * &lt;/root&gt;<br></pre>
  *
- * The transformer will create two CopletLinkEvents and insert corresponding links 
- * to them to the XML instead of "http://eventlinkexample". If such a link is pressed 
+ * The transformer will create two CopletLinkEvents and insert corresponding links
+ * to them to the XML instead of "http://eventlinkexample". If such a link is pressed
  * the corresponding CopletLinkEvent is sent to the Subscribers to be handled.<br>
  * Please see also the documentation of superclass AbstractCopletTransformer for how
  * the coplet instance data are acquired.
- *   
+ *
  * @author <a href="mailto:bluetkemeier@s-und-n.de">Bj&ouml;rn L&uuml;tkemeier</a>
- * 
- * @version CVS $Id$
+ * @version $Id$
  */
-public class EventLinkTransformer 
-extends AbstractCopletTransformer {
-    
+public class EventLinkTransformer extends AbstractCopletTransformer {
+
     /**
      * The namespace URI to listen for.
      */
     public static final String NAMESPACE_URI = "http://apache.org/cocoon/portal/eventlink/1.0";
-    
+
     /**
      * The XML element name to listen for.
      */
     public static final String EVENT_ELEM = "event";
-    
+
     /**
      * An attribute's name of EVENT_ELEMENT.
      */
     public static final String ATTRIBUTE_ATTR = "attribute";
-    
+
     /**
      * An attribute's name of EVENT_ELEMENT.
      */
@@ -88,9 +86,9 @@
      * The element defining the link inside an EVENT_ELEM tag.
      */
     private String elementName;
-    
+
     /**
-     * Used to store elements' attributes between startTransformingElement and endTransformingElement. 
+     * Used to store elements' attributes between startTransformingElement and endTransformingElement.
      */
     private Stack attrStack = new Stack();
 
@@ -98,11 +96,12 @@
      * Overridden from superclass.
      */
     public void recycle() {
-        super.recycle();
         this.insideEvent = false;
         this.attributeName = null;
         this.elementName = null;
         this.attrStack.clear();
+
+        super.recycle();
     }
 
     /**
@@ -116,7 +115,7 @@
                 throw new SAXException("Elements "+EVENT_ELEM+" must not be nested.");
             }
             this.insideEvent = true;
-            
+
             // get element or attribute name that contains links
             this.attributeName = attr.getValue(ATTRIBUTE_ATTR);
             this.elementName = attr.getValue(ELEMENT_ATTR);
@@ -129,10 +128,10 @@
             if (this.insideEvent) {
                 // store attributes for endTransformingElement
                 this.attrStack.push(new AttributesImpl(attr));
-                
+
                 /* Record element content. In case of an element we asume, that no
-                 * children exist but only text content, since the text content shall 
-                 * be the link. Therefore we do startTextRecording. Otherwise we 
+                 * children exist but only text content, since the text content shall
+                 * be the link. Therefore we do startTextRecording. Otherwise we
                  * record the whole subtree.
                  */
                 if (this.elementName != null && name.equals(this.elementName)) {
@@ -167,26 +166,26 @@
 
                     // if attribute found that contains a link
                     if (link != null) {
-                        CopletInstanceData cid = this.getCopletInstanceData(attr.getValue("coplet"));                       
+                        CopletInstanceData cid = this.getCopletInstanceData(attr.getValue("coplet"));
                         LinkService linkService = this.getPortalService().getComponentManager().getLinkService();
-        
+
                         // create event link
                         CopletLinkEvent event = new CopletLinkEvent(cid, link);
                         String eventLink = linkService.getLinkURI(event);
-    
+
                         // insert event link
                         attr.setValue(index, eventLink);
                     }
                 }
-                
+
                 String eventLink = null;
                 DocumentFragment fragment = null;
-                                
+
                 // process element that contains link
                 if (this.elementName != null && name.equals(this.elementName)) {
                     String link = this.endTextRecording();
 
-                    CopletInstanceData cid = this.getCopletInstanceData();                       
+                    CopletInstanceData cid = this.getCopletInstanceData();
                     LinkService linkService = this.getPortalService().getComponentManager().getLinkService();
 
                     // create event link
@@ -195,7 +194,7 @@
                 } else {
                     fragment = this.endRecording();
                 }
-                
+
                 // stream element
                 super.startElement(uri, name, raw, attr);
                 if (eventLink != null) {
@@ -210,5 +209,4 @@
             }
         }
     }
-
 }