Author: jkaputin
Date: Wed Nov  9 07:15:37 2005
New Revision: 332065

URL: http://svn.apache.org/viewcvs?rev=332065&view=rev
Log:
Consolidated interface operation inputs/outputs into

one collection and infaults/outfaults into one collection.



Set the 'direction' of fault refs in the parse method,

based on the element local name 'infault' or 'outfault'.



For Interface Message Refs, improved parsing to cater 

for 'element' attribute containing NMTokens #any, #none

and #other, as an alternative to a QName.

Modified:
    incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java

Modified: incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
URL: 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=332065&r1=332064&r2=332065&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java 
(original)
+++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Wed 
Nov  9 07:15:37 2005
@@ -499,19 +499,19 @@
             }

             else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))

             {

-                oper.addInputElement(parseInterfaceMessageReference(tempEl, 
desc, oper));

+                
oper.addMessageReferenceElement(parseInterfaceMessageReference(tempEl, desc, 
oper));

             }

             else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))

             {

-                oper.addOutputElement(parseInterfaceMessageReference(tempEl, 
desc, oper));

+                
oper.addMessageReferenceElement(parseInterfaceMessageReference(tempEl, desc, 
oper));

             }

             else if (QNameUtils.matches(Constants.Q_ELEM_INFAULT, tempEl))

             {

-                oper.addInfaultElement(parseInterfaceFaultReference(tempEl, 
desc, oper));

+                
oper.addFaultReferenceElement(parseInterfaceFaultReference(tempEl, desc, oper));

             }

             else if (QNameUtils.matches(Constants.Q_ELEM_OUTFAULT, tempEl))

             {

-                oper.addOutfaultElement(parseInterfaceFaultReference(tempEl, 
desc, oper));

+                
oper.addFaultReferenceElement(parseInterfaceFaultReference(tempEl, desc, oper));

             }

             else

             {

@@ -533,22 +533,46 @@
         InterfaceMessageReferenceElement message = 
desc.createInterfaceMessageReferenceElement();

         message.setParentElement(parent);

         

+        if(Constants.ELEM_INPUT.equals(messageEl.getLocalName())) {

+            message.setDirection(Constants.VALUE_IN);

+        } 

+        else if(Constants.ELEM_OUTPUT.equals(messageEl.getLocalName())) {

+            message.setDirection(Constants.VALUE_OUT);

+        }

+        

         message.setMessageLabel(DOMUtils.getAttribute(messageEl, 
Constants.ATTR_MESSAGE_LABEL));

         

         String element = DOMUtils.getAttribute(messageEl, 
Constants.ATTR_ELEMENT);

         if(element != null)

         {

-            try {

-                QName qname = DOMUtils.getQName(element, messageEl, desc);

-                message.setElement(qname);

-            } catch (WSDLException e) {

-                getErrorReporter().reportError( 

-                        new ErrorLocatorImpl(),  //TODO line&col nos.

-                        "WSDL504",

-                        new Object[] {element, messageEl.getLocalName()}, 

-                        ErrorReporter.SEVERITY_ERROR);

+            if(element.equals(Constants.NMTOKEN_ANY) ||

+               element.equals(Constants.NMTOKEN_NONE) ||

+               element.equals(Constants.NMTOKEN_OTHER))

+            {

+                message.setMessageContentModel(element);

+            }

+            else

+            {

+                //element is not #any, #none or #other, so it must be an 
element qname

+                message.setMessageContentModel(Constants.NMTOKEN_ELEMENT);

+                try {

+                    QName qname = DOMUtils.getQName(element, messageEl, desc);

+                    message.setElementQName(qname);

+                } catch (WSDLException e) {

+                    getErrorReporter().reportError( 

+                            new ErrorLocatorImpl(),  //TODO line&col nos.

+                            "WSDL504",

+                            new Object[] {element, messageEl.getLocalName()}, 

+                            ErrorReporter.SEVERITY_ERROR);

+                }

             }

         }

+        else

+        {

+            //Per mapping defined in WSDL 2.0 Part 2 spec section 2.5.3,

+            //if element attribute not present, message content model is #other

+            message.setMessageContentModel(Constants.NMTOKEN_OTHER);

+        }

 

         //TODO extension attributes

 

@@ -587,6 +611,13 @@
     {

         FaultReferenceElement faultRef = 
desc.createInterfaceFaultReferenceElement();

         faultRef.setParentElement(parent);

+        

+        if(Constants.ELEM_INFAULT.equals(faultRefEl.getLocalName())) {

+            faultRef.setDirection(Constants.VALUE_IN);

+        } 

+        else if(Constants.ELEM_OUTFAULT.equals(faultRefEl.getLocalName())){

+            faultRef.setDirection(Constants.VALUE_OUT);

+        }

         

         String ref = DOMUtils.getAttribute(faultRefEl, Constants.ATTR_REF);

         if(ref != null)




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to