Author: jkaputin
Date: Wed Nov 9 07:17:12 2005
New Revision: 332066
URL: http://svn.apache.org/viewcvs?rev=332066&view=rev
Log:
Added methods to build InterfaceOperation and its
sub components. This completes the component model
build of Interface and its sub components.
Modified:
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
Modified:
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java?rev=332066&r1=332065&r2=332066&view=diff
==============================================================================
---
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
(original)
+++
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
Wed Nov 9 07:17:12 2005
@@ -27,14 +27,21 @@
import org.apache.woden.internal.wsdl20.DescriptionImpl;
import org.apache.woden.internal.wsdl20.ElementDeclarationImpl;
import org.apache.woden.internal.wsdl20.InterfaceFaultImpl;
+import org.apache.woden.internal.wsdl20.InterfaceFaultReferenceImpl;
import org.apache.woden.internal.wsdl20.InterfaceImpl;
+import org.apache.woden.internal.wsdl20.InterfaceMessageReferenceImpl;
+import org.apache.woden.internal.wsdl20.InterfaceOperationImpl;
import org.apache.woden.internal.wsdl20.PropertyImpl;
import org.apache.woden.internal.wsdl20.TypeDefinitionImpl;
import org.apache.woden.schema.Schema;
import org.apache.woden.schema.SchemaImport;
+import org.apache.woden.wsdl20.Interface;
import org.apache.woden.wsdl20.WSDL20Component;
+import org.apache.woden.wsdl20.xml.FaultReferenceElement;
import org.apache.woden.wsdl20.xml.InterfaceElement;
import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
+import org.apache.woden.wsdl20.xml.InterfaceOperationElement;
import org.apache.woden.wsdl20.xml.PropertyElement;
import org.apache.woden.wsdl20.xml.TypesElement;
import org.apache.ws.commons.schema.XmlSchema;
@@ -212,6 +219,7 @@
InterfaceImpl intImpl = (InterfaceImpl)interfaceEls[i];
buildProperties(intImpl.getPropertyElements(), intImpl);
buildInterfaceFaults(intImpl);
+ buildInterfaceOperations(intImpl);
}
}
@@ -226,6 +234,49 @@
if(qname != null)
{
fault.setElementDeclaration(fDesc.getElementDeclaration(qname));
+ }
+ }
+ }
+
+ private void buildInterfaceOperations(InterfaceImpl intface)
+ {
+ InterfaceOperationElement[] operations =
intface.getInterfaceOperationElements();
+ for(int i=0; i<operations.length; i++)
+ {
+ InterfaceOperationImpl oper =
(InterfaceOperationImpl)operations[i];
+ buildInterfaceFaultReferences(oper);
+ buildInterfaceMessageReferences(oper);
+ }
+ }
+
+ private void buildInterfaceFaultReferences(InterfaceOperationImpl oper)
+ {
+ FaultReferenceElement[] faultRefs = oper.getFaultReferenceElements();
+ for(int i=0; i<faultRefs.length; i++)
+ {
+ InterfaceFaultReferenceImpl faultRef =
(InterfaceFaultReferenceImpl)faultRefs[i];
+ QName qname = faultRef.getRef();
+ if(qname != null)
+ {
+ Interface intface = (Interface)oper.getParent();
+ faultRef.setInterfaceFault(intface.getInterfaceFault(qname));
+ }
+ }
+ }
+
+ private void buildInterfaceMessageReferences(InterfaceOperationImpl oper)
+ {
+ InterfaceMessageReferenceElement[] messages =
oper.getMessageReferenceElements();
+ for(int i=0; i<messages.length; i++)
+ {
+ InterfaceMessageReferenceImpl message =
(InterfaceMessageReferenceImpl)messages[i];
+
if(Constants.NMTOKEN_ELEMENT.equals(message.getMessageContentModel()))
+ {
+ QName qname = message.getElementQName();
+ if(qname != null)
+ {
+
message.setElementDeclaration(fDesc.getElementDeclaration(qname));
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]