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><root xmlns:event="http://apache.org/cocoon/portal/eventlink/1.0"> * <event:event attribute="href"> * <a href="http://eventlinkexample"/> @@ -41,34 +41,32 @@ * </event:event> * </root><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:[EMAIL PROTECTED]">Björn Lü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 @@ } } } - }