You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2017/05/14 12:07:13 UTC
svn commit: r1795104 - in /webservices/axiom/trunk:
aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/
axiom-api/src/main/java/org/apache/axiom/mime/
testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/
testing/axiom-test...
Author: veithen
Date: Sun May 14 12:07:12 2017
New Revision: 1795104
URL: http://svn.apache.org/viewvc?rev=1795104&view=rev
Log:
Decouple implementation code and tests from the org.apache.axiom.attachments API and instead use org.apache.axiom.mime.
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomTextSupport.aj
webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBody.java
webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/Part.java
webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/PartImpl.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderXOP.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestReadAttachmentBeforeRootPartComplete.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRegisterCustomBuilderForPayloadJAXBWithXOP.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRootPartStreaming.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/jaxb/TestDataHandlerSerializationWithMTOM.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSetOptimize.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java
webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj Sun May 14 12:07:12 2017
@@ -35,7 +35,6 @@ import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.sax.SAXSource;
-import org.apache.axiom.attachments.lifecycle.DataHandlerExt;
import org.apache.axiom.core.Axis;
import org.apache.axiom.core.Builder;
import org.apache.axiom.core.CoreChildNode;
@@ -53,6 +52,7 @@ import org.apache.axiom.core.stream.sax.
import org.apache.axiom.core.stream.serializer.Serializer;
import org.apache.axiom.core.stream.stax.pull.StAXPivot;
import org.apache.axiom.core.stream.stax.push.XMLStreamWriterNamespaceContextProvider;
+import org.apache.axiom.mime.PartDataHandler;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
@@ -314,11 +314,11 @@ public aspect AxiomContainerSupport {
rootPartOutputStream.close();
for (String contentID : encoder.getContentIDs()) {
DataHandler dataHandler = encoder.getDataHandler(contentID);
- if (cache || !(dataHandler instanceof DataHandlerExt)) {
+ if (cache || !(dataHandler instanceof PartDataHandler)) {
multipartWriter.writePart(dataHandler, contentID);
} else {
OutputStream part = multipartWriter.writePart(dataHandler.getContentType(), contentID);
- IOUtils.copy(((DataHandlerExt)dataHandler).readOnce(), part, -1);
+ IOUtils.copy(((PartDataHandler)dataHandler).getPart().getInputStream(false), part, -1);
part.close();
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomTextSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomTextSupport.aj?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomTextSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomTextSupport.aj Sun May 14 12:07:12 2017
@@ -22,6 +22,7 @@ import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import org.apache.axiom.core.CoreModelException;
+import org.apache.axiom.mime.PartDataHandler;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
@@ -132,8 +133,10 @@ public aspect AxiomTextSupport {
public final void AxiomText.buildWithAttachments() {
if (isOptimized()) {
- // The call to getDataSource ensures that the MIME part is completely read
- getDataHandler().getDataSource();
+ DataHandler dataHandler = getDataHandler();
+ if (dataHandler instanceof PartDataHandler) {
+ ((PartDataHandler)dataHandler).getPart().fetch();
+ }
}
}
Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBody.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBody.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBody.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBody.java Sun May 14 12:07:12 2017
@@ -133,6 +133,8 @@ public final class MultipartBody impleme
private PartImpl firstPart;
private PartImpl rootPart;
+ private int partCount;
+
private final WritableBlobFactory<?> attachmentBlobFactory;
private final DataHandlerFactory dataHandlerFactory;
private final PartCreationListener partCreationListener;
@@ -211,6 +213,16 @@ public final class MultipartBody impleme
return null;
}
+ /**
+ * Get the number of parts in this multipart.
+ *
+ * @return the number of parts
+ */
+ public int getPartCount() {
+ detach();
+ return partCount;
+ }
+
PartImpl getFirstPart() {
if (firstPart == null) {
getNextPart();
@@ -277,6 +289,7 @@ public final class MultipartBody impleme
throw new MIMEException(ex);
}
+ partCount++;
if (partContentID != null) {
if (partMap.containsKey(partContentID)) {
throw new MIMEException(
Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/Part.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/Part.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/Part.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/Part.java Sun May 14 12:07:12 2017
@@ -91,6 +91,11 @@ public interface Part {
DataHandler getDataHandler();
/**
+ * Make sure that this part has been fully read from the underlying stream.
+ */
+ void fetch();
+
+ /**
* Discard the content of this part.
*/
void discard();
Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/PartImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/PartImpl.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/PartImpl.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/PartImpl.java Sun May 14 12:07:12 2017
@@ -193,12 +193,7 @@ final class PartImpl implements Part {
return in;
}
- /**
- * Make sure that the MIME part has been fully read from the parser. If the part has not been
- * read yet, then it will be buffered. This method prepares the parser for reading the next part
- * in the stream.
- */
- void fetch() {
+ public void fetch() {
switch (state) {
case STATE_UNREAD:
checkParserState(parser.getState(), EntityState.T_BODY);
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderXOP.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderXOP.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderXOP.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderXOP.java Sun May 14 12:07:12 2017
@@ -21,7 +21,7 @@ package org.apache.axiom.ts.om.builder;
import static com.google.common.truth.Truth.assertAbout;
import static org.apache.axiom.truth.xml.XMLTruth.xml;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMXMLBuilderFactory;
@@ -43,8 +43,11 @@ public class TestCreateOMBuilderXOP exte
@Override
protected void runTest() throws Throwable {
- Attachments attachments = new Attachments(sample.getInputStream(), sample.getContentType());
- OMElement content = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, attachments).getDocumentElement();
+ MultipartBody mb = MultipartBody.builder()
+ .setInputStream(sample.getInputStream())
+ .setContentType(sample.getContentType())
+ .build();
+ OMElement content = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, mb).getDocumentElement();
if (build) {
content.build();
}
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestReadAttachmentBeforeRootPartComplete.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestReadAttachmentBeforeRootPartComplete.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestReadAttachmentBeforeRootPartComplete.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestReadAttachmentBeforeRootPartComplete.java Sun May 14 12:07:12 2017
@@ -18,13 +18,14 @@
*/
package org.apache.axiom.ts.om.builder;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
import javax.activation.DataHandler;
import javax.activation.DataSource;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.blob.Blobs;
+import org.apache.axiom.blob.MemoryBlob;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
@@ -75,14 +76,18 @@ public class TestReadAttachmentBeforeRoo
// Serialize the message
OMOutputFormat format = new OMOutputFormat();
format.setDoOptimize(true);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- orgRoot.serialize(baos, format);
+ MemoryBlob blob = Blobs.createMemoryBlob();
+ OutputStream out = blob.getOutputStream();
+ orgRoot.serialize(out, format);
+ out.close();
// Parse the message
OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(factory,
StAXParserConfiguration.NON_COALESCING,
- new Attachments(new ByteArrayInputStream(baos.toByteArray()),
- format.getContentType()));
+ MultipartBody.builder()
+ .setInputStream(blob.getInputStream())
+ .setContentType(format.getContentType())
+ .build());
OMElement root = builder.getDocumentElement();
OMElement child1 = (OMElement)root.getFirstOMChild();
OMText text = (OMText)child1.getFirstOMChild();
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRegisterCustomBuilderForPayloadJAXBWithXOP.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRegisterCustomBuilderForPayloadJAXBWithXOP.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRegisterCustomBuilderForPayloadJAXBWithXOP.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRegisterCustomBuilderForPayloadJAXBWithXOP.java Sun May 14 12:07:12 2017
@@ -23,9 +23,9 @@ import java.io.OutputStream;
import javax.activation.DataHandler;
-import org.apache.axiom.attachments.Attachments;
import org.apache.axiom.blob.Blobs;
import org.apache.axiom.blob.MemoryBlob;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMXMLBuilderFactory;
@@ -46,7 +46,10 @@ public class TestRegisterCustomBuilderFo
format.setDoOptimize(true);
createTestDocument(dh).serialize(out, format);
out.close();
- Attachments attachments = new Attachments(blob.getInputStream(), format.getContentType());
- test(dh, OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, attachments), false);
+ MultipartBody mb = MultipartBody.builder()
+ .setInputStream(blob.getInputStream())
+ .setContentType(format.getContentType())
+ .build();
+ test(dh, OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, mb), false);
}
}
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRootPartStreaming.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRootPartStreaming.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRootPartStreaming.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestRootPartStreaming.java Sun May 14 12:07:12 2017
@@ -23,7 +23,7 @@ import java.io.ByteArrayOutputStream;
import javax.xml.stream.XMLStreamReader;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
@@ -64,7 +64,7 @@ public class TestRootPartStreaming exten
InstrumentedInputStream in = new InstrumentedInputStream(new ByteArrayInputStream(baos.toByteArray()));
OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(factory,
StAXParserConfiguration.DEFAULT,
- new Attachments(in, format.getContentType()));
+ MultipartBody.builder().setInputStream(in).setContentType(format.getContentType()).build());
OMElement root = builder.getDocumentElement();
long count1 = in.getCount();
XMLStreamReader reader = root.getXMLStreamReader(false);
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/jaxb/TestDataHandlerSerializationWithMTOM.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/jaxb/TestDataHandlerSerializationWithMTOM.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/jaxb/TestDataHandlerSerializationWithMTOM.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/jaxb/TestDataHandlerSerializationWithMTOM.java Sun May 14 12:07:12 2017
@@ -18,14 +18,15 @@
*/
package org.apache.axiom.ts.om.sourcedelement.jaxb;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
import javax.activation.DataHandler;
import javax.xml.bind.JAXBContext;
import javax.xml.namespace.QName;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.blob.Blobs;
+import org.apache.axiom.blob.MemoryBlob;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMOutputFormat;
@@ -63,14 +64,19 @@ public class TestDataHandlerSerializatio
// Serialize the message
OMOutputFormat format = new OMOutputFormat();
format.setDoOptimize(true);
- ByteArrayOutputStream out = new ByteArrayOutputStream();
+ MemoryBlob blob = Blobs.createMemoryBlob();
+ OutputStream out = blob.getOutputStream();
orgEnvelope.serialize(out, format);
+ out.close();
assertFalse(element.isExpanded());
// Parse the serialized message
- Attachments att = new Attachments(new ByteArrayInputStream(out.toByteArray()), format.getContentType());
- assertEquals(2, att.getAllContentIDs().length);
- SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(att).getSOAPEnvelope();
+ MultipartBody mb = MultipartBody.builder()
+ .setInputStream(blob.getInputStream())
+ .setContentType(format.getContentType())
+ .build();
+ assertEquals(2, mb.getPartCount());
+ SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb).getSOAPEnvelope();
OMElement contentElement = envelope.getBody().getFirstElement().getFirstChildWithName(
new QName("http://ws.apache.org/axiom/test/jaxb", "content"));
OMText content = (OMText)contentElement.getFirstOMChild();
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java Sun May 14 12:07:12 2017
@@ -21,7 +21,7 @@ package org.apache.axiom.ts.om.xop;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMOutputFormat;
@@ -46,7 +46,7 @@ public class TestSerialize extends Axiom
// Read in message: SOAPPart and 2 image attachments
InputStream inStream = testMessage.getInputStream();
- Attachments attachments = new Attachments(inStream, testMessage.getContentType());
+ MultipartBody mb = MultipartBody.builder().setInputStream(inStream).setContentType(testMessage.getContentType()).build();
OMOutputFormat oof = new OMOutputFormat();
oof.setDoOptimize(true);
@@ -61,7 +61,7 @@ public class TestSerialize extends Axiom
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OMXMLParserWrapper builder =
- OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, attachments);
+ OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, mb);
OMElement om = builder.getDocumentElement();
om.serialize(baos, oof);
om.close(false);
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSetOptimize.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSetOptimize.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSetOptimize.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSetOptimize.java Sun May 14 12:07:12 2017
@@ -29,10 +29,9 @@ import javax.mail.Multipart;
import javax.mail.internet.MimeMultipart;
import javax.mail.util.ByteArrayDataSource;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMSerializable;
import org.apache.axiom.om.OMText;
@@ -56,7 +55,7 @@ public class TestSetOptimize extends Axi
OMDocument document = OMXMLBuilderFactory.createOMBuilder(
metaFactory.getOMFactory(),
StAXParserConfiguration.DEFAULT,
- new Attachments(in, XOP_SPEC_SAMPLE.getContentType())).getDocument();
+ MultipartBody.builder().setInputStream(in).setContentType(XOP_SPEC_SAMPLE.getContentType()).build()).getDocument();
for (Iterator<OMSerializable> it = document.getDescendants(false); it.hasNext(); ) {
OMSerializable node = it.next();
if (node instanceof OMText) {
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java Sun May 14 12:07:12 2017
@@ -29,10 +29,10 @@ import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
-import org.apache.axiom.attachments.Attachments;
import org.apache.axiom.blob.Blobs;
import org.apache.axiom.blob.MemoryBlob;
import org.apache.axiom.mime.ContentType;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -43,7 +43,7 @@ import org.apache.axiom.ts.soap.SOAPTest
import org.apache.axiom.util.UIDGenerator;
/**
- * Tests that {@link OMXMLBuilderFactory#createSOAPModelBuilder(OMMetaFactory, Attachments)}
+ * Tests that {@link OMXMLBuilderFactory#createSOAPModelBuilder(OMMetaFactory, MultipartBody)}
* produces an error if the SOAP version used in the root part doesn't match the Content-Type of the
* message.
*/
@@ -98,7 +98,9 @@ public class TestCreateSOAPModelBuilderM
out.close();
// Now attempt to create an Axiom builder
try {
- OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, new Attachments(blob.getInputStream(), contentType.toString()));
+ OMXMLBuilderFactory.createSOAPModelBuilder(
+ metaFactory,
+ MultipartBody.builder().setInputStream(blob.getInputStream()).setContentType(contentType).build());
fail("Expected SOAPProcessingException");
} catch (SOAPProcessingException ex) {
// Expected
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java Sun May 14 12:07:12 2017
@@ -21,7 +21,7 @@ package org.apache.axiom.ts.soap12.envel
import java.io.InputStream;
import java.util.Iterator;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMText;
@@ -40,8 +40,8 @@ public class TestBuildWithAttachments ex
protected void runTest() throws Throwable {
MTOMSample sample = MTOMSample.SAMPLE1;
InputStream in = sample.getInputStream();
- Attachments attachments = new Attachments(in, sample.getContentType());
- SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, attachments).getSOAPEnvelope();
+ MultipartBody mb = MultipartBody.builder().setInputStream(in).setContentType(sample.getContentType()).build();
+ SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb).getSOAPEnvelope();
envelope.buildWithAttachments();
in.close();
Iterator<OMElement> it = envelope.getBody().getFirstElement().getChildElements();
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java Sun May 14 12:07:12 2017
@@ -25,8 +25,8 @@ import java.util.Iterator;
import javax.activation.DataHandler;
import javax.activation.DataSource;
-import org.apache.axiom.attachments.Attachments;
-import org.apache.axiom.attachments.lifecycle.DataHandlerExt;
+import org.apache.axiom.mime.MultipartBody;
+import org.apache.axiom.mime.PartDataHandler;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMOutputFormat;
@@ -104,8 +104,8 @@ public class TestMTOMForwardStreaming ex
public void run() {
try {
try {
- Attachments attachments = new Attachments(pipe1In, contentType);
- SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, attachments).getSOAPEnvelope();
+ MultipartBody mb = MultipartBody.builder().setInputStream(pipe1In).setContentType(contentType).build();
+ SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb).getSOAPEnvelope();
// The code path executed by serializeAndConsume is significantly different if
// the element is built. Therefore we need two different test executions.
if (buildSOAPPart) {
@@ -124,17 +124,17 @@ public class TestMTOMForwardStreaming ex
forwarderThread.start();
try {
- Attachments attachments = new Attachments(pipe2In, contentType);
- SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, attachments).getSOAPEnvelope();
+ MultipartBody mb = MultipartBody.builder().setInputStream(pipe2In).setContentType(contentType).build();
+ SOAPEnvelope envelope = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb).getSOAPEnvelope();
OMElement bodyElement = envelope.getBody().getFirstElement();
Iterator<OMElement> it = bodyElement.getChildElements();
OMElement data1 = it.next();
OMElement data2 = it.next();
IOTestUtils.compareStreams(ds1.getInputStream(),
- ((DataHandlerExt)((OMText)data1.getFirstOMChild()).getDataHandler()).readOnce());
+ ((PartDataHandler)((OMText)data1.getFirstOMChild()).getDataHandler()).getPart().getInputStream(false));
IOTestUtils.compareStreams(ds2.getInputStream(),
- ((DataHandlerExt)((OMText)data2.getFirstOMChild()).getDataHandler()).readOnce());
+ ((PartDataHandler)((OMText)data2.getFirstOMChild()).getDataHandler()).getPart().getInputStream(false));
} finally {
pipe2In.close();
}
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java Sun May 14 12:07:12 2017
@@ -22,7 +22,7 @@ import static com.google.common.truth.Tr
import java.util.Iterator;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
@@ -43,8 +43,8 @@ public class TestBuilderDetach extends A
protected void runTest() throws Throwable {
MTOMSample sample = MTOMSample.SAMPLE1;
InstrumentedInputStream in = new InstrumentedInputStream(sample.getInputStream());
- Attachments attachments = new Attachments(in, sample.getContentType());
- SOAPModelBuilder builder = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, attachments);
+ MultipartBody mb = MultipartBody.builder().setInputStream(in).setContentType(sample.getContentType()).build();
+ SOAPModelBuilder builder = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb);
SOAPEnvelope envelope = builder.getSOAPEnvelope();
long countBeforeDetach = in.getCount();
builder.detach();
Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java?rev=1795104&r1=1795103&r2=1795104&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java Sun May 14 12:07:12 2017
@@ -26,7 +26,7 @@ import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
-import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.mime.MultipartBody;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMXMLBuilderFactory;
@@ -49,8 +49,11 @@ public class TestGetXMLStreamReaderMTOME
@Override
protected void runTest() throws Throwable {
InputStream inStream = MTOMSample.SAMPLE2.getInputStream();
- Attachments attachments = new Attachments(inStream, MTOMSample.SAMPLE2.getContentType());
- OMElement root = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, attachments).getDocumentElement();
+ MultipartBody mb = MultipartBody.builder()
+ .setInputStream(inStream)
+ .setContentType(MTOMSample.SAMPLE2.getContentType())
+ .build();
+ OMElement root = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, mb).getDocumentElement();
// Use tree as input to XMLStreamReader
// Issue XOP:Include events for optimized MTOM text nodes