1 package com.instantbank.collections.creditInfo.web;
2
3 import java.io.ByteArrayInputStream;
4 import java.io.IOException;
5 import java.io.PrintWriter;
6 import java.io.StringWriter;
7 import javax.servlet.http.HttpSession;
8 import oracle.xml.parser.v2.DOMParser;
9 import oracle.xml.parser.v2.XMLDocument;
10 import oracle.xml.parser.v2.XMLParseException;
11 import oracle.xml.parser.v2.XSLException;
12 import org.w3c.dom.Node;
13 import org.xml.sax.SAXException;
14 import com.instantbank.collections.creditInfo.ejb.CreditInfoServices;
15 import com.instantbank.collections.creditInfo.ejb.CreditInfoServicesHome;
16 import com.instantbank.collections.util.ServiceLocator;
17
18 public class AccountStatusTransformer {
19 private CreditInfoServicesHome chome;
20 private XMLDocument data;
21 private HttpSession gblSession;
22 private CreditInfoServices services;
23 private StatusCategoriesTransformer sct;
24
25
26 public AccountStatusTransformer() { }
27
28
29 public String getAccountsValuesArray() throws Exception {
30 String arrayLoad = "";
31 String categoryId = null;
32 String categoryName = null;
33 String categoryNumber = null;
34 String NodeName = null;
35 Node status;
36 int statusNumber = 0;
37 String valueName = null;
38 String valueId = null;
39
40 String changedby = null;
41 String changeddate = null;
42 String changedById = null;
43
44 try {
45 StringWriter sw = new StringWriter();
46 PrintWriter pw = new PrintWriter(sw);
47 data.print(pw);
48 statusNumber = data.selectNodes("/StatusValuesList/StatusValue").getLength();
49 for(int i = 0; i < statusNumber; i++) {
50 status = data.selectNodes("/StatusValuesList/StatusValue").item(i);
51 categoryId = "";
52 categoryNumber = "";
53 categoryName = "";
54 valueId = "";
55 valueName = "";
56 changedby = "";
57 changeddate = "";
58 changedById = "";
59 for(int j = 0; j < status.getChildNodes().getLength(); j++) {
60 NodeName = status.getChildNodes().item(j).getNodeName();
61 if(NodeName.equals("categoryid")) {
62 categoryId = status.getChildNodes().item(j).getFirstChild().getNodeValue();
63 }
64 else if(NodeName.equals("categorynumber")) {
65 categoryNumber = status.getChildNodes().item(j).getFirstChild().getNodeValue();
66 }
67 else if(NodeName.equals("categoryname")) {
68 categoryName = status.getChildNodes().item(j).getFirstChild().getNodeValue();
69 }
70 else if(NodeName.equals("valueid")) {
71 valueId = status.getChildNodes().item(j).getFirstChild().getNodeValue();
72 }
73 else if(NodeName.equals("changedby")) {
74 changedby = status.getChildNodes().item(j).getFirstChild().getNodeValue();
75 }
76 else if(NodeName.equals("changeddate")) {
77 changeddate = status.getChildNodes().item(j).getFirstChild().getNodeValue();
78 }
79 else if(NodeName.equals("changedbyid")) {
80 changedById = status.getChildNodes().item(j).getFirstChild().getNodeValue();
81 }
82 else if(NodeName.equals("valuename")) {
83 valueName = status.getChildNodes().item(j).getFirstChild().getNodeValue();
84 }
85 }
86 arrayLoad += "status[" + i + "]=new Status(\'" + categoryId + "\',\'" + categoryNumber + "\',\'";
87 arrayLoad += categoryName + "\',\'" + valueId + "\',\'" + valueName + "\',\'"
88 + changedby + "\',\'" + changeddate + "\',\'" + changedById + "\');\n";
89 }
90 }
91 catch(Exception e) {
92 }
93 arrayLoad += "statusNumber = " + statusNumber + ";";
94 return arrayLoad;
95 }
96
97
98 public String getCategoriesArray() throws Exception {
99 String array = "";
100
101 try {
102 sct = new StatusCategoriesTransformer();
103 array += sct.getCategoriesArray();
104 }
105 catch(Exception e) {
106 }
107 return array;
108 }
109
110
111 public void setData(String data) throws XMLParseException, XSLException, SAXException, IOException, Exception {
112 String cat;
113 String catString;
114 Long companyId;
115 DOMParser docParser = new DOMParser();
116 StatusCategoriesTransformer sct;
117 ByteArrayInputStream stream;
118
119 try {
120 stream = new ByteArrayInputStream(data.getBytes());
121 docParser.setValidationMode(false);
122 docParser.parse(stream);
123 this.data = docParser.getDocument();
124
125 chome = (CreditInfoServicesHome)ServiceLocator.instance().createEJB("CreditInfoServicesHome", CreditInfoServicesHome.class, false);
126 services = chome.create();
127
128 companyId = (Long)gblSession.getAttribute("companyId");
129 cat = services.getStatusCategoriesValues(companyId);
130
131 sct = new StatusCategoriesTransformer();
132 sct.setData(cat);
133 }
134 catch(Exception e) {
135 }
136 }
137
138
139 public void setSession(HttpSession session) {
140 gblSession = session;
141 }
142
143 }
144
145