juergen     01/03/22 07:47:25

  Modified:    src/share/org/apache/slide/util/logger
                        XMLTestCaseGenerator.java
  Log:
  Really: escape some characters used in XML to their escape characters. Needed for 
locktoken.
  
  Revision  Changes    Path
  1.4       +29 -9     
jakarta-slide/src/share/org/apache/slide/util/logger/XMLTestCaseGenerator.java
  
  Index: XMLTestCaseGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/util/logger/XMLTestCaseGenerator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLTestCaseGenerator.java 2001/03/22 15:37:43     1.3
  +++ XMLTestCaseGenerator.java 2001/03/22 15:47:24     1.4
  @@ -125,14 +125,6 @@
   //hak       String result = new String( printXMLheader() + printXMLbody() + 
SEPARATOR_LINE);
           String result = new String( printXMLbody());
           try {
  -            System.out.println("######################################");
  -            System.out.println("######################################");
  -            System.out.println(result);
  -            System.out.println("######################################");
  -            System.out.println("######################################");
  -            System.out.println("");
  -            System.out.println("");
  -            System.out.println("");
               Element elem = (new SAXBuilder(false).build(new 
StringReader(result)).getRootElement());
               result = new XMLOutputter(" ", true).outputString(elem);
           }
  @@ -197,6 +189,7 @@
           return result;
       }
                                     
  +                                  
       /*
        * this method prints the XML request header attributes.
        */
  @@ -207,8 +200,35 @@
               while ( e.hasMoreElements() ) {
                   String headerName = (String)e.nextElement();
                   String headerValue = request.getHeader(headerName);
  -                result = result + "<header>" + headerName + ": " + headerValue + 
"</header>";
  +                result = result + "<header>" + headerName + ": " + 
escapeXMLcharacters(headerValue) + "</header>";
               }
  +        }
  +        return result;
  +    }
  +                                  
  +    /*
  +     * this method converts a string containing XML characters
  +     * to a string containing the equvivalent escape characters
  +     */
  +    private String escapeXMLcharacters(String input){
  +        String result = input;
  +        result = escapeXMLcharacters(result, "<", "&lt;" );
  +        result = escapeXMLcharacters(result, ">", "&gt;" );
  +        return result;
  +    }
  +                                  
  +    /*
  +     * this method converts a string containing XML characters
  +     * to a string containing the equvivalent escape characters
  +     */
  +    private String escapeXMLcharacters(String input, String pattern, String 
replacement){
  +        String result = input;
  +        int position = result.indexOf(pattern);
  +        while (position != (-1)) {
  +            result = result.substring(0, position) +
  +                     replacement +
  +                     result.substring(position+pattern.length(), result.length());
  +            position = result.indexOf(pattern);
           }
           return result;
       }
  
  
  

Reply via email to