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,