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 CustomerRolesTransformer
14 implements Serializable {
15 private String[] code;
16 private String[] description;
17 private String[] screenType;
18 private String[] allowMultiple;
19 private NodeList nlCode;
20 private NodeList nlDescription;
21 private NodeList nlScreenType;
22 private NodeList nlAllowMultiple;
23 private int nlLength;
24 private String prData;
25
26
27 public String getAllowMultiple(int i) {
28 return allowMultiple[i];
29 }
30
31
32 public String getCode(int i) {
33 return code[i];
34 }
35
36
37 public String getDescription(int i) {
38 return description[i];
39 }
40
41
42 public long getNumberOfRoles() {
43 return nlLength;
44 }
45
46
47 public String getScreenType(int i) {
48 return screenType[i];
49 }
50
51
52 public void setData(String data) throws XMLParseException, XSLException, SAXException, IOException {
53 DOMParser docParser = new DOMParser();
54 ByteArrayInputStream stream;
55 XMLDocument xmlDoc = null;
56 try {
57 prData = data;
58 stream = new ByteArrayInputStream(data.getBytes());
59 docParser.setValidationMode(false);
60 docParser.parse(stream);
61 xmlDoc = docParser.getDocument();
62 nlCode = xmlDoc.selectNodes("/CustomerRolesList/CustomerRole/code/text()");
63 nlDescription = xmlDoc.selectNodes("/CustomerRolesList/CustomerRole/description/text()");
64 nlScreenType = xmlDoc.selectNodes("/CustomerRolesList/CustomerRole/screentype/text()");
65 nlAllowMultiple = xmlDoc.selectNodes("/CustomerRolesList/CustomerRole/allowmultiple/text()");
66 nlLength = nlCode.getLength();
67 code = new String[nlLength];
68 description = new String[nlLength];
69 screenType = new String[nlLength];
70 allowMultiple = new String[nlLength];
71 for(int i = 0; i < nlLength; i++) {
72 code[i] = nlCode.item(i).getNodeValue();
73 description[i] = nlDescription.item(i).getNodeValue();
74 screenType[i] = nlScreenType.item(i).getNodeValue();
75 allowMultiple[i] = nlAllowMultiple.item(i).getNodeValue();
76 }
77 }
78 catch(Exception e) {}
79 }
80 }
81