You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2009/02/03 10:19:04 UTC
svn commit: r740254 - in
/webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy:
MTOMInHandler.java MTOMOutHandler.java MTOMPolicy.java Utils.java
Author: nandana
Date: Tue Feb 3 09:19:04 2009
New Revision: 740254
URL: http://svn.apache.org/viewvc?rev=740254&view=rev
Log:
AXIS2-4220 applying javadoc patches. Thanks Dobri.
Modified:
webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMInHandler.java
webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMOutHandler.java
webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMPolicy.java
webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/Utils.java
Modified: webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMInHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMInHandler.java?rev=740254&r1=740253&r2=740254&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMInHandler.java Tue Feb 3 09:19:04 2009
@@ -31,8 +31,20 @@
import org.apache.neethi.Assertion;
import org.apache.neethi.Policy;
+/**
+ * This class does a MTOM validation of the message. It checks if it should be MTOMised, or </br>
+ * if the message is compliant with the MTOM policy set.
+ */
public class MTOMInHandler extends AbstractHandler {
+ /**
+ * Checks if the message should be MTOMised. If it is not but the policy states that it should be </br>
+ * then an {@link AxisFault} is thrown.
+ *
+ * @param msgCtx the {@link MessageContext}
+ *
+ * @throws AxisFault if the message is not MTOMised, but the policy states so.
+ */
public InvocationResponse invoke(MessageContext msgCtx) throws AxisFault {
Policy policy = msgCtx.getEffectivePolicy();
if (policy == null) {
@@ -44,7 +56,7 @@
if (assertion instanceof MTOMAssertion) {
String contentType = (String) msgCtx.getProperty(Constants.Configuration.CONTENT_TYPE);
if (!assertion.isOptional()) {
- if (contentType == null || contentType.indexOf(MTOMConstants.MTOM_TYPE) == -1) {//!MTOMConstants.MTOM_TYPE.equals(contentType)
+ if (contentType == null || contentType.indexOf(MTOMConstants.MTOM_TYPE) == -1) {
if (msgCtx.isServerSide()) {
throw new AxisFault(
"The SOAP REQUEST sent by the client IS NOT MTOMized!");
Modified: webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMOutHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMOutHandler.java?rev=740254&r1=740253&r2=740254&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMOutHandler.java (original)
+++ webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMOutHandler.java Tue Feb 3 09:19:04 2009
@@ -29,8 +29,20 @@
import org.apache.neethi.Assertion;
import org.apache.neethi.Policy;
+/**
+ * This out handler does a check of the effective policy set. Based on that the corresponding MTOM property </br>
+ * value is set.
+ */
public class MTOMOutHandler extends AbstractHandler {
+ /**
+ * Checks the effective policy set and based on it the <code>enableMTOM</code> is set to the appropriate value.</br>
+ * E.g. if the policy states that MTOM is <code>optional</code> then the <code>enableMTOM</code> is set to this value.
+ *
+ * @param msgCtx the {@link MessageContext}
+ *
+ * @throws AxisFault
+ */
public InvocationResponse invoke(MessageContext msgCtx) throws AxisFault {
Policy policy = msgCtx.getEffectivePolicy();
Modified: webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMPolicy.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMPolicy.java?rev=740254&r1=740253&r2=740254&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMPolicy.java (original)
+++ webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/MTOMPolicy.java Tue Feb 3 09:19:04 2009
@@ -33,11 +33,12 @@
import org.apache.neethi.Assertion;
import org.apache.neethi.Policy;
+/**
+ * The module implementation class for the MTOM module.
+ *
+ */
public class MTOMPolicy implements Module {
- /*
- * setup for logging
- */
private static final Log log = LogFactory.getLog(MTOMPolicy.class);
public void applyPolicy(Policy policy, AxisDescription axisDescription)
@@ -45,7 +46,7 @@
if (log.isDebugEnabled()) {
log.debug("applyPolicy() called on MTOMPolicy module");
}
-
+
}
public boolean canSupportAssertion(Assertion assertion) {
Modified: webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/Utils.java?rev=740254&r1=740253&r2=740254&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/mtompolicy-mar/src/org/apache/axis2/mtompolicy/Utils.java Tue Feb 3 09:19:04 2009
@@ -34,16 +34,32 @@
import org.apache.axis2.policy.model.MTOM10Assertion;
import org.apache.axis2.policy.model.MTOMAssertion;
import org.apache.axis2.util.PolicyUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.neethi.Assertion;
import org.apache.neethi.Policy;
+/**
+ * This is a MTOM module utility class. It contains some useful methods used into the MTOM module.
+ */
public class Utils {
+ private static final Log log = LogFactory.getLog(Utils.class);
+
private static final String MTOM_ASSERTION_APPLIED = "MTOM_ASSERTION_APPLIED";
+ /**
+ * Extracts the MTOM assertion object if it is exists into the policy based on a given {@link AxisDescription}.
+ *
+ * @param axisDescription the {@link AxisDescription} object that should be searched.
+ * @return {@link MTOMAssertion} the {@link MTOMAssertion} found. If it is not found "null" is returned.
+ */
public static MTOMAssertion getMTOMAssertion(AxisDescription axisDescription) {
if (axisDescription == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("AxisDescription passed as parameter has a \"null\" value.");
+ }
return null;
}
@@ -70,6 +86,13 @@
}
+ /**
+ * Locates the {@link AxisService} object searching up in the hierarchy recursively </br>
+ * the {@link AxisDescription} object passed.
+ *
+ * @param axisDescription the {@link AxisDescription} object that should be checked.
+ * @return the {@link AxisService} object found or "null".
+ */
public static AxisService locateAxisService(AxisDescription axisDescription) {
if (axisDescription == null || axisDescription instanceof AxisService) {
@@ -79,12 +102,21 @@
}
}
+ /**
+ * Based on the parameter passed a {@link MTOM10Assertion} object is created by default. </br>
+ * Then it is added to a {@link Policy} object and returned.
+ *
+ * @param param the {@link Parameter} object that contains the value of the "enableMTOM" parameter: </br>
+ * "true" or "optional".
+ * @return The {@link Policy} object for the MTOM assertion.
+ */
public static Policy getMTOMPolicy(Parameter param) {
if (param == null) {
return null;
}
+ // TODO We need to give the user the ability to specify if MTOM 1.0 or MTOM 1.1 should be used.
MTOMAssertion mtom10;
if (Constants.VALUE_TRUE.equals(param.getValue())) {
@@ -103,6 +135,13 @@
}
+ /**
+ * Applies the MTOM policy to the binding level of the web service.
+ *
+ * @param axisService the {@link AxisService} to whom binding level the MTOM policy should be attached.
+ * @param policy the {@link Policy} object that contains the MTOM assertion.
+ * @throws AxisFault thrown if the parameter is locked on a parent level - thus it could not be added.
+ */
public static void applyPolicyToSOAPBindings(AxisService axisService,
Policy policy) throws AxisFault {
@@ -115,8 +154,7 @@
for (Object obj : axisService.getEndpoints().values()) {
AxisEndpoint endpoint = (AxisEndpoint) obj;
- AxisBinding binding = endpoint.getBinding();
-
+ AxisBinding binding = endpoint.getBinding();
if (Java2WSDLConstants.TRANSPORT_URI.equals(binding.getType())
|| WSDL2Constants.URI_WSDL2_SOAP.equals(binding.getType())) {
binding.getPolicySubject().attachPolicy(policy);