[wsas-java-dev] svn commit r4644 - in trunk/wsas/java/modules: admin/src/org/wso2/wsas/admin/service admin/src/org/wso2/wsas/admin/service/util www/extensions/core/js www/extensions/core/xslt

svn at wso2.org svn at wso2.org
Mon Jul 2 06:51:31 PDT 2007


Author: saminda
Date: Mon Jul  2 06:50:42 2007
New Revision: 4644

Modified:
   trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
   trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceGroupAdmin.java
   trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/util/ServiceMetaData.java
   trunk/wsas/java/modules/www/extensions/core/js/services.js
   trunk/wsas/java/modules/www/extensions/core/xslt/list_service_main_info.xsl
Log:
MTOM handling 


Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java	(original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java	Mon Jul  2 06:50:42 2007
@@ -22,6 +22,8 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.util.JavaUtils;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisOperation;
@@ -361,10 +363,52 @@
             smd.setDescription("No service description found");
         }
 
+        Parameter parameter = service.getParameter(Constants.Configuration.ENABLE_MTOM);
+        if (parameter != null) {
+            smd.setEnableMTOM(JavaUtils.isTrueExplicitly(parameter.getValue()));
+        }
+
         return smd;
     }
 
     /**
+     * set the service parameter enableMTOM to manipulate MTOM
+     * flag true/false
+     *
+     * TODO database integration
+     *
+     * @param flag
+     */
+    public void configureMTOM(boolean flag, String serviceName) throws AxisFault{
+
+        AxisService service = getAxisConfig().getService(serviceName);
+        if (service == null) {
+            throw new AxisFault("AxisService " + serviceName + " cannot be found.");
+        }
+
+        ArrayList parameters = service.getParameters();
+
+        boolean found = false;
+        for (Iterator iterator = parameters.iterator(); iterator.hasNext();) {
+            Parameter parameter = (Parameter) iterator.next();
+
+            if (parameter.getParameterType() == Parameter.TEXT_PARAMETER &&
+                parameter.getValue().toString().equals(Constants.Configuration.ENABLE_MTOM)) {
+                parameter.setValue(Boolean.toString(flag));
+                found = true;
+                break;
+            }
+
+        }
+        if (!found) {
+            Parameter parameter =
+                    new Parameter(Constants.Configuration.ENABLE_MTOM, Boolean.toString(flag));
+            service.addParameter(parameter);
+        }
+        
+    }
+
+    /**
      * @param serviceGroupId
      * @param serviceGroupVersion
      * @return

Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceGroupAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceGroupAdmin.java	(original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceGroupAdmin.java	Mon Jul  2 06:50:42 2007
@@ -78,6 +78,8 @@
      * set the service group parameter enableMTOM to manipulate MTOM
      * flag true/false
      *
+     * TODO database integration 
+     *
      * @param flag
      * @return ServiceGroupMetaData
      */

Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/util/ServiceMetaData.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/util/ServiceMetaData.java	(original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/util/ServiceMetaData.java	Mon Jul  2 06:50:42 2007
@@ -31,6 +31,7 @@
     private String[] eprs;
     private boolean foundWebResources;
     private String serviceType;
+    private boolean enableMTOM;
 
     public String[] getEprs() {
         return eprs;
@@ -151,4 +152,16 @@
     public void setServiceType(String serviceType) {
         this.serviceType = serviceType;
     }
+
+    /**
+     * enable MTOM
+     * @return boolean
+     */
+    public boolean isEnableMTOM() {
+        return enableMTOM;
+    }
+
+    public void setEnableMTOM(boolean enableMTOM) {
+        this.enableMTOM = enableMTOM;
+    }
 }

Modified: trunk/wsas/java/modules/www/extensions/core/js/services.js
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/js/services.js	(original)
+++ trunk/wsas/java/modules/www/extensions/core/js/services.js	Mon Jul  2 06:50:42 2007
@@ -200,6 +200,28 @@
 
 }
 
+/**
+ * Configure service level MTOM handling
+ */
+function configServiceMTOM(flag,serviceName) {
+    stoppingRefreshingMethodsHook();
+
+    var body_xml = '<req:configureMTOM xmlns:req="http://org.apache.axis2/xsd">\n' +
+                   '<flag>' + flag + '</flag>\n' +
+                   '<serviceName>' + serviceName + '</serviceName>\n' +
+                   '</req:configureMTOM>\n';
+
+    var callURL = serverURL + "/" + "ServiceAdmin" + "/" ;
+
+    new wso2.wsf.WSRequest(callURL, "urn:configureMTOM", body_xml, configServiceMTOMCallback);
+}
+
+function configServiceMTOMCallback() {
+
+    listServiceDataRefresh(serviceSpecificName);
+
+}
+
 function listServiceDataCallback() {
 
     showListServiceDataDiv = true;

Modified: trunk/wsas/java/modules/www/extensions/core/xslt/list_service_main_info.xsl
==============================================================================
--- trunk/wsas/java/modules/www/extensions/core/xslt/list_service_main_info.xsl	(original)
+++ trunk/wsas/java/modules/www/extensions/core/xslt/list_service_main_info.xsl	Mon Jul  2 06:50:42 2007
@@ -7,8 +7,9 @@
 
         <xsl:variable name="active"><xsl:value-of select="return/active"/></xsl:variable>
         <xsl:variable name="serviceName"><xsl:value-of select="return/name"/></xsl:variable>
-        <xsl:variable name="webResourcesFound"><xsl:value-of select="return/foundWebResources"/></xsl:variable>
+        <xsl:variable name="webResourcesFound"><xsl:value-of select="return/foundWebResources"/></xsl:variable>
         <xsl:variable name="serviceType"><xsl:value-of select="return/serviceType"/></xsl:variable>
+        <xsl:variable name="enableMTOM" select="return/enableMTOM" />
         <fieldset style="border:none;">
     	<div id="formset">
             <xsl:for-each select="return">
@@ -34,6 +35,19 @@
 						</xsl:if>
 					</td>
             	</tr>
+                <tr>
+                    <td>
+                        <strong>MTOM</strong>
+                    </td>
+                    <td>
+                        <xsl:if test="$enableMTOM='true'">
+                            Enabled&#160;&#160;[<a style='cursor:pointer;' onclick='javascript:configServiceMTOM("false","{$serviceName}");'>Disable</a>]
+                        </xsl:if>
+                        <xsl:if test="$enableMTOM='false'">
+                            Disabled&#160;&#160;[<a style='cursor:pointer;' onclick='javascript:configServiceMTOM("true","{$serviceName}");'>Enable</a>]
+                        </xsl:if>
+                    </td>
+                </tr>
 
                 <thead><tr><th colspan="2">Statistics</th></tr></thead>
 				<tr>
@@ -70,9 +84,9 @@
                     <td><strong>Avg Response Time</strong></td>
                     <td><xsl:value-of select = "format-number(avgResponseTime,'#.##')" />  ms</td>
                 </tr>
-                <tr>
-                    <td><strong>Service Type</strong></td>
-                    <td><xsl:value-of select = "serviceType"/></td>
+                <tr>
+                    <td><strong>Service Type</strong></td>
+                    <td><xsl:value-of select = "serviceType"/></td>
                 </tr>
                 <thead><tr><th colspan="2">End Points</th></tr></thead>
                 <tr>
@@ -183,17 +197,17 @@
                                       </a>
                                 </td>
                             </tr>
-                        </xsl:if>
-                        <xsl:if test="$serviceType='data_service'">
-                            <tr>
-                                <td>
-                                     <a id="dataservice__ui_link">
-                                            <xsl:attribute name="href">#</xsl:attribute>
-                                            <xsl:attribute name="onClick">javascript:configureDataservice('<xsl:value-of select="$serviceName"/>');return false;</xsl:attribute>
-                                            <xsl:text>&#160;&#160;&#160;&#160;&#160;Configure DataService</xsl:text>
-                                      </a>
-                                </td>
-                            </tr>
+                        </xsl:if>
+                        <xsl:if test="$serviceType='data_service'">
+                            <tr>
+                                <td>
+                                     <a id="dataservice__ui_link">
+                                            <xsl:attribute name="href">#</xsl:attribute>
+                                            <xsl:attribute name="onClick">javascript:configureDataservice('<xsl:value-of select="$serviceName"/>');return false;</xsl:attribute>
+                                            <xsl:text>&#160;&#160;&#160;&#160;&#160;Configure DataService</xsl:text>
+                                      </a>
+                                </td>
+                            </tr>
                         </xsl:if>                        
                     </table>
 				</xsl:when>




More information about the Wsas-java-dev mailing list