001: package com.myeis.services.myeis.myeis;
002:
003: import java.io.*;
004: import com.myeis.services.*;
005: import org.apache.wsif.providers.jca.WSIFFormatHandler_JCA;
006: import javax.xml.transform.Transformer;
007: import javax.xml.transform.TransformerFactory;
008: import javax.xml.transform.sax.SAXSource;
009: import org.xml.sax.XMLReader;
010: import org.xml.sax.Attributes;
011: import org.xml.sax.ContentHandler;
012: import org.xml.sax.InputSource;
013: import org.xml.sax.helpers.AttributesImpl;
014:
015: public class CustomerFormatHandler implements WSIFFormatHandler_JCA {
016: private Customer fieldCustomer = null;
017:
018: public void read(InputStream inputStream) throws IOException {
019: try {
020: ObjectInputStream objectInputStream = new ObjectInputStream(
021: inputStream);
022: Object obj = (Object) objectInputStream.readObject();
023: if (obj instanceof Customer) {
024: this .fieldCustomer = (Customer) obj;
025: } else if (obj instanceof com.myeis.services.internal.CustomerDataObject) {
026: com.myeis.services.internal.CustomerDataObject aCustomer = (com.myeis.services.internal.CustomerDataObject) obj;
027: this .fieldCustomer = new Customer();
028: this .fieldCustomer.setLastName(aCustomer.getLastName());
029: this .fieldCustomer.setFirstName(aCustomer
030: .getFirstName());
031: this .fieldCustomer.setNumber(aCustomer.getNumber());
032: }
033: } catch (ClassNotFoundException e) {
034: e.printStackTrace();
035: throw new IOException("class not found !");
036: }
037: }
038:
039: public void write(OutputStream outputStream) throws IOException {
040: ObjectOutputStream objectOutputStream = new ObjectOutputStream(
041: outputStream);
042: objectOutputStream.writeObject(this .fieldCustomer);
043: objectOutputStream.flush();
044: }
045:
046: public void setObjectPart(Object objectPart) {
047: this .fieldCustomer = (Customer) objectPart;
048: }
049:
050: public Object getObjectPart() {
051: return this .fieldCustomer;
052: }
053:
054: public Object getObjectPart(Class sourceClass) {
055: try {
056: if (sourceClass.isAssignableFrom(Class
057: .forName("javax.xml.transform.sax.SAXSource"))) {
058: SAXSource saxSource = new SAXSource(new InputSource());
059: XMLReader reader = new ContentReader();
060: saxSource.setXMLReader(reader);
061: return saxSource;
062: }
063: } catch (Throwable e) {
064: }
065: return null;
066: }
067:
068: public Object getElement(String elementName) {
069: return null;
070: }
071:
072: public void setElement(String elementName, Object element) {
073: }
074:
075: public Object getElement(String name, int index) {
076: return null;
077: }
078:
079: public void setElement(String name, int index, Object value) {
080: }
081:
082: public javax.xml.namespace.QName getPartQName() {
083: return null;
084: }
085:
086: public void setPartQName(javax.xml.namespace.QName qname) {
087: }
088:
089: public void setInteractionSpec(
090: javax.resource.cci.InteractionSpec arg0) {
091: return;
092: }
093:
094: public class ContentReader implements org.xml.sax.XMLReader {
095: private ContentHandler fieldContentHandler = null;
096:
097: public org.xml.sax.ContentHandler getContentHandler() {
098: return null;
099: }
100:
101: public org.xml.sax.DTDHandler getDTDHandler() {
102: return null;
103: }
104:
105: public org.xml.sax.EntityResolver getEntityResolver() {
106: return null;
107: }
108:
109: public org.xml.sax.ErrorHandler getErrorHandler() {
110: return null;
111: }
112:
113: public boolean getFeature(String name)
114: throws org.xml.sax.SAXNotSupportedException,
115: org.xml.sax.SAXNotRecognizedException {
116: return false;
117: }
118:
119: public Object getProperty(String name)
120: throws org.xml.sax.SAXNotSupportedException,
121: org.xml.sax.SAXNotRecognizedException {
122: return null;
123: }
124:
125: public void setDTDHandler(org.xml.sax.DTDHandler handler) {
126: }
127:
128: public void setEntityResolver(
129: org.xml.sax.EntityResolver resolver) {
130: }
131:
132: public void setErrorHandler(org.xml.sax.ErrorHandler handler) {
133: }
134:
135: public void setFeature(String name, boolean value)
136: throws org.xml.sax.SAXNotSupportedException,
137: org.xml.sax.SAXNotRecognizedException {
138: }
139:
140: public void setProperty(String name, Object value)
141: throws org.xml.sax.SAXNotSupportedException,
142: org.xml.sax.SAXNotRecognizedException {
143: }
144:
145: public void parse(String systemId) throws java.io.IOException,
146: org.xml.sax.SAXException {
147: }
148:
149: public void parse(org.xml.sax.InputSource input)
150: throws java.io.IOException, org.xml.sax.SAXException {
151: try {
152: Attributes attributes = new AttributesImpl();
153: this .fieldContentHandler.startDocument();
154: this .fieldContentHandler.startElement("", "number",
155: "number", attributes);
156: this .fieldContentHandler.characters(fieldCustomer
157: .getNumber().toCharArray(), 0, fieldCustomer
158: .getNumber().length());
159: this .fieldContentHandler.endElement("", "number",
160: "number");
161: this .fieldContentHandler.startElement("", "firstName",
162: "firstName", attributes);
163: this .fieldContentHandler.characters(fieldCustomer
164: .getFirstName().toCharArray(), 0, fieldCustomer
165: .getFirstName().length());
166: this .fieldContentHandler.endElement("", "firstName",
167: "firstName");
168: this .fieldContentHandler.startElement("", "lastName",
169: "lastName", attributes);
170: this .fieldContentHandler.characters(fieldCustomer
171: .getLastName().toCharArray(), 0, fieldCustomer
172: .getLastName().length());
173: this .fieldContentHandler.endElement("", "lastName",
174: "lastName");
175: this .fieldContentHandler.endDocument();
176: } catch (Exception e) {
177: e.printStackTrace();
178: }
179: }
180:
181: public void setContentHandler(org.xml.sax.ContentHandler handler) {
182: this.fieldContentHandler = handler;
183: }
184: }
185: }
|