Re: [mdr-users] UML2MOF throws ClassCastException
Martin Matula <[email protected]> Tue, 12 Jul 2005 12:37:06 +0200
| Newsgroups | gmane.comp.java.netbeans.modules.mdr.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Falk,
the model you are referring to is not a valid UML model - Enterprise
Architect has several UML XMI compliance issues - some of them were
already discussed on this mailing list.
The particular issue that causes the ClassCastException is that
Enterprise Architect puts a tag representing a reference under another
tag representing a reference - this is illegal - only reference values
should be under this tag. I would not be surprised if the XML you are
trying to import does not even validate against the UML DTD.
<UML:Namespace.ownedElement>
<UML:Stereotype
xmi.id="EAID_9E47C9AF_9FDE_42cb_B308_4686EAEE32B6" name="XSDschema"
isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Stereotype.baseClass>Package</UML:Stereotype.baseClass>
</UML:Stereotype>
<!---------------------- The problem is the element below
--------------------------------->
<UML:ModelElement.stereotype>
<UML:Stereotype
xmi.idref="EAID_9E47C9AF_9FDE_42cb_B308_4686EAEE32B6"/>
</UML:ModelElement.stereotype>
Elements under <UML:Namespace.ownedElement> are supposed to be the
instances that are owned elements of a given element. However
<UML:ModelElement.stereotype> does not represent an object (instance) -
it represents a reference.
Regards,
Martin
Falk Hartmann wrote:
>Hi,
>
>when trying to convert an XMI 1.2 file produced by Enterprise Architect 5.0
>(available here as zip: http://www.lixlix.org/misc/XForms.zip) using
>UML2MOF, I permanently get the following error message:
>
>java.lang.ClassCastException: javax.jmi.model.Reference$Impl
> at
>org.netbeans.lib.jmi.xmi.XmiContext.resolveInstanceOrReference(XmiContext.java:688)
> at
>org.netbeans.lib.jmi.xmi.XmiElement$ObjectValues.startSubElement(XmiElement.java:1460)
> at
>org.netbeans.lib.jmi.xmi.XmiSAXReader.startElement(XmiSAXReader.java:219)
> at
>com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
>Source)
> at
>com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
>Source)
> at
>com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
>Source)
>
> at
>com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
>Source)
> at
>com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
>Source)
> at
>com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
>Source)
> at
>com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
> at
>com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
>Source)
> at javax.xml.parsers.SAXParser.parse(Unknown Source)
> at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:136)
> at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:107)
> at
>org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:58)
> at
>org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:51)
> at org.netbeans.lib.jmi.uml2mof.Main.main(Main.java:56)
>*********** Exception occurred ************ at Thu Jul 07 13:23:20 CEST 2005
>javax.jmi.xmi.MalformedXMIException: java.lang.ClassCastException:
>javax.jmi.model.Reference$Impl
> at
>org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:64)
> at
>org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:51)
> at org.netbeans.lib.jmi.uml2mof.Main.main(Main.java:56)
>
>Did anyone encounter a similar problem or has hints on how to resolve this
>problem?
>
>Thank you very much in advance,
>Falk Hartmann ([email protected])
>
>