santiagopg    02/05/22 15:42:45

  Modified:    java/src/org/apache/xalan/xsltc/cmdline Transform.java
  Log:
  Experimental output system.
  
  Revision  Changes    Path
  1.17      +33 -32    
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java
  
  Index: Transform.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Transform.java    22 May 2002 18:09:16 -0000      1.16
  +++ Transform.java    22 May 2002 22:42:45 -0000      1.17
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: Transform.java,v 1.16 2002/05/22 18:09:16 santiagopg Exp $
  + * @(#)$Id: Transform.java,v 1.17 2002/05/22 22:42:45 santiagopg Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -107,15 +107,17 @@
       private boolean _isJarFileSpecified = false;
       private Vector  _params = null;
       private boolean _uri, _debug;
  +    private int     _iterations;
   
       private static boolean _allowExit = true;
   
       public Transform(String className, String fileName,
  -                  boolean uri, boolean debug) {
  +                  boolean uri, boolean debug, int iterations) {
        _fileName = fileName;
        _className = className;
        _uri = uri;
        _debug = debug;
  +     _iterations = iterations;
       }
   
       public void setParameters(Vector params) {
  @@ -201,39 +203,28 @@
            }
   
            // Transform the document
  -         final String method = _translet._method;
  -         final String encoding = _translet._encoding;
  -
  -         TransletOutputHandler handler = null;
  -
  -         if (_useExperimentalOutputSystem) {
  -             if (method != null) {
  -                 if (method.equals("xml")) {
  -                     handler = new StreamXMLOutput(System.out, encoding);
  -                 }
  -                 else if (method.equals("html")) {
  -                     handler = new StreamHTMLOutput(System.out, encoding);
  -                 }
  -                 else if (method.equals("text")) {
  -                     handler = null;         // TODO
  -                 }
  -             }
  -             else {
  -                 // TODO
  -                 handler = new StreamXMLOutput(System.out, encoding);
  +         TransletOutputHandlerFactory tohFactory = 
TransletOutputHandlerFactory.newInstance();
  +         tohFactory.setOutputType(TransletOutputHandlerFactory.STREAM);
  +         tohFactory.setEncoding(_translet._encoding);
  +         tohFactory.setOutputMethod(_translet._method);
  +
  +         if (_iterations > 1) {
  +             long mm = System.currentTimeMillis();
  +             for (int i = 0; i < _iterations; i++) {
  +                 translet.transform(dom, _useExperimentalOutputSystem ?
  +                                         
tohFactory.getTransletOutputHandler() :
  +                                         
tohFactory.getOldTransletOutputHandler());
                }
  +             mm = System.currentTimeMillis() - mm;
  +
  +             System.err.println("transform  = " + (mm / _iterations) + " 
ms");
  +             System.err.println("throughput = " + (1000.0 / (mm / 
_iterations)) + " tps");
            }
            else {
  -             // Create our default SAX/DTD handler
  -             DefaultSAXOutputHandler saxHandler =
  -                 new DefaultSAXOutputHandler(System.out, encoding);
  -             // Create a translet output handler and plug in the SAX/DTD 
handler
  -             handler = new TextOutput((ContentHandler)saxHandler,
  -                                      (LexicalHandler)saxHandler, encoding);
  +             translet.transform(dom, _useExperimentalOutputSystem ?
  +                                     tohFactory.getTransletOutputHandler() :
  +                                     
tohFactory.getOldTransletOutputHandler());
            }
  -
  -         // Transform and pass output to the translet output handler
  -         translet.transform(dom, handler);
        }
        catch (TransletException e) {
            if (_debug) e.printStackTrace();
  @@ -305,6 +296,7 @@
        try {
            if (args.length > 0) {
                int i;
  +             int iterations = 1;
                boolean uri = false, debug = false;
                boolean isJarFileSpecified = false;
                String  jarFile = null;
  @@ -327,6 +319,14 @@
                    else if (args[i].equals("-e")) {
                        _useExperimentalOutputSystem = true;
                    }
  +                 else if (args[i].equals("-n")) {
  +                     try {
  +                         iterations = Integer.parseInt(args[++i]);
  +                     }
  +                     catch (NumberFormatException e) {
  +                         // ignore
  +                     }
  +                 }
                    else {
                        printUsage();
                    }
  @@ -336,7 +336,8 @@
                if (args.length - i < 2) printUsage();
   
                // Get document file and class name
  -             Transform handler = new Transform(args[i+1],args[i],uri,debug);
  +             Transform handler = new Transform(args[i+1], args[i], uri,
  +                 debug, iterations);
                handler.setJarFileInputSrc(isJarFileSpecified,  jarFile);
   
                // Parse stylesheet parameters
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to