You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2005/11/09 16:15:44 UTC
svn commit: r332065 -
/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
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: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org