bloritsch 01/10/25 10:48:14 Modified: bin/src st.java Log: Optimize runtime critical path Revision Changes Path 1.5 +27 -15 xml-cocoon2/bin/src/st.java Index: st.java =================================================================== RCS file: /home/cvs/xml-cocoon2/bin/src/st.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- st.java 2001/10/08 20:03:10 1.4 +++ st.java 2001/10/25 17:48:14 1.5 @@ -33,7 +33,7 @@ * Pretty printing * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Revision: 1.4 $ $Date: 2001/10/08 20:03:10 $ + * @version CVS $Revision: 1.5 $ $Date: 2001/10/25 17:48:14 $ */ public class st { @@ -141,7 +141,7 @@ } if (clError == true) { System.out.println("Usage: st -i inputsitemap -o outputsitemap " + - "[-l label] [-m mimetype] -a componentcategory"+ + "[-l label] [-m mimetype] -a componentcategory" + " componentname class [optionalconfigurationstring]"); } else { try { @@ -154,24 +154,36 @@ // arg3 : class // arg4 : optional configuration - String searchString = "</map:"+arg1+">"; + String searchString = new StringBuffer("</map:").append(arg1).append(">").toString(); int pos = data.indexOf(searchString); - int categoryStartPos = data.indexOf("<map:"+arg1+">"); - if (categoryStartPos == -1) categoryStartPos = data.indexOf("<map:"+arg1+" "); + int categoryStartPos = data.indexOf( + new StringBuffer("</map:").append(arg1).append(">").toString()); + if (categoryStartPos == -1) categoryStartPos = data.indexOf( + new StringBuffer("</map:").append(arg1).append(" ").toString()); if (categoryStartPos != -1 && categoryStartPos < pos && pos != -1) { // the category exists, now search if a component // with the name already exists - int componentPos = data.substring(categoryStartPos, pos).indexOf("name=\""+arg2+"\""); + int componentPos = data.substring(categoryStartPos, pos).indexOf( + new StringBuffer("name=\"").append(arg2).append("\"").toString()); if (componentPos == -1) { - data = data.substring(0, pos) - + "<map:"+arg1.substring(0, arg1.length()-1) - + " name=\"" + arg2 + "\" src=\""+arg3+"\"" - + (mimeType == null ? "" : " mime-type=\""+mimeType+"\"") - + (label == null ? "" : " label=\""+label+"\"") - + (arg4 == null ? "/>\n" - : ">\n"+arg4+"\n" - + "</map:"+arg1.substring(0, arg1.length()-1)+">\n") - + data.substring(pos); + StringBuffer buffer = new StringBuffer(data.substring(0, pos)) + .append("<map:").append(arg1.substring(0, arg1.length()-1)) + .append(" name=\"").append(arg2).append("\" src=\"").append(arg3).append("\""); + + if ( null == mimeType ) { + buffer.append(" mime-type=\"").append(mimeType).append("\""); + } + if (null == label) { + buffer.append(" label=\"").append(label).append("\""); + } + if (null == arg4) { + buffer.append(">\n").append(arg4).append("\n") + .append("</map:").append(arg1.substring(0, arg1.length()-1)).append(">\n"); + } else { + buffer.append("/>\n"); + } + buffer.append(data.substring(pos)).toString(); + data = buffer.toString(); } } }
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]