curcuru     01/07/05 09:37:20

  Modified:    test/java/src/org/apache/qetest/xalanj2 XalanDumper.java
  Log:
  Add dump(Transformer...) method; only partly implemented
  
  Revision  Changes    Path
  1.4       +59 -1     
xml-xalan/test/java/src/org/apache/qetest/xalanj2/XalanDumper.java
  
  Index: XalanDumper.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/test/java/src/org/apache/qetest/xalanj2/XalanDumper.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanDumper.java  2001/06/28 19:23:46     1.3
  +++ XalanDumper.java  2001/07/05 16:37:18     1.4
  @@ -63,6 +63,7 @@
   import org.w3c.dom.Node;
   import org.w3c.dom.NodeList;
   
  +import javax.xml.transform.Transformer;
   import org.apache.xalan.trace.GenerateEvent;
   import org.apache.xalan.trace.SelectionEvent;
   import org.apache.xalan.trace.TracerEvent;
  @@ -71,10 +72,15 @@
   import org.apache.xalan.templates.ElemTextLiteral;
   import org.apache.xalan.templates.ElemLiteralResult;
   import org.apache.xalan.templates.Constants;
  +import org.apache.xalan.transformer.TransformerImpl;
   import org.apache.xml.utils.QName;
   import org.apache.xpath.XPath;
   
  +import java.io.PrintWriter;
  +import java.io.StringWriter;
  +import java.util.Properties;
   import java.lang.reflect.Method;
  +
   /**
    * Static utility for dumping info about common Xalan objects.
    * Cheap-o string representations of some common properties 
  @@ -85,7 +91,7 @@
    * logging utilities to output our data without escaping, etc.
    * 
    * @author [EMAIL PROTECTED]
  - * @version $Id: XalanDumper.java,v 1.3 2001/06/28 19:23:46 curcuru Exp $
  + * @version $Id: XalanDumper.java,v 1.4 2001/07/05 16:37:18 curcuru Exp $
    */
   public abstract class XalanDumper 
   {
  @@ -242,6 +248,58 @@
               return buf.toString();
           else
               return buf.toString() + RBRACKET;
  +    }
  +
  +
  +    /**
  +     * Return String describing a Transformer.
  +     * Currently just returns info about a get selected public 
  +     * getter methods from a Transformer.
  +     * Only really useful when it can do instanceof TransformerImpl 
  +     * to return custom info about Xalan
  +     *
  +     * @param t the Transformer to print info of
  +     * @param dumpLevel what format/how much to dump
  +     */
  +    public static String dump(Transformer trans, int dumpLevel)
  +    {
  +        if (null == trans)
  +            return "Transformer" + LBRACKET + NULL + RBRACKET;
  +
  +        StringBuffer buf = new StringBuffer();
  +
  +        StringWriter sw = new StringWriter();
  +        Properties p = trans.getOutputProperties();
  +        if (null != p)
  +        {
  +            p.list(new PrintWriter(sw));
  +            buf.append("getOutputProperties{" + sw.toString() + "}");
  +        }
  +
  +        if (trans instanceof TransformerImpl)
  +        {
  +            final TransformerImpl timpl = (TransformerImpl)trans;
  +            // We have a Xalan-J 2.x basic transformer
  +            buf.append("getBaseURLOfSource=" + timpl.getBaseURLOfSource() + 
SEP);
  +            // Result getOutputTarget()
  +            // ContentHandler getInputContentHandler(boolean doDocFrag)
  +            // DeclHandler getInputDeclHandler()
  +            // LexicalHandler getInputLexicalHandler()
  +            // OutputProperties getOutputFormat()
  +            // Serializer getSerializer()
  +            // ElemTemplateElement getCurrentElement()
  +            // int getCurrentNode()
  +            // ElemTemplate getCurrentTemplate()
  +            // ElemTemplate getMatchedTemplate()
  +            // int getMatchedNode()
  +            // DTMIterator getContextNodeList()
  +            // StylesheetRoot getStylesheet()
  +            // int getRecursionLimit()
  +            buf.append("getMode=" + timpl.getMode() + SEP);
  +        }
  +
  +        return "Transformer" + LBRACKET 
  +            + buf.toString() + RBRACKET;
       }
   
   
  
  
  

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

Reply via email to