Author: muthulee
Date: Fri Feb 16 01:16:08 2007
New Revision: 508353

URL: http://svn.apache.org/viewvc?view=rev&rev=508353
Log:
If MTOM Policy Assertion is present, MTOM serialize the message

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/MessageBuilder.java
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
    webservices/rampart/trunk/java/pom.xml

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/MessageBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/MessageBuilder.java?view=diff&rev=508353&r1=508352&r2=508353
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/MessageBuilder.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/MessageBuilder.java
 Fri Feb 16 01:16:08 2007
@@ -35,6 +35,7 @@
 import org.apache.rampart.builder.TransportBindingBuilder;
 import org.apache.rampart.policy.RampartPolicyData;
 import org.apache.rampart.util.Axis2Util;
+import org.apache.rampart.util.MessageOptimizer;
 import org.apache.rampart.util.RampartUtil;
 import org.apache.ws.secpolicy.WSSPolicyException;
 import org.apache.ws.security.WSSecurityException;
@@ -116,7 +117,7 @@
             }
         }
         
-        if(rpd.isTransportBinding()) {
+       if(rpd.isTransportBinding()) {
             log.debug("Building transport binding");
             TransportBindingBuilder building = new TransportBindingBuilder();
             building.build(rmd);
@@ -128,6 +129,18 @@
             AsymmetricBindingBuilder builder = new AsymmetricBindingBuilder();
             builder.build(rmd);
         }
+        
+       /*
+        * Checking wether MTOMSerializable is there. If so set optimizeElement.
+        * */
+        if(rpd.isMTOMSerialize()){
+               String optimizeElement = rpd.getOptimizeParts();
+               if(optimizeElement == null){
+                         optimizeElement = 
"//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue";
+               }
+               msgCtx.setProperty(Constants.Configuration.ENABLE_MTOM, 
Constants.VALUE_TRUE);
+               MessageOptimizer.optimize(msgCtx.getEnvelope(),optimizeElement);
+        }
+        
     }
-
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java?view=diff&rev=508353&r1=508352&r2=508353
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
 Fri Feb 16 01:16:08 2007
@@ -15,6 +15,7 @@
  */
 package org.apache.rampart.policy;
 
+import org.apache.axis2.policy.model.MTOMAssertion;
 import org.apache.neethi.Assertion;
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.ws.secpolicy.WSSPolicyException;
@@ -95,8 +96,9 @@
                 processTrust10((Trust10)assertion, rpd);
             } else if (assertion instanceof RampartConfig) {
                 processRampartConfig((RampartConfig)assertion, rpd);
+            } else if (assertion instanceof MTOMAssertion){
+               processMTOMSerialization((MTOMAssertion)assertion, rpd);
             } else {
-                
                 System.out.println("Unknown top level PED found: "
                         + assertion.getClass().getName());
             }
@@ -105,6 +107,8 @@
         return rpd;
     }
 
+ 
+    
     /**
      * @param binding
      * @param rpd
@@ -305,5 +309,11 @@
     private static void processSupportingTokens(SupportingToken token,
             RampartPolicyData rpd) throws WSSPolicyException {
         rpd.setSupportingTokens(token);
+    }
+    
+   
+    private static void processMTOMSerialization(MTOMAssertion mtomAssertion, 
RampartPolicyData rpd)
+    {
+               rpd.setMTOMAssertion(mtomAssertion);
     }
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java?view=diff&rev=508353&r1=508352&r2=508353
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
 Fri Feb 16 01:16:08 2007
@@ -16,6 +16,7 @@
 
 package org.apache.rampart.policy;
 
+import org.apache.axis2.policy.model.MTOMAssertion;
 import org.apache.neethi.Policy;
 import org.apache.rampart.RampartException;
 import org.apache.rampart.policy.model.RampartConfig;
@@ -106,6 +107,8 @@
     
     private RampartConfig rampartConfig;
     
+    private MTOMAssertion mtomAssertion;
+    
     private Trust10 trust10;
     
     private HashMap supportingTokensIdMap;
@@ -639,5 +642,29 @@
     public Policy getIssuerPolicy() {
         return issuerPolicy;
     }
-
+    
+    public void setMTOMAssertion(MTOMAssertion mtomAssertion){
+       this.mtomAssertion =  mtomAssertion;    
+    }
+    
+    public MTOMAssertion getMTOMAssertion(){
+       return mtomAssertion;
+    }
+    
+    public boolean isMTOMSerialize(){
+       if(mtomAssertion == null){
+               return false;
+       }
+       else if(mtomAssertion.isOptional()==false){
+               return true;
+       }
+       else
+               return false;
+    }
+    
+    public String getOptimizeParts(){
+       return rampartConfig.getOptimizeParts();
+    }
+   
+     
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java?view=diff&rev=508353&r1=508352&r2=508353
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
 Fri Feb 16 01:16:08 2007
@@ -81,6 +81,8 @@
     public final static String TS_TTL_LN = "timestampTTL";
 
     public final static String TOKEN_STORE_CLASS_LN = "tokenStoreClass";
+    
+    public final static String OPTIMISE_PARTS_LN = "OptimizeParts";
 
     private String user;
 
@@ -95,6 +97,8 @@
     private CryptoConfig decCryptoConfig;
 
     private String timestampTTL = Integer.toString(DEFAULT_TIMESTAMP_TTL);
+    
+    private String optimizeParts;
 
     private String tokenStoreClass;
 
@@ -261,5 +265,23 @@
     public void setTimestampTTL(String timestampTTL) {
         this.timestampTTL = timestampTTL;
     }
-
+    
+    /**
+     * @param strOptimizeParts 
+     *                         The xpath of elements that should be optimized
+     */
+    public void setOptimizeParts(String strOptimizeParts){
+       optimizeParts = strOptimizeParts;
+    }
+    
+    /**
+     * 
+     * @return The Xpath string of indicating elements to be optimized or null.
+     */
+    
+    public String getOptimizeParts(){
+       return optimizeParts;
+    }
+    
+    
 }

Modified: webservices/rampart/trunk/java/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/pom.xml?view=diff&rev=508353&r1=508352&r2=508353
==============================================================================
--- webservices/rampart/trunk/java/pom.xml (original)
+++ webservices/rampart/trunk/java/pom.xml Fri Feb 16 01:16:08 2007
@@ -185,7 +185,12 @@
             <groupId>org.apache.axis2</groupId>
             <artifactId>axis2-adb-codegen</artifactId>
             <version>${axis2.version}</version>
-        </dependency>
+        </dependency>
+       <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-mtompolicy</artifactId>
+            <version>${axis2.version}</version>
+       </dependency>
         
        <!-- AIOM Dependencies -->
         <dependency>
@@ -483,7 +488,7 @@
         <spring.version>1.2.6</spring.version>
 
         <xalan.version>2.7.0</xalan.version>
-               <xerces.version>2.8.1</xerces.version>
+       <xerces.version>2.8.1</xerces.version>
        
     </properties>
 


Reply via email to