[Simple-support] NullPointerException when trying to serialize map keyed by generic class
Brought to you by:
niallg
|
From: Rob G. <rob...@qu...> - 2008-09-09 06:40:41
|
Hello,
The following code in a class that is to be serialized
@ElementMap(keyType=Class.class, valueType = Component.class)
Map<Class<? extends Component>, Component> components = new HashMap<Class<? extends Component>, Component>();
results in a NullPointerException in Simple 1.7.2
java.lang.NullPointerException
at org.simpleframework.xml.load.Signature.getEntry(Signature.java:102)
at org.simpleframework.xml.load.ElementMapLabel.getEntry(ElementMapLabel.java:136)
at org.simpleframework.xml.load.CacheLabel.<init>(CacheLabel.java:105)
at org.simpleframework.xml.load.LabelFactory.getInstance(LabelFactory.java:65)
at org.simpleframework.xml.load.Scanner.process(Scanner.java:558)
at org.simpleframework.xml.load.Scanner.scan(Scanner.java:514)
at org.simpleframework.xml.load.Scanner.field(Scanner.java:473)
at org.simpleframework.xml.load.Scanner.process(Scanner.java:457)
at org.simpleframework.xml.load.Scanner.scan(Scanner.java:344)
at org.simpleframework.xml.load.Scanner.<init>(Scanner.java:126)
at org.simpleframework.xml.load.ScannerFactory.getInstance(ScannerFactory.java:63)
at org.simpleframework.xml.load.Factory.getScanner(Factory.java:154)
at org.simpleframework.xml.load.Factory.getName(Factory.java:171)
at org.simpleframework.xml.load.Traverser.getName(Traverser.java:236)
at org.simpleframework.xml.load.Traverser.write(Traverser.java:178)
at org.simpleframework.xml.load.Traverser.write(Traverser.java:161)
at org.simpleframework.xml.load.Persister.write(Persister.java:769)
at org.simpleframework.xml.load.Persister.write(Persister.java:751)
at org.simpleframework.xml.load.Persister.write(Persister.java:732)
at org.simpleframework.xml.load.Persister.write(Persister.java:848)
If I change it to
@ElementMap(keyType=Class.class, valueType = Component.class)
Map<Class, Component> components = new HashMap<Class, Component>();
then it works. Looks like the generified Class trips Simple over.
Thanks,
Rob Griffin
Quest Software
Phone +613 98118021
www.quest.com<http://www.quest.com>
|