vgritsenko 02/04/19 16:48:41 Modified: src/java/org/apache/cocoon/components/source Tag: cocoon_2_0_3_branch SitemapSource.java Log: reduce amount of substring() calls Revision Changes Path No revision No revision 1.9.2.2 +13 -12 xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java Index: SitemapSource.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/SitemapSource.java,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -u -r1.9.2.1 -r1.9.2.2 --- SitemapSource.java 11 Apr 2002 15:07:35 -0000 1.9.2.1 +++ SitemapSource.java 19 Apr 2002 23:48:41 -0000 1.9.2.2 @@ -89,7 +89,7 @@ * Description of a source which is defined by a pipeline. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: SitemapSource.java,v 1.9.2.1 2002/04/11 15:07:35 sylvain Exp $ + * @version CVS $Id: SitemapSource.java,v 1.9.2.2 2002/04/19 23:48:41 vgritsenko Exp $ */ public final class SitemapSource @@ -147,19 +147,18 @@ boolean rawMode = false; // remove the protocol - int protocolEnd = uri.indexOf(':'); - if (protocolEnd != -1) { - uri = uri.substring(protocolEnd + 1); + int position = uri.indexOf(':') + 1; + if (position != 0) { // check for subprotocol - if (uri.startsWith("raw:")) { - uri = uri.substring(4); + if (uri.startsWith("raw:", position)) { + position += 4; rawMode = true; } } // does the uri point to this sitemap or to the root sitemap? - if (uri.startsWith("//")) { - uri = uri.substring(2); + if (uri.startsWith("//", position)) { + position += 2; Processor processor = null; try { processor = (Processor)this.manager.lookup(Processor.ROLE); @@ -168,8 +167,8 @@ } this.prefix = ""; // start at the root this.processor = processor; - } else if (uri.startsWith("/")) { - uri = uri.substring(1); + } else if (uri.startsWith("/", position)) { + position ++; this.prefix = null; this.processor = sitemap; } else { @@ -178,10 +177,12 @@ // create the queryString (if available) String queryString = null; - int queryStringPos = uri.indexOf('?'); + int queryStringPos = uri.indexOf('?', position); if (queryStringPos != -1) { queryString = uri.substring(queryStringPos + 1); - uri = uri.substring(0, queryStringPos); + uri = uri.substring(position, queryStringPos); + } else if (position > 0) { + uri = uri.substring(position); } // build the request uri which is relative to the context
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]