Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problemas con Set en Castor

Estas en el tema de Problemas con Set en Castor en el foro de Programación General en Foros del Web. Tengo un bean que contiene varios atributos que son Set: ... private Set<Tercero> tercerosIndirectos = new HashSet<Tercero>(0); private Set<Tercero> tercerosDirectos = new HashSet<Tercero>(0); ... Al ...
  #1 (permalink)  
Antiguo 25/08/2009, 04:19
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 16 años, 1 mes
Puntos: 5
Problemas con Set en Castor

Tengo un bean que contiene varios atributos que son Set:

...
private Set<Tercero> tercerosIndirectos = new HashSet<Tercero>(0);
private Set<Tercero> tercerosDirectos = new HashSet<Tercero>(0);
...

Al generar el xml desde el bean me genera bien los nodos..

...

<terceros-indirectos>
<datos-personales>
<dni>dni de otro familiar</dni>
<apellido1>apellido 1 otro familiar</apellido1>
<nombre>nombre otro familiar</nombre>
<apellido2>apellido 2 otro familiar</apellido2>
</datos-personales>
<direccion>
<codigo-postal>codigo postal de otro familiar</codigo-postal>
<direccion>direccion completa de otro familiar</direccion>
<provincia>
<provincia-ds>provincia otro familiar</provincia-ds>
</provincia>
</direccion>
</terceros-indirectos>

...

pero a leer del xml y meterlo en el bean con el:

Usuario usuario=(Usuario)Unmarshaller.unmarshal(Usuario.cl ass, reader);

Me da el siguiente error...

org.exolab.castor.xml.MarshalException: Unable to instantiate java.util.Set; {File: [not available]; line: 15; column: 24}
at org.exolab.castor.xml.Unmarshaller.convertSAXExcep tionToMarshalException(Unmarshaller.java:794)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:760)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:626)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:840)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.crearBeanUsuarioDesdeXML(CrearXmlDesd eEntidad.java:52)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.main(CrearXmlDesdeEntidad.java:41)
Caused by: java.lang.InstantiationException: java.util.Set
at org.exolab.castor.xml.UnmarshalHandler.createInsta nce(UnmarshalHandler.java:2583)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:2347)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:1435)
at org.apache.xerces.parsers.AbstractSAXParser.startE lement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:748)
... 4 more
Caused by: java.lang.InstantiationException: java.util.Set
at org.exolab.castor.xml.UnmarshalHandler.createInsta nce(UnmarshalHandler.java:2583)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:2347)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:1435)
at org.apache.xerces.parsers.AbstractSAXParser.startE lement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:748)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:626)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:840)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.crearBeanUsuarioDesdeXML(CrearXmlDesd eEntidad.java:52)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.main(CrearXmlDesdeEntidad.java:41)
Caused by: java.lang.InstantiationException: java.util.Set
at org.exolab.castor.xml.UnmarshalHandler.createInsta nce(UnmarshalHandler.java:2583)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:2347)
at org.exolab.castor.xml.UnmarshalHandler.startElemen t(UnmarshalHandler.java:1435)
at org.apache.xerces.parsers.AbstractSAXParser.startE lement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:748)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:626)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmar shaller.java:840)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.crearBeanUsuarioDesdeXML(CrearXmlDesd eEntidad.java:52)
at com.ibtim.beneficios.importadorXML.prueba.CrearXml DesdeEntidad.main(CrearXmlDesdeEntidad.java:41)


¿Alguien me puede ayudar?

No se si necesitare crear un mapping...pero no se como hacerlo...
Gracias.
  #2 (permalink)  
Antiguo 20/11/2012, 09:08
 
Fecha de Ingreso: noviembre-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Respuesta: Problemas con Set en Castor

Buenos días,

Tengo exactamente el mismo problema, mis ideas son:

- Crearme un constructor vacío de la clase "Datos personales" (no creo que funcione)
- Cambiar el Set a ArrayList

He estado buscando más allá pero no he encontrado la solución.
Alguien podría echarle un vistazo a este problema?

Graicas!

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:25.