Author: thilina
Date: Fri Sep 23 09:30:06 2005
New Revision: 291167
URL: http://svn.apache.org/viewcvs?rev=291167&view=rev
Log:
Making the AXIOM work without Java Mail & Activation
Changed the method signatures which contained DataHandler to Objects..
Related to Axis2-126
Added:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/DataHandlerUtils.java
Modified:
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
webservices/axis2/trunk/java/modules/samples/src/sample/mtom/imagetransfer/service/MTOMService.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/ByteArrayDataSource.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMText.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/MIMEOutputUtils.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilderTest.java
Modified:
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
(original)
+++
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
Fri Sep 23 09:30:06 2005
@@ -176,7 +176,7 @@
// Save the image
DataHandler actualDH;
- actualDH = binaryNode.getDataHandler();
+ actualDH = (DataHandler)binaryNode.getDataHandler();
Image actualObject = new ImageIO().loadImage(actualDH.getDataSource()
.getInputStream());
// FileOutputStream imageOutStream = new
FileOutputStream("target/testout.jpg");
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
(original)
+++
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
Fri Sep 23 09:30:06 2005
@@ -128,7 +128,7 @@
OMNode child = (OMNode)childIter.next();
if(child instanceof OMText){
OMText binaryNode = (OMText)child;
- DataHandler actualDH = binaryNode.getDataHandler();
+ DataHandler actualDH =
(DataHandler)binaryNode.getDataHandler();
if(actualDH != null){
AttachmentPart ap =
soapMsg.createAttachmentPart(actualDH);
String contentId =
SessionUtils.generateSessionId();
Modified:
webservices/axis2/trunk/java/modules/samples/src/sample/mtom/imagetransfer/service/MTOMService.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/samples/src/sample/mtom/imagetransfer/service/MTOMService.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/samples/src/sample/mtom/imagetransfer/service/MTOMService.java
(original)
+++
webservices/axis2/trunk/java/modules/samples/src/sample/mtom/imagetransfer/service/MTOMService.java
Fri Sep 23 09:30:06 2005
@@ -36,7 +36,7 @@
String fileName = imageName.getText();
//Extracting the data and saving
DataHandler actualDH;
- actualDH = binaryNode.getDataHandler();
+ actualDH = (DataHandler)binaryNode.getDataHandler();
Image actualObject = new ImageIO().loadImage(actualDH.getDataSource()
.getInputStream());
FileOutputStream imageOutStream = new FileOutputStream(fileName);
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/ByteArrayDataSource.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/ByteArrayDataSource.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/ByteArrayDataSource.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/ByteArrayDataSource.java
Fri Sep 23 09:30:06 2005
@@ -16,13 +16,12 @@
package org.apache.axis2.attachments;
-import javax.activation.DataSource;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-public class ByteArrayDataSource implements DataSource {
+public class ByteArrayDataSource implements javax.activation.DataSource {
private byte[] data;
Added:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/DataHandlerUtils.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/DataHandlerUtils.java?rev=291167&view=auto
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/DataHandlerUtils.java
(added)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/attachments/DataHandlerUtils.java
Fri Sep 23 09:30:06 2005
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.axis2.attachments;
+
+public class DataHandlerUtils {
+
+ public static Object getDataHandlerFromText(String value, String mimeType)
+ {
+ org.apache.axis2.attachments.ByteArrayDataSource dataSource;
+ byte[] data = Base64.decode(value);
+ if (mimeType != null) {
+ dataSource = new
org.apache.axis2.attachments.ByteArrayDataSource(data, mimeType);
+ } else {
+ // Assumes type as application/octet-stream
+ dataSource = new
org.apache.axis2.attachments.ByteArrayDataSource(data);
+ }
+ return new javax.activation.DataHandler(dataSource);
+ }
+}
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
Fri Sep 23 09:30:06 2005
@@ -16,7 +16,6 @@
package org.apache.axis2.om;
-import javax.activation.DataHandler;
import javax.xml.namespace.QName;
/**
@@ -108,7 +107,7 @@
public OMText createText(String s, String mimeType, boolean optimize);
- public OMText createText(DataHandler dataHandler, boolean optimize);
+ public OMText createText(Object dataHandler, boolean optimize);
public OMText createText(OMElement parent, String s, String mimeType,
boolean optimize);
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMText.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMText.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMText.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMText.java
Fri Sep 23 09:30:06 2005
@@ -16,7 +16,6 @@
package org.apache.axis2.om;
-import javax.activation.DataHandler;
/**
* Interface OMText
@@ -33,7 +32,7 @@
* get the datahandler
* @return datahandler
*/
- DataHandler getDataHandler();
+ Object getDataHandler();
/**
* @return boolean flag saying whether the node contains
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/MIMEOutputUtils.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/MIMEOutputUtils.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/MIMEOutputUtils.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/MIMEOutputUtils.java
Fri Sep 23 09:30:06 2005
@@ -21,7 +21,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.activation.DataHandler;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import java.io.IOException;
@@ -40,7 +39,7 @@
try {
startWritingMime(outStream, boundary);
- DataHandler dh = new DataHandler(bufferedSoapOutStream.toString(),
+ javax.activation.DataHandler dh = new
javax.activation.DataHandler(bufferedSoapOutStream.toString(),
"text/xml");
MimeBodyPart rootMimeBodyPart = new MimeBodyPart();
rootMimeBodyPart.setDataHandler(dh);
@@ -70,7 +69,7 @@
public static MimeBodyPart createMimeBodyPart(OMText node)
throws MessagingException {
MimeBodyPart mimeBodyPart = new MimeBodyPart();
- mimeBodyPart.setDataHandler(node.getDataHandler());
+
mimeBodyPart.setDataHandler((javax.activation.DataHandler)node.getDataHandler());
mimeBodyPart.addHeader("content-id", "<"+node.getContentID()+">");
mimeBodyPart.addHeader("content-type", "application/octet-stream");
mimeBodyPart.addHeader("content-transfer-encoding", "binary");
@@ -136,5 +135,4 @@
sb.append("start-info=\""+SOAPContentType+"\"");
return sb.toString();
}
-
}
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
Fri Sep 23 09:30:06 2005
@@ -16,8 +16,15 @@
package org.apache.axis2.om.impl.llom;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
import org.apache.axis2.attachments.Base64;
-import org.apache.axis2.attachments.ByteArrayDataSource;
import org.apache.axis2.om.OMAttribute;
import org.apache.axis2.om.OMConstants;
import org.apache.axis2.om.OMElement;
@@ -29,12 +36,6 @@
import org.apache.axis2.om.impl.llom.mtom.MTOMStAXSOAPModelBuilder;
import org.apache.axis2.util.UUIDGenerator;
-import javax.activation.DataHandler;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.IOException;
-import java.io.InputStream;
-
public class OMTextImpl extends OMNodeImpl implements OMText, OMConstants {
protected String value = null;
@@ -51,9 +52,11 @@
private String contentID = null;
/**
- * Field dataHandler
+ * Field dataHandler contains the DataHandler
+ * Declaring as Object to remove the depedency on
+ * Javax.activation.DataHandler
*/
- private DataHandler dataHandler = null;
+ private Object dataHandlerObject = null;
/**
* Field nameSpace used when serialising Binary stuff as MTOM optimised
@@ -124,6 +127,7 @@
this(parent, s);
this.mimeType = mimeType;
this.optimize = optimize;
+ this.isBinary = true;
done = true;
this.nodeType = TEXT_NODE;
}
@@ -131,7 +135,7 @@
/**
* @param dataHandler To send binary optimised content Created
programatically.
*/
- public OMTextImpl(DataHandler dataHandler) {
+ public OMTextImpl(Object dataHandler) {
this(dataHandler, true);
}
@@ -139,8 +143,8 @@
* @param dataHandler
* @param optimize To send binary content. Created progrmatically.
*/
- public OMTextImpl(DataHandler dataHandler, boolean optimize) {
- this.dataHandler = dataHandler;
+ public OMTextImpl(Object dataHandler, boolean optimize) {
+ this.dataHandlerObject = dataHandler;
this.isBinary = true;
this.optimize = optimize;
done = true;
@@ -235,37 +239,28 @@
}
}
+
/**
- * @return
- * @throws org.apache.axis2.om.OMException
- *
- * @throws OMException
+ * To get the datahandler
+ * @return javax.activation.DataHandler
*/
- public DataHandler getDataHandler() {
+ public Object getDataHandler() {
/*
* this should return a DataHandler containing the binary data
* reperesented by the Base64 strings stored in OMText
*/
- if (value != null) {
- ByteArrayDataSource dataSource;
- byte[] data = Base64.decode(value);
- if (mimeType != null) {
- dataSource = new ByteArrayDataSource(data, mimeType);
- } else {
- // Assumes type as application/octet-stream
- dataSource = new ByteArrayDataSource(data);
- }
- return new DataHandler(dataSource);
+ if (value != null & isBinary) {
+ return
org.apache.axis2.attachments.DataHandlerUtils.getDataHandlerFromText(value,mimeType);
} else {
- if (dataHandler == null) {
+ if (dataHandlerObject == null) {
if (contentID == null) {
throw new RuntimeException("ContentID is null");
}
- dataHandler = ((MTOMStAXSOAPModelBuilder) builder)
+ dataHandlerObject = ((MTOMStAXSOAPModelBuilder) builder)
.getDataHandler(contentID);
}
- return dataHandler;
+ return dataHandlerObject;
}
}
@@ -275,10 +270,11 @@
public java.io.InputStream getInputStream() throws OMException {
if (isBinary) {
- if (dataHandler == null) {
+ if (dataHandlerObject == null) {
getDataHandler();
}
InputStream inStream;
+ javax.activation.DataHandler dataHandler =
(javax.activation.DataHandler)dataHandlerObject;
try {
inStream = dataHandler.getDataSource().getInputStream();
} catch (IOException e) {
Modified:
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
Fri Sep 23 09:30:06 2005
@@ -37,7 +37,6 @@
import org.apache.axis2.om.impl.llom.OMProcessingInstructionImpl;
import org.apache.axis2.om.impl.llom.OMTextImpl;
-import javax.activation.DataHandler;
import javax.xml.namespace.QName;
/**
@@ -161,7 +160,7 @@
* @param optimize
* @return text
*/
- public OMText createText(DataHandler dataHandler, boolean optimize) {
+ public OMText createText(Object dataHandler, boolean optimize) {
return new OMTextImpl(dataHandler, optimize);
}
Modified:
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
Fri Sep 23 09:30:06 2005
@@ -132,7 +132,7 @@
*/
DataHandler actualDH;
- actualDH = blob.getDataHandler();
+ actualDH = (DataHandler)blob.getDataHandler();
Image actualObject = new ImageIO().loadImage(actualDH.getDataSource()
.getInputStream());
FileOutputStream imageOutStream = new FileOutputStream(
Modified:
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilderTest.java
URL:
http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilderTest.java?rev=291167&r1=291166&r2=291167&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilderTest.java
(original)
+++
webservices/axis2/trunk/java/modules/xml/test/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilderTest.java
Fri Sep 23 09:30:06 2005
@@ -83,7 +83,7 @@
byte[] expectedObject = new byte[]{13, 56, 65, 32, 12, 12, 7, -3, -2,
-1, 98};
DataHandler actualDH;
- actualDH = blob.getDataHandler();
+ actualDH = (DataHandler)blob.getDataHandler();
//ByteArrayInputStream object = (ByteArrayInputStream) actualDH
//.getContent();
//byte[] actualObject= null;