Hi, Can I please ask you to create a new Jira issue at http://jira.codehaus.org/browse/CASTOR, and attach all relevant information (from this thread) to it. It's always nice to have a little reminder sitting somewhere and waiting to be resolved eventually.
Werner > -----Ursprüngliche Nachricht----- > Von: Saladin Sharif [mailto:[EMAIL PROTECTED] > Gesendet: Samstag, 07. April 2007 00:26 > An: [email protected] > Betreff: Re: AW: [castor-user] Castor unmarshalling & Spring factory bean > > > Werner, > Thanks for pointing out to me the Unmarshaller(Object) > constructor. For some reason I have overlooked it, > and must not have been aware that it existed. Now I > have a clearer pictures on how this can be done with > Castor. I see two possible ways Castor can be > enhanced to solve this problem of Castor with Spring: > > > 1. First possible solution is to add a new method > called Unmarshaller.setObject(Object) or > Unmarshaller.setRootObject(Object), so that after I > obtain an instance of both the unmarshaller and the > dvConfig objects through the Spring factory bean, I > can call the setObject() method to set the dvConfig > object on the unmarshaller object. > > For example, in the spring xml file we could have the > following DAO bean that would have access to both the > unmarshaller object and the dvConfig object: > > <bean id="dvConfigDAO" > class="com.nget.japps.model.dv.DvConfigDAO"> > <property name="unmarshaller" ref="unmarshaller" /> > <property name="dvConfig" ref="dvConfig" /> > </bean> > > > And inside of the dvConfigDAO we would write the > following code: > > // Set the object that we want to unmarshall to > unmarshaller.setObject(dvConfig); > // Set the castor xml mapping file > unmarshaller.setMapping(map); > > // Create a Reader to the file to unmarshall from > Reader reader = new FileReader(xmlFilePath); > > // Unmarshall the xml into the dv config object > dvConfig = (DvConfig) unmarshaller.unmarshal(reader); > > --- > > > 2. Second possible solution I think is to somehow > modify either the CastorResolverFactoryBean or > CastorUnmarshallerFactoryBean so that we could pass in > an instance of an object that we want to unmarshall > to. For example, in the spring xml file we would have > something like this: > > <bean id="unmarshaller" > class="org.springframework.xml.castor.CastorUnmarshallerFactoryBean"> > <property name="resolver" ref="resolver"/> > <property name="object" ref="dvConfig"/> > </bean> > > > I think either one of these two solutions would work, > and would solve my problem. Let me know if either one > of these solutions is doable. > > Thanks. > > > --- Werner Guttmann <[EMAIL PROTECTED]> wrote: > > > Well, right now, there's no easy solution. I have > > just had a look at > > Unmarshaller(Object), that allows you to set an > > object instance (rather > > than a Class instance) on the Unmarshaller before > > unmarshalling takes > > place. Let me see whether and how this could be > > integrated with the > > Spring factory beans for Castor XML. > > > > Werner > > > > > ********************************************************** > * Saladin Sharif > * e-mail: [EMAIL PROTECTED] > * Visit homepage @ http://gaia.ecs.csus.edu/~sharifs > ********************************************************** > > > > __________________________________________________________________________ > __________ > Don't get soaked. Take a quick peek at the forecast > with the Yahoo! Search weather shortcut. > http://tools.search.yahoo.com/shortcuts/#loc_weather > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

