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 2016/12/30 13:25:21 UTC

svn commit: r1776560 - in /webservices/axiom/trunk: aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixi...

Author: veithen
Date: Fri Dec 30 13:25:21 2016
New Revision: 1776560

URL: http://svn.apache.org/viewvc?rev=1776560&view=rev
Log:
Resurrect OMAttachmentAccessor and use it to replace MimePartProvider.

Added:
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java
      - copied, changed from r1733701, webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyAttachmentAccessor.java
      - copied, changed from r1776559, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyMimePartProvider.java
Removed:
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MimePartProvider.java
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyMimePartProvider.java
Modified:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/BuilderSpec.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/AttachmentUnmarshallerImpl.java
    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/stream/xop/XOPDecodingFilter.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilterHandler.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPEncodingFilterHandler.java
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MIMEMessage.java
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactorySPI.java
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/XOPEncoded.java
    webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestCloneBinary.java
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/XOPRoundtripTest.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/common/factory/AbstractOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java Fri Dec 30 13:25:21 2016
@@ -27,7 +27,7 @@ import javax.xml.transform.sax.SAXSource
 
 import org.apache.axiom.core.NodeFactory;
 import org.apache.axiom.mime.MIMEMessage;
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMMetaFactorySPI;
 import org.apache.axiom.om.OMXMLParserWrapper;
@@ -78,8 +78,8 @@ public abstract class AbstractOMMetaFact
     }
 
     @Override
-    public OMXMLParserWrapper createOMBuilder(Source rootPart, MimePartProvider mimePartProvider) {
-        return OM.createBuilder(nodeFactory, BuilderSpec.from(StAXParserConfiguration.DEFAULT, rootPart, mimePartProvider));
+    public OMXMLParserWrapper createOMBuilder(Source rootPart, OMAttachmentAccessor attachmentAccessor) {
+        return OM.createBuilder(nodeFactory, BuilderSpec.from(StAXParserConfiguration.DEFAULT, rootPart, attachmentAccessor));
     }
 
     @Override
@@ -103,7 +103,7 @@ public abstract class AbstractOMMetaFact
     }
 
     @Override
-    public SOAPModelBuilder createSOAPModelBuilder(Source rootPart, MimePartProvider mimePartProvider) {
-        return SOAP.createBuilder(nodeFactory, BuilderSpec.from(StAXParserConfiguration.SOAP, rootPart, mimePartProvider));
+    public SOAPModelBuilder createSOAPModelBuilder(Source rootPart, OMAttachmentAccessor attachmentAccessor) {
+        return SOAP.createBuilder(nodeFactory, BuilderSpec.from(StAXParserConfiguration.SOAP, rootPart, attachmentAccessor));
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/BuilderSpec.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/BuilderSpec.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/BuilderSpec.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/BuilderSpec.java Fri Dec 30 13:25:21 2016
@@ -24,6 +24,7 @@ import java.io.InputStream;
 import java.io.Reader;
 import java.net.URL;
 
+import javax.activation.DataHandler;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.Source;
@@ -38,8 +39,8 @@ import org.apache.axiom.core.stream.XmlI
 import org.apache.axiom.core.stream.dom.DOMInput;
 import org.apache.axiom.core.stream.sax.SAXInput;
 import org.apache.axiom.mime.MIMEMessage;
-import org.apache.axiom.mime.MimePartProvider;
 import org.apache.axiom.mime.Part;
+import org.apache.axiom.om.OMAttachmentAccessor;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.common.builder.Detachable;
 import org.apache.axiom.om.impl.stream.stax.pull.StAXPullInput;
@@ -198,7 +199,12 @@ final class BuilderSpec {
         return new BuilderSpec(
                 new FilteredXmlInput(
                         spec.getInput(),
-                        new XOPDecodingFilter(message)),
+                        new XOPDecodingFilter(new OMAttachmentAccessor() {
+                            @Override
+                            public DataHandler getDataHandler(String contentID) {
+                                return message.getDataHandler(contentID);
+                            }
+                        })),
                 new Detachable() {
                     @Override
                     public void detach() {
@@ -207,12 +213,12 @@ final class BuilderSpec {
                 });
     }
 
-    static BuilderSpec from(StAXParserConfiguration configuration, Source source, MimePartProvider mimePartProvider) {
+    static BuilderSpec from(StAXParserConfiguration configuration, Source source, OMAttachmentAccessor attachmentAccessor) {
         BuilderSpec spec = from(configuration, source);
         return new BuilderSpec(
                 new FilteredXmlInput(
                         spec.getInput(),
-                        new XOPDecodingFilter(mimePartProvider)),
+                        new XOPDecodingFilter(attachmentAccessor)),
                 spec.getDetachable());
     }
 

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/AttachmentUnmarshallerImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/AttachmentUnmarshallerImpl.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/AttachmentUnmarshallerImpl.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/jaxb/AttachmentUnmarshallerImpl.java Fri Dec 30 13:25:21 2016
@@ -18,20 +18,19 @@
  */
 package org.apache.axiom.om.impl.jaxb;
 
-import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
 import javax.activation.DataHandler;
 import javax.xml.bind.attachment.AttachmentUnmarshaller;
 
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
 
 public final class AttachmentUnmarshallerImpl extends AttachmentUnmarshaller {
-    private final MimePartProvider mimePartProvider;
+    private final OMAttachmentAccessor attachmentAccessor;
     
-    public AttachmentUnmarshallerImpl(MimePartProvider mimePartProvider) {
-        this.mimePartProvider = mimePartProvider;
+    public AttachmentUnmarshallerImpl(OMAttachmentAccessor attachmentAccessor) {
+        this.attachmentAccessor = attachmentAccessor;
     }
     /**
      * Extract the content ID from a URL following the cid scheme defined by RFC2392.
@@ -64,10 +63,11 @@ public final class AttachmentUnmarshalle
 
     @Override
     public DataHandler getAttachmentAsDataHandler(String cid) {
-        try {
-            return mimePartProvider.getDataHandler(getContentIDFromURL(cid));
-        } catch (IOException ex) {
-            throw new RuntimeException(ex);
+        DataHandler dh = attachmentAccessor.getDataHandler(getContentIDFromURL(cid));
+        if (dh == null) {
+            throw new IllegalArgumentException("No MIME part found for content ID '" + cid + "'");
+        } else {
+            return dh;
         }
     }
 

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=1776560&r1=1776559&r2=1776560&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 Fri Dec 30 13:25:21 2016
@@ -383,7 +383,7 @@ public aspect AxiomContainerSupport {
             configurator.configure(unmarshaller);
         }
         XOPEncoded<XMLStreamReader> xopEncodedStream = getXOPEncodedStreamReader(preserve);
-        unmarshaller.setAttachmentUnmarshaller(new AttachmentUnmarshallerImpl(xopEncodedStream.getMimePartProvider()));
+        unmarshaller.setAttachmentUnmarshaller(new AttachmentUnmarshallerImpl(xopEncodedStream.getAttachmentAccessor()));
         return unmarshaller.unmarshal(xopEncodedStream.getRootPart());
     }
 
@@ -393,7 +393,7 @@ public aspect AxiomContainerSupport {
             configurator.configure(unmarshaller);
         }
         XOPEncoded<XMLStreamReader> xopEncodedStream = getXOPEncodedStreamReader(preserve);
-        unmarshaller.setAttachmentUnmarshaller(new AttachmentUnmarshallerImpl(xopEncodedStream.getMimePartProvider()));
+        unmarshaller.setAttachmentUnmarshaller(new AttachmentUnmarshallerImpl(xopEncodedStream.getAttachmentAccessor()));
         return unmarshaller.unmarshal(xopEncodedStream.getRootPart(), declaredType);
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilter.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilter.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilter.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilter.java Fri Dec 30 13:25:21 2016
@@ -20,17 +20,17 @@ package org.apache.axiom.om.impl.stream.
 
 import org.apache.axiom.core.stream.XmlFilter;
 import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
 
 public final class XOPDecodingFilter implements XmlFilter {
-    private final MimePartProvider mimePartProvider;
+    private final OMAttachmentAccessor attachmentAccessor;
 
-    public XOPDecodingFilter(MimePartProvider mimePartProvider) {
-        this.mimePartProvider = mimePartProvider;
+    public XOPDecodingFilter(OMAttachmentAccessor attachmentAccessor) {
+        this.attachmentAccessor = attachmentAccessor;
     }
 
     @Override
     public XmlHandler createFilterHandler(XmlHandler parent) {
-        return new XOPDecodingFilterHandler(parent, mimePartProvider);
+        return new XOPDecodingFilterHandler(parent, attachmentAccessor);
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilterHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilterHandler.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilterHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPDecodingFilterHandler.java Fri Dec 30 13:25:21 2016
@@ -25,22 +25,28 @@ import javax.activation.DataHandler;
 import org.apache.axiom.core.stream.XmlHandler;
 import org.apache.axiom.core.stream.xop.AbstractXOPDecodingFilterHandler;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
+import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.intf.TextContent;
 
 final class XOPDecodingFilterHandler extends AbstractXOPDecodingFilterHandler {
     private static class DataHandlerProviderImpl implements DataHandlerProvider {
-        private final MimePartProvider mimePartProvider;
+        private final OMAttachmentAccessor attachmentAccessor;
         private final String contentID;
         
-        public DataHandlerProviderImpl(MimePartProvider mimePartProvider, String contentID) {
-            this.mimePartProvider = mimePartProvider;
+        public DataHandlerProviderImpl(OMAttachmentAccessor attachmentAccessor, String contentID) {
+            this.attachmentAccessor = attachmentAccessor;
             this.contentID = contentID;
         }
 
         @Override
         public DataHandler getDataHandler() throws IOException {
-            return mimePartProvider.getDataHandler(contentID);
+            DataHandler dh = attachmentAccessor.getDataHandler(contentID);
+            if (dh == null) {
+                throw new OMException("No MIME part found for content ID '" + contentID + "'");
+            } else {
+                return dh;
+            }
         }
     }
 
@@ -48,15 +54,15 @@ final class XOPDecodingFilterHandler ext
         AFTER_START_ELEMENT, CONTENT_SEEN, IN_XOP_INCLUDE, AFTER_XOP_INCLUDE
     }
 
-    private final MimePartProvider mimePartProvider;
+    private final OMAttachmentAccessor attachmentAccessor;
 
-    XOPDecodingFilterHandler(XmlHandler parent, MimePartProvider mimePartProvider) {
+    XOPDecodingFilterHandler(XmlHandler parent, OMAttachmentAccessor attachmentAccessor) {
         super(parent);
-        this.mimePartProvider = mimePartProvider;
+        this.attachmentAccessor = attachmentAccessor;
     }
 
     @Override
     protected Object buildCharacterData(String contentID) {
-        return new TextContent(contentID, new DataHandlerProviderImpl(mimePartProvider, contentID), true);
+        return new TextContent(contentID, new DataHandlerProviderImpl(attachmentAccessor, contentID), true);
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPEncodingFilterHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPEncodingFilterHandler.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPEncodingFilterHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/xop/XOPEncodingFilterHandler.java Fri Dec 30 13:25:21 2016
@@ -30,10 +30,11 @@ import org.apache.axiom.core.stream.Stre
 import org.apache.axiom.core.stream.XmlHandler;
 import org.apache.axiom.core.stream.xop.AbstractXOPEncodingFilterHandler;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
+import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.intf.TextContent;
 
-public final class XOPEncodingFilterHandler extends AbstractXOPEncodingFilterHandler implements XOPHandler, MimePartProvider {
+public final class XOPEncodingFilterHandler extends AbstractXOPEncodingFilterHandler implements XOPHandler, OMAttachmentAccessor {
     private final Map<String,Object> dataHandlerObjects = new LinkedHashMap<String,Object>();
     private final ContentIDGenerator contentIDGenerator;
     private final OptimizationPolicy optimizationPolicy;
@@ -75,15 +76,18 @@ public final class XOPEncodingFilterHand
     }
 
     @Override
-    public DataHandler getDataHandler(String contentID) throws IOException {
+    public DataHandler getDataHandler(String contentID) {
         Object dataHandlerObject = dataHandlerObjects.get(contentID);
         if (dataHandlerObject == null) {
-            throw new IllegalArgumentException("No DataHandler object found for content ID '" +
-                    contentID + "'");
+            return null;
         } else if (dataHandlerObject instanceof DataHandler) {
             return (DataHandler)dataHandlerObject;
         } else {
-            return ((DataHandlerProvider)dataHandlerObject).getDataHandler();
+            try {
+                return ((DataHandlerProvider)dataHandlerObject).getDataHandler();
+            } catch (IOException ex) {
+                throw new OMException(ex);
+            }
         }
     }
 

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java Fri Dec 30 13:25:21 2016
@@ -29,6 +29,7 @@ import org.apache.axiom.blob.WritableBlo
 import org.apache.axiom.ext.activation.SizeAwareDataSource;
 import org.apache.axiom.mime.ContentType;
 import org.apache.axiom.mime.MIMEMessage;
+import org.apache.axiom.om.OMAttachmentAccessor;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.MTOMConstants;
 
@@ -42,7 +43,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.Map;
 
-public class Attachments {
+public class Attachments implements OMAttachmentAccessor {
     private final AttachmentsDelegate delegate;
    
     /**
@@ -220,6 +221,7 @@ public class Attachments {
      * @return the {@link DataHandler} of the MIME part referred by the content ID or
      *         <code>null</code> if the MIME part referred by the content ID does not exist
      */
+    @Override
     public DataHandler getDataHandler(String contentID) {
         return delegate.getDataHandler(contentID);
     }

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MIMEMessage.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MIMEMessage.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MIMEMessage.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/mime/MIMEMessage.java Fri Dec 30 13:25:21 2016
@@ -43,7 +43,7 @@ import org.apache.james.mime4j.stream.Re
 /**
  * Represents a MIME multipart message read from a stream.
  */
-public final class MIMEMessage implements Iterable<Part>, MimePartProvider {
+public final class MIMEMessage implements Iterable<Part> {
     public interface PartCreationListener {
         void partCreated(Part part);
     }
@@ -187,7 +187,6 @@ public final class MIMEMessage implement
         return contentType;
     }
 
-    @Override
     public DataHandler getDataHandler(String contentID) {
         do {
             PartImpl part = partMap.get(contentID);
@@ -195,7 +194,7 @@ public final class MIMEMessage implement
                 return part.getDataHandler();
             }
         } while (getNextPart() != null);
-        throw new IllegalArgumentException("No MIME part found for content ID '" + contentID + "'");
+        return null;
     }
 
     PartImpl getFirstPart() {

Copied: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java (from r1733701, webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java?p2=webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java&p1=webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java&r1=1733701&r2=1776560&rev=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMAttachmentAccessor.java Fri Dec 30 13:25:21 2016
@@ -21,15 +21,17 @@ package org.apache.axiom.om;
 import javax.activation.DataHandler;
 
 /**
- * This interface is applied to objects that
- * can access attachments.
+ * Interface to look up MIME parts.
  */
 public interface OMAttachmentAccessor {
-
     /**
-     * @param blobcid (without the surrounding angle brackets and "cid:" prefix)
-     * @return The DataHandler of the mime part referred by the Content-Id or *null* if the mime
-     *         part referred by the content-id does not exist
+     * Get the {@link DataHandler} for the MIME part identified by a given content ID.
+     * 
+     * @param contentID
+     *            the raw content ID (without the surrounding angle brackets and <tt>cid:</tt>
+     *            prefix) of the MIME part
+     * @return the {@link DataHandler} of the MIME part referred by the content ID or
+     *         <code>null</code> if the MIME part referred by the content ID does not exist
      */
-    public DataHandler getDataHandler(String blobcid);
+    public DataHandler getDataHandler(String contentID);
 }

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactorySPI.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactorySPI.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactorySPI.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactorySPI.java Fri Dec 30 13:25:21 2016
@@ -24,7 +24,6 @@ import javax.xml.transform.Source;
 import javax.xml.transform.sax.SAXSource;
 
 import org.apache.axiom.mime.MIMEMessage;
-import org.apache.axiom.mime.MimePartProvider;
 import org.apache.axiom.om.util.StAXParserConfiguration;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPModelBuilder;
@@ -123,7 +122,7 @@ public interface OMMetaFactorySPI extend
      */
     OMXMLParserWrapper createOMBuilder(StAXParserConfiguration configuration, MIMEMessage message);
     
-    OMXMLParserWrapper createOMBuilder(Source rootPart, MimePartProvider mimePartProvider);
+    OMXMLParserWrapper createOMBuilder(Source rootPart, OMAttachmentAccessor attachmentAccessor);
     
     /**
      * Create an object model builder for SOAP that pulls events from a StAX stream reader. The
@@ -167,5 +166,5 @@ public interface OMMetaFactorySPI extend
      */
     SOAPModelBuilder createSOAPModelBuilder(MIMEMessage message);
     
-    SOAPModelBuilder createSOAPModelBuilder(Source rootPart, MimePartProvider mimePartProvider);
+    SOAPModelBuilder createSOAPModelBuilder(Source rootPart, OMAttachmentAccessor attachmentAccessor);
 }

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java Fri Dec 30 13:25:21 2016
@@ -30,7 +30,6 @@ import javax.xml.transform.sax.SAXSource
 import org.apache.axiom.attachments.Attachments;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerReader;
 import org.apache.axiom.mime.MIMEMessage;
-import org.apache.axiom.mime.MimePartProvider;
 import org.apache.axiom.om.util.StAXParserConfiguration;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFactory;
@@ -506,8 +505,8 @@ public class OMXMLBuilderFactory {
     }
     
     public static OMXMLParserWrapper createOMBuilder(OMFactory omFactory,
-            Source rootPart, MimePartProvider mimePartProvider) {
-        return ((OMMetaFactorySPI)omFactory.getMetaFactory()).createOMBuilder(rootPart, mimePartProvider);
+            Source rootPart, OMAttachmentAccessor attachmentAccessor) {
+        return ((OMMetaFactorySPI)omFactory.getMetaFactory()).createOMBuilder(rootPart, attachmentAccessor);
     }
     
     /**
@@ -733,7 +732,7 @@ public class OMXMLBuilderFactory {
     }
     
     public static SOAPModelBuilder createSOAPModelBuilder(OMMetaFactory metaFactory,
-            Source rootPart, MimePartProvider mimePartProvider) {
-        return ((OMMetaFactorySPI)metaFactory).createSOAPModelBuilder(rootPart, mimePartProvider);
+            Source rootPart, OMAttachmentAccessor attachmentAccessor) {
+        return ((OMMetaFactorySPI)metaFactory).createSOAPModelBuilder(rootPart, attachmentAccessor);
     }
 }

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/XOPEncoded.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/XOPEncoded.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/XOPEncoded.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/XOPEncoded.java Fri Dec 30 13:25:21 2016
@@ -18,23 +18,21 @@
  */
 package org.apache.axiom.om;
 
-import org.apache.axiom.mime.MimePartProvider;
-
 /**
  * Represent XOP encoded data. Since an XOP message is a MIME package with
  * a root part in XML and a set of additional (binary) parts referenced from
  * the main part, this class encapsulates an API dependent object
- * representing the main part and a {@link MimePartProvider} giving access to
- * the attachments. Instances of this class can be obtained from
+ * representing the main part and an {@link OMAttachmentAccessor} giving access
+ * to the attachments. Instances of this class can be obtained from
  * {@link OMContainer#getXOPEncodedStreamReader(boolean)}.
  */
 public final class XOPEncoded<T> {
     private final T rootPart;
-    private final MimePartProvider mimePartProvider;
+    private final OMAttachmentAccessor attachmentAccessor;
     
-    public XOPEncoded(T rootPart, MimePartProvider mimePartProvider) {
+    public XOPEncoded(T rootPart, OMAttachmentAccessor attachmentAccessor) {
         this.rootPart = rootPart;
-        this.mimePartProvider = mimePartProvider;
+        this.attachmentAccessor = attachmentAccessor;
     }
 
     /**
@@ -47,12 +45,12 @@ public final class XOPEncoded<T> {
     }
 
     /**
-     * Get the provider object for the additional MIME parts referenced by the
+     * Get the accessor for the additional MIME parts referenced by the
      * root part.
      * 
-     * @return the MIME part provider
+     * @return the attachment accessor
      */
-    public MimePartProvider getMimePartProvider() {
-        return mimePartProvider;
+    public OMAttachmentAccessor getAttachmentAccessor() {
+        return attachmentAccessor;
     }
 }

Modified: webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md (original)
+++ webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md Fri Dec 30 13:25:21 2016
@@ -158,8 +158,8 @@ Changes in this release
     been processed. That means that after completion, nodes created by a builder
     will be indistinguishable from programmatically created nodes.
 
-*   The `OMAttachmentAccessor` and `OMXMLStreamReader` interfaces have been
-    removed because all if their usages were already deprecated in 1.2.x.
+*   The `OMXMLStreamReader` interface has been removed because all if its
+    usages were already deprecated in 1.2.x.
 
 *   Support for the legacy `XMLStreamReader` extension for optimized base64
     handling has been removed. The only supported mechanism in Axiom 1.3.x is

Copied: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyAttachmentAccessor.java (from r1776559, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyMimePartProvider.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyAttachmentAccessor.java?p2=webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyAttachmentAccessor.java&p1=webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyMimePartProvider.java&r1=1776559&r2=1776560&rev=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyMimePartProvider.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/DummyAttachmentAccessor.java Fri Dec 30 13:25:21 2016
@@ -18,18 +18,16 @@
  */
 package org.apache.axiom.ts.om.text;
 
-import java.io.IOException;
-
 import javax.activation.DataHandler;
 
-import org.apache.axiom.mime.MimePartProvider;
+import org.apache.axiom.om.OMAttachmentAccessor;
 
-final class DummyMimePartProvider implements MimePartProvider {
+final class DummyAttachmentAccessor implements OMAttachmentAccessor {
     private final String contentID;
     private final DataHandler dataHandler;
     private boolean loaded;
 
-    DummyMimePartProvider(String contentID, DataHandler dataHandler) {
+    DummyAttachmentAccessor(String contentID, DataHandler dataHandler) {
         this.contentID = contentID;
         this.dataHandler = dataHandler;
     }
@@ -39,9 +37,9 @@ final class DummyMimePartProvider implem
     }
 
     @Override
-    public DataHandler getDataHandler(String contentID) throws IOException {
+    public DataHandler getDataHandler(String contentID) {
         if (!contentID.equals(this.contentID)) {
-            throw new IllegalArgumentException("Unknown content ID");
+            return null;
         } else {
             loaded = true;
             return dataHandler;

Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestCloneBinary.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestCloneBinary.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestCloneBinary.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestCloneBinary.java Fri Dec 30 13:25:21 2016
@@ -44,15 +44,15 @@ public class TestCloneBinary extends Axi
     protected void runTest() throws Throwable {
         DataHandler dh = new DataHandler(new RandomDataSource(600613L, 4096));
         StringReader rootPart = new StringReader("<root><xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' href='cid:123456@example.org'/></root>");
-        DummyMimePartProvider mimePartProvider = new DummyMimePartProvider("123456@example.org", dh);
+        DummyAttachmentAccessor attachmentAccessor = new DummyAttachmentAccessor("123456@example.org", dh);
         OMElement root = OMXMLBuilderFactory.createOMBuilder(
-                metaFactory.getOMFactory(), new StreamSource(rootPart), mimePartProvider).getDocumentElement();
+                metaFactory.getOMFactory(), new StreamSource(rootPart), attachmentAccessor).getDocumentElement();
         OMText text = (OMText)root.getFirstOMChild();
         OMCloneOptions options = new OMCloneOptions();
         options.setFetchDataHandlers(fetch);
         OMText clone = (OMText)text.clone(options);
         assertTrue(clone.isBinary());
-        assertEquals(fetch, mimePartProvider.isLoaded());
+        assertEquals(fetch, attachmentAccessor.isLoaded());
         assertSame(dh, clone.getDataHandler());
     }
 }

Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/XOPRoundtripTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/XOPRoundtripTest.java?rev=1776560&r1=1776559&r2=1776560&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/XOPRoundtripTest.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/XOPRoundtripTest.java Fri Dec 30 13:25:21 2016
@@ -47,7 +47,7 @@ public class XOPRoundtripTest extends Ax
         OMElement element2 = OMXMLBuilderFactory.createOMBuilder(
                 factory,
                 new StAXSource(xopEncodedStream.getRootPart()),
-                xopEncodedStream.getMimePartProvider()).getDocumentElement();
+                xopEncodedStream.getAttachmentAccessor()).getDocumentElement();
         OMText child = (OMText)element2.getFirstOMChild();
         assertNotNull(child);
         assertTrue(child.isBinary());

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=1776560&r1=1776559&r2=1776560&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 Fri Dec 30 13:25:21 2016
@@ -66,7 +66,7 @@ public class TestGetXMLStreamReaderMTOME
                     String hrefValue = xmlStreamReader.getAttributeValue("", "href");
                     assertThat(hrefValue).startsWith("cid:");
                     if (hrefValue != null) {
-                        dh = xopEncodedStream.getMimePartProvider().getDataHandler(
+                        dh = xopEncodedStream.getAttachmentAccessor().getDataHandler(
                                 hrefValue.substring(4));
                     }
                 }