Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 14797 invoked from network); 11 Mar 2005 11:16:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 11 Mar 2005 11:16:13 -0000 Received: (qmail 27378 invoked by uid 500); 11 Mar 2005 11:16:11 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 27305 invoked by uid 500); 11 Mar 2005 11:16:11 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 27279 invoked by uid 99); 11 Mar 2005 11:16:10 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 11 Mar 2005 03:16:10 -0800 Received: (qmail 14713 invoked by uid 65534); 11 Mar 2005 11:16:08 -0000 Message-ID: <20050311111608.14712.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Fri, 11 Mar 2005 11:16:08 -0000 Subject: svn commit: r157071 - cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/tools/generation/I18nCatalogueGenerator.java To: cvs@cocoon.apache.org From: cziegeler@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: cziegeler Date: Fri Mar 11 03:16:05 2005 New Revision: 157071 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D157071 Log: Make Cocoon compilable with JDK 1.3. Patch by Jens Maukisch Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/p= ortal/tools/generation/I18nCatalogueGenerator.java Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/co= coon/portal/tools/generation/I18nCatalogueGenerator.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/= portal/java/org/apache/cocoon/portal/tools/generation/I18nCatalogueGenerato= r=2Ejava?view=3Ddiff&r1=3D157070&r2=3D157071 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/p= ortal/tools/generation/I18nCatalogueGenerator.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/p= ortal/tools/generation/I18nCatalogueGenerator.java Fri Mar 11 03:16:05 2005 @@ -15,10 +15,7 @@ */ package org.apache.cocoon.portal.tools.generation; =20 -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; -import java.io.StringReader; import java.net.MalformedURLException; import java.util.Iterator; import java.util.List; @@ -26,15 +23,18 @@ =20 import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.service.ServiceException; +import org.apache.avalon.framework.service.ServiceManager; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.environment.SourceResolver; import org.apache.cocoon.generation.ServiceableGenerator; import org.apache.cocoon.portal.tools.PortalToolCatalogue; import org.apache.cocoon.portal.tools.PortalToolManager; +import org.apache.cocoon.xml.IncludeXMLConsumer; import org.apache.excalibur.source.Source; import org.apache.excalibur.xml.sax.SAXParser; import org.xml.sax.InputSource; import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; =20 /** *=20 @@ -43,9 +43,8 @@ public class I18nCatalogueGenerator extends ServiceableGenerator { =20 private SAXParser parser; - - private String catalogueStartTag =3D ""; - private String catalogueEndTag =3D ""; + private PortalToolManager ptm; + private final String CATALOGUE_TAG =3D "catalogue"; private String lang =3D ".xml"; private StringBuffer i18n =3D new StringBuffer(); =20 @@ -54,59 +53,55 @@ */ public void generate() throws IOException, SAXException, ProcessingException { - StringBuffer catalogue =3D new StringBuffer(); - catalogue.append(catalogueStartTag).append(i18n.toString()).append= (catalogueEndTag); //add pi and catalogue tags - final InputSource inputSource =3D new InputSource(new StringReader= (catalogue.toString())); - try { - parser =3D (SAXParser)this.manager.lookup(SAXParser.ROLE); - } catch (ServiceException e) { - e.printStackTrace(); - } - parser.parse(inputSource, super.xmlConsumer); - } - =20 - /* (non-Javadoc) - * @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(org.apac= he.cocoon.environment.SourceResolver, java.util.Map, java.lang.String, org.= apache.avalon.framework.parameters.Parameters) - */ - public void setup(SourceResolver resolver, Map objectModel, String src= , Parameters par)=20 - throws ProcessingException, SAXException, IOException { - super.setup(resolver, objectModel, src, par); - if(src.indexOf("_") !=3D -1) { - lang =3D src.substring(src.indexOf("_"), src.length()); - lang =3D lang.toLowerCase(); - } - PortalToolManager ptm =3D null; - try { - ptm =3D (PortalToolManager) this.manager.lookup(PortalToolMana= ger.ROLE); + this.xmlConsumer.startDocument(); + this.xmlConsumer.startElement("", CATALOGUE_TAG, CATALOGUE_TAG, new A= ttributesImpl()); List cats =3D ptm.getI18n(); for(Iterator it =3D cats.iterator(); it.hasNext();) { PortalToolCatalogue ptc =3D (PortalToolCatalogue) it.next(= ); try { Source cat; cat =3D resolver.resolveURI(ptc.getLocation() + ptc.getNa= me() + lang); - // if(!cat.exists()) { - // cat =3D resolver.resolveURI(ptc.getLocation() + ptc= .getName() + ".xml"); // default file - // } - BufferedReader br =3D new BufferedReader(new InputStreamR= eader(cat.getInputStream())); - String tmp =3D new String(); - while(br.ready()) { - tmp =3D tmp + br.readLine(); - } - tmp =3D tmp.replaceAll("<\\?(.+)\\?>",""); // remove p= rocessing instr. - tmp =3D tmp.replaceAll("]+)?>{1}" ,""); = // remove catalogue tags - tmp =3D tmp.replaceAll("", ""); - tmp =3D tmp.replaceAll("", ""); - i18n.append(tmp); + IncludeXMLConsumer ixc =3D new IncludeXMLConsumer(this.xm= lConsumer); + ixc.setIgnoreRootElement(true); + this.parser.parse(new InputSource(cat.getInputStream()), = ixc); } catch (MalformedURLException e) { + // ignore } catch (IOException e) { + // ignore } } - } catch (ServiceException e) { - e.printStackTrace(); - } finally { - this.manager.release(ptm); + this.xmlConsumer.endElement("", CATALOGUE_TAG, CATALOGUE_TAG); + this.xmlConsumer.endDocument(); + } + =20 + /* (non-Javadoc) + * @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(org.apac= he.cocoon.environment.SourceResolver, java.util.Map, java.lang.String, org.= apache.avalon.framework.parameters.Parameters) + */ + public void setup(SourceResolver resolver, Map objectModel, String src= , Parameters par)=20 + throws ProcessingException, SAXException, IOException { + super.setup(resolver, objectModel, src, par); + if(src.indexOf("_") !=3D -1) { + this.lang =3D src.substring(src.indexOf("_"), src.length()); + this.lang =3D this.lang.toLowerCase(); } - =20 + } + =20 + /* (non-Javadoc) + * @see org.apache.cocoon.generation.ServiceableGenerator#service(org.apa= che.avalon.framework.service.ServiceManager) + */ + public void service(ServiceManager manager) throws ServiceException { + super.service(manager); + this.parser =3D (SAXParser)this.manager.lookup(SAXParser.ROLE); + ptm =3D (PortalToolManager) this.manager.lookup(PortalToolManager.ROLE); + } =20 + /* (non-Javadoc) + * @see org.apache.cocoon.generation.ServiceableGenerator#dispose() + */ + public void dispose() { + super.dispose(); + this.manager.release(this.parser); + this.manager.release(this.ptm); + } }