Yeah, this case isn't really handled all that well. There is an option
named "complexBindingBaseClass" and "simpleBindingCaseClass" which can be
used to specify the base class for bindings, but it still will generate a
class for each binding which isn't really necessary for the emf model based
stuff.
So yeah, in the end i usually just generate the configuration, and manually
update them registering the instances of ComplexEMFBinding rather than the
specific classes. To handle some custom cases where we do have to subclass
with a custom binding having the generated binding classes is nice.
-Justin
On Fri, Aug 24, 2012 at 8:16 AM, Andrea Aime
<[email protected]>wrote:
> Hi,
> I've moved on to generate bindings for CSW to build the EMF objects of of
> XML,
> and vice versa.
>
> So far I've looked at the guide and at the xsd-wps for guidance and
> managed to
> get something generated, but the result is unexpected in terms of
> CSWConfiguration.
>
> The WPSConfiguration registers bindings like this:
>
> protected void registerBindings(Map bindings) {
> bindings.put(WPS.InputReferenceType,
> InputReferenceTypeBinding.class);
> bindings.put(WPS.ComplexDataType, ComplexDataTypeBinding.class);
> bindings.put(WPS.ComplexDataCombinationsType, new
> ComplexEMFBinding(Wps10Factory.eINSTANCE,WPS.ComplexDataCombinationsType));
> bindings.put(WPS.ComplexDataCombinationType,new
> ComplexEMFBinding(Wps10Factory.eINSTANCE,WPS.ComplexDataCombinationType));
> bindings.put(WPS.ComplexDataDescriptionType, new
> ComplexEMFBinding(Wps10Factory.eINSTANCE,WPS.ComplexDataDescriptionType));
>
> That is, besides a few hand coded ones, all of the others are reflective
> ones.
> If I look at CSWConfiguration instead:
>
> protected final void registerBindings( MutablePicoContainer container ) {
> //Types
>
> container.registerComponentImplementation(CSW.AbstractQueryType,AbstractQueryTypeBinding.class);
>
> container.registerComponentImplementation(CSW.AbstractRecordType,AbstractRecordTypeBinding.class);
>
> container.registerComponentImplementation(CSW.AcknowledgementType,AcknowledgementTypeBinding.class);
>
> container.registerComponentImplementation(CSW.BriefRecordType,BriefRecordTypeBinding.class);
>
> container.registerComponentImplementation(CSW.CapabilitiesType,CapabilitiesTypeBinding.class);
>
> That is, it seems the generator thought all of these were to be created as
> new classes, but
> none of them were generated.
> Looked a bit around and I can't see a way to have the generator to
> generate the class using
> ComplexEMFBinding.
>
> Maybe there is no way, and it has to be done by hand?
> It's not such a big deal, its 43 lines of code to be modified, but I'm
> wondering if I'm missing something obvious here?
> I also had a ton of warning about the module not finding schemas, although
> I've given and double checked and
> the locations I've given the plugin to locate ows and filter seem legit...
>
> The module is here:
>
> https://github.com/geotools/geotools/tree/master/modules/unsupported/csw/xsd-csw
>
> Cheers
> Andrea
>
> --
> ==
> Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
> information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions S.A.S.
> Via Poggio alle Viti 1187
> 55054 Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax: +39 0584 962313
> mob: +39 339 8844549
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> GeoTools-Devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>
>
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel