tpokrajcic / asx3m

asx3m library makes de/serialization between ActionScript3 objects and XML easy
1 stars 0 forks source link

Cannot convert object with metadata #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
1) Using blazeDS hibernate flex3.0 as my setup
package com.domain{
    import mx.collections.ArrayCollection;

    [Bindable] 
    [RemoteClass(alias="com.domain.FormCanvas")]
    public class FormCanvas
    {
    public var canvasLabel:String=new String();
    [ArrayElementType("com.domain.FormElement")]
    public var elementList:ArrayCollection=new ArrayCollection();
    public var form:Form;
    public var id:Number;
    }
}
2) 

package com.domain{   
    [Bindable] 
    [RemoteClass(alias="com.domain.FormElement")]
    public class FormElement{
    public var id:Number;
    public var _canvas:FormCanvas;
        public var elementId:Number;
    public var caption:String;
    public var elementType:String;
    public var width:Number;
    public var height:Number;
    public var fontFamily:String;
    public var fontSize:String;
    public var x:Number;
    public var y:Number;    
}

3) Now try 
populate FormCanvas....
Asx3mer.instance.toXML(formCanvas)
will throw an error

What is the expected output? What do you see instead?
Should convert the object into variable

Please provide any additional information below.

Error: Error #1023: Stack overflow occurred.
    at
hr.binaria.asx3m.io.xml::E4XWriter/getCurrent()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\io\xml\E4XWriter.as:91]
    at
hr.binaria.asx3m.io.xml::E4XWriter/top()[C:\Dev\FlexBuilder3Workspace\asx3m\src\
hr\binaria\asx3m\io\xml\E4XWriter.as:94]
    at
hr.binaria.asx3m.io.xml::E4XWriter/createNode()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\io\xml\E4XWriter.as:69]
    at
hr.binaria.asx3m.io.xml::E4XWriter/startNode()[C:\Dev\FlexBuilder3Workspace\asx3
m\src\hr\binaria\asx3m\io\xml\E4XWriter.as:61]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:84]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.reflection::ReflectionConverter/marshal()[C:\Dev\Fle
xBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\reflection\ReflectionCo
nverter.as:101]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]
    at
hr.binaria.asx3m.converters.collections::AbstractCollectionConverter/writeItem()
[C:\Dev\FlexBuilder3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\
AbstractCollectionConverter.as:53]
    at
hr.binaria.asx3m.converters.collections::ListConverter/marshal()[C:\Dev\FlexBuil
der3Workspace\asx3m\src\hr\binaria\asx3m\converters\collections\ListConverter.as
:43]
    at
hr.binaria.asx3m.core::TreeMarshaller/convert()[C:\Dev\FlexBuilder3Workspace\asx
3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:52]
    at
hr.binaria.asx3m.core::TreeMarshaller/convertAnother()[C:\Dev\FlexBuilder3Worksp
ace\asx3m\src\hr\binaria\asx3m\core\TreeMarshaller.as:48]

Original issue reported on code.google.com by ankurmit...@gmail.com on 3 Sep 2009 at 9:49

GoogleCodeExporter commented 9 years ago
However if I remove the meta data 
[ArrayElementType("com.domain.FormElement")]
It works fine.

Original comment by ankurmit...@gmail.com on 3 Sep 2009 at 9:50

GoogleCodeExporter commented 9 years ago
Hi,
I'll check out this issue.
Cheers,

Tomislav

Original comment by tpokraj...@gmail.com on 20 Sep 2009 at 5:12