Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
23   92   8   11.5
14   31   0.39   2
2     4.5  
1    
 
 
  EncodeXML       Line # 62 23 8 97.4% 0.974359
 
No Tests
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45    /*
46    * EncodeXML.java
47    *
48    * Created on 17 March 2006, 18:38
49    *
50    * To change this template, choose Tools | Template Manager
51    * and open the template in the editor.
52    */
53   
54    package issrg.utils.handler;
55   
56    import org.w3c.dom.*;
57    import org.apache.log4j.*;
58    /**
59    *
60    * @author ls97
61    */
 
62    public class EncodeXML {
63   
64    private static Logger logger = Logger.getLogger(EncodeXML.class);
65    /** Creates a new instance of EncodeXML */
 
66  5 toggle public EncodeXML() {
67    }
68   
 
69  21 toggle public String encode(Node ele, int indent) {
70  21 String prefix = new String();
71  125 for (int i=0;i<indent;i++) prefix +=" ";
72  21 String buf = new String();
73  21 if (!Text.class.isAssignableFrom(ele.getClass())) {
74  17 buf +=prefix+"<"+ele.getNodeName();
75  17 NamedNodeMap atts = ele.getAttributes();
76  40 for (int i=0;i<atts.getLength();i++) {
77  23 Node node = atts.item(i);
78  23 buf +=" "+node.getNodeName()+"="+'"'+node.getNodeValue()+'"';
79    }
80  17 if (ele.getChildNodes().getLength()>0) buf +=">\r\n";
81  6 else buf +="/>\r\n";
82  4 } else buf +=prefix+ele.getNodeValue()+"\r\n";
83  21 NodeList children = ele.getChildNodes();
84  37 for (int i=0;i<children.getLength();i++) {
85  16 Node node = children.item(i);
86  16 buf +=this.encode(node,indent+4);
87    }
88  21 if (children.getLength()>0) buf +=prefix+"</"+ele.getNodeName()+">\r\n";
89  21 if (buf.length()>0) logger.debug("buf");
90  21 return buf;
91    }
92    }