1 package com.instantbank.collections.customerInfo.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 import com.instantbank.collections.util.StringFormat;
13
14 public class CustomerStatusesTransformer
15 implements Serializable {
16 private String[] id;
17 private String[] code;
18 private String[] description;
19 private NodeList nlId;
20 private NodeList nlCode;
21 private NodeList nlDescription;
22 private int nlLength;
23 private String prData;
24
25
26 public String getCode(int i) {
27 return StringFormat.toSafeJavaString(code[i]);
28 }
29
30
31 public String getDescription(int i) {
32 return StringFormat.toSafeJavaString(description[i]);
33 }
34
35
36 public String getId(int i) {
37 return id[i];
38 }
39
40
41 public long getNumberOfStatuses() {
42 return nlLength;
43 }
44
45
46 public void setData(String data) throws XMLParseException, XSLException, SAXException, IOException {
47 DOMParser docParser = new DOMParser();
48 ByteArrayInputStream stream;
49 XMLDocument xmlDoc = null;
50 try {
51 prData = data;
52 stream = new ByteArrayInputStream(data.getBytes());
53 docParser.setValidationMode(false);
54 docParser.parse(stream);
55 xmlDoc = docParser.getDocument();
56 nlId = xmlDoc.selectNodes("/CustomerStatusesList/CustomerStatus/statusid/text()");
57 nlCode = xmlDoc.selectNodes("/CustomerStatusesList/CustomerStatus/statuscode/text()");
58 nlDescription = xmlDoc.selectNodes("/CustomerStatusesList/CustomerStatus/statusdescription/text()");
59 nlLength = nlCode.getLength();
60 id = new String[nlLength];
61 code = new String[nlLength];
62 description = new String[nlLength];
63 for(int i = 0; i < nlLength; i++) {
64 id[i] = nlId.item(i).getNodeValue();
65 code[i] = nlCode.item(i).getNodeValue();
66 description[i] = nlDescription.item(i).getNodeValue();
67 }
68 }
69 catch(Exception e) {
70 }
71 }
72 }
73