Justin Deoliveira wrote: > Hmmm.. this is not just an attribute, but an attribute with an > anonymous type. Nasty. I have actually never run into this case before > so you might have stumbled upon a bug.. > > Is there a test case i can run in the wps xml module? No test cases yet; just breakpoints in a running geoserver (I know terrible...).
We ended up handling this by taking on a InputReferenceTypeBinding; processing the Node for "method" (and replacing the value) and then calling the normal EMF Reflection based complex binding thing... Cheers, Jody > Jody Garnett wrote: >> Hi Justin; >> >> I see some provision for handling "attribute" bindings; the situation >> is we have an attribute, called"method" below, that is an xs:string >> with a restriction on the values (either GET or POST ). >> - The EMF generator spits that out as an Java Enum MethodType >> - And the generated parser is producing a String >> >> So we need to make a binding for the following... >>> <complexType name="InputReferenceType"> >>> <sequence minOccurs="0"> >>> <element name="Header" minOccurs="0" maxOccurs="unbounded"> >>> <complexType> >>> <attribute name="key" type="string" >>> use="required"/> >>> <attribute name="value" type="string" >>> use="required"/> >>> </complexType> >>> </element> >>> <choice minOccurs="0"> >>> <element name="Body" type="anyType"/> >>> <element name="BodyReference"> >>> <complexType> >>> <attribute ref="xlink:href" use="required"> >>> </attribute> >>> </complexType> >>> </element> >>> </choice> >>> </sequence> >>> <attribute ref="xlink:href" use="required"/> >>> <attribute name="method" use="optional" default="GET"> >>> <simpleType> >>> <restriction base="string"> >>> <enumeration value="GET"/> >>> <enumeration value="POST"/> >>> </restriction> >>> </simpleType> >>> </attribute> >>> <attributeGroup ref="wps:ComplexDataEncoding"/> >>> </complexType> >> So we have two options: >> - create a binding for the InputReferenceType, we can process each >> one of the child Nodes, and make a special case for "method" ... >> - create a binding for MethodType; but we cannot figure out the >> "fake" QName to register this binding as ... >> >> I see some provision for making "attribute level" bindings; but I >> cannot quite figure out how to hook them up. I have been looking >> through BindingWalker, paying attention cases where the name is null. >> >> So a couple questions: >> - the WPSConfiguration file says it is @generated; that is your own >> generator right? We can hack up that file now right? >> - how do you register a MethodTypeBinding; is there some kind of fake >> QName I can use or am I just imagining things... >> - the InputReferenceType thing will work; we will probably go with >> that if we don't hear from you >> >> Cheers, >> Jody ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
