This is an automated email from the ASF dual-hosted git repository.
veithen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
The following commit(s) were added to refs/heads/master by this push:
new 1fbcee6325 Remove MessageFormatterEx
1fbcee6325 is described below
commit 1fbcee6325ae905ea55f8c9cba37687428c4f7d3
Author: Andreas Veithen <[email protected]>
AuthorDate: Mon Nov 21 00:57:31 2022 +0000
Remove MessageFormatterEx
Instead declare getDataSource as a default method on MessageFormatter.
---
.../org/apache/axis2/kernel/MessageFormatter.java | 23 ++++++
.../org/apache/axis2/format/BinaryFormatter.java | 3 +-
.../apache/axis2/format/MessageFormatterEx.java | 44 ------------
.../axis2/format/MessageFormatterExAdapter.java | 83 ----------------------
.../apache/axis2/format/PlainTextFormatter.java | 3 +-
.../axis2/transport/mail/MailTransportSender.java | 11 +--
6 files changed, 28 insertions(+), 139 deletions(-)
diff --git a/modules/kernel/src/org/apache/axis2/kernel/MessageFormatter.java
b/modules/kernel/src/org/apache/axis2/kernel/MessageFormatter.java
index 5271b3239e..f5148e1642 100644
--- a/modules/kernel/src/org/apache/axis2/kernel/MessageFormatter.java
+++ b/modules/kernel/src/org/apache/axis2/kernel/MessageFormatter.java
@@ -19,13 +19,19 @@
package org.apache.axis2.kernel;
+import org.apache.axiom.blob.Blobs;
+import org.apache.axiom.blob.MemoryBlob;
+import org.apache.axiom.blob.MemoryBlobOutputStream;
import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.util.activation.BlobDataSource;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import java.io.OutputStream;
import java.net.URL;
+import javax.activation.DataSource;
+
/**
* <p/>
* MessageFormatter implementations are used by Axis2 to support serialization
@@ -81,4 +87,21 @@ public interface MessageFormatter {
*/
public String formatSOAPAction(MessageContext messageContext,
OMOutputFormat format,
String soapAction);
+
+ /**
+ * Get the formatted message as a {@link DataSource} object.
+ *
+ * @param messageContext
+ * @param format
+ * @param soapAction
+ * @return
+ * @throws AxisFault
+ */
+ default DataSource getDataSource(MessageContext messageContext,
OMOutputFormat format, String soapAction) throws AxisFault {
+ MemoryBlob blob = Blobs.createMemoryBlob();
+ MemoryBlobOutputStream out = blob.getOutputStream();
+ writeTo(messageContext, format, out, false);
+ out.close();
+ return new BlobDataSource(blob, getContentType(messageContext, format,
soapAction));
+ }
}
diff --git
a/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
b/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
index ae59ff6622..a183c3f034 100644
---
a/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
+++
b/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
@@ -32,10 +32,11 @@ import org.apache.axiom.om.OMText;
import org.apache.axiom.util.activation.DataHandlerUtils;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.kernel.MessageFormatter;
import org.apache.axis2.kernel.http.util.URLTemplatingUtil;
import org.apache.axis2.transport.base.BaseConstants;
-public class BinaryFormatter implements MessageFormatterEx {
+public class BinaryFormatter implements MessageFormatter {
private Blob getBlob(MessageContext messageContext) {
OMElement firstChild =
messageContext.getEnvelope().getBody().getFirstElement();
if
(BaseConstants.DEFAULT_BINARY_WRAPPER.equals(firstChild.getQName())) {
diff --git
a/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterEx.java
b/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterEx.java
deleted file mode 100644
index 0653bb05ab..0000000000
---
a/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterEx.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.format;
-
-import javax.activation.DataSource;
-
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.kernel.MessageFormatter;
-
-/**
- * Message formatter with extended capabilities.
- * This interface adds new methods to the {@link MessageFormatter}
- * interface, allowing transport to optimize data transfers.
- */
-public interface MessageFormatterEx extends MessageFormatter {
- /**
- * Get the formatted message as a {@link DataSource} object.
- *
- * @param messageContext
- * @param format
- * @param soapAction
- * @return
- * @throws AxisFault
- */
- DataSource getDataSource(MessageContext messageContext, OMOutputFormat
format, String soapAction) throws AxisFault;
-}
diff --git
a/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
b/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
deleted file mode 100644
index 5cd0eeaef6..0000000000
---
a/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.format;
-
-import java.io.OutputStream;
-import java.net.URL;
-
-import javax.activation.DataSource;
-
-import org.apache.axiom.blob.Blobs;
-import org.apache.axiom.blob.MemoryBlob;
-import org.apache.axiom.blob.MemoryBlobOutputStream;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.util.activation.BlobDataSource;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.kernel.MessageFormatter;
-
-/**
- * Adapter to add the {@link MessageFormatterEx} interface to an
- * existing {@link MessageFormatter}.
- * It implements the {@link MessageFormatterEx#getDataSource(MessageContext,
OMOutputFormat, String)} method
- * using {@link MessageFormatter#writeTo(MessageContext, OMOutputFormat,
OutputStream, boolean)} and
- * {@link MessageFormatter#getContentType(MessageContext, OMOutputFormat,
String)}.
- */
-public class MessageFormatterExAdapter implements MessageFormatterEx {
- private final MessageFormatter messageFormatter;
-
- public MessageFormatterExAdapter(MessageFormatter messageFormatter) {
- this.messageFormatter = messageFormatter;
- }
-
- public DataSource getDataSource(MessageContext messageContext,
- OMOutputFormat format,
- String soapAction) throws AxisFault {
- MemoryBlob blob = Blobs.createMemoryBlob();
- MemoryBlobOutputStream out = blob.getOutputStream();
- writeTo(messageContext, format, out, false);
- out.close();
- return new BlobDataSource(blob, getContentType(messageContext, format,
soapAction));
- }
-
- public String formatSOAPAction(MessageContext messageContext,
- OMOutputFormat format,
- String soapAction) {
- return messageFormatter.formatSOAPAction(messageContext, format,
soapAction);
- }
-
- public String getContentType(MessageContext messageContext,
- OMOutputFormat format,
- String soapAction) {
- return messageFormatter.getContentType(messageContext, format,
soapAction);
- }
-
- public URL getTargetAddress(MessageContext messageContext,
- OMOutputFormat format,
- URL targetURL) throws AxisFault {
- return messageFormatter.getTargetAddress(messageContext, format,
targetURL);
- }
-
- public void writeTo(MessageContext messageContext,
- OMOutputFormat format,
- OutputStream outputStream,
- boolean preserve) throws AxisFault {
- messageFormatter.writeTo(messageContext, format, outputStream,
preserve);
- }
-}
diff --git
a/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
b/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
index cb955b8a98..6f391e6ab1 100644
---
a/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
+++
b/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
@@ -19,6 +19,7 @@
package org.apache.axis2.format;
+import org.apache.axis2.kernel.MessageFormatter;
import org.apache.axis2.kernel.http.util.URLTemplatingUtil;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.AxisFault;
@@ -34,7 +35,7 @@ import java.net.URL;
import javax.activation.DataSource;
-public class PlainTextFormatter implements MessageFormatterEx {
+public class PlainTextFormatter implements MessageFormatter {
public void writeTo(MessageContext messageContext, OMOutputFormat format,
OutputStream outputStream, boolean preserve) throws AxisFault {
OMElement textElt =
messageContext.getEnvelope().getBody().getFirstElement();
if (BaseConstants.DEFAULT_TEXT_WRAPPER.equals(textElt.getQName())) {
diff --git
a/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
b/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
index 7236ad4789..6b63a6da2b 100644
---
a/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
+++
b/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
@@ -19,8 +19,6 @@
package org.apache.axis2.transport.mail;
-import org.apache.axis2.format.MessageFormatterEx;
-import org.apache.axis2.format.MessageFormatterExAdapter;
import org.apache.axis2.transport.base.*;
import org.apache.commons.logging.LogFactory;
import org.apache.axis2.context.ConfigurationContext;
@@ -409,14 +407,7 @@ public class MailTransportSender extends
AbstractTransportSender
message.setHeader(BaseConstants.SOAPACTION,
msgContext.getSoapAction());
// write body
- MessageFormatterEx messageFormatterEx;
- if (messageFormatter instanceof MessageFormatterEx) {
- messageFormatterEx = (MessageFormatterEx)messageFormatter;
- } else {
- messageFormatterEx = new
MessageFormatterExAdapter(messageFormatter);
- }
-
- DataHandler dataHandler = new
DataHandler(messageFormatterEx.getDataSource(msgContext, format,
msgContext.getSoapAction()));
+ DataHandler dataHandler = new
DataHandler(messageFormatter.getDataSource(msgContext, format,
msgContext.getSoapAction()));
MimeMultipart mimeMultiPart = null;