1 37 38 package com.sun.j2ee.blueprints.airlinesupplier.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 50 public class Invoice implements Serializable { 51 52 protected String invoiceId; 53 protected String opcPoId; 54 protected String supplierId; 55 protected String agentId; 56 protected Calendar depDate; 57 protected Calendar retDate; 58 protected String depFlightId; 59 protected String retFlightId; 60 protected int numPassengers; 61 protected String status; 62 protected String cancelPolicy; 63 64 public Invoice() {} 66 67 public Invoice(String invoiceId, String opcPoId, String supplier, 68 String agentId, Calendar depDate, Calendar retDate, 69 String depFlightId, String retFlightId, int numPassengers, 70 String status, String cancelPolicy) { 71 this.invoiceId = invoiceId; 72 this.opcPoId = opcPoId; 73 this.supplierId = supplier; 74 this.agentId = agentId; 75 this.depDate = depDate; 76 this.retDate = retDate; 77 this.depFlightId = depFlightId; 78 this.retFlightId = retFlightId; 79 this.numPassengers = numPassengers; 80 this.status = status; 81 this.cancelPolicy = cancelPolicy; 82 } 83 84 public String getInvoiceId() { 86 return invoiceId; 87 } 88 89 public String getOpcPoId() { 90 return opcPoId; 91 } 92 93 public String getSupplierId() { 94 return supplierId; 95 } 96 97 public String getStatus() { 98 return status; 99 } 100 101 public void setInvoiceId(String invoiceId) { 103 this.invoiceId = invoiceId; 104 } 105 106 public void setOpcPoId(String id) { 107 this.opcPoId = id; 108 } 109 110 public void setSupplierId(String id) { 111 this.supplierId = id; 112 } 113 114 public void setStatus(String stat) { 115 this.status = stat; 116 } 117 118 public String toXML() throws ParserConfigurationException, 120 TransformerConfigurationException, 121 TransformerException, 122 UnsupportedEncodingException { 123 String inv = null; 124 125 SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd E HH:mm.ss a"); 127 DocumentBuilderFactory docBuilderFactory = 128 DocumentBuilderFactory.newInstance(); 129 docBuilderFactory.setNamespaceAware(true); 130 DocumentBuilder docBuilder = 131 docBuilderFactory.newDocumentBuilder(); 132 Document doc = docBuilder.newDocument(); 133 Element invElem = doc.createElement("Invoice"); 134 invElem.setAttribute("xmlns:xsi", 135 "http://www.w3.org/2001/XMLSchema-instance"); 136 invElem.setAttribute("xsi:schemaLocation", 137 "http://java.sun.com/blueprints/ns/invoice " + 138 "http://java.sun.com/blueprints/schemas/invoice-airline.xsd"); 139 invElem.setAttribute("xmlns", 140 "http://java.sun.com/blueprints/ns/invoice"); 141 doc.appendChild(invElem); 142 Element elem = doc.createElement("InvoiceRef"); 143 elem.appendChild(doc.createTextNode(invoiceId)); 144 invElem.appendChild(elem); 145 elem = doc.createElement("OPCPoId"); 146 elem.appendChild(doc.createTextNode(opcPoId)); 147 invElem.appendChild(elem); 148 elem = doc.createElement("SupplierId"); 149 elem.appendChild(doc.createTextNode(supplierId)); 150 invElem.appendChild(elem); 151 elem = doc.createElement("AgentId"); 152 elem.appendChild(doc.createTextNode(agentId)); 153 invElem.appendChild(elem); 154 elem = doc.createElement("DPT-Flight-Date"); 155 elem.appendChild(doc.createTextNode(df.format(depDate.getTime()))); 156 invElem.appendChild(elem); 157 elem = doc.createElement("RTN-Flight-Date"); 158 elem.appendChild(doc.createTextNode(df.format(retDate.getTime()))); 159 invElem.appendChild(elem); 160 elem = doc.createElement("DPT-Flight-ID"); 161 elem.appendChild(doc.createTextNode(depFlightId)); 162 invElem.appendChild(elem); 163 elem = doc.createElement("RTN-Flight-ID"); 164 elem.appendChild(doc.createTextNode(retFlightId)); 165 invElem.appendChild(elem); 166 elem = doc.createElement("NUM-Passengers"); 167 elem.appendChild(doc.createTextNode(numPassengers + "")); 168 invElem.appendChild(elem); 169 elem = doc.createElement("Status"); 170 elem.appendChild(doc.createTextNode(status)); 171 invElem.appendChild(elem); 172 elem = doc.createElement("Cancel-Policy"); 173 elem.appendChild(doc.createTextNode(cancelPolicy)); 174 invElem.appendChild(elem); 175 176 ByteArrayOutputStream baStream = new ByteArrayOutputStream(); 178 Result res = new StreamResult(baStream); 179 TransformerFactory transFactory = TransformerFactory.newInstance(); 180 Transformer transformer = transFactory.newTransformer(); 181 transformer.setOutputProperty(OutputKeys.METHOD, "xml"); 182 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); 183 transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 184 transformer.transform(new DOMSource(doc), res); 185 inv = baStream.toString("UTF-8"); 186 return inv; 187 } 188 } 189 | Popular Tags |