1 37 38 package com.sun.j2ee.blueprints.activitysupplier.pomessagebean; 39 40 import java.util.*; 41 import java.text.*; 42 import java.io.*; 43 import javax.xml.parsers.*; 44 import org.w3c.dom.*; 45 import org.xml.sax.*; 46 import javax.xml.transform.*; 47 import javax.xml.transform.dom.*; 48 import javax.xml.transform.stream.*; 49 import com.sun.j2ee.blueprints.activitysupplier.powebservice.*; 50 51 public class Invoice implements Serializable { 52 53 protected String invoiceId; 54 protected String opcPoId; 55 protected String supplierId; 56 protected ActivityOrder actOrder; 57 protected String status; 58 59 public Invoice() {} 61 62 public Invoice(String invoiceId, 63 String opcPoId, 64 String supplier, 65 ActivityOrder actOrder, 66 String status) { 67 this.invoiceId = invoiceId; 68 this.opcPoId = opcPoId; 69 this.supplierId = supplier; 70 this.actOrder = actOrder; 71 this.status = status; 72 } 73 74 public String getInvoiceId() { 76 return invoiceId; 77 } 78 79 public String getOpcPoId() { 80 return opcPoId; 81 } 82 83 public String getSupplierId() { 84 return supplierId; 85 } 86 87 public String getStatus() { 88 return status; 89 } 90 91 public void setInvoiceId(String invoiceId) { 93 this.invoiceId = invoiceId; 94 } 95 96 public void setOpcPoId(String id) { 97 this.opcPoId = id; 98 } 99 100 public void setSupplierId(String id) { 101 this.supplierId = id; 102 } 103 104 public void setStatus(String stat) { 105 this.status = stat; 106 } 107 108 public String toXML() throws ParserConfigurationException, 110 TransformerConfigurationException, 111 TransformerException, 112 UnsupportedEncodingException{ 113 String inv = null; 114 115 SimpleDateFormat df = 117 new SimpleDateFormat("yyyy/MM/dd E HH:mm.ss a"); 118 DocumentBuilderFactory docBuilderFactory = 119 DocumentBuilderFactory.newInstance(); 120 docBuilderFactory.setNamespaceAware(true); 121 DocumentBuilder docBuilder = 122 docBuilderFactory.newDocumentBuilder(); 123 Document doc = docBuilder.newDocument(); 124 Element invElem = doc.createElement("Invoice"); 125 invElem.setAttribute("xmlns:xsi", 126 "http://www.w3.org/2001/XMLSchema-instance"); 127 invElem.setAttribute("xsi:schemaLocation", 128 "http://java.sun.com/blueprints/ns/invoice " + 129 "http://java.sun.com/blueprints/schemas/invoice-activity.xsd"); 130 invElem.setAttribute("xmlns", 131 "http://java.sun.com/blueprints/ns/invoice"); 132 doc.appendChild(invElem); 133 Element elem = doc.createElement("ID"); 134 elem.appendChild(doc.createTextNode(invoiceId)); 135 invElem.appendChild(elem); 136 elem = doc.createElement("OPCPoId"); 137 elem.appendChild(doc.createTextNode(opcPoId)); 138 invElem.appendChild(elem); 139 elem = doc.createElement("SupplierId"); 140 elem.appendChild(doc.createTextNode(supplierId)); 141 invElem.appendChild(elem); 142 Element acts = doc.createElement("activities"); 144 145 ArrayList actList = actOrder.getActivities(); 147 Iterator it = null; 148 if (actList != null) it = actList.iterator(); 149 while ((it != null) && it.hasNext()) { 150 ActivityDetails ad = (ActivityDetails)it.next(); 151 Element act = doc.createElement("activity"); 152 Element actElem = doc.createElement("ACT-ID"); 153 actElem.appendChild(doc.createTextNode(ad.getActivityId())); 154 act.appendChild(actElem); 155 actElem = doc.createElement("Start-Date"); 156 actElem.appendChild(doc.createTextNode(df.format(ad.getStartDate().getTime()))); 157 act.appendChild(actElem); 158 actElem = doc.createElement("End-Date"); 159 actElem.appendChild(doc.createTextNode(df.format(ad.getEndDate().getTime()))); 160 act.appendChild(actElem); 161 actElem = doc.createElement("Head-Count"); 162 actElem.appendChild(doc.createTextNode(ad.getHeadCount() + "")); 163 act.appendChild(actElem); 164 acts.appendChild(act); 165 } 166 invElem.appendChild(acts); 168 169 elem = doc.createElement("Status"); 170 elem.appendChild(doc.createTextNode(status)); 171 invElem.appendChild(elem); 172 173 ByteArrayOutputStream baStream = new ByteArrayOutputStream(); 175 Result res = new StreamResult(baStream); 176 TransformerFactory transFactory = TransformerFactory.newInstance(); 177 Transformer transformer = transFactory.newTransformer(); 178 transformer.setOutputProperty(OutputKeys.METHOD, "xml"); 179 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 180 transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 181 transformer.transform(new DOMSource(doc), res); 182 inv = baStream.toString("UTF-8"); 183 return inv; 184 } 185 } 186 | Popular Tags |