This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Hi Daniel! XMIReader seems unable to read nested StructureTypes. In my case, it fails to read an XMI containing M1 instances of the following datatypes: <<Class>> GraphEdge { +waypoints {ordered} [2..*]: BezierPoint } <<StructureType>> BezierPoint { +base: Point +control1: Point +control2: Point } <<StructureType>> Point { +x: Double +y: Double } The XMI generated with MDR using XMIWriter looks as follows: [...] <UML:GraphEdge.waypoints> <XMI.field> <XMI.field>413.5</XMI.field> <XMI.field>205.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>380.0</XMI.field> <XMI.field>150.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>465.0</XMI.field> <XMI.field>150.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>513.5</XMI.field> <XMI.field>55.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> <XMI.field> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </XMI.field> </UML:GraphEdge.waypoints> [...] When reading this file, MDR throws a DebugException saying "Wrong number of values of structure: BezierPoint": [...] XMI reader started LINE: 4727 org.netbeans.lib.jmi.util.DebugException: Wrong number of values of structure: BezierPoint at org.netbeans.lib.jmi.xmi.XmiElement$StructureValue.startSub Element(XmiElement.java:1070) at org.netbeans.lib.jmi.xmi.XmiSAXReader.startElement (XmiSAXReader.java:193) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1490) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.content (Parser2.java:1779) at org.apache.crimson.parser.Parser2.maybeElement (Parser2.java:1507) at org.apache.crimson.parser.Parser2.parseInternal (Parser2.java:500) at org.apache.crimson.parser.Parser2.parse (Parser2.java:305) at org.apache.crimson.parser.XMLReaderImpl.parse (XMLReaderImpl.java:442) at javax.xml.parsers.SAXParser.parse (SAXParser.java:345) at org.netbeans.lib.jmi.xmi.XmiSAXReader.read (XmiSAXReader.java:113) at org.netbeans.lib.jmi.xmi.XmiSAXReader.read (XmiSAXReader.java:94) at org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read (XMISaxReaderImpl.java:67) at org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read (XMISaxReaderImpl.java:49) at jboogie.app.test.mdr.ditest.JBoogieM1Reader.readM1XmiFile (JBoogieM1Reader.java:93) at jboogie.app.test.mdr.ditest.JBoogieM1Reader.run (JBoogieM1Reader.java:55) at jboogie.app.test.mdr.ditest.JBoogieM1Reader.main (JBoogieM1Reader.java:47) [...] This looks like a bug in either XMIReader or perhaps XMIWriter. Regards, Jens ____________________________________________ | Jens Fransson | University of Hamburg | Department of Computer Science | Vogt-Koelln-Str. 30 | 22527 Hamburg, Germany | E-Mail: 3fransso@informatik.uni-hamburg.de
Fixed.
quiet for too long, verified