Author: cziegeler Date: Thu Dec 16 02:39:13 2004 New Revision: 122542 URL: http://svn.apache.org/viewcvs?view=rev&rev=122542 Log: Fix bugs in transformer and cleanup code Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java?view=diff&rev=122542&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java&r1=122541&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java&r2=122542 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/reading/ProxyReader.java Thu Dec 16 02:39:13 2004 @@ -67,12 +67,11 @@ /** * @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(SourceResolver, Map, String, Parameters) */ - public void setup( - SourceResolver resolver, - Map objectModel, - String src, - Parameters par) - throws ProcessingException, SAXException, IOException { + public void setup(SourceResolver resolver, + Map objectModel, + String src, + Parameters par) + throws ProcessingException, SAXException, IOException { super.setup(resolver, objectModel, src, par); request = ObjectModelHelper.getRequest(objectModel); @@ -99,17 +98,11 @@ } /** - * @see org.apache.cocoon.reading.Reader#generate() - */ - public void generate() throws IOException { - processRequest(); - } - - /** * Send the request to the external WebServer * @throws IOException on any exception that occures + * @see org.apache.cocoon.reading.Reader#generate() */ - protected void processRequest() throws IOException { + public void generate() throws IOException { String link = request.getRequestURI(); link = link.substring( Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java?view=diff&rev=122542&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java&r1=122541&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java&r2=122542 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java Thu Dec 16 02:39:13 2004 @@ -49,7 +49,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Björn Lütkemeier</a> * - * @version CVS $Id: EventLinkTransformer.java,v 1.9 2004/04/25 20:02:27 haul Exp $ + * @version CVS $Id$ */ public class EventLinkTransformer extends AbstractCopletTransformer { @@ -82,12 +82,12 @@ /** * The attribute defining the link inside an EVENT_ELEM tag. */ - private String attributeName = null; + private String attributeName; /** * The element defining the link inside an EVENT_ELEM tag. */ - private String elementName = null; + private String elementName; /** * Used to store elements' attributes between startTransformingElement and endTransformingElement. Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java?view=diff&rev=122542&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java&r1=122541&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java&r2=122542 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/LinkTransformer.java Thu Dec 16 02:39:13 2004 @@ -54,7 +54,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Gernot Koller</a> * @author <a href="mailto:[EMAIL PROTECTED]">Friedrich Klenner</a> * - * @version CVS $Id: LinkTransformer.java,v 1.5 2004/03/05 13:02:16 bdelacretaz Exp $ + * @version CVS $Id$ */ public class LinkTransformer extends AbstractTransformer @@ -68,22 +68,22 @@ /** * Used for appending a request parameter containing the coplet id */ - protected String copletIdParamString = null; + protected String copletIdParamString; /** * Used for appending a request parameter containing the portal name */ - protected String portalNameParamString = null; + protected String portalNameParamString; /** * The coplet instance data */ - protected CopletInstanceData copletInstanceData = null; + protected CopletInstanceData copletInstanceData; /** * The html document base uri */ - protected String documentBase = null; + protected String documentBase; /** * Used to store elements' name between startTransformingElement and endTransformingElement. @@ -105,12 +105,11 @@ /** * @see AbstractTransformer#setup(SourceResolver, Map, String, Parameters) */ - public void setup( - SourceResolver resolver, + public void setup(SourceResolver resolver, Map objectModel, String src, Parameters par) - throws ProcessingException, SAXException, IOException { + throws ProcessingException, SAXException, IOException { copletInstanceData = ProxyTransformer.getInstanceData( this.manager, @@ -131,6 +130,7 @@ * All instance variables are set to <code>null</code>. */ public void recycle() { + super.recycle(); copletInstanceData = null; elementStack.clear(); copletIdParamString = null; @@ -161,7 +161,7 @@ */ public void startElement(String uri, String name, String raw, Attributes attributes) - throws SAXException { + throws SAXException { if ("form".equalsIgnoreCase(name)) { handleTag( @@ -172,17 +172,13 @@ attributes, true, (attributes.getIndex("target") > -1)); - } - else if ("script".equalsIgnoreCase(name)) { + } else if ("script".equalsIgnoreCase(name)) { handleTag("src", uri, name, raw, attributes, false, false); - } - else if ("img".equalsIgnoreCase(name)) { + } else if ("img".equalsIgnoreCase(name)) { handleTag("src", uri, name, raw, attributes, false, false); - } - else if ("link".equalsIgnoreCase(name)) { + } else if ("link".equalsIgnoreCase(name)) { handleTag("href", uri, name, raw, attributes, false, false); - } - else if ("a".equalsIgnoreCase(name)) { + } else if ("a".equalsIgnoreCase(name)) { handleTag( "href", uri, @@ -191,19 +187,15 @@ attributes, true, (attributes.getIndex("target") > -1)); - } - else if ("menu-item".equalsIgnoreCase(name)) { + } else if ("menu-item".equalsIgnoreCase(name)) { handleTag("href", uri, name, raw, attributes, true, false); - } - else if ("input".equalsIgnoreCase(name)) { + } else if ("input".equalsIgnoreCase(name)) { handleTag("src", uri, name, raw, attributes, false, false); - } - else if ("applet".equalsIgnoreCase(name)) { + } else if ("applet".equalsIgnoreCase(name)) { if (attributes.getIndex("codebase") > -1) { handleTag("codebase", uri, name, raw, attributes, false, true); } - } - else { + } else { super.startElement(uri, name, raw, attributes); } } @@ -212,7 +204,7 @@ * @see org.xml.sax.ContentHandler#endElement(String, String, String) */ public void endElement(String uri, String name, String raw) - throws SAXException { + throws SAXException { String elementName = null; if (!elementStack.empty()) { @@ -220,12 +212,12 @@ } if (elementName != null && elementName.equals(name)) { + elementStack.pop(); super.endElement( NewEventLinkTransformer.NAMESPACE_URI, NewEventLinkTransformer.EVENT_ELEM, NAMESPACE_PREFIX + ":" + NewEventLinkTransformer.EVENT_ELEM); - } - else { + } else { super.endElement(uri, name, raw); } } @@ -262,15 +254,14 @@ * @param direct True signals that the uri should point directly to the external resource (no proxys) * @throws SAXException if an invalid URL was detected. */ - public void handleTag( - String attributeName, - String uri, - String elementName, - String raw, - Attributes attributes, - boolean eventLink, - boolean direct) - throws SAXException { + public void handleTag(String attributeName, + String uri, + String elementName, + String raw, + Attributes attributes, + boolean eventLink, + boolean direct) + throws SAXException { String remoteURI = attributes.getValue(attributeName); if ((remoteURI == null) @@ -281,21 +272,18 @@ || remoteURI.startsWith("javascript:") || remoteURI.startsWith("mailto:")) { super.startElement(uri, elementName, raw, attributes); - } - else { + } else { if (attributes.getIndex("target") > -1 || direct) { try { remoteURI = ProxyTransformer.resolveURI(remoteURI, documentBase); eventLink = false; - } - catch (MalformedURLException ex) { + } catch (MalformedURLException ex) { throw new SAXException( "Invalid URL encountered: " + remoteURI, ex); } - } - else { + } else { remoteURI = this.buildUrlString(remoteURI, !eventLink); } @@ -307,8 +295,7 @@ elementName, attributeName, newAttributes); - } - else { + } else { super.startElement(uri, elementName, raw, newAttributes); } } @@ -321,10 +308,9 @@ * @param attributes List of attributes * @return The modified List of attributes */ - protected Attributes modifyLinkAttribute( - String attribute, - String remoteURI, - Attributes attributes) { + protected Attributes modifyLinkAttribute(String attribute, + String remoteURI, + Attributes attributes) { AttributesImpl newAttributes = new AttributesImpl(attributes); int index = newAttributes.getIndex(attribute); @@ -340,17 +326,15 @@ * @param attributes Original list of attributes * @throws SAXException */ - protected void startEventLinkElement( - String element, - String attribute, - Attributes attributes) - throws SAXException { + protected void startEventLinkElement(String element, + String attribute, + Attributes attributes) + throws SAXException { elementStack.push(element); AttributesImpl eventAttributes = null; if (attributes instanceof AttributesImpl) { eventAttributes = (AttributesImpl) attributes; - } - else { + } else { eventAttributes = new AttributesImpl(attributes); } @@ -380,9 +364,8 @@ * @return the converted uri * FIXME: anchors (#) should be treated right! */ - protected String buildUrlString( - String uri, - boolean applyPrefixAndPortalParams) { + protected String buildUrlString(String uri, + boolean applyPrefixAndPortalParams) { StringBuffer uriBuffer = new StringBuffer(uri.length()); int index_semikolon = uri.indexOf(";"); Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java?view=diff&rev=122542&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java&r1=122541&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java&r2=122542 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java Thu Dec 16 02:39:13 2004 @@ -15,8 +15,6 @@ */ package org.apache.cocoon.portal.transformation; -import java.util.Stack; - import org.apache.cocoon.portal.coplet.CopletInstanceData; import org.apache.cocoon.portal.event.impl.CopletLinkEvent; import org.xml.sax.Attributes; @@ -25,7 +23,7 @@ import org.xml.sax.helpers.AttributesImpl; /** - * This transformer ist used to replace links (URIs) from elements + * This transformer is used to replace links (URIs) from elements * like <a href="URI"> or <form action="URI"> with portal * event uris. Therefore the transformer searches for <eventlink> * elements replaces the URI form the attribute which is specified within @@ -80,19 +78,6 @@ public static final String ELEMENT_ATTR = "element"; /** - * Used to store elements' name between startTransformingElement and endTransformingElement. - */ - private Stack elementStack = new Stack(); - - /** - * @see org.apache.avalon.excalibur.pool.Recyclable#recycle() - */ - public void recycle() { - super.recycle(); - this.elementStack.clear(); - } - - /** * @see java.lang.Object#Object() */ public NewEventLinkTransformer() { @@ -204,7 +189,7 @@ newAttributes.setValue(index, eventLink); } - elementStack.push(elementName); + this.stack.push(elementName); contentHandler.startElement( "", @@ -262,7 +247,7 @@ */ public void endTransformingElement(String uri, String name, String raw) throws SAXException { - String elementName = (String) elementStack.pop(); + String elementName = (String) this.stack.pop(); contentHandler.endElement("", elementName, elementName); } }