01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)StreamDataSource.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package com.sun.jbi.binding.proxy.util;
30:
31: import com.sun.jbi.binding.proxy.LocalStringKeys;
32:
33: import com.sun.jbi.binding.proxy.util.Translator;
34:
35: import java.io.ByteArrayInputStream;
36: import java.io.ByteArrayOutputStream;
37: import java.io.InputStream;
38: import java.io.OutputStream;
39:
40: import java.net.URI;
41:
42: import java.util.HashMap;
43:
44: import javax.activation.DataHandler;
45: import javax.activation.DataSource;
46:
47: /** Implementation of an input stream that can deserialize a MEP.
48: * @author Sun Microsystems, Inc
49: */
50: public class StreamDataSource implements DataSource {
51: String mContentType;
52: String mName;
53: ByteArrayOutputStream mOutput;
54:
55: public StreamDataSource(String name, String content) {
56: mName = name;
57: mContentType = content;
58: }
59:
60: public InputStream getInputStream() throws java.io.IOException {
61: if (mOutput != null) {
62: InputStream is = new ByteArrayInputStream(mOutput
63: .toByteArray());
64:
65: mOutput = null;
66: return (is);
67: }
68: throw new java.io.IOException(Translator
69: .translate(LocalStringKeys.DATASOURCE_NO_INPUT));
70: }
71:
72: public OutputStream getOutputStream() throws java.io.IOException {
73: return (mOutput = new ByteArrayOutputStream());
74: }
75:
76: public String getContentType() {
77: return (mContentType);
78: }
79:
80: public String getName() {
81: return (mName);
82: }
83: }
|