commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simone Tripodi <simonetrip...@apache.org>
Subject Re: [digester] Reading in Enums
Date Fri, 06 Jul 2012 12:51:48 GMT
Hi Neil,

apologize for the late reply - the Digester relies on BeanUtils to
perform text to Java object unmarshalling, so for your enumeration(s)
type you have to plug the needed converter.

Have a look at "Data Type Conversions"[1] to understand how to convert
the extracted XML body text to OneDBarcodeFormat; basically you have
to implement the Converter[2] interface and register it via the
ConvertUtils.html#register()[3] method.
The Digester will do the rest.

HTH and don't hesitate on writing back to the ML if needed!
All the best,
-Simo

[1] http://commons.apache.org/beanutils/v1.8.3/apidocs/org/apache/commons/beanutils/package-summary.html#conversion
[2] http://commons.apache.org/beanutils/v1.8.3/apidocs/org/apache/commons/beanutils/Converter.html
[3] http://commons.apache.org/beanutils/v1.8.3/apidocs/org/apache/commons/beanutils/ConvertUtils.html#register(org.apache.commons.beanutils.Converter,
java.lang.Class)

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/


On Wed, Jul 4, 2012 at 9:30 PM, Neil Benn <neil.benn@ziath.com> wrote:
> Hello,
>
>   I have a class which holds a set of enums; I'm writing out to the xml
> file the name of the enum and I want to read it back in with Digester.
>  However I'm having a hard time working out how to do that - has anyone
> managed to read in the enums.  I'm currently trying:
>
> Digester digester = new Digester();
> digester.addObjectCreate("barcodeScanner", BarcodeScannerModel.class);
> digester.addSetProperties("barcodeScanner");
> digester.addCallMethod("barcodeScanner/formats/OneDBarcodeFormat",
> "addPossibleOneDBarcodeFormat", 1);
> digester.addCallParam("barcodeScanner/formats/OneDBarcodeFormat", 0,
> "format");
>
>   This however returns the error message of :
>
> java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 4;
> columnNumber: 39; Error at line 4 char 39: No such accessible method:
> addPossibleOneDBarcodeFormat() on object:
> com.ziath.datapaq.application.BarcodeScannerModel
> at
> com.ziath.datapaq.application.ConfigureBarcodeScannerPanel$ConfigureFileReader.load(ConfigureBarcodeScannerPanel.java:443)
>
>   The method is question is:
>
> public void addPossibleOneDBarcodeFormat(OneDBarcodeFormat format){
> this.formats.add(format);
> }
>
>   The method is there so I guess it is just the parameter that is the
> problem in that Digester is trying to pass a String whereas it needs an
> enum.  So, if anyone can help that would be greatly appreciated.
>
>   Thanks.
>
> Cheers,
>
> Neil
>
> --
>
> Neil Benn MSc
> Ziath Ltd
> Phone: +44 (0) 1223 655577
> http://www.ziath.com
>
> *Please consider the environment before printing this email.*
>
> Follow us on Facebook <http://www.facebook.com/ziathltd>,
> Twitter<http://www.twitter.com/ziath_ltd>or
> LinkedIn <http://www.linkedin.com/company/ziath-ltd>
>
> IMPORTANT NOTICE: This message, including any attached documents, is
> intended only for the use of the individual or entity to which it is
> addressed, and may contain information that is privileged, confidential and
> exempt from disclosure under applicable law. If the reader of this message
> is not the intended recipient, or the employee or agent responsible for
> delivering the message to the intended recipient, you are hereby notified
> that any dissemination, distribution or copying of this communication is
> strictly prohibited. If you have received this communication in error,
> please notify Ziath Ltd immediately by email at info@ziath.com. Thank you.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message