Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/proxy/java/org/apache/cocoon/generation/HttpProxyGenerator.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* * Copyright 1999-2004 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. @@ -51,11 +51,11 @@ * The <code>HttpProxyGenerator</code> is a Cocoon generator using the * <b>Jakarta Commons HTTPClient Library</b> to access an XML stream * over HTTP. - * + * * @author <a href="mailto:[EMAIL PROTECTED]">Ivelin Ivanov</a>, June 2002 * @author <a href="mailto:[EMAIL PROTECTED]">Tony Collen</a>, December 2002 * @author <a href="mailto:[EMAIL PROTECTED]">Pier Fumagalli</a>, February 2003 - * @version CVS $Id: HttpProxyGenerator.java,v 1.7 2004/03/05 13:02:20 bdelacretaz Exp $ + * @version CVS $Id$ */ public class HttpProxyGenerator extends ServiceableGenerator implements Configurable { @@ -293,19 +293,19 @@ if (this.method instanceof PostMethod) { String body = ((PostMethod) this.method).getRequestBodyAsString(); - attributes = new AttributesImpl(); + attributes.clear(); attributes.addAttribute("", "name", "name", "CDATA", "Content-Type"); attributes.addAttribute("", "value", "value", "CDATA", "application/x-www-form-urlencoded"); super.xmlConsumer.startElement("", "header", "header", attributes); super.xmlConsumer.endElement("", "header", "header"); - attributes = new AttributesImpl(); + attributes.clear(); attributes.addAttribute("", "name", "name", "CDATA", "Content-Length"); attributes.addAttribute("", "value", "value", "CDATA", Integer.toString(body.length())); super.xmlConsumer.startElement("", "header", "header", attributes); super.xmlConsumer.endElement("", "header", "header"); - attributes = new AttributesImpl(); + attributes.clear(); super.xmlConsumer.startElement("", "body", "body", attributes); super.xmlConsumer.characters(body.toCharArray(), 0, body.length()); super.xmlConsumer.endElement("", "body", "body"); @@ -348,7 +348,7 @@ if (value != null) list.add(new NameValuePair(name, value)); } } - + return (list); }
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/qdox/java/org/apache/cocoon/components/source/impl/QDoxSource.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/qdox/java/org/apache/cocoon/components/source/impl/QDoxSource.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/qdox/java/org/apache/cocoon/components/source/impl/QDoxSource.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/qdox/java/org/apache/cocoon/components/source/impl/QDoxSource.java Tue Apr 26 09:07:03 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. @@ -42,6 +42,8 @@ import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; import org.apache.cocoon.serialization.XMLSerializer; +import org.apache.cocoon.xml.XMLUtils; + import org.apache.commons.lang.StringUtils; import org.apache.excalibur.source.Source; import org.apache.excalibur.source.SourceException; @@ -51,7 +53,6 @@ import org.apache.excalibur.xml.sax.XMLizable; import org.apache.regexp.RE; import org.apache.regexp.RESyntaxException; -import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; @@ -60,11 +61,10 @@ * Source implementation for XML Javadoc. * * @author <a href="mailto:[EMAIL PROTECTED]">Bart Guijt</a> - * @version CVS $Id$ $Date: 2004/04/30 22:50:39 $ + * @version $Id$ $Date: 2004/04/30 22:50:39 $ */ -public final class QDoxSource - extends AbstractSource - implements XMLizable, Recyclable { +public final class QDoxSource extends AbstractSource + implements XMLizable, Recyclable { protected final static String ROOT_CLASSNAME = "java.lang.Object"; @@ -72,7 +72,6 @@ protected final static String NS_URI = "http://apache.org/cocoon/javadoc/1.0"; protected final static String NS_PREFIX = "jd"; protected final static String ATTR_TYPE = "NMTOKEN"; - protected final static Attributes EMPTY_ATTRS = new AttributesImpl(); protected final static String CLASS_ELEMENT = "class"; protected final static String CLASSNAME_ATTRIBUTE = "name"; @@ -1168,7 +1167,7 @@ * @param localName */ private void saxStartElement(ContentHandler handler, String localName) throws SAXException { - handler.startElement(NS_URI, localName, NS_PREFIX + ':' + localName, EMPTY_ATTRS); + handler.startElement(NS_URI, localName, NS_PREFIX + ':' + localName, XMLUtils.EMPTY_ATTRIBUTES); } /** Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/components/source/helpers/SourceProperty.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/components/source/helpers/SourceProperty.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/components/source/helpers/SourceProperty.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/components/source/helpers/SourceProperty.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -15,8 +15,10 @@ */ package org.apache.cocoon.components.source.helpers; +import org.apache.cocoon.xml.XMLUtils; import org.apache.cocoon.xml.dom.DOMBuilder; import org.apache.cocoon.xml.dom.DOMStreamer; + import org.apache.excalibur.xml.sax.XMLizable; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -31,18 +33,18 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a> * @author <a href="mailto:[EMAIL PROTECTED]">Martin Holz</a> - * @version CVS $Id: SourceProperty.java,v 1.3 2004/03/27 21:49:09 unico Exp $ + * @version $Id$ */ public class SourceProperty implements XMLizable { private static final String URI = "http://www.w3.org/2000/xmlns/"; private static final String NS_PREFIX = "property"; private static final String D_PREFIX = NS_PREFIX+":"; - + private String namespace; private String name; private Element value; - + /** * Creates a new property for a source * @@ -166,9 +168,9 @@ StringBuffer buffer = new StringBuffer(); for (int i = 0; i<nodeslist.getLength(); i++) { if ((nodeslist.item(i).getNodeType()==Node.TEXT_NODE) || - (nodeslist.item(i).getNodeType()==Node.CDATA_SECTION_NODE)) + (nodeslist.item(i).getNodeType()==Node.CDATA_SECTION_NODE)) { - + buffer.append(nodeslist.item(i).getNodeValue()); } } @@ -185,7 +187,7 @@ try { DOMBuilder builder = new DOMBuilder(); builder.startDocument(); - builder.startElement(namespace, name, name, new AttributesImpl()); + builder.startElement(namespace, name, name, XMLUtils.EMPTY_ATTRIBUTES); DOMStreamer stream = new DOMStreamer(builder); for (int i = 0; i<values.getLength(); i++) { stream.stream(values.item(i)); Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/generation/TraversableSourceDescriptionGenerator.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/generation/TraversableSourceDescriptionGenerator.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/generation/TraversableSourceDescriptionGenerator.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/repository/java/org/apache/cocoon/generation/TraversableSourceDescriptionGenerator.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -20,6 +20,7 @@ import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.ProcessingException; +import org.apache.cocoon.xml.XMLUtils; import org.apache.cocoon.components.source.InspectableSource; import org.apache.cocoon.components.source.LockableSource; import org.apache.cocoon.components.source.RestrictableSource; @@ -36,7 +37,6 @@ import org.xml.sax.helpers.AttributesImpl; /** - * * This Generator augments the output of the TraversableGenerator. * <p> * It adds: @@ -50,27 +50,28 @@ * <p> * Sitemap parameters that can be specified to control processing are: * <ul> - * <li><code>version</code> (<code>true</code>) + * <li><code>version</code> (<code>true</code>) * whether to generate versioning information.</li> - * <li><code>locking</code> (<code>true</code>) + * <li><code>locking</code> (<code>true</code>) * whether to generate locking information.</li> - * <li><code>permission</code> (<code>true</code>) + * <li><code>permission</code> (<code>true</code>) * whether to generate permission information.</li> - * <li><code>properties</code> (<code>true</code>) + * <li><code>properties</code> (<code>true</code>) * whether to generate source property information.</li> * </ul> * </p> - * + * * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a> * @author <a href="mailto:[EMAIL PROTECTED]">Unico Hommes</a> + * @version $Id$ */ public class TraversableSourceDescriptionGenerator extends TraversableGenerator { - + protected static final String MIME_TYPE_ATTR_NAME = "mimeType"; - + private static final String REVISION_ATTR_NAME = "revision"; private static final String REVISIONBRANCH_ATTR_NAME = "branch"; - + private static final String PROPERTIES_NODE_NAME = "properties"; private static final String PROPERTIES_NODE_QNAME = PREFIX + ":" + PROPERTIES_NODE_NAME; @@ -83,7 +84,7 @@ private static final String LOCKS_NODE_QNAME = PREFIX + ":" + LOCKS_NODE_NAME; private static final String LOCK_NODE_NAME = "lock"; private static final String LOCK_NODE_QNAME = PREFIX + ":" + LOCK_NODE_NAME; - + private static final String PRINCIPAL_ATTR_NAME = "principal"; private static final String GROUP_ATTR_NAME = "group"; private static final String PRIVILEGE_ATTR_NAME = "privilege"; @@ -93,8 +94,8 @@ private static final String TYPE_ATTR_NAME = "type"; private static final String EXPIRATION_ATTR_NAME = "expiration"; private static final String EXCLUSIVE_ATTR_NAME = "exclusive"; - - + + /** Include properties into the description */ private boolean properties = true; @@ -106,8 +107,8 @@ /** Include version into the description */ private boolean version = true; - - + + /** * Set the <code>SourceResolver</code>, objectModel <code>Map</code>, * the source and sitemap <code>Parameters</code> used to process the request. @@ -119,23 +120,23 @@ */ public void setup(SourceResolver resolver, Map objectModel, String location, - Parameters parameters) + Parameters parameters) throws ProcessingException, SAXException, IOException { - + super.setup(resolver, objectModel, location, parameters); this.properties = parameters.getParameterAsBoolean("properties", true); super.cacheKeyParList.add(String.valueOf(this.permissions)); - + this.permissions = parameters.getParameterAsBoolean("permissions", true); super.cacheKeyParList.add(String.valueOf(this.permissions)); this.locks = parameters.getParameterAsBoolean("locks", true); super.cacheKeyParList.add(String.valueOf(this.locks)); - + this.version = parameters.getParameterAsBoolean("version", true); super.cacheKeyParList.add(String.valueOf(this.version)); - + if (getLogger().isDebugEnabled()) { getLogger().debug("properties: " + this.properties); getLogger().debug("permissions: " + this.permissions); @@ -143,15 +144,15 @@ getLogger().debug("version: " + this.version); } } - + /** * Augments source nodes with additional information. - * + * * @param source the Source to describe. */ protected final void addContent(TraversableSource source) throws SAXException, ProcessingException { - + super.addContent(source); try { if (this.properties && (source instanceof InspectableSource)) { @@ -168,14 +169,14 @@ } } - + /** * Augments source node elements with additional attributes describing the Source. - * The additional attributes are a <code>mimeType</code> attribute, - * and iff the Source is an instance of VersionableSource and the generator - * is configured to output versioning information two attributes: + * The additional attributes are a <code>mimeType</code> attribute, + * and iff the Source is an instance of VersionableSource and the generator + * is configured to output versioning information two attributes: * <code>revision</code> and <code>branch</code>. - * + * * @param source the Source to describe. */ protected void setNodeAttributes(TraversableSource source) throws SAXException, ProcessingException { @@ -198,7 +199,7 @@ REVISION_ATTR_NAME, "CDATA", versionablesource.getSourceRevision()); } - + if ((versionablesource.getSourceRevisionBranch()!=null) && (versionablesource.getSourceRevisionBranch().length()> 0)) { @@ -214,7 +215,7 @@ } } } - + /** * Push a XML description about all properties, which * the source owns. @@ -222,16 +223,14 @@ * @param source the Source to describe. */ private void pushSourceProperties(InspectableSource source) - throws SAXException, SourceException { - + throws SAXException, SourceException { + SourceProperty[] properties = source.getSourceProperties(); if (properties != null && properties.length > 0) { - SourceProperty property; - AttributesImpl attributes = new AttributesImpl(); this.contentHandler.startElement(URI, PROPERTIES_NODE_NAME, - PROPERTIES_NODE_QNAME, attributes); + PROPERTIES_NODE_QNAME, XMLUtils.EMPTY_ATTRIBUTES); for (int i = 0; i < properties.length; i++) { - property = properties[i]; + SourceProperty property = properties[i]; property.toSAX(this.contentHandler); } this.contentHandler.endElement(URI, PROPERTIES_NODE_NAME, @@ -253,7 +252,7 @@ this.contentHandler.startElement(URI, PERMISSIONS_NODE_NAME, PERMISSIONS_NODE_QNAME, - new AttributesImpl()); + XMLUtils.EMPTY_ATTRIBUTES); for (int i = 0; i < permissions.length; i++) { AttributesImpl attributes = new AttributesImpl(); @@ -304,14 +303,12 @@ if (locks != null && locks.length > 0) { this.contentHandler.startElement(URI, LOCKS_NODE_NAME, LOCKS_NODE_QNAME, - new AttributesImpl()); + XMLUtils.EMPTY_ATTRIBUTES); for (int i = 0; locks.length > 0; i++) { SourceLock lock = locks[i]; AttributesImpl attributes = new AttributesImpl(); - - attributes = new AttributesImpl(); attributes.addAttribute("", PRINCIPAL_ATTR_NAME, PRINCIPAL_ATTR_NAME, "CDATA", lock.getSubject()); @@ -331,12 +328,11 @@ LOCK_NODE_QNAME, attributes); this.contentHandler.endElement(URI, LOCK_NODE_NAME, LOCK_NODE_QNAME); - } this.contentHandler.endElement(URI, LOCKS_NODE_NAME, LOCKS_NODE_QNAME); } } - + } Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/slop/java/org/apache/cocoon/slop/parsing/SimpleSlopParser.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/slop/java/org/apache/cocoon/slop/parsing/SimpleSlopParser.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/slop/java/org/apache/cocoon/slop/parsing/SimpleSlopParser.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/slop/java/org/apache/cocoon/slop/parsing/SimpleSlopParser.java Tue Apr 26 09:07:03 2005 @@ -1,45 +1,46 @@ /* - * 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. * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.cocoon.slop.parsing; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; import org.apache.cocoon.ProcessingException; +import org.apache.cocoon.xml.XMLUtils; import org.apache.cocoon.slop.interfaces.SlopParser; import org.apache.cocoon.slop.interfaces.SlopConstants; -/** Simplistic SLOP parser, recognizes the following constructs: +/** + * Simplistic SLOP parser, recognizes the following constructs: * * Field: a line starting with letters and : is considered a field * * Empty lines are detected. * Other lines are output as line elements * - * This is sufficient for basic parsing of RFC 822 headers, - * but a configurable rfc822 mode would be good to differentiate - * between the header and body of the email message and parse them - * with different rules. + * This is sufficient for basic parsing of RFC 822 headers, + * but a configurable rfc822 mode would be good to differentiate + * between the header and body of the email message and parse them + * with different rules. * * @author <a href="mailto:[EMAIL PROTECTED]">Bertrand Delacretaz</a> - * @version CVS $Id: SimpleSlopParser.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $ + * @version $Id$ */ - public class SimpleSlopParser implements SlopParser,SlopConstants { + private ContentHandler contentHandler; /** chars that can be part of a field name (other than letters) */ @@ -97,17 +98,16 @@ /** must be called before any call to processLine() */ public void startDocument(ContentHandler destination) - throws SAXException, ProcessingException { + throws SAXException, ProcessingException { contentHandler = destination; contentHandler.startDocument(); contentHandler.startPrefixMapping("", SLOP_NAMESPACE_URI); - final AttributesImpl atts = new AttributesImpl(); - contentHandler.startElement(SLOP_NAMESPACE_URI, SLOP_ROOT_ELEMENT, SLOP_ROOT_ELEMENT, atts); + contentHandler.startElement(SLOP_NAMESPACE_URI, SLOP_ROOT_ELEMENT, SLOP_ROOT_ELEMENT, XMLUtils.EMPTY_ATTRIBUTES); } /** must be called once all calls to processLine() are done */ public void endDocument() - throws SAXException, ProcessingException { + throws SAXException, ProcessingException { contentHandler.endElement(SLOP_NAMESPACE_URI, SLOP_ROOT_ELEMENT, SLOP_ROOT_ELEMENT); contentHandler.endPrefixMapping(""); contentHandler.endDocument(); @@ -122,7 +122,7 @@ /** call this to process input lines, does the actual parsing */ public void processLine(String line) - throws SAXException, ProcessingException { + throws SAXException, ProcessingException { if(contentHandler == null) { throw new ProcessingException("SimpleSlopParser content handler is null (startDocument not called?)"); } Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* * Copyright 1999-2004 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. @@ -32,40 +32,40 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a> * @since 2.1 - * @version CVS $Id: DefaultWeb3StreamerImpl.java,v 1.7 2004/03/05 13:02:25 bdelacretaz Exp $ + * @version CVS $Id$ */ public class DefaultWeb3StreamerImpl implements Web3Streamer, Poolable { - public void stream(JCO.Function function, - ContentHandler contentHandler) throws SAXException { + public void stream(JCO.Function function, + ContentHandler contentHandler) + throws SAXException { - AttributesImpl attributes = new AttributesImpl(); - attributes.clear(); - attributes.addAttribute( Web3.URI, Web3.INCLUDE_NAME_ATTR, + AttributesImpl attributes = new AttributesImpl(); + attributes.addAttribute( Web3.URI, Web3.INCLUDE_NAME_ATTR, Web3.INCLUDE_NAME_ATTR, "CDATA", function.getName().toUpperCase() ); - contentHandler.startElement( Web3.URI, Web3.INCLUDE_ELEM, + contentHandler.startElement( Web3.URI, Web3.INCLUDE_ELEM, Web3.INCLUDE_ELEM, attributes ); attributes.clear(); - contentHandler.startElement( Web3.URI, Web3.IMPORT_ELEM, + contentHandler.startElement( Web3.URI, Web3.IMPORT_ELEM, Web3.IMPORT_ELEM, attributes ); streamParameterList( function.getImportParameterList(), contentHandler ); contentHandler.endElement( Web3.URI, Web3.IMPORT_ELEM, Web3.IMPORT_ELEM ); attributes.clear(); - contentHandler.startElement( Web3.URI, Web3.EXPORT_ELEM, + contentHandler.startElement( Web3.URI, Web3.EXPORT_ELEM, Web3.EXPORT_ELEM, attributes ); streamParameterList( function.getExportParameterList(), contentHandler ); contentHandler.endElement( Web3.URI, Web3.EXPORT_ELEM, Web3.EXPORT_ELEM ); - + JCO.ParameterList tablesParameterList = function.getTableParameterList(); attributes.clear(); - contentHandler.startElement( Web3.URI, Web3.TABLES_ELEM, + contentHandler.startElement( Web3.URI, Web3.TABLES_ELEM, Web3.TABLES_ELEM, attributes ); if (null != tablesParameterList) { for (int i = 0; i < tablesParameterList.getFieldCount(); i++) { attributes.clear(); - attributes.addAttribute( Web3.URI, Web3.TABLE_NAME_ATTR, - Web3.TABLE_NAME_ATTR, "CDATA", + attributes.addAttribute( Web3.URI, Web3.TABLE_NAME_ATTR, + Web3.TABLE_NAME_ATTR, "CDATA", tablesParameterList.getName(i).toUpperCase() ); contentHandler.startElement( Web3.URI, Web3.TABLE_ELEM, Web3.TABLE_ELEM, attributes ); @@ -74,87 +74,86 @@ for (int j = 0; j < sapTable.getNumRows(); j++) { sapTable.setRow(j); attributes.clear(); - attributes.addAttribute(Web3.URI, Web3.ROW_ID_ATTR, + attributes.addAttribute(Web3.URI, Web3.ROW_ID_ATTR, Web3.ROW_ID_ATTR, "CDATA", "" + (j + 1)); - contentHandler.startElement(Web3.URI, Web3.ROW_ELEM, + contentHandler.startElement(Web3.URI, Web3.ROW_ELEM, Web3.ROW_ELEM, attributes); for (int k = 0; k < sapTable.getFieldCount(); k++) { attributes.clear(); - attributes.addAttribute(Web3.URI, - Web3.FIELD_NAME_ATTR, Web3.FIELD_NAME_ATTR, + attributes.addAttribute(Web3.URI, + Web3.FIELD_NAME_ATTR, Web3.FIELD_NAME_ATTR, "CDATA", sapTable.getName(k).toUpperCase()); - contentHandler.startElement(Web3.URI, + contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM, attributes); - String theValue = ( sapTable.getString(k) == null) + String theValue = ( sapTable.getString(k) == null) ? "" : sapTable.getString(k).trim(); - contentHandler.characters(theValue.toCharArray(), 0, + contentHandler.characters(theValue.toCharArray(), 0, theValue.length()); - contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, + contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM); } - contentHandler.endElement(Web3.URI, Web3.ROW_ELEM, + contentHandler.endElement(Web3.URI, Web3.ROW_ELEM, Web3.ROW_ELEM); } - contentHandler.endElement(Web3.URI, Web3.TABLE_ELEM, + contentHandler.endElement(Web3.URI, Web3.TABLE_ELEM, Web3.TABLE_ELEM); } - } + } } contentHandler.endElement(Web3.URI, Web3.TABLES_ELEM, Web3.TABLES_ELEM); - contentHandler.endElement( Web3.URI, Web3.INCLUDE_ELEM, + contentHandler.endElement( Web3.URI, Web3.INCLUDE_ELEM, Web3.INCLUDE_ELEM ); } - + protected void streamParameterList(JCO.ParameterList pList, - ContentHandler contentHandler) throws SAXException { - + ContentHandler contentHandler) + throws SAXException { + AttributesImpl attributes = new AttributesImpl(); - attributes.clear(); if (pList != null) { for (int i = 0; i < pList.getFieldCount(); i++) { + attributes.clear(); + JCO.Field theField = pList.getField(i); if (theField.isStructure()) { - JCO.Structure sapStructure = + JCO.Structure sapStructure = pList.getStructure(pList.getName(i)); - attributes.clear(); - attributes.addAttribute(Web3.URI, Web3.STRUCTURE_NAME_ATTR, - Web3.STRUCTURE_NAME_ATTR, "CDATA", + attributes.addAttribute(Web3.URI, Web3.STRUCTURE_NAME_ATTR, + Web3.STRUCTURE_NAME_ATTR, "CDATA", pList.getName(i).toUpperCase()); - contentHandler.startElement(Web3.URI, Web3.STRUCTURE_ELEM, - Web3.STRUCTURE_ELEM, attributes); + contentHandler.startElement(Web3.URI, Web3.STRUCTURE_ELEM, + Web3.STRUCTURE_ELEM, attributes); for (int j = 0; j < sapStructure.getFieldCount(); j++) { attributes.clear(); - attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, - Web3.FIELD_NAME_ATTR, "CDATA", + attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, + Web3.FIELD_NAME_ATTR, "CDATA", sapStructure.getName(j).toUpperCase()); - contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, + contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM, attributes); - String theValue = (sapStructure.getString(j) == null) + String theValue = (sapStructure.getString(j) == null) ? "" : sapStructure.getString(j).trim(); - contentHandler.characters(theValue.toCharArray(), 0, + contentHandler.characters(theValue.toCharArray(), 0, theValue.length()); - contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, + contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM); } - contentHandler.endElement(Web3.URI, Web3.STRUCTURE_ELEM, + contentHandler.endElement(Web3.URI, Web3.STRUCTURE_ELEM, Web3.STRUCTURE_ELEM); - } - else { - attributes.clear(); - attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, - Web3.FIELD_NAME_ATTR, "CDATA", + } else { + attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, + Web3.FIELD_NAME_ATTR, "CDATA", pList.getName(i).toUpperCase()); - contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, + contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM, attributes); String theValue = (pList.getString(i) == null) ? "" : pList.getString(i).trim(); - contentHandler.characters(theValue.toCharArray(), 0, + contentHandler.characters(theValue.toCharArray(), 0, theValue.length()); - contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, + contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, Web3.FIELD_ELEM); } } - } + } } } Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -69,7 +69,7 @@ /** * A source implementation to get access to WebDAV repositories. - * + * * <h2>Protocol syntax</h2> * <p><code>webdav://[usr[:[EMAIL PROTECTED]:port][/path][?cocoon:webdav-depth][&cocoon:webdav-action]</code></p> * <p> @@ -84,31 +84,32 @@ * </li> * </ul> * <p> - * + * * @version $Id$ */ -public class WebDAVSource extends AbstractLogEnabled -implements Source, TraversableSource, ModifiableSource, ModifiableTraversableSource, InspectableSource, MoveableSource { +public class WebDAVSource extends AbstractLogEnabled + implements Source, TraversableSource, ModifiableSource, + ModifiableTraversableSource, InspectableSource, MoveableSource { private static final String NAMESPACE = "http://apache.org/cocoon/webdav/1.0"; private static final String PREFIX = "webdav"; private static final String RESOURCE_NAME = "resource"; private static final String COLLECTION_NAME = "collection"; - + // the http url private final HttpURL url; - + // the scheme name private final String protocol; - + // cached uri and secureUri values private String uri; private String secureUri; - + // the SWCL resource private WebdavResource resource = null; - + // current resource initialization values private int depth = -1; private int action = -1; @@ -119,15 +120,15 @@ private WebDAVSource(HttpURL url, String protocol) throws URIException { this.protocol = protocol; this.url = url; - + String qs = url.getQuery(); if (qs != null) { final SourceParameters sp = new SourceParameters(qs); - + // parse optional start depth and start action qs parameters this.depth = sp.getParameterAsInteger("cocoon:webdav-depth", DepthSupport.DEPTH_1); this.action = sp.getParameterAsInteger("cocoon:webdav-action", WebdavResource.NOACTION); - + // [UH] FIXME: Why this alternative way of passing in credentials? String principal = url.getUser(); String password = url.getPassword(); @@ -144,7 +145,7 @@ sp.removeParameter("cocoon:webdav-action"); sp.removeParameter("cocoon:webdav-principal"); sp.removeParameter("cocoon:webdav-password"); - + // set the qs without WebdavSource specific parameters url.setQuery(sp.getQueryString()); } @@ -153,23 +154,23 @@ /** * Constructor used by getChildren() method. */ - private WebDAVSource (WebdavResource resource, HttpURL url, String protocol) + private WebDAVSource (WebdavResource resource, HttpURL url, String protocol) throws URIException { this(url, protocol); this.resource = resource; } - + /** * Initialize the SWCL WebdavResource. * <p> - * The action argument specifies a set of properties to load during initialization. + * The action argument specifies a set of properties to load during initialization. * Its value is one of WebdavResource.NOACTION, WebdavResource.NAME, * WebdavResource.BASIC, WebdavResource.DEFAULT, WebdavResource.ALL. - * Similarly the depth argument specifies the depth header of the PROPFIND + * Similarly the depth argument specifies the depth header of the PROPFIND * method that is executed upon initialization. * </p> * <p> - * The different methods of this Source implementation call this method to + * The different methods of this Source implementation call this method to * initialize the resource using their minimal action and depth requirements. * For instance the WebDAVSource.getMimeType() method requires WebdavResource.BASIC * properties and a search depth of 0 is sufficient. @@ -180,11 +181,11 @@ * It would be more efficient if previous initialization had been done using depth 1 instead. * In order give the user more control over this the WebDAVSource can be passed a minimal * action and depth using cocoon:webdav-depth and cocoon:webdav-action query string parameters. - * By default the mimimum action is WebdavResource.BASIC (which loads all the following basic + * By default the mimimum action is WebdavResource.BASIC (which loads all the following basic * webdav properties: DAV:displayname, DAV:getcontentlength, DAV:getcontenttype DAV:resourcetype, * DAV:getlastmodified and DAV:lockdiscovery). The default minimum depth is 1. * </p> - * + * * @param action the set of propterties the WebdavResource should load. * @param depth the webdav depth. * @throws SourceException @@ -224,7 +225,7 @@ if (e.getReasonCode() == HttpStatus.SC_NOT_FOUND) { throw new SourceNotFoundException("Not found: " + getSecureURI(), e); } - final String msg = "Could not initialize webdav resource. Server responded " + final String msg = "Could not initialize webdav resource. Server responded " + e.getReasonCode() + " (" + e.getReason() + ") - " + e.getMessage(); throw new SourceException(msg, e); } catch (IOException e) { @@ -237,28 +238,28 @@ */ public static WebDAVSource newWebDAVSource(HttpURL url, String protocol, - Logger logger) + Logger logger) throws URIException { final WebDAVSource source = new WebDAVSource(url, protocol); source.enableLogging(logger); return source; } - + /** * Static factory method to obtain a Source. */ private static WebDAVSource newWebDAVSource(WebdavResource resource, HttpURL url, String protocol, - Logger logger) + Logger logger) throws URIException { final WebDAVSource source = new WebDAVSource(resource, url, protocol); source.enableLogging(logger); return source; } - + // ---------------------------------------------------- Source implementation - + /** * Get the scheme for this Source. */ @@ -286,7 +287,7 @@ } return this.uri; } - + /** * Return the URI securely, without username and password */ @@ -302,7 +303,7 @@ } return this.secureUri; } - + /** * Get the Validity object. This can either wrap the last modification * date or the expires information or... @@ -416,22 +417,20 @@ } private InputStream resourcesToXml(WebdavResource[] resources) - throws Exception { + throws Exception { TransformerFactory tf = TransformerFactory.newInstance(); - TransformerHandler th = - ((SAXTransformerFactory) tf).newTransformerHandler(); + TransformerHandler th = ((SAXTransformerFactory) tf).newTransformerHandler(); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); StreamResult result = new StreamResult(bOut); th.setResult(result); th.startDocument(); th.startPrefixMapping(PREFIX, NAMESPACE); - th.startElement(NAMESPACE, COLLECTION_NAME, - PREFIX + ":" + COLLECTION_NAME, new AttributesImpl()); - this.resourcesToSax(resources, th); - th.endElement(NAMESPACE, COLLECTION_NAME, - PREFIX + ":" + COLLECTION_NAME); + th.startElement(NAMESPACE, COLLECTION_NAME, PREFIX + ":" + COLLECTION_NAME, XMLUtils.EMPTY_ATTRIBUTES); + resourcesToSax(resources, th); + th.endElement(NAMESPACE, COLLECTION_NAME, PREFIX + ":" + COLLECTION_NAME); th.endPrefixMapping(PREFIX); th.endDocument(); + return new ByteArrayInputStream(bOut.toByteArray()); } @@ -470,28 +469,28 @@ if (getLogger().isDebugEnabled()) { final String message = "Unable to get WebDAV children. Server responded " + - e.getReasonCode() + " (" + e.getReason() + ") - " + e.getReasonCode() + " (" + e.getReason() + ") - " + e.getMessage(); getLogger().debug(message); } } catch (SAXException e) { if (getLogger().isDebugEnabled()) { final String message = - "Unable to get WebDAV children: " + "Unable to get WebDAV children: " + e.getMessage(); getLogger().debug(message,e); } } catch (IOException e) { if (getLogger().isDebugEnabled()) { final String message = - "Unable to get WebDAV children: " + "Unable to get WebDAV children: " + e.getMessage(); getLogger().debug(message,e); } } catch (Exception e) { if (getLogger().isDebugEnabled()) { final String message = - "Unable to get WebDAV children: " + "Unable to get WebDAV children: " + e.getMessage(); getLogger().debug(message,e); } @@ -518,7 +517,7 @@ } // ---------------------------------------------------- TraversableSource implementation - + /** * Get a collection child. * @@ -538,7 +537,7 @@ return WebDAVSource.newWebDAVSource(childURL, this.protocol, getLogger()); } catch (URIException e) { throw new SourceException("Failed to create child", e); - } + } } /** @@ -569,7 +568,7 @@ if (getLogger().isDebugEnabled()) { final String message = "Unable to get WebDAV children. Server responded " + - e.getReasonCode() + " (" + e.getReason() + ") - " + e.getReasonCode() + " (" + e.getReason() + ") - " + e.getMessage(); getLogger().debug(message); } @@ -598,7 +597,7 @@ /** * Get the parent. - * + * * @see org.apache.excalibur.source.TraversableSource#getParent() */ public Source getParent() throws SourceException { @@ -635,9 +634,9 @@ } return this.resource.isCollection(); } - + // ---------------------------------------------------- ModifiableSource implementation - + /** * Get an <code>OutputStream</code> where raw bytes can be written to. * The signification of these bytes is implementation-dependent and @@ -686,7 +685,7 @@ throw new IllegalArgumentException("The stream is not associated to this source"); } - /** + /** * Delete this source (unimplemented). * @see org.apache.excalibur.source.ModifiableSource#delete() */ @@ -719,7 +718,7 @@ } catch (HttpException he) { final String message = "Unable to close output stream. Server responded " + - he.getReasonCode() + " (" + he.getReason() + ") - " + he.getReasonCode() + " (" + he.getReason() + ") - " + he.getMessage(); this.source.getLogger().debug(message); throw new IOException(he.getMessage()); @@ -729,11 +728,11 @@ } } } - + private boolean canCancel() { return !isClosed; } - + private void cancel() { if (isClosed) { throw new IllegalStateException("Cannot cancel: outputstream is already closed"); @@ -741,9 +740,9 @@ this.isClosed = true; } } - + // ---------------------------------------------------- ModifiableTraversableSource implementation - + /** * Create the collection, if it doesn't exist. * @see org.apache.excalibur.source.ModifiableTraversableSource#makeCollection() @@ -767,7 +766,7 @@ } // Ignore status 405 - Not allowed: collection already exists else if (status != 405) { - final String msg = + final String msg = "Unable to create collection " + getSecureURI() + ". Server responded " + this.resource.getStatusCode() + " (" + this.resource.getStatusMessage() + ")"; @@ -779,12 +778,12 @@ } catch (SourceException e) { throw e; } catch (IOException e) { - throw new SourceException("Unable to create collection(s)" + getSecureURI(), e); + throw new SourceException("Unable to create collection(s)" + getSecureURI(), e); } } - + // ---------------------------------------------------- InspectableSource implementation - + /** * Returns a enumeration of the properties * @@ -793,13 +792,13 @@ * @throws SourceException If an exception occurs. */ public SourceProperty[] getSourceProperties() throws SourceException { - + initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0); - + Vector sourceproperties = new Vector(); Enumeration props= null; org.apache.webdav.lib.Property prop = null; - + try { Enumeration responses = this.resource.propfindMethod(0); while (responses.hasMoreElements()) { @@ -834,9 +833,9 @@ * @throws SourceException If an exception occurs. */ public SourceProperty getSourceProperty (String namespace, String name) throws SourceException { - + initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0); - + Vector propNames = new Vector(1); propNames.add(new PropertyName(namespace,name)); Enumeration props= null; @@ -867,9 +866,9 @@ */ public void removeSourceProperty(String namespace, String name) throws SourceException { - + initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0); - + try { this.resource.proppatchMethod(new PropertyName(namespace, name), "", false); } catch (Exception e) { @@ -885,16 +884,16 @@ * @throws SourceException If an exception occurs during this operation */ public void setSourceProperty(SourceProperty sourceproperty) throws SourceException { - + initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0); - + try { Node node = null; NodeList list = sourceproperty.getValue().getChildNodes(); for (int i=0; i<list.getLength(); i++) { if ((list.item(i) instanceof Text && !"".equals(list.item(i).getNodeValue())) || list.item(i) instanceof Element) { - + node = list.item(i); break; } @@ -904,7 +903,7 @@ format.put(OutputKeys.METHOD, "xml"); format.put(OutputKeys.OMIT_XML_DECLARATION, "yes"); String prop = XMLUtils.serializeNode(node, format); - + this.resource.proppatchMethod( new PropertyName(sourceproperty.getNamespace(),sourceproperty.getName()), prop, true); @@ -912,7 +911,7 @@ } catch(HttpException e) { final String message = "Unable to set property. Server responded " + - e.getReasonCode() + " (" + e.getReason() + ") - " + e.getReasonCode() + " (" + e.getReason() + ") - " + e.getMessage(); getLogger().debug(message); throw new SourceException("Could not set property ", e); @@ -920,8 +919,8 @@ throw new SourceException("Could not set property ", e); } } - - /** + + /** * Get the current credential for the source */ // public SourceCredential getSourceCredential() throws SourceException { @@ -931,7 +930,7 @@ // return null; // } - /** + /** * Set the credential for the source */ // public void setSourceCredential(SourceCredential sourcecredential) @@ -944,7 +943,7 @@ // } // ---------------------------------------------------- MoveableSource - + /** * Move the current source to a specified destination. * @@ -957,7 +956,7 @@ initResource(WebdavResource.NOACTION, DepthSupport.DEPTH_0); WebDAVSource destination = (WebDAVSource)source; destination.initResource(WebdavResource.BASIC, DepthSupport.DEPTH_0); - try { + try { this.resource.moveMethod(destination.resource.getHttpURL().getPath()); } catch (HttpException e) { throw new SourceException("Cannot move source '"+getSecureURI()+"'", e); Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -40,15 +40,15 @@ import org.xml.sax.helpers.AttributesImpl; /** - * This transformer performs DASL queries on DASL-enabled WebDAV servers. + * This transformer performs DASL queries on DASL-enabled WebDAV servers. * It expects a "query" element in the "http://cocoon.apache.org/webdav/dasl/1.0" * namespace containing the DASL query to execute, with a "target" attribute specifiyng * the webdav:// or http:// URL for the target WebDAV server. It will then replace - * it with a "query-result" element containing the WebDAV results. - * - * Each result will be contained in a "result" element with a "path" attribute pointing at it - * and all WebDAV properties presented as (namespaced) children elements. - * + * it with a "query-result" element containing the WebDAV results. + * + * Each result will be contained in a "result" element with a "path" attribute pointing at it + * and all WebDAV properties presented as (namespaced) children elements. + * * Sample invocation: * lt;dasl:query xmlns:dasl="http://cocoon.apache.org/webdav/dasl/1.0" * target="webdav://localhost/repos/"gt; @@ -86,10 +86,10 @@ * lt;/D:basicsearchgt; * lt;/D:searchrequestgt; * lt;/dasl:querygt; - * + * * Features * - Substitution of a value: with this feature it's possible to pass value from sitemap - * that are substituted into a query. + * that are substituted into a query. * sitemap example: * lt;map:transformer type="dasl"gt; * lt;parameter name="repos" value="/repos/"gt; @@ -99,7 +99,7 @@ * lt;D:hrefgt;lt;substitute-value name="repos"/gt;lt;/D:hrefgt; * .... * This feature is like substitute-value of SQLTransformer - * + * * TODO: the SWCL Search method doesn't preserve the result order, which makes * order-by clauses useless. * @@ -107,6 +107,7 @@ * * @author <a href="mailto: [EMAIL PROTECTED]">Gianugo Rabellino</a> * @author <a href="mailto:[EMAIL PROTECTED]>Daniele Madama</a> + * @version $Id$ */ public class DASLTransformer extends AbstractSAXTransformer { @@ -124,7 +125,7 @@ /** The tag name of root_tag for result */ static final String RESULT_ROOT_TAG = "query-result"; /** The tag name for substitution of query parameter */ - static final String SUBSTITUTE_TAG = "substitute-value"; + static final String SUBSTITUTE_TAG = "substitute-value"; /** The tag name for substitution of query parameter */ static final String SUBSTITUTE_TAG_NAME_ATTRIBUTE = "name"; @@ -136,7 +137,7 @@ /** * Intercept the <dasl:query> start tag. - * + * * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) */ public void startElement( @@ -173,9 +174,9 @@ } /** - * Intercept the <dasl:query> end tag, convert buffered input to a String, build and execute the + * Intercept the <dasl:query> end tag, convert buffered input to a String, build and execute the * DASL query. - * + * * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String) */ public void endElement(String uri, String name, String raw) @@ -208,7 +209,7 @@ HttpState state = new HttpState(); state.setCredentials(null, new UsernamePasswordCredentials( url.getUser(), - url.getPassword())); + url.getPassword())); HttpConnection conn = new HttpConnection(url.getHost(), url.getPort()); WebdavResource resource = new WebdavResource(new HttpURL(this.targetUrl)); if(!resource.exists()) { @@ -219,12 +220,12 @@ throw new SAXException("The server don't support the SEARCH method"); } searchMethod.execute(state, conn); + Enumeration enumeration = searchMethod.getAllResponseURLs(); - this.contentHandler.startElement( - DASL_QUERY_NS, - RESULT_ROOT_TAG, - PREFIX + ":" + RESULT_ROOT_TAG, - new AttributesImpl()); + this.contentHandler.startElement(DASL_QUERY_NS, + RESULT_ROOT_TAG, + PREFIX + ":" + RESULT_ROOT_TAG, + XMLUtils.EMPTY_ATTRIBUTES); while (enumeration.hasMoreElements()) { String path = (String) enumeration.nextElement(); Enumeration properties = searchMethod.getResponseProperties(path); @@ -240,15 +241,14 @@ Element propertyElement = metadata.getElement(); propertyStreamer.stream(propertyElement); } - + this.contentHandler.endElement(DASL_QUERY_NS, RESOURCE_NODE_NAME, PREFIX + ":" + RESOURCE_NODE_NAME); } - this.contentHandler.endElement( - DASL_QUERY_NS, - RESULT_ROOT_TAG, - PREFIX + ":" + RESULT_ROOT_TAG); + this.contentHandler.endElement(DASL_QUERY_NS, + RESULT_ROOT_TAG, + PREFIX + ":" + RESULT_ROOT_TAG); } catch (SAXException e) { throw new SAXException("Unable to fetch the query data:", e); } catch (HttpException e1) { @@ -260,8 +260,7 @@ throw new SAXException("Unable to fetch the query data:", e); } catch (Exception e) { throw new SAXException("Generic Error:", e); - } + } } } - Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/woody/java/org/apache/cocoon/woody/Constants.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/woody/java/org/apache/cocoon/woody/Constants.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/woody/java/org/apache/cocoon/woody/Constants.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/woody/java/org/apache/cocoon/woody/Constants.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* * Copyright 1999-2004 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. @@ -15,13 +15,15 @@ */ package org.apache.cocoon.woody; +import org.apache.cocoon.xml.XMLUtils; + import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributesImpl; /** * Various constants used in the Woody form framework. - * - * @version $Id: Constants.java,v 1.8 2004/03/09 13:54:25 reinhard Exp $ + * + * @version $Id$ */ public final class Constants { // TODO : see this later @@ -34,7 +36,7 @@ // return "Invalid value"; // } // }; - + /** Namespace for Woody Template elements */ public static final String WT_NS = "http://apache.org/cocoon/woody/template/1.0"; public static final String WT_PREFIX = "wt"; @@ -53,5 +55,5 @@ /** I18n catalogue containing the built-in Woody messages. */ public static final String I18N_CATALOGUE = "woody"; - public static final Attributes EMPTY_ATTRS = new AttributesImpl(); + public static final Attributes EMPTY_ATTRS = XMLUtils.EMPTY_ATTRIBUTES; } Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/CocoonMarkupLanguage.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/CocoonMarkupLanguage.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/CocoonMarkupLanguage.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/CocoonMarkupLanguage.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -19,13 +19,14 @@ import org.apache.avalon.framework.logger.Logger; import org.apache.cocoon.ProcessingException; +import org.apache.cocoon.components.language.programming.ProgrammingLanguage; import org.apache.cocoon.xml.AbstractXMLPipe; import org.apache.cocoon.xml.XMLConsumer; -import org.apache.cocoon.components.language.programming.ProgrammingLanguage; +import org.apache.cocoon.xml.XMLUtils; import org.xml.sax.Attributes; -import org.xml.sax.SAXException; import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; import org.xml.sax.ext.LexicalHandler; import org.xml.sax.helpers.AttributesImpl; @@ -47,7 +48,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a> * @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a> * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> - * @version CVS $Id: CocoonMarkupLanguage.java,v 1.3 2004/05/01 00:05:44 joerg Exp $ + * @version CVS $Id$ */ public abstract class CocoonMarkupLanguage extends AbstractMarkupLanguage { @@ -432,7 +433,7 @@ Iterator iter = CocoonMarkupLanguage.this.dependencies.iterator(); while(iter.hasNext()) { super.startElement( - (String)rootElement[0], "dependency", localPrefix + ":dependency", new AttributesImpl() + (String) rootElement[0], "dependency", localPrefix + ":dependency", XMLUtils.EMPTY_ATTRIBUTES ); locationChars = ((String) iter.next()).toCharArray(); super.characters(locationChars, 0 , locationChars.length); Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPMarkupLanguage.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPMarkupLanguage.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPMarkupLanguage.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPMarkupLanguage.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -18,10 +18,10 @@ import org.apache.cocoon.components.language.markup.CocoonMarkupLanguage; import org.apache.cocoon.components.language.programming.ProgrammingLanguage; import org.apache.cocoon.xml.AbstractXMLPipe; +import org.apache.cocoon.xml.XMLUtils; import org.xml.sax.Attributes; import org.xml.sax.SAXException; -import org.xml.sax.helpers.AttributesImpl; import java.util.Stack; @@ -32,7 +32,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> * @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Sahuc</a> * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> - * @version CVS $Id: XSPMarkupLanguage.java,v 1.1 2004/03/10 12:58:05 stephan Exp $ + * @version $Id$ */ public class XSPMarkupLanguage extends CocoonMarkupLanguage { @@ -117,7 +117,7 @@ String value = String.valueOf(ch, start, length); // Create a new element <xsp:text> that wrap the quoted PCDATA super.startElement(XSPMarkupLanguage.this.getURI(), "text", - localPrefix + ":text", new AttributesImpl()); + localPrefix + ":text", XMLUtils.EMPTY_ATTRIBUTES); super.characters(value.toCharArray(), 0, value.length()); super.endElement(XSPMarkupLanguage.this.getURI(), "text", localPrefix + ":text"); Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPObjectHelper.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPObjectHelper.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPObjectHelper.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/XSPObjectHelper.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -19,6 +19,8 @@ import java.util.Iterator; import org.apache.cocoon.xml.dom.DOMStreamer; +import org.apache.cocoon.xml.XMLUtils; + import org.apache.excalibur.xml.sax.XMLizable; import org.w3c.dom.Node; import org.xml.sax.ContentHandler; @@ -31,13 +33,9 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a> * (Cocoon1 <code>xspExpr()</code> methods port) - * @version CVS $Id: XSPObjectHelper.java,v 1.1 2004/03/10 12:58:05 stephan Exp $ + * @version $Id$ */ public class XSPObjectHelper { - /** - * Empty attributes used for contentHandler.startElement() - */ - protected static final AttributesImpl emptyAttr = new AttributesImpl(); /** * Output an element containing text only and no attributes @@ -46,13 +44,12 @@ * @param name The element name * @param data The data contained by the element */ - protected static void elementData( - String uri, - String prefix, - ContentHandler contentHandler, - String name, - String data) - throws SAXException { + protected static void elementData(String uri, + String prefix, + ContentHandler contentHandler, + String name, + String data) + throws SAXException { start(uri, prefix, contentHandler, name); data(contentHandler, data); end(uri, prefix, contentHandler, name); @@ -66,14 +63,13 @@ * @param data The data contained by the element * @param attr The element attributes */ - protected static void elementData( - String uri, - String prefix, - ContentHandler contentHandler, - String name, - String data, - AttributesImpl attr) - throws SAXException { + protected static void elementData(String uri, + String prefix, + ContentHandler contentHandler, + String name, + String data, + AttributesImpl attr) + throws SAXException { start(uri, prefix, contentHandler, name, attr); data(contentHandler, data); end(uri, prefix, contentHandler, name); @@ -86,17 +82,12 @@ * @param contentHandler The SAX content handler * @param name The element name */ - protected static void start( - String uri, - String prefix, - ContentHandler contentHandler, - String name) - throws SAXException { - contentHandler.startElement( - uri, - name, - new StringBuffer(prefix).append(":").append(name).toString(), - emptyAttr); + protected static void start(String uri, + String prefix, + ContentHandler contentHandler, + String name) + throws SAXException { + contentHandler.startElement(uri, name, prefix + ":" + name, XMLUtils.EMPTY_ATTRIBUTES); } /** @@ -107,18 +98,13 @@ * @param name The element name * @param attr The element attributes */ - protected static void start( - String uri, - String prefix, - ContentHandler contentHandler, - String name, - AttributesImpl attr) - throws SAXException { - contentHandler.startElement( - uri, - name, - new StringBuffer(prefix).append(":").append(name).toString(), - attr); + protected static void start(String uri, + String prefix, + ContentHandler contentHandler, + String name, + AttributesImpl attr) + throws SAXException { + contentHandler.startElement(uri, name, prefix + ":" + name, attr); } /** @@ -127,16 +113,12 @@ * @param contentHandler The SAX content handler * @param name The element name */ - protected static void end( - String uri, - String prefix, - ContentHandler contentHandler, - String name) - throws SAXException { - contentHandler.endElement( - uri, - name, - new StringBuffer(prefix).append(":").append(name).toString()); + protected static void end(String uri, + String prefix, + ContentHandler contentHandler, + String name) + throws SAXException { + contentHandler.endElement(uri, name, prefix + ":" + name); } /** @@ -146,11 +128,10 @@ * @param name The attribute name * @param value The attribute value */ - protected static void addAttribute( - AttributesImpl attr, - String name, - String value) - throws SAXException { + protected static void addAttribute(AttributesImpl attr, + String name, + String value) + throws SAXException { attr.addAttribute("", name, name, "CDATA", value); } @@ -161,7 +142,7 @@ * @param data The string data */ protected static void data(ContentHandler contentHandler, String data) - throws SAXException { + throws SAXException { contentHandler.characters(data.toCharArray(), 0, data.length()); } @@ -175,7 +156,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, char v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -187,7 +168,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, byte v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -199,7 +180,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, boolean v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -211,7 +192,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, int v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -223,7 +204,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, long v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -235,7 +216,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, float v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -247,7 +228,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, double v) - throws SAXException { + throws SAXException { data(contentHandler, String.valueOf(v)); } @@ -259,7 +240,7 @@ * @param text the value */ public static void xspExpr(ContentHandler contentHandler, String text) - throws SAXException { + throws SAXException { if (text != null) { data(contentHandler, text); } @@ -289,7 +270,7 @@ * @param v the XML fragment */ public static void xspExpr(ContentHandler contentHandler, XMLizable v) - throws SAXException { + throws SAXException { if (v != null) { v.toSAX(contentHandler); } @@ -303,7 +284,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, Node v) - throws SAXException { + throws SAXException { if (v != null) { DOMStreamer streamer = new DOMStreamer(contentHandler); streamer.stream(v); @@ -319,7 +300,7 @@ * @param v the XML fragment */ public static void xspExpr(ContentHandler contentHandler, Collection v) - throws SAXException { + throws SAXException { if (v != null) { Iterator iterator = v.iterator(); while (iterator.hasNext()) { @@ -340,7 +321,7 @@ * @param v the value */ public static void xspExpr(ContentHandler contentHandler, Object v) - throws SAXException { + throws SAXException { if (v == null) { return; } Modified: cocoon/branches/BRANCH_2_1_X/src/deprecated/java/org/apache/cocoon/transformation/CachingCIncludeTransformer.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/deprecated/java/org/apache/cocoon/transformation/CachingCIncludeTransformer.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/deprecated/java/org/apache/cocoon/transformation/CachingCIncludeTransformer.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/deprecated/java/org/apache/cocoon/transformation/CachingCIncludeTransformer.java Tue Apr 26 09:07:03 2005 @@ -19,7 +19,6 @@ import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.parameters.Parameters; -import org.apache.excalibur.source.Source; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.caching.CacheValidity; @@ -28,10 +27,11 @@ import org.apache.cocoon.components.source.SourceUtil; import org.apache.cocoon.environment.SourceResolver; import org.apache.cocoon.xml.IncludeXMLConsumer; +import org.apache.cocoon.xml.XMLUtils; +import org.apache.excalibur.source.Source; import org.xml.sax.Attributes; import org.xml.sax.SAXException; -import org.xml.sax.helpers.AttributesImpl; import java.io.IOException; import java.util.Map; @@ -54,13 +54,13 @@ * of new validity will be the same as of old one. Only timestamps have to be * recalculated and compared.</p> * - * @see IncludeTransformer + * @see IncludeTransformer (scratchpad) * @author <a href="mailto:[EMAIL PROTECTED]">Maciek Kaminski</a> * @deprecated This transformer violates the avalon/cocoon design principles. Use IncludeTransformer. - * @version CVS $Id$ + * @version $Id$ */ public class CachingCIncludeTransformer extends AbstractTransformer -implements Composable, Cacheable { + implements Composable, Cacheable { public static final String CINCLUDE_NAMESPACE_URI = "http://apache.org/cocoon/include/1.0"; public static final String CINCLUDE_INCLUDE_ELEMENT = "include"; @@ -170,14 +170,13 @@ } if (!"".equals(element)) { - AttributesImpl attrs = new AttributesImpl(); if (!ns.equals("")) { super.startPrefixMapping(prefix, ns); } super.startElement(ns, element, (!ns.equals("") && !prefix.equals("") ? prefix+":"+element : element), - attrs); + XMLUtils.EMPTY_ATTRIBUTES); } Source source = null; Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/notification/Notifier.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/notification/Notifier.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/notification/Notifier.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/components/notification/Notifier.java Tue Apr 26 09:07:03 2005 @@ -1,5 +1,5 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. + * 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. @@ -16,6 +16,7 @@ package org.apache.cocoon.components.notification; import org.apache.cocoon.Constants; +import org.apache.cocoon.xml.XMLUtils; import org.apache.commons.lang.StringEscapeUtils; import org.xml.sax.ContentHandler; @@ -32,7 +33,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a> * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a> - * @version CVS $Id$ + * @version $Id$ */ public class Notifier { @@ -132,15 +133,14 @@ } ch.endElement(URI, "message", PREFIX + ":message"); - ch.startElement(URI, "description", PREFIX + ":description", - new AttributesImpl()); + ch.startElement(URI, "description", PREFIX + ":description", XMLUtils.EMPTY_ATTRIBUTES); ch.characters(n.getDescription().toCharArray(), 0, n.getDescription().length()); ch.endElement(URI, "description", PREFIX + ":description"); Map extraDescriptions = n.getExtraDescriptions(); for (Iterator i = extraDescriptions.entrySet().iterator(); i.hasNext(); ) { - Map.Entry me = (Map.Entry)i.next(); - String key = (String)me.getKey(); + final Map.Entry me = (Map.Entry) i.next(); + String key = (String) me.getKey(); String value = String.valueOf(me.getValue()); atts = new AttributesImpl(); atts.addAttribute(URI, "description", PREFIX + ":description", "CDATA", key); Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java?rev=164808&r1=164807&r2=164808&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java Tue Apr 26 09:07:03 2005 @@ -1,12 +1,12 @@ /* - * Copyright 1999-2004 The Apache Software Foundation. - * + * 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. @@ -55,9 +55,11 @@ * @author Michael Homeijer * @author Nicola Ken Barozzi ([EMAIL PROTECTED]) * @author Bernhard Huber ([EMAIL PROTECTED]) - * @version CVS $Id$ + * @version $Id$ */ -public class LinkStatusGenerator extends ServiceableGenerator implements Recyclable, Configurable { +public class LinkStatusGenerator extends ServiceableGenerator + implements Recyclable, Configurable { + /** The URI of the namespace of this generator. */ protected static final String URI = "http://apache.org/cocoon/linkstatus/2.0"; @@ -75,7 +77,7 @@ protected static final String STATUS_ATTR_NAME = "status"; protected static final String MESSAGE_ATTR_NAME = "message"; - protected AttributesImpl attributes = new AttributesImpl(); + protected AttributesImpl attributes; /** * Config element name specifying expected link content-typ. @@ -312,7 +314,7 @@ } public void setup(SourceResolver resolver, Map objectModel, String src, Parameters par) - throws ProcessingException, SAXException, IOException { + throws ProcessingException, SAXException, IOException { super.setup(resolver, objectModel, src, par); @@ -333,7 +335,7 @@ * if the requsted URI wasn't found */ public void generate() - throws SAXException, ProcessingException { + throws SAXException, ProcessingException { try { crawled = new HashSet(); @@ -656,6 +658,5 @@ super.recycle(); this.attributes = null; - //this.excludeCrawlingURL = null; } }