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]

Reply via email to