You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ds...@apache.org on 2006/09/22 01:49:14 UTC

svn commit: r448744 - in /webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl: codegen/ codegen/emitter/ codegen/extension/ util/

Author: dsosnoski
Date: Thu Sep 21 16:49:13 2006
New Revision: 448744

URL: http://svn.apache.org/viewvc?view=rev&rev=448744
Log:
Added config property to support databinding code handling unwrapping, code generation options for databinding code generating methods for operation

Modified:
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/codegen-config.properties
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/JiBXExtension.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/Constants.java

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/codegen-config.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/codegen-config.properties?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/codegen-config.properties (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/codegen-config.properties Thu Sep 21 16:49:13 2006
@@ -33,7 +33,10 @@
 codegen.databinding.frameworks=adb,xmlbeans,jaxme,jibx,jaxbri,none
 # this property keeps the names of the databinding frameworks which support
 # unwrapping 
-codegen.databinding.unwrap.supported=adb,xmlbeans
+codegen.databinding.unwrap.supported=adb,xmlbeans,jibx
+# this property keeps the names of the databinding frameworks that handle unwrapping
+# directly (rather than by using the unwrapper extension)
+codegen.databinding.unwrap.direct=jibx
 # the related extensions for the specified data binding frameworks above
 # Note -  these are in the lexical order of the framework names. There is an implicit assumption
 # that a given databinding framework will be processed only by one extension

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java Thu Sep 21 16:49:13 2006
@@ -19,6 +19,7 @@
 import org.apache.neethi.Policy;
 import org.apache.ws.commons.schema.XmlSchema;
 
+import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -894,7 +895,8 @@
                 Document classModel = createDocumentForMessageReceiver(
                         mep,
                         codeGenConfiguration.isServerSideInterface());
-                debugLogDocument("Document for message receiver:", classModel);
+                debugLogDocument("Document for message receiver (mep=" + mep +
+                        "):", classModel);
                 //write the class only if any methods are found
                 if (Boolean.TRUE.equals(infoHolder.get(mep))) {
                     MessageReceiverWriter writer =
@@ -1045,20 +1047,32 @@
 
         //at this point we may need to capture the extra parameters passes to the
         //particular databinding framework
-        //these parameters showup in the property map and we can just copy these items over
-        //to an extra element.
+        //these parameters showup in the property map with String keys, and we
+        //can just copy these items over to the <extra> element.
+        //this code allows both simple values, which are written as name="value"
+        //attributes of the <extra> element, and Element values with property
+        //names starting with "databinders/extra", which are written as child
+        //elements of the <extra> element (with the property name unused, in
+        //this case)
         Element extraElement = addElement(doc, "extra", null, rootElement);
         Map propertiesMap = codeGenConfiguration.getProperties();
-        for (Iterator it = propertiesMap.keySet().iterator();
-             it.hasNext();){
+        for (Iterator it = propertiesMap.keySet().iterator(); it.hasNext();){
             Object key = it.next();
-            Object value = propertiesMap.get(key);
-            //if the value is null set it to empty string
-            if (value==null) value="";
-            //add the property to the extra element only if both
-            //are strings
-            if (key instanceof String && value instanceof String){
-                 addAttribute(doc,(String)key,(String)value, extraElement);
+            if (key instanceof String) {
+                Object value = propertiesMap.get(key);
+                if (value instanceof Element) {
+                    if (((String)key).startsWith("databinders/extra")) {
+                        // append child element
+                        extraElement.appendChild(doc.importNode((Element)value, true));
+                    }
+                } else {
+                    //if the value is null set it to empty string
+                    if (value==null) value="";
+                    //add key="value" attribute to element iff value a string
+                    if (value instanceof String){
+                         addAttribute(doc,(String)key,(String)value, extraElement);
+                    }
+                }
             }
         }
 
@@ -1386,98 +1400,16 @@
             if (mep == null) {
 
                 opsFound = true;
-
-                List soapHeaderInputParameterList = new ArrayList();
-                List soapHeaderOutputParameterList = new ArrayList();
-
-                methodElement = doc.createElement("method");
-
-                String localPart = axisOperation.getName().getLocalPart();
-
-                addAttribute(doc, "name", localPart, methodElement);
-                addAttribute(doc, "namespace", axisOperation.getName().getNamespaceURI(), methodElement);
-                String style = axisOperation.getStyle();
-                addAttribute(doc, "style", style, methodElement);
-                addAttribute(doc, "dbsupportname", portTypeName + localPart + DATABINDING_SUPPORTER_NAME_SUFFIX,
-                        methodElement);
-
-
-                addAttribute(doc, "mep", Utils.getAxisSpecifMEPConstant(axisOperation.getMessageExchangePattern()) + "", methodElement);
-                addAttribute(doc, "mepURI", axisOperation.getMessageExchangePattern(), methodElement);
-
-
-                addSOAPAction(doc, methodElement, axisOperation);
-                addOutputAndFaultActions(doc, methodElement, axisOperation);
-                //add header ops for input
-                addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
-                //add header ops for output
-                addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
-
-                PolicyInclude policyInclude = axisOperation.getPolicyInclude();
-                Policy policy = policyInclude.getPolicy();
-                
-                
-                if (policy != null) {
-                    try  {
-                    addAttribute(doc, "policy", PolicyUtil.policyComponentToString(policy), methodElement);
-                    } catch (Exception ex) {
-                        throw new RuntimeException(" Can't serialize the policy ..");
-                    }
-                }
-
-                methodElement.appendChild(getInputElement(doc, axisOperation, soapHeaderInputParameterList));
-                methodElement.appendChild(getOutputElement(doc, axisOperation, soapHeaderOutputParameterList));
-                methodElement.appendChild(getFaultElement(doc, axisOperation));
-
+                methodElement = generateMethodElement(doc, portTypeName, axisOperation);
                 rootElement.appendChild(methodElement);
+                
             } else {
                 //mep is present - we move ahead only if the given mep matches the mep of this operation
 
                 if (mep.equals(axisOperation.getMessageExchangePattern())) {
                     //at this point we know it's true
                     opsFound = true;
-                    List soapHeaderInputParameterList = new ArrayList();
-                    List soapHeaderOutputParameterList = new ArrayList();
-                    methodElement = doc.createElement("method");
-                    String localPart = axisOperation.getName().getLocalPart();
-
-                    addAttribute(doc, "name", localPart, methodElement);
-                    addAttribute(doc, "namespace", axisOperation.getName().getNamespaceURI(), methodElement);
-                    addAttribute(doc, "style", axisOperation.getStyle(), methodElement);
-                    addAttribute(doc, "dbsupportname", portTypeName + localPart + DATABINDING_SUPPORTER_NAME_SUFFIX,
-                            methodElement);
-
-                    addAttribute(doc, "mep", Utils.getAxisSpecifMEPConstant(axisOperation.getMessageExchangePattern()) + "", methodElement);
-                    addAttribute(doc, "mepURI", axisOperation.getMessageExchangePattern(), methodElement);
-
-
-                    addSOAPAction(doc, methodElement, axisOperation);
-                    addOutputAndFaultActions(doc, methodElement, axisOperation);
-                    addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
-                    addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
-
-                    /*
-                     * Setting the policy of the operation
-                     */
-
-                    Policy policy = axisOperation.getPolicyInclude().getPolicy();
-                    if (policy != null) {
-                        try  {
-                        addAttribute(doc, "policy",
-                                PolicyUtil.policyComponentToString(policy),
-                                methodElement);
-                        } catch (Exception ex) {
-                            throw new RuntimeException("can't serialize the policy ..");
-                        }
-                    }
-
-
-                    methodElement.appendChild(getInputElement(doc,
-                            axisOperation, soapHeaderInputParameterList));
-                    methodElement.appendChild(getOutputElement(doc,
-                            axisOperation, soapHeaderOutputParameterList));
-                    methodElement.appendChild(getFaultElement(doc,
-                            axisOperation));
+                    methodElement = generateMethodElement(doc, portTypeName, axisOperation);
 
                     rootElement.appendChild(methodElement);
                     //////////////////////
@@ -1487,6 +1419,69 @@
         }
 
         return opsFound;
+    }
+
+    /**
+     * Common code to generate a <method> element from an operation.
+     * 
+     * @param doc
+     * @param portTypeName
+     * @param axisOperation
+     * @return generated element
+     * @throws DOMException
+     */
+    private Element generateMethodElement(Document doc, String portTypeName, AxisOperation axisOperation) throws DOMException {
+        Element methodElement;
+        List soapHeaderInputParameterList = new ArrayList();
+        List soapHeaderOutputParameterList = new ArrayList();
+        methodElement = doc.createElement("method");
+        String localPart = axisOperation.getName().getLocalPart();
+
+        addAttribute(doc, "name", localPart, methodElement);
+        addAttribute(doc, "namespace", axisOperation.getName().getNamespaceURI(), methodElement);
+        addAttribute(doc, "style", axisOperation.getStyle(), methodElement);
+        addAttribute(doc, "dbsupportname", portTypeName + localPart + DATABINDING_SUPPORTER_NAME_SUFFIX,
+                methodElement);
+        addAttribute(doc, "mep", Utils.getAxisSpecifMEPConstant(axisOperation.getMessageExchangePattern()) + "", methodElement);
+        addAttribute(doc, "mepURI", axisOperation.getMessageExchangePattern(), methodElement);
+        
+        // check for this operation to be handled directly by databinding code generation 
+        Parameter dbmethname = axisOperation.getParameter(Constants.DATABINDING_GENERATED_RECEIVER);
+        if (dbmethname != null) {
+            addAttribute(doc, "usedbmethod", (String)dbmethname.getValue(), methodElement);
+        }
+        Parameter dbgenimpl = axisOperation.getParameter(Constants.DATABINDING_GENERATED_IMPLEMENTATION);
+        if (dbgenimpl != null && Boolean.TRUE.equals(dbgenimpl.getValue())) {
+            addAttribute(doc, "usdbimpl", "true", methodElement);
+        }
+
+        addSOAPAction(doc, methodElement, axisOperation);
+        addOutputAndFaultActions(doc, methodElement, axisOperation);
+        addHeaderOperations(soapHeaderInputParameterList, axisOperation, true);
+        addHeaderOperations(soapHeaderOutputParameterList, axisOperation, false);
+
+        /*
+         * Setting the policy of the operation
+         */
+        Policy policy = axisOperation.getPolicyInclude().getPolicy();
+        if (policy != null) {
+            try  {
+            addAttribute(doc, "policy",
+                    PolicyUtil.policyComponentToString(policy),
+                    methodElement);
+            } catch (Exception ex) {
+                throw new RuntimeException("can't serialize the policy ..");
+            }
+        }
+
+
+        methodElement.appendChild(getInputElement(doc,
+                axisOperation, soapHeaderInputParameterList));
+        methodElement.appendChild(getOutputElement(doc,
+                axisOperation, soapHeaderOutputParameterList));
+        methodElement.appendChild(getFaultElement(doc,
+                axisOperation));
+        return methodElement;
     }
 
     // ==================================================================

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/JiBXExtension.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/JiBXExtension.java?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/JiBXExtension.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/JiBXExtension.java Thu Sep 21 16:49:13 2006
@@ -16,28 +16,24 @@
 
 package org.apache.axis2.wsdl.codegen.extension;
 
-import org.apache.axis2.description.AxisMessage;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.axis2.wsdl.WSDLUtil;
-import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
-import org.apache.axis2.wsdl.databinding.TypeMapper;
-import org.apache.ws.commons.schema.XmlSchemaElement;
-
-import javax.xml.namespace.QName;
 import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Iterator;
 
+import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
+
+/**
+ * Code generation data binding extension for JiBX support. JiBX currently
+ * requires a predefined binding definition to be supplied in order to be used
+ * with Axis2.
+ */
 public class JiBXExtension extends AbstractDBProcessingExtension {
 
+    /** Name of "extra" option used to supply binding definition path. */
     public static final String BINDING_PATH_OPTION = "bindingfile";
-    public static final String UNWRAP_OPTION = "unwrap";
-    public static final String JIBX_MODEL_CLASS =
+    private static final String JIBX_MODEL_CLASS =
             "org.jibx.binding.model.BindingElement";
-    public static final String JIBX_UTILITY_CLASS =
+    private static final String JIBX_UTILITY_CLASS =
             "org.apache.axis2.jibx.CodeGenerationUtility";
-    public static final String BINDING_MAP_METHOD = "getBindingMap";
+    private static final String JIBX_UTILITY_METHOD = "engage";
 
     public void engage(CodeGenConfiguration configuration) {
 
@@ -49,8 +45,8 @@
         // check the JiBX binding definition file specified
         String path = (String)configuration.getProperties().get(BINDING_PATH_OPTION);
         if (path == null) {
-            throw new RuntimeException("jibx binding option requires -" +
-                    BINDING_PATH_OPTION + " {file path} parameter");
+            throw new RuntimeException("jibx binding option currently requires -" +
+                    BINDING_PATH_OPTION + " {file-path} parameter");
         }
         try {
 
@@ -69,25 +65,10 @@
                 throw new RuntimeException("JiBX binding extension not in classpath");
             }
             
-            // check if unwrapping message elements
-            boolean unwrap = configuration.getProperties().containsKey(UNWRAP_OPTION);
-
-            // get all elements for operations, and matching type definitions
-            HashMap defsmap = new HashMap();
-            Iterator operations = configuration.getAxisService().getOperations();
-            while (operations.hasNext()) {
-                AxisOperation o =  (AxisOperation)operations.next();
-                accumulateElements(o, defsmap, configuration);
-            }
-            
             // invoke utility class method for actual processing
-            Method method = clazz.getMethod(BINDING_MAP_METHOD,
-                new Class[] { String.class, HashMap.class, boolean.class });
-            TypeMapper mapper = (TypeMapper)method.invoke(null,
-                new Object[] { path, defsmap, Boolean.valueOf(unwrap) });
-
-            // set the type mapper to the config
-            configuration.setTypeMapper(mapper);
+            Method method = clazz.getMethod(JIBX_UTILITY_METHOD,
+                new Class[] { String.class, CodeGenConfiguration.class });
+            method.invoke(null, new Object[] { path, configuration });
 
 /*            // invoke utility class method for actual processing
             Method method = clazz.getMethod(BINDING_MAP_METHOD,
@@ -135,45 +116,5 @@
             }
         }
 
-    }
-
-    /**
-     * Accumulate the QNames of all message elements used by an interface. Based on
-     *
-     * @param op
-     * @param config 
-     * @param elements
-     */
-    private void accumulateElements(AxisOperation op, HashMap defsmap, CodeGenConfiguration config) {
-        String MEP = op.getMessageExchangePattern();
-        if (WSDLUtil.isInputPresentForMEP(op.getMessageExchangePattern())) {
-            AxisMessage msg = op.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-            if (msg != null) {
-                addElementType(msg, defsmap, config);
-            }
-        }
-
-        if (WSDLUtil.isOutputPresentForMEP(op.getMessageExchangePattern())) {
-            AxisMessage msg = op.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
-            if (msg != null) {
-                addElementType(msg, defsmap, config);
-            }
-        }
-    }
-
-    /**
-     * Add message element information to schema definition mappings.
-     * 
-     * @param msg
-     * @param defsmap
-     * @param configuration 
-     */
-    private void addElementType(AxisMessage msg, HashMap defsmap, CodeGenConfiguration config) {
-        QName qname = msg.getElementQName();
-        XmlSchemaElement element =
-            config.getAxisService().getSchemaElement(qname);
-        if (qname != null) {
-            defsmap.put(qname, element);
-        }
     }
 }

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java Thu Sep 21 16:49:13 2006
@@ -71,20 +71,22 @@
                     contains(configuration.getDatabindingType())) {
                 throw new CodeGenerationException(
                         CodegenMessages.getMessage("extension.unsupportedforunwrapping"));
-            }
+            } else if (!ConfigPropertyFileLoader.getUnwrapDirectFrameworkNames().
+                    contains(configuration.getDatabindingType())) {
 
-            //walk the schema and find the top level elements
-            AxisService axisService = configuration.getAxisService();
+                //walk the schema and find the top level elements
+                AxisService axisService = configuration.getAxisService();
 
-            for (Iterator operations = axisService.getOperations();
-                 operations.hasNext();) {
-                AxisOperation op = (AxisOperation) operations.next();
+                for (Iterator operations = axisService.getOperations();
+                     operations.hasNext();) {
+                    AxisOperation op = (AxisOperation) operations.next();
 
-                if (WSDLUtil.isInputPresentForMEP(op.getMessageExchangePattern())) {
-                    walkSchema(op.getMessage(
-                            WSDLConstants.MESSAGE_LABEL_IN_VALUE));
-                }
+                    if (WSDLUtil.isInputPresentForMEP(op.getMessageExchangePattern())) {
+                        walkSchema(op.getMessage(
+                                WSDLConstants.MESSAGE_LABEL_IN_VALUE));
+                    }
 
+                }
             }
         }
     }

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/ConfigPropertyFileLoader.java Thu Sep 21 16:49:13 2006
@@ -46,6 +46,7 @@
     private static String[] languageTypes;
     private static String[] databindingFrameworkNames;
     private static String[] unwrapSuppoerteddatabindingFrameworkNames;
+    private static String[] unwrapDirectdatabindingFrameworkNames;
 
     private static Map languageEmitterMap;
     private static Map languageSpecificPropertiesMap;
@@ -63,6 +64,7 @@
     private static final String EMITTER_CLASS_KEY = "codegen.emitters";
     private static final String DATA_BINDING_FRAMEWORK_NAME_KEY = "codegen.databinding.frameworks";
     private static final String DATA_BINDING_UNWRAP_SUPPORTED_FRAMEWORK_NAME_KEY = "codegen.databinding.unwrap.supported";
+    private static final String DATA_BINDING_UNWRAP_DIRECT_FRAMEWORK_NAME_KEY = "codegen.databinding.unwrap.direct";
     private static final String DATA_BINDING_FRAMEWORK_DEFAULT_NAME_KEY = "codegen.databinding.frameworks.default";
     private static final String DATA_BINDING_FRAMEWORK_EXTENSION_NAME_KEY = "codegen.databinding.extensions";
     private static final String DATA_BINDING_TEMPLATE_NAME_KEY_PREFIX = "codegen.databinding.";
@@ -165,6 +167,12 @@
                 unwrapSuppoerteddatabindingFrameworkNames = tempString.split(SEPARATOR_CHAR);
             }
 
+            //load the unwrap supported data binding framework names
+            tempString = props.getProperty(DATA_BINDING_UNWRAP_DIRECT_FRAMEWORK_NAME_KEY);
+            if (tempString != null) {
+                unwrapDirectdatabindingFrameworkNames = tempString.split(SEPARATOR_CHAR);
+            }
+
             //populate the data binding framework name to extension name map
             tempString = props.getProperty(DATA_BINDING_FRAMEWORK_EXTENSION_NAME_KEY);
             if (tempString != null) {
@@ -333,6 +341,16 @@
     public static List getUnwrapSupportedFrameworkNames(){
         return Arrays.asList(unwrapSuppoerteddatabindingFrameworkNames);
     }
+
+    /**
+     * Get the list of data binding frameworks that handle unwrapping directly.
+     * 
+     * @return names
+     */
+    public static List getUnwrapDirectFrameworkNames(){
+        return Arrays.asList(unwrapDirectdatabindingFrameworkNames);
+    }
+    
     /**
      * Gets the default language name.
      *

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/Constants.java?view=diff&rev=448744&r1=448743&r2=448744
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/Constants.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/util/Constants.java Thu Sep 21 16:49:13 2006
@@ -29,6 +29,21 @@
 
     public static final String ANY_ELEMENT_FIELD_NAME = "extraElement";
     
+    /** Property for message receiver operation method handled by databinding
+     code generation. This is an optional parameter for an {@link
+     org.apache.axis2.description.AxisOperation}. If present, the value is the
+     name of a method to be generated by the databinding code generation and
+     called by the message receiver code generation in order to process the
+     OMElement and invoke the service method. */
+    String DATABINDING_GENERATED_RECEIVER = "databinding-generated-receiver";
+    
+    /** Property for interface implementation method handled by databinding
+     code generation. This is an optional parameter for an {@link
+     org.apache.axis2.description.AxisOperation}. If present, the value is a
+     <code>Boolean</code> flag to indicate that the method corresponding to that
+     operation will be generated by the data binding code generation. */
+    String DATABINDING_GENERATED_IMPLEMENTATION = "databinding-generated-implementation";
+    
 
 
     public interface CodegenStyle {



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org