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]