You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by il...@apache.org on 2002/11/22 21:14:58 UTC

cvs commit: xml-xalan/java/samples/ApplyXPath ApplyXPath.java

ilene       2002/11/22 12:14:58

  Modified:    java/src/org/apache/xalan/serialize Encodings.java
                        Encodings.properties
               java/samples/UseStylesheetParam UseStylesheetParam.java
               test/java/src/org/apache/qetest/dtm TestDTM.java
                        TestDTMIter.java TestDTMTrav.java
               test/java/src/org/apache/qetest/trax/stream
                        StreamResultAPITest.java
               test/java/src/org/apache/qetest/trax ParameterTest.java
               java/samples/ApplyXPathDOM ApplyXPathDOM.java
               java/samples/CompiledJAXP Transform.java
               java/samples/trax Examples.java
               java/samples/ApplyXPath ApplyXPath.java
  Log:
  Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for encoding issues
  with serializer, samples and test harness. (Bugzilla #14753)
  
  Revision  Changes    Path
  1.13      +23 -8     xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java
  
  Index: Encodings.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Encodings.java	20 Oct 2002 02:11:04 -0000	1.12
  +++ Encodings.java	22 Nov 2002 20:14:57 -0000	1.13
  @@ -66,6 +66,7 @@
   
   import java.util.Enumeration;
   import java.util.Properties;
  +import java.util.StringTokenizer;
   
   /**
    * Provides information about encodings. Depends on the Java runtime
  @@ -382,8 +383,20 @@
         }
   
         int totalEntries = props.size();
  -      EncodingInfo[] ret = new EncodingInfo[totalEntries];
  +      int totalMimeNames = 0;
         Enumeration keys = props.keys();
  +      for (int i = 0; i < totalEntries; ++i) {      
  +        String javaName = (String) keys.nextElement();
  +        String val = props.getProperty(javaName);
  +       totalMimeNames++;
  +       int pos = val.indexOf(' ');
  +        for (int j = 0; j < pos; ++j)
  +         if (val.charAt(j) == ',')
  +           totalMimeNames++;
  +      }
  +      EncodingInfo[] ret = new EncodingInfo[totalMimeNames];
  +      int j = 0;
  +      keys = props.keys();      
         for (int i = 0; i < totalEntries; ++i) {
           String javaName = (String) keys.nextElement();
           String val = props.getProperty(javaName);
  @@ -399,12 +412,14 @@
             lastPrintable = 0x00FF;
           }
           else
  -        {
  -          mimeName = val.substring(0, pos);
  -          lastPrintable =
  -                         Integer.decode(val.substring(pos).trim()).intValue();
  -        }
  -        ret [i] = new EncodingInfo (mimeName, javaName, lastPrintable);
  +        {      
  +          lastPrintable = Integer.decode(val.substring(pos).trim()).intValue();
  +          StringTokenizer st = new StringTokenizer(val.substring(0, pos),",");
  +          while (st.hasMoreTokens()) {
  +               mimeName = st.nextToken();
  +               ret [j++] = new EncodingInfo (mimeName, javaName, lastPrintable);                         
  +          }
  +        }        
         }
         return ret;
       } catch (java.net.MalformedURLException mue) {
  
  
  
  1.3       +10 -18    xml-xalan/java/src/org/apache/xalan/serialize/Encodings.properties
  
  Index: Encodings.properties
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/Encodings.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Encodings.properties	20 Oct 2002 02:11:04 -0000	1.2
  +++ Encodings.properties	22 Nov 2002 20:14:57 -0000	1.3
  @@ -4,8 +4,7 @@
   # Patch attributed to havardw@underdusken.no (H�vard Wigtil)
   Cp1251 WINDOWS-1251 0x00FF
   Cp1252 WINDOWS-1252 0x00FF
  -ISO8859_1 US-ASCII 0x007F
  -ISO8859_1 ISO-8859-1 0x00FF
  +ISO8859_1 US-ASCII,ISO-8859-1 0x007F
   # Patch attributed to havardw@underdusken.no (H�vard Wigtil)
   ISO8859-1 ISO-8859-1 0x00FF
   ISO8859_2 ISO-8859-2 0x00FF
  @@ -26,8 +25,7 @@
   ISO8859_9 ISO-8859-9 0x00FF
   ISO8859-9 ISO-8859-9 0x00FF
   # # ?
  -8859_1 US-ASCII 0x00FF
  -8859_1 ISO-8859-1 0x00FF
  +8859_1 US-ASCII,ISO-8859-1 0x00FF
   8859_2 ISO-8859-2 0x00FF
   8859_3 ISO-8859-3 0x00FF
   8859_4 ISO-8859-4 0x00FF
  @@ -63,13 +61,9 @@
   EUCJIS EUC-JP 0xFFFF
   KSC5601 EUC-KR 0xFFFF
   KOI8_R KOI8-R 0xFFFF
  -Cp037 EBCDIC-CP-US 0x00FF
  -Cp037 EBCDIC-CP-CA 0x00FF
  -Cp037 EBCDIC-CP-NL 0x00FF
  -Cp277 EBCDIC-CP-DK 0x00FF
  -Cp277 EBCDIC-CP-NO 0x00FF
  -Cp278 EBCDIC-CP-FI 0x00FF
  -Cp278 EBCDIC-CP-SE 0x00FF
  +Cp037 EBCDIC-CP-US,EBCDIC-CP-CA,EBCDIC-CP-NL 0x00FF
  +Cp277 EBCDIC-CP-DK,EBCDIC-CP-NO 0x00FF
  +Cp278 EBCDIC-CP-FI,EBCDIC-CP-SE 0x00FF
   Cp280 EBCDIC-CP-IT 0x00FF
   Cp284 EBCDIC-CP-ES 0x00FF
   Cp285 EBCDIC-CP-GB 0x00FF
  @@ -77,13 +71,11 @@
   Cp420 EBCDIC-CP-AR1 0x00FF
   Cp424 EBCDIC-CP-HE 0x00FF
   Cp500 EBCDIC-CP-CH 0x00FF
  -Cp870 EBCDIC-CP-ROECE 0x00FF
  -Cp870 EBCDIC-CP-YU 0x00FF
  +Cp870 EBCDIC-CP-ROECE,EBCDIC-CP-YU 0x00FF
   Cp871 EBCDIC-CP-IS 0x00FF
   Cp918 EBCDIC-CP-AR2 0x00FF
  +Cp1047 IBM1047,IBM-1047 0x00FF
   MacTEC MacRoman 0x00FF
  -ASCII ASCII 0x007F
  -ASCII ISO-Latin-1 0x00FF
  -Unicode UNICODE 0xFFFF
  -UTF8 UTF-8 0xFFFF
  -Unicode UTF-16 0xFFFF
  \ No newline at end of file
  +ASCII ASCII,ISO-Latin-1 0x007F
  +Unicode UNICODE,UTF-16 0xFFFF
  +UTF8 UTF-8 0xFFFF
  \ No newline at end of file
  
  
  
  1.5       +3 -2      xml-xalan/java/samples/UseStylesheetParam/UseStylesheetParam.java
  
  Index: UseStylesheetParam.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/UseStylesheetParam/UseStylesheetParam.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- UseStylesheetParam.java	20 Nov 2000 13:02:04 -0000	1.4
  +++ UseStylesheetParam.java	22 Nov 2002 20:14:58 -0000	1.5
  @@ -71,6 +71,7 @@
   
   // Imported java classes
   import java.io.IOException;
  +import java.io.OutputStreamWriter;
   
     /**
      * Use command-line input as a stylesheet parameter.
  @@ -97,6 +98,6 @@
       transformer.setParameter("param1",	/* parameter name */
                  							 paramValue /* parameter value */ );
       
  -    transformer.transform(new StreamSource("foo.xml"), new StreamResult(System.out));
  +    transformer.transform(new StreamSource("foo.xml"), new StreamResult(new OutputStreamWriter(System.out)));
     }   
  -}
  \ No newline at end of file
  +}
  
  
  
  1.4       +3 -3      xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTM.java
  
  Index: TestDTM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTM.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestDTM.java	13 Jul 2002 02:20:06 -0000	1.3
  +++ TestDTM.java	22 Nov 2002 20:14:58 -0000	1.4
  @@ -355,7 +355,7 @@
   	// Write results and close output file.
   	try
   	{
  -		fos.write(buf.toString().getBytes());
  +               fos.write(buf.toString().getBytes("UTF-8"));
   		fos.close();
   	}
   
  @@ -374,4 +374,4 @@
   }
   
   
  -}
  \ No newline at end of file
  +}
  
  
  
  1.7       +2 -2      xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTMIter.java
  
  Index: TestDTMIter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTMIter.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TestDTMIter.java	13 Jul 2002 02:20:06 -0000	1.6
  +++ TestDTMIter.java	22 Nov 2002 20:14:58 -0000	1.7
  @@ -711,7 +711,7 @@
   	// Write results and close output file.
   	try
   	{
  -		fos.write(buf.toString().getBytes());
  +               fos.write(buf.toString().getBytes("UTF-8"));
   		fos.close();
   	}
   
  
  
  
  1.3       +2 -2      xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTMTrav.java
  
  Index: TestDTMTrav.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/java/src/org/apache/qetest/dtm/TestDTMTrav.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestDTMTrav.java	13 Jul 2002 02:20:06 -0000	1.2
  +++ TestDTMTrav.java	22 Nov 2002 20:14:58 -0000	1.3
  @@ -960,7 +960,7 @@
   	// Write results and close output file.
   	try
   	{
  -		fos.write(buf.toString().getBytes());
  +               fos.write(buf.toString().getBytes("UTF-8"));
   		fos.close();
   	}
   
  
  
  
  1.6       +5 -3      xml-xalan/test/java/src/org/apache/qetest/trax/stream/StreamResultAPITest.java
  
  Index: StreamResultAPITest.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/java/src/org/apache/qetest/trax/stream/StreamResultAPITest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StreamResultAPITest.java	13 Jul 2002 02:20:07 -0000	1.5
  +++ StreamResultAPITest.java	22 Nov 2002 20:14:58 -0000	1.6
  @@ -85,6 +85,7 @@
   import java.io.FileWriter;
   import java.io.InputStream;
   import java.io.OutputStream;
  +import java.io.OutputStreamWriter;
   import java.io.PrintStream;
   import java.io.Writer;
   import java.io.StringWriter;
  @@ -287,7 +288,7 @@
                   reporter.logArbitrary(reporter.TRACEMSG, "baos was: " + baos.toString());
                   reporter.logArbitrary(reporter.TRACEMSG, "ps(baos2) was: " + baos2.toString());
               }
  -            writeFileAndValidate(baos.toString(), outputFileInfo.goldName);
  +            writeFileAndValidate(baos.toString("UTF-8"), outputFileInfo.goldName);
           }
           catch (Throwable t)
           {
  @@ -387,7 +388,8 @@
       {
           try
           {
  -            FileWriter fw = new FileWriter(outNames.nextName());
  +            FileOutputStream fos = new FileOutputStream(outNames.nextName());
  +            OutputStreamWriter fw = new OutputStreamWriter(fos, "UTF-8");
               fw.write(data);
               fw.close();
               // Explicitly ask that Validation be turned off, since 
  
  
  
  1.4       +5 -4      xml-xalan/test/java/src/org/apache/qetest/trax/ParameterTest.java
  
  Index: ParameterTest.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/java/src/org/apache/qetest/trax/ParameterTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ParameterTest.java	13 Jul 2002 02:20:06 -0000	1.3
  +++ ParameterTest.java	22 Nov 2002 20:14:58 -0000	1.4
  @@ -77,7 +77,8 @@
   // java classes
   import java.io.BufferedReader;
   import java.io.File;
  -import java.io.FileReader;
  +import java.io.FileInputStream;
  +import java.io.InputStreamReader;
   import java.io.IOException;
   import java.util.Properties;
   
  @@ -551,8 +552,8 @@
   
           try
           {
  -            FileReader fr = new FileReader(f);
  -            BufferedReader br = new BufferedReader(fr);
  +            InputStreamReader is = new InputStreamReader(new FileInputStream(f), "UTF-8");
  +            BufferedReader br = new BufferedReader(is);
   
               for (;;)
               {
  
  
  
  1.2       +2 -1      xml-xalan/java/samples/ApplyXPathDOM/ApplyXPathDOM.java
  
  Index: ApplyXPathDOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/ApplyXPathDOM/ApplyXPathDOM.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ApplyXPathDOM.java	30 Oct 2002 15:03:31 -0000	1.1
  +++ ApplyXPathDOM.java	22 Nov 2002 20:14:58 -0000	1.2
  @@ -57,6 +57,7 @@
   // This file uses 4 space indents, no tabs.
   
   import java.io.FileInputStream;
  +import java.io.OutputStreamWriter;
   
   import javax.xml.parsers.DocumentBuilderFactory;
   import javax.xml.transform.OutputKeys;
  @@ -150,7 +151,7 @@
   	    System.out.print(sb);
   	}
   	else {
  -	  serializer.transform(new DOMSource(n), new StreamResult(System.out));
  +         serializer.transform(new DOMSource(n), new StreamResult(new OutputStreamWriter(System.out)));
   	}
           System.out.println();
         }
  
  
  
  1.2       +2 -1      xml-xalan/java/samples/CompiledJAXP/Transform.java
  
  Index: Transform.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/CompiledJAXP/Transform.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Transform.java	13 Jul 2001 10:36:02 -0000	1.1
  +++ Transform.java	22 Nov 2002 20:14:58 -0000	1.2
  @@ -1,4 +1,5 @@
   import java.io.File;
  +import java.io.OutputStreamWriter;
   import java.io.FileInputStream;
   import java.io.ObjectInputStream;
   
  @@ -28,7 +29,7 @@
   
           try {
   	    StreamSource document = new StreamSource(xml);
  -	    StreamResult result = new StreamResult(System.out);
  +           StreamResult result = new StreamResult(new OutputStreamWriter(System.out));
   	    Templates templates = readTemplates(translet);
   	    Transformer transformer = templates.newTransformer();
               transformer.transform(document, result);
  
  
  
  1.12      +15 -15    xml-xalan/java/samples/trax/Examples.java
  
  Index: Examples.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/trax/Examples.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Examples.java	9 Oct 2001 18:38:24 -0000	1.11
  +++ Examples.java	22 Nov 2002 20:14:58 -0000	1.12
  @@ -64,6 +64,7 @@
   import java.io.Reader;
   import java.io.IOException;
   import java.io.File;
  +import java.io.OutputStreamWriter;
   import java.io.FileInputStream;
   import java.io.FileReader;
   import java.io.BufferedInputStream;
  @@ -251,7 +252,7 @@
       
       // Transform the source XML to System.out.
       transformer.transform( new StreamSource(sourceID),
  -                           new StreamResult(System.out));
  +                           new StreamResult(new OutputStreamWriter(System.out)));
     }
     
     /**
  @@ -298,7 +299,7 @@
       xmlSource.setSystemId(sourceID);
       
       // Transform the source XML to System.out.
  -    transformer.transform( xmlSource, new StreamResult(System.out));
  +    transformer.transform( xmlSource, new StreamResult(new OutputStreamWriter(System.out)));
     }
     
     /**
  @@ -329,7 +330,7 @@
       xmlSource.setSystemId(sourceID);
       
       // Transform the source XML to System.out.
  -    transformer.transform( xmlSource, new StreamResult(System.out));
  +    transformer.transform( xmlSource, new StreamResult(new OutputStreamWriter(System.out)));
     }
   
   
  @@ -357,12 +358,12 @@
       System.out.println("\n\n----- transform of "+sourceID1+" -----");
       
       transformer1.transform(new StreamSource(sourceID1),
  -                          new StreamResult(System.out));
  +                          new StreamResult(new OutputStreamWriter(System.out)));
       
       System.out.println("\n\n----- transform of "+sourceID2+" -----");
       
       transformer2.transform(new StreamSource(sourceID2),
  -                          new StreamResult(System.out));
  +                          new StreamResult(new OutputStreamWriter(System.out)));
     }
     
   
  @@ -627,7 +628,7 @@
         transformer.transform(new DOMSource(doc), new DOMResult(outNode));
         
         Transformer serializer = tfactory.newTransformer();
  -      serializer.transform(new DOMSource(outNode), new StreamResult(System.out));
  +      serializer.transform(new DOMSource(outNode), new StreamResult(new OutputStreamWriter(System.out)));
   
         return outNode;
       }
  @@ -655,13 +656,13 @@
       transformer1.setParameter("a-param",
                                 "hello to you!");
       transformer1.transform(new StreamSource(sourceID),
  -                           new StreamResult(System.out));
  +                           new StreamResult(new OutputStreamWriter(System.out)));
       
       System.out.println("\n=========");
       
       transformer2.setOutputProperty(OutputKeys.INDENT, "yes");
       transformer2.transform(new StreamSource(sourceID),
  -                           new StreamResult(System.out));
  +                           new StreamResult(new OutputStreamWriter(System.out)));
     }
     
     /**
  @@ -683,7 +684,7 @@
       
       // Transform the source XML to System.out.
       transformer.transform( new StreamSource(sourceID),
  -                           new StreamResult(System.out));
  +                           new StreamResult(new OutputStreamWriter(System.out)));
   
       System.out.println("\n=========\n");
   
  @@ -693,7 +694,7 @@
   
       // Transform the source XML to System.out.
       transformer.transform( new StreamSource(sourceID),
  -                           new StreamResult(System.out));
  +                           new StreamResult(new OutputStreamWriter(System.out)));
     }
   
     /**
  @@ -713,7 +714,7 @@
   
       transformer.setOutputProperties(oprops);
       transformer.transform(new StreamSource(sourceID),
  -                          new StreamResult(System.out));
  +                          new StreamResult(new OutputStreamWriter(System.out)));
     }
   
     /**
  @@ -739,7 +740,7 @@
           Transformer transformer = tfactory.newTransformer(sources);
   
           transformer.transform(new StreamSource(sourceID),
  -                              new StreamResult(System.out));
  +                              new StreamResult(new OutputStreamWriter(System.out)));
         }
         else
         {
  @@ -830,7 +831,7 @@
       serializer.setOutputProperty(OutputKeys.INDENT, "yes");
       serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
       serializer.transform(new DOMSource(node), 
  -                         new StreamResult(System.out));
  +                         new StreamResult(new OutputStreamWriter(System.out)));
     }  
     
     /**
  @@ -854,10 +855,9 @@
       
       Properties oprops = new Properties();
       oprops.put("method", "html");
  -    oprops.put("indent-amount", "2");
       serializer.setOutputProperties(oprops);
       serializer.transform(new DOMSource(doc), 
  -                         new StreamResult(System.out));
  +                         new StreamResult(new OutputStreamWriter(System.out)));
     }
     
   
  
  
  
  1.18      +2 -1      xml-xalan/java/samples/ApplyXPath/ApplyXPath.java
  
  Index: ApplyXPath.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/ApplyXPath/ApplyXPath.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ApplyXPath.java	29 Nov 2001 22:19:14 -0000	1.17
  +++ ApplyXPath.java	22 Nov 2002 20:14:58 -0000	1.18
  @@ -57,6 +57,7 @@
   // This file uses 4 space indents, no tabs.
   
   import java.io.FileInputStream;
  +import java.io.OutputStreamWriter;
   import java.io.FileNotFoundException;
   import java.util.Properties;
   import org.apache.xerces.parsers.DOMParser;
  @@ -148,7 +149,7 @@
   	    System.out.print(sb);
   	}
   	else {
  -	  serializer.transform(new DOMSource(n), new StreamResult(System.out));
  +         serializer.transform(new DOMSource(n), new StreamResult(new OutputStreamWriter(System.out)));
   	}
           System.out.println();
         }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org