[axis-axis2-java-core] branch master updated: Adapt to changes in Axiom

2022-11-20 Thread veithen
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 9b1ce65982 Adapt to changes in Axiom
9b1ce65982 is described below

commit 9b1ce65982dc5ebc518dc447fa520a8f96ddaa55
Author: Andreas Veithen 
AuthorDate: Mon Nov 21 00:33:26 2022 +

Adapt to changes in Axiom
---
 .../org/apache/axis2/util/WrappedDataHandler.java  | 99 --
 1 file changed, 90 insertions(+), 9 deletions(-)

diff --git a/modules/kernel/src/org/apache/axis2/util/WrappedDataHandler.java 
b/modules/kernel/src/org/apache/axis2/util/WrappedDataHandler.java
index b2ef592680..4e62284bd1 100644
--- a/modules/kernel/src/org/apache/axis2/util/WrappedDataHandler.java
+++ b/modules/kernel/src/org/apache/axis2/util/WrappedDataHandler.java
@@ -19,9 +19,17 @@
 
 package org.apache.axis2.util;
 
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import javax.activation.CommandInfo;
+import javax.activation.CommandMap;
 import javax.activation.DataHandler;
+import javax.activation.DataSource;
 
-import org.apache.axiom.util.activation.DataHandlerWrapper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -31,30 +39,103 @@ import org.apache.commons.logging.LogFactory;
  * the DataHandler instance.   We'll delegate all method calls except for 
getContentType()
  * to the real DataHandler instance.   
  */
-public class WrappedDataHandler extends DataHandlerWrapper {
+public class WrappedDataHandler extends DataHandler {
 
 private static final Log log = LogFactory.getLog(WrappedDataHandler.class);
 
+private final DataHandler parent;
 private final String contentType;
 
 /**
  * Constructs a new instance of the WrappedDataHandler.
- * @param _delegate the real DataHandler instance being wrapped
- * @param _contentType the user-defined contentType associated with the 
DataHandler instance
+ * @param parent the real DataHandler instance being wrapped
+ * @param contentType the user-defined contentType associated with the 
DataHandler instance
  */
-public WrappedDataHandler(DataHandler _delegate, String _contentType) {
-super(_delegate);
+public WrappedDataHandler(DataHandler parent, String contentType) {
+super((DataSource) null);
 
-contentType = _contentType;
+this.parent = parent;
+this.contentType = contentType;
 
 if (log.isDebugEnabled()) {
 log.debug("Created instance of WrappedDatahandler: " + 
this.toString() + ", contentType=" + contentType
-+ "\nDelegate DataHandler: " + _delegate.toString());
++ "\nDelegate DataHandler: " + parent.toString());
 }
 }
 
 @Override
 public String getContentType() {
-return (contentType != null ? contentType : super.getContentType());
+return contentType != null ? contentType : parent.getContentType();
+}
+
+@Override
+public CommandInfo[] getAllCommands() {
+return parent.getAllCommands();
+}
+
+@Override
+public Object getBean(CommandInfo cmdinfo) {
+return parent.getBean(cmdinfo);
+}
+
+@Override
+public CommandInfo getCommand(String cmdName) {
+return parent.getCommand(cmdName);
+}
+
+@Override
+public Object getContent() throws IOException {
+return parent.getContent();
+}
+
+@Override
+public DataSource getDataSource() {
+return parent.getDataSource();
+}
+
+@Override
+public InputStream getInputStream() throws IOException {
+return parent.getInputStream();
+}
+
+@Override
+public String getName() {
+return parent.getName();
+}
+
+@Override
+public OutputStream getOutputStream() throws IOException {
+return parent.getOutputStream();
+}
+
+@Override
+public CommandInfo[] getPreferredCommands() {
+return parent.getPreferredCommands();
+}
+
+@Override
+public Object getTransferData(DataFlavor flavor)
+throws UnsupportedFlavorException, IOException {
+return parent.getTransferData(flavor);
+}
+
+@Override
+public DataFlavor[] getTransferDataFlavors() {
+return parent.getTransferDataFlavors();
+}
+
+@Override
+public boolean isDataFlavorSupported(DataFlavor flavor) {
+return parent.isDataFlavorSupported(flavor);
+}
+
+@Override
+public void setCommandMap(CommandMap commandMap) {
+parent.setCommandMap(commandMap);
+}
+
+@Override
+public void writeTo(OutputStream os) throws IOException {
+parent.writeTo(os);
 }
 }



[axis-axis2-java-core] branch master updated: Remove MessageFormatterEx

2022-11-20 Thread veithen
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 
AuthorDate: Mon Nov 21 00:57:31 2022 +

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;
+
 /**
  * 
  * 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..00
--- 
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
- *  speci