juergen     2003/02/07 06:05:08

  Modified:    
testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor
                        XMLOutput.java TProcessors.java
  Log:
  bug fix in the MU area, some threads did not print their output correctly.
  
  Revision  Changes    Path
  1.7       +34 -40    
jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/XMLOutput.java
  
  Index: XMLOutput.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/XMLOutput.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XMLOutput.java    6 Feb 2003 09:59:00 -0000       1.6
  +++ XMLOutput.java    7 Feb 2003 14:05:07 -0000       1.7
  @@ -83,11 +83,10 @@
   
   
       private OutputElements elements = null;
  -    private PrintStream xmlResult;
  +    private PrintStream xmlResult   = null;
   
       public XMLOutput(PrintStream out) {
           xmlResult = out;
  -        elements = new OutputElements();
       }
   
       public void writeException(Exception e) {
  @@ -106,6 +105,14 @@
           element.getAttributes().add(getAttribute(attrName, attrValue));
           elements.push(element);
       }
  +    public void writeRootElementStart(String elementName) {
  +        elements = new OutputElements(new Element(elementName));
  +    }
  +
  +    public void writeRootElementEnd(String elementName) {
  +        elements.delete();
  +    }
  +
       public void writeElementStart(String elementName) {
           elements.push(new Element(elementName));
       }
  @@ -150,22 +157,19 @@
           return new Attribute(attrName, attrValue);
       }
   
  +
  +
  +
  +
       /**************************************************************/
       /* Inner class describe the Ouput element                     */
       /**************************************************************/
       private class OutputElement extends Stack {
   
  -        private Element rootElement = null;
  -
           public OutputElement(Element rootElement) {
  -            this.rootElement = rootElement;
               push(rootElement);
           }
   
  -        public Element getRootElement() {
  -            return rootElement;
  -        }
  -
       }
   
   
  @@ -174,42 +178,42 @@
       /****************************************************************/
       private class OutputElements {
   
  -        private Hashtable elements = null;
  +        private Hashtable openElements = null;
  +        private Element   rootElement  = null;
   
  -        public OutputElements() {
  -            this.elements = new Hashtable();
  +        public OutputElements(Element root) {
  +            this.openElements = new Hashtable();
  +            this.rootElement = root;
           }
   
           public String getElementString() {
  -            String result = "";
  -            Element element = getRootElement();
  -            if (element != null) {
  -                result = getElementString(element);
  -            }
  -            return result;
  +            return getElementString(getRootElement());
           }
   
   
           public void push(Element e) {
               if (getElement() == null) {
  -                elements.put(Thread.currentThread().getName(), new 
OutputElement(e));
  +                openElements.put(Thread.currentThread().getName(), new 
OutputElement(e));
  +                getRootElement().getChildren().add(e);
               } else {
                   getElement().getChildren().add(e);
  -                
((OutputElement)elements.get(Thread.currentThread().getName())).push(e);
  +                
((OutputElement)openElements.get(Thread.currentThread().getName())).push(e);
               }
           }
   
   
           public void pop() {
  -            if (getElement() != null && getElement() != getRootElement()) {
  -                
((OutputElement)elements.get(Thread.currentThread().getName())).pop();
  +            OutputElement open = 
((OutputElement)openElements.get(Thread.currentThread().getName()));
  +            open.pop();
  +            if (open.isEmpty()) {
  +                openElements.remove(Thread.currentThread().getName());
               }
           }
   
   
           public void addElement(Element e) {
               if (getElement() == null) {
  -                elements.put(Thread.currentThread().getName(), new 
OutputElement(e));
  +                getRootElement().getChildren().add(e);
               } else {
                   getElement().getChildren().add(e);
               }
  @@ -218,7 +222,7 @@
   
           public Element getElement() {
               Element result = null;
  -            OutputElement outElement = 
(OutputElement)elements.get(Thread.currentThread().getName());
  +            OutputElement outElement = 
(OutputElement)openElements.get(Thread.currentThread().getName());
               if (outElement == null) {
                   result = null;
               } else {
  @@ -228,22 +232,12 @@
           }
   
           public Element getRootElement() {
  -            Element result = null;
  -            OutputElement outElement = 
(OutputElement)elements.get(Thread.currentThread().getName());
  -            if (outElement == null) {
  -                result = null;
  -            } else {
  -                result = outElement.getRootElement();
  -            }
  -            return result;
  +            return rootElement;
           }
   
   
  -
           public void delete() {
  -            if (getElement() != null) {
  -                elements.remove(Thread.currentThread().getName());
  -            }
  +            openElements = null;
           }
   
           private String getElementString (Element e) {
  
  
  
  1.46      +6 -6      
jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/TProcessors.java
  
  Index: TProcessors.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/TProcessors.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- TProcessors.java  6 Feb 2003 09:59:00 -0000       1.45
  +++ TProcessors.java  7 Feb 2003 14:05:08 -0000       1.46
  @@ -434,7 +434,7 @@
           System.out.println("");
           System.out.println(new Date() + " Starting test case: " + 
testfile.getAbsolutePath());
   
  -        xmlresult.writeElementStart("testCase");
  +        xmlresult.writeRootElementStart("testCase");
           xmlresult.writeElement("fileName", testfile.getAbsolutePath());
   
           try{
  @@ -455,7 +455,7 @@
           xmlresult.writeElement("time",  ((System.currentTimeMillis() - time)));
           xmlresult.writeElement("testElementCount",  testElementsExecuted);
           xmlresult.writeElement("testElementErrors",  testElementsExecutedWithError);
  -        xmlresult.writeElementEnd("testCase");
  +        xmlresult.writeRootElementEnd("testCase");
           xmlresult.flush();
   
   
  
  
  

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

Reply via email to