Thomas, let me know if you cannot work around this, and need some help. I am sure something can be worked out.
Regards Werner Thomas Cherel wrote: > > Thanks Werner, I appreciate the feedback. > > Sorry for "missing" the 1.5 question but our usage of Castor is something > that is very recent (one month ago). > > I think this is fine, we can probably work around it for now until our JRE > 1.4 requirement goes away. > > > > --- On Wed, 2/11/09, Werner Guttmann <[email protected]> wrote: > >> From: Werner Guttmann <[email protected]> >> Subject: Re: [castor-user] Marshaller.setProperty operation not working with >> castor 1.2? >> To: [email protected] >> Date: Wednesday, February 11, 2009, 9:30 AM >> Hi Thomas, >> >> Thomas Cherel wrote: >>> I am trying to programmatically set some of the castor >> properties to >>> customize the XML marshalling behavior and it does not >> seem to work. >> Well, to keep a long story short, there was a bug with >> InternalContext >> that prevented setting some of those properties >> programmaticly and >> prevented propagation from XMLContext to Un-/Marshaller. To >> my >> knowledge, that has been fixed with Castor 1.3. >> >>> Code snippet and output are included below. >>> >>> I am using Casto 1.2 and based on this document, >>> >> http://www.castor.org/1.3/xml-properties.html#Current-configuration-file, >>> my understanding is that it should work: >>> >>> As of Castor 1.1, it is possible to read and set the >> value of >>> properties programmatically using the >> getProperty(String) and >>> setProperty(String,String) on the following classes: >>> >>> - org.exolab.castor.xml.Unmarshaller - >>> org.exolab.castor.xml.Marshaller - >> org.exolab.castor.xml.XMLContext >>> Whilst using the setter methods on the first two >> classes will change >>> the settings of the respective instances only, using >> the >>> setProperty() method on the XMLContext class will >> change the >>> configuration globally, and affect all Unmarshaller >> and Marshaller >>> instances created thereafter using the >> createUnmarshaller() and >>> createMarshaller() methods. >>> >>> I also tried to set the property at the XMLContext >> level, no success. >>> The only I am able to make it work is with a >> castor.properties file >>> in the classpath. >> Yes, correct. See above. >> >>> Am I missing something obvious? >>> >>> I did not try Castor 1.3 as I have a hard requirement >> for JRE 1.4 >>> support. >> Oh lord .... how come not a single user did raise any >> concerns when we >> *publicly* asked about three months ago about our desire to >> upgrade to >> Java 5.0. >> >> Having said that, there might be ways to *maybe* release >> Castor 1.2.1 on >> specific request. But to be honest, given our questions >> months ago, this >> will be very hard to argue (non-commercially). >> >>> Op1Request op = new Op1Request(); op.setArg1(12345); >>> >>> Marshaller marshaller = new Marshaller(new >>> OutputStreamWriter(System.out)); >>> >> marshaller.setProperty("org.exolab.castor.xml.introspector.primitive.nodetype", >>> "element"); >> marshaller.setProperty("org.exolab.castor.xml.naming", >>> "mixed"); >> marshaller.setProperty("org.exolab.castor.indent", >> "true"); >>> marshaller.marshal(op); >>> >>> And I get the following output showing that the >> properties are not >>> taken into account: >>> >>> <?xml version="1.0" >> encoding="UTF-8"?> <op1-request >> arg1="12345"/> >>> >>> >>> >>> >> --------------------------------------------------------------------- >>> 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 > > > > > --------------------------------------------------------------------- > 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

