|
Re: Errors in VE [message #140085 is a reply to message #140073] |
Thu, 30 August 2007 16:51 |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
James,
I can't really comment on what's wrong in VE. But I can point out to
the folks working on VE that in EMF 2.3 we changed EJavaObject to be
serializable, i.e., we changed EDataType.isSerializable to true for
EJavaObject and we provided support for that directly in EFactoryImpl
via a new method convertToString(Object) which uses java.io.Serializable
to serialize the results to a byte array and then encodes that byte
array has hex. So when this method is called, the instance object must
support java.io.Serializeable. I wouldn't generally expect generated
code to call this EFactoryImpl method except for array types which
otherwise couldn't be serialized without writing specialized code. So
it seems likely that convertViewRectangleToString needs to be
specialized to do something more appropriate. I wonder if this is a new
data type?
James Carroll wrote:
> I'm using Eclipse 3.3 with JRE 1.6 and Eric magnifgant VE port. I am
> getting the following error though:
>
> java.lang.RuntimeException: java.io.NotSerializableException:
> org.eclipse.ve.internal.cdm.model.Rectangle
> at
> org.eclipse.emf.ecore.impl.EFactoryImpl.convertToString(EFac toryImpl.java:65
> 0)
> at
> org.eclipse.ve.internal.cdm.impl.CDMFactoryImpl.convertViewR ectangleToString
> (CDMFactoryImpl.java:377)
> at
> org.eclipse.ve.internal.cdm.impl.CDMFactoryImpl.convertToStr ing(CDMFactoryIm
> pl.java:136)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.convertToString (XMLHelperImpl.j
> ava:1570)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.getDatatypeValue( XMLSaveImpl.java
> :2887)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveDataTypeSingl e(XMLSaveImpl.ja
> va:1609)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:119
> 6)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMISaveImpl.writeTopObjects(X MISaveImpl.java:
> 90)
> at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveI mpl.java:585)
> at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl. java:253)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLRes ourceImpl.java:2
> 05)
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(Resour ceImpl.java:1253
> )
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(Resour ceImpl.java:964)
> at
> org.eclipse.ve.internal.java.codegen.util.VEModelCacheUtilit y.doSaveCache(VE
> ModelCacheUtility.java:158)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.primDoSave(Ja
> vaSourceTranslator.java:1397)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.doSave(JavaSo
> urceTranslator.java:1411)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or$3.doRun(JavaS
> ourceTranslator.java:956)
> at
> org.eclipse.ve.internal.java.codegen.util.ReverseParserJob.r un(ReverseParser
> Job.java:56)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> Caused by: java.io.NotSerializableException:
> org.eclipse.ve.internal.cdm.model.Rectangle
> at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> at java.io.ObjectOutputStream.writeObject(Unknown Source)
> at
> org.eclipse.emf.ecore.impl.EFactoryImpl.convertToString(EFac toryImpl.java:64
> 5)
> ... 34 more
>
>
> Any ideas?
>
>
>
|
|
|
|
Re: Errors in VE [message #616414 is a reply to message #140073] |
Thu, 30 August 2007 16:51 |
Ed Merks Messages: 33217 Registered: July 2009 |
Senior Member |
|
|
James,
I can't really comment on what's wrong in VE. But I can point out to
the folks working on VE that in EMF 2.3 we changed EJavaObject to be
serializable, i.e., we changed EDataType.isSerializable to true for
EJavaObject and we provided support for that directly in EFactoryImpl
via a new method convertToString(Object) which uses java.io.Serializable
to serialize the results to a byte array and then encodes that byte
array has hex. So when this method is called, the instance object must
support java.io.Serializeable. I wouldn't generally expect generated
code to call this EFactoryImpl method except for array types which
otherwise couldn't be serialized without writing specialized code. So
it seems likely that convertViewRectangleToString needs to be
specialized to do something more appropriate. I wonder if this is a new
data type?
James Carroll wrote:
> I'm using Eclipse 3.3 with JRE 1.6 and Eric magnifgant VE port. I am
> getting the following error though:
>
> java.lang.RuntimeException: java.io.NotSerializableException:
> org.eclipse.ve.internal.cdm.model.Rectangle
> at
> org.eclipse.emf.ecore.impl.EFactoryImpl.convertToString(EFac toryImpl.java:65
> 0)
> at
> org.eclipse.ve.internal.cdm.impl.CDMFactoryImpl.convertViewR ectangleToString
> (CDMFactoryImpl.java:377)
> at
> org.eclipse.ve.internal.cdm.impl.CDMFactoryImpl.convertToStr ing(CDMFactoryIm
> pl.java:136)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.convertToString (XMLHelperImpl.j
> ava:1570)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.getDatatypeValue( XMLSaveImpl.java
> :2887)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveDataTypeSingl e(XMLSaveImpl.ja
> va:1609)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:119
> 6)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:1105
> )
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSa veImpl.java:986)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany (XMLSaveImpl.jav
> a:2291)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLS aveImpl.java:146
> 4)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XML SaveImpl.java:25
> 90)
> at
> org.eclipse.emf.ecore.xmi.impl.XMISaveImpl.writeTopObjects(X MISaveImpl.java:
> 90)
> at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveI mpl.java:585)
> at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl. java:253)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLRes ourceImpl.java:2
> 05)
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(Resour ceImpl.java:1253
> )
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(Resour ceImpl.java:964)
> at
> org.eclipse.ve.internal.java.codegen.util.VEModelCacheUtilit y.doSaveCache(VE
> ModelCacheUtility.java:158)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.primDoSave(Ja
> vaSourceTranslator.java:1397)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or.doSave(JavaSo
> urceTranslator.java:1411)
> at
> org.eclipse.ve.internal.java.codegen.core.JavaSourceTranslat or$3.doRun(JavaS
> ourceTranslator.java:956)
> at
> org.eclipse.ve.internal.java.codegen.util.ReverseParserJob.r un(ReverseParser
> Job.java:56)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> Caused by: java.io.NotSerializableException:
> org.eclipse.ve.internal.cdm.model.Rectangle
> at java.io.ObjectOutputStream.writeObject0(Unknown Source)
> at java.io.ObjectOutputStream.writeObject(Unknown Source)
> at
> org.eclipse.emf.ecore.impl.EFactoryImpl.convertToString(EFac toryImpl.java:64
> 5)
> ... 34 more
>
>
> Any ideas?
>
>
>
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
|
Powered by
FUDForum. Page generated in 0.04427 seconds