You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2016/05/02 11:17:04 UTC
svn commit: r1741941 - in
/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder:
Builder.java BuilderUtil.java
Author: veithen
Date: Mon May 2 09:17:03 2016
New Revision: 1741941
URL: http://svn.apache.org/viewvc?rev=1741941&view=rev
Log:
Eliminate duplicate code.
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/Builder.java
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/BuilderUtil.java
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/Builder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/Builder.java?rev=1741941&r1=1741940&r2=1741941&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/Builder.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/Builder.java Mon May 2 09:17:03 2016
@@ -22,6 +22,7 @@ package org.apache.axis2.builder;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.util.MessageProcessorSelector;
import java.io.InputStream;
@@ -30,7 +31,7 @@ import java.io.InputStream;
* Message builders are used by {@link org.apache.axis2.transport.TransportListener}
* implementations to process the raw payload of the message and turn it into SOAP.
* Transports should use
- * {@link org.apache.axis2.builder.BuilderUtil#getBuilderFromSelector(String, MessageContext)}
+ * {@link MessageProcessorSelector#getMessageBuilder(String, MessageContext)}
* to select the message builder appropriate for the content type of the message.
*/
public interface Builder {
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/BuilderUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/BuilderUtil.java?rev=1741941&r1=1741940&r2=1741941&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/BuilderUtil.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/builder/BuilderUtil.java Mon May 2 09:17:03 2016
@@ -49,6 +49,7 @@ import org.apache.axis2.engine.AxisConfi
import org.apache.axis2.java.security.AccessController;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.util.JavaUtils;
+import org.apache.axis2.util.MessageProcessorSelector;
import org.apache.axis2.util.MultipleEntryHashMap;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.io.IOUtils;
@@ -580,62 +581,11 @@ public class BuilderUtil {
}
/**
- * Initial work for a builder selector which selects the builder for a given message format
- * based on the the content type of the recieved message. content-type to builder mapping can be
- * specified through the Axis2.xml.
- *
- * @param type content-type
- * @param msgContext the active MessageContext
- * @return the builder registered against the given content-type
- * @throws AxisFault
+ * @deprecated Use {@link MessageProcessorSelector#getMessageBuilder(String, MessageContext)}.
*/
public static Builder getBuilderFromSelector(String type, MessageContext msgContext)
throws AxisFault {
- boolean useFallbackBuilder = false;
- AxisConfiguration configuration =
- msgContext.getConfigurationContext().getAxisConfiguration();
- Parameter useFallbackParameter = configuration.getParameter(Constants.Configuration.USE_DEFAULT_FALLBACK_BUILDER);
- if (useFallbackParameter !=null){
- useFallbackBuilder = JavaUtils.isTrueExplicitly(useFallbackParameter.getValue(),useFallbackBuilder);
- }
- Builder builder = configuration.getMessageBuilder(type,useFallbackBuilder);
- if (builder != null) {
- // Check whether the request has a Accept header if so use that as the response
- // message type.
- // If thats not present,
- // Setting the received content-type as the messageType to make
- // sure that we respond using the received message serialization format.
-
- Object contentNegotiation = configuration
- .getParameterValue(Constants.Configuration.ENABLE_HTTP_CONTENT_NEGOTIATION);
- if (JavaUtils.isTrueExplicitly(contentNegotiation)) {
- Map transportHeaders =
- (Map)msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
- if (transportHeaders != null) {
- String acceptHeader = (String)transportHeaders.get(HTTPConstants.HEADER_ACCEPT);
- if (acceptHeader != null) {
- int index = acceptHeader.indexOf(";");
- if (index > 0) {
- acceptHeader = acceptHeader.substring(0, index);
- }
- String[] strings = acceptHeader.split(",");
- for (String string : strings) {
- String accept = string.trim();
- // We dont want dynamic content negotoatin to work on text.xml as its
- // ambiguos as to whether the user requests SOAP 1.1 or POX response
- if (!HTTPConstants.MEDIA_TYPE_TEXT_XML.equals(accept) &&
- configuration.getMessageFormatter(accept) != null) {
- type = string;
- break;
- }
- }
- }
- }
- }
-
- msgContext.setProperty(Constants.Configuration.MESSAGE_TYPE, type);
- }
- return builder;
+ return MessageProcessorSelector.getMessageBuilder(type, msgContext);
}
public static void validateSOAPVersion(String soapNamespaceURIFromTransport,