cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benson Margulies" <bim2...@basistech.com>
Subject RE: DefaultTypaMappingRegistry issue [was: Aegis binding and property/fiels removal]
Date Fri, 21 Sep 2007 20:48:25 GMT
One additional note: before launching down this path, I strongly suggest
an experiment in just patching the source of CXF in that method of
XMLTypeCreator to prove feasibility.

> -----Original Message-----
> From: Benson Margulies [mailto:bim2007@basistech.com]
> Sent: Friday, September 21, 2007 4:43 PM
> To: cxf-user@incubator.apache.org
> Subject: RE: DefaultTypaMappingRegistry issue [was: Aegis binding and
> property/fiels removal]
> 
> I don't have a clue why DefaultTypeMappingRegistry is final. It looks
> like a mistake. Why put protected methods in a final class?
> 
> Here's my temporary prescription.
> 
> 1) make a subclass of XMLTypeCreator. You'll probably have to override
> createClassInfo(PropertyDescriptor). If you get one of the properties
> you don't like, return null. (I could be wrong about null). In real
> life, the ignore property is noted way down in the BeanTypeInfo, and
> overriding \that/ would be a ton of work.
> 
> 2) Assembly a chain of type creators like that assembled in the
default
> type mapping registry, with your subclass at the front. Pass it to
> setTypeCreator on the type mapping registry.
> 
> Removing the wayward 'final' is an easy patch post 2.0.2, and I'd
> consider some feature development (in the Configuration) object to
allow
> this from Spring configuration (a pattern of unloved property names?).
> 
> > -----Original Message-----
> > From: tog [mailto:guillaume.alleon@gmail.com]
> > Sent: Friday, September 21, 2007 4:22 PM
> > To: cxf-user@incubator.apache.org
> > Subject: DefaultTypaMappingRegistry issue [was: Aegis binding and
> > property/fiels removal]
> >
> > There seems to be an renewed interest for Aegi on the list (thanks
> > Benson ;-) )
> > Can someone comment if what I want to achieve is do-able ? According
> > to Dan D. it is. I am clueless regarding step 4 (quoted below)
> >
> > Thanks
> > Guillaume
> >
> > ---------- Forwarded message ----------
> > From: tog <guillaume.alleon@gmail.com>
> > Date: Sep 11, 2007 4:20 PM
> > Subject: DefaultTypaMappingRegistry issue [was: Aegis binding and
> > property/fiels removal]
> > To: cxf-user@incubator.apache.org
> >
> >
> >
> > Hi Dan,
> >
> > Sorry not to follow up quickly. Actually, the
> > DefaultTypaMappingRegistry is final and cannot be extended as you
> > suggest.
> >
> > Some more insights on what I want to achieve. Today, in GroovyWS,
the
> > users have to write a .aegis.xml file for each bean they will  write
> > in Groovy. This file is  always the same  containing the line:
> >
> > <property name="metaClass" ignore="true"/>
> >
> > I would like to modify the behavior of the BeanType inside the Aegis
> > Binding so that if such a field is present it can be ignored.
> >
> > Is there some documentation on how to modify the
> > DefaultTypeMappingRegisty ?
> >
> > Cheers
> > Guillaume
> >
> >
> >
> > >
> > >
> > > Step 4: Write your own type registry to return your own
TypeCreator
> > >
> > > public class MyTypeMappingRegistry extends
> DefaultTypeMappingRegistry {
> > >
> > >     protected AbstractTypeCreator createDefaultTypeCreator() {
> > >         AbstractTypeCreator creator = new MyTypeCreator();
> > >         creator.setConfiguration(getConfiguration());
> > >         return creator;
> > >     }
> > > }
> > >
> > > Step 5: use it:
> > >
> > > ServerFactoryBean sfb = new ServerFactoryBean();
> > >
> > > AegisDatabinding db = new AegisDataBinding();
> > > db.setTypeMappingRegistry(new MyTypeMappingRegistry());
> > > sfb.setDatabinding(db);
> > > ...
> > >
> > > Hope that works for you!
> > >
> > > - Dan
> > >
> > > On 8/27/07, tog < guillaume.alleon@gmail.com> wrote:
> > > >
> > > > Hiya
> > > >
> > > > I have some automatically generated classes that I use to
generate
> a
> > > > server
> > > > using Aegis. This is done programmaticaly. I am using an
> > > > AegisServiceConfiguration class to avoid publishing methods that
I
> > want to
> > > > remove. I would like similarly to remove some fields/properties
> from
> > the
> > > > serialization process.
> > > > How is that possible (programmaticaly) ?
> > > >
> > > > Thanks for your help.
> > > >
> > > > Guillaume
> > > >
> > >
> >
> >
> >
> > --
> >
> > Best Regards
> > Guillaume
> >  http://cheztog.blogspot.com
> >
> > --
> >
> > Best Regards
> > Guillaume
> > http://cheztog.blogspot.com
> >
> > --
> >
> > Best Regards
> > Guillaume
> > http://cheztog.blogspot.com

Mime
View raw message