1    package com.instantbank.collections.basicInfo.web;
2    
3    import java.io.ByteArrayInputStream;
4    import java.io.IOException;
5    import java.io.Serializable;
6    import oracle.xml.parser.v2.DOMParser;
7    import oracle.xml.parser.v2.XMLDocument;
8    import oracle.xml.parser.v2.XMLParseException;
9    import oracle.xml.parser.v2.XSLException;
10   import org.w3c.dom.NodeList;
11   import org.xml.sax.SAXException;
12   
13   public class PhoneTypesTransformer
14       implements Serializable {
15     private String[] code;
16     private String[] description;
17     private NodeList nlCode;
18     private NodeList nlDescription;
19     private int nlLength;
20     private String prData;
21   
22   
23     public String getCode(int i) {
24       return code[i];
25     }
26   
27   
28     public String getDescription(int i) {
29       return description[i];
30     }
31   
32   
33     public long getNumberOfTypes() {
34       return nlLength;
35     }
36   
37   
38     public void setData(String data) throws XMLParseException, XSLException, SAXException, IOException {
39       DOMParser docParser = new DOMParser();
40       ByteArrayInputStream stream;
41       XMLDocument xmlDoc = null;
42       try {
43         prData = data;
44         stream = new ByteArrayInputStream(data.getBytes());
45         docParser.setValidationMode(false);
46         docParser.parse(stream);
47         xmlDoc = docParser.getDocument();
48         nlCode = xmlDoc.selectNodes("/PhoneTypesList/PhoneType/code/text()");
49         nlDescription = xmlDoc.selectNodes("/PhoneTypesList/PhoneType/description/text()");
50         nlLength = nlCode.getLength();
51         code = new String[nlLength];
52         description = new String[nlLength];
53         for(int i = 0; i < nlLength; i++) {
54           code[i] = nlCode.item(i).getNodeValue();
55           description[i] = nlDescription.item(i).getNodeValue();
56         }
57       }
58       catch(Exception e) {}
59     }
60   }
61