Re: unknown reference or circularity in instance dependences detected

Martin Matula <[email protected]> Mon, 29 Sep 2003 15:59:34 +0200
Newsgroups gmane.comp.java.netbeans.modules.mdr.devel
Message-ID <[email protected]>
Hi,
no, this is not possible. Moreover, the problem you probably have is not 
with the incorrectness of the XMI file - the XMI file is correct, but 
the model serialized in it is not wellformed in a sense that it seems to 
break some deferred constraints. One way to find out which elements 
break this constraint is to try to call refVerifyConstraints on them 
programatically.
Martin

Bin Fu wrote:
> Hi, Martin,
> 
> is there any way to execute the XML file with MDR step by step (such 
> like "debug mode"), so that I can find what is needed in my XML file?
> I found that there is a link to "source code" under mdr.netbeans.org, 
> but I failed to find source code of MDR.
> 
> Thanks!
> Kind regards
> 
> Bin
> 
> 
> 
> Martin Matula wrote:
> 
>> Hi,
>> it seems that for some reason, scope of an attribute (whether it is a 
>> classifier level or instance level) is not set, so the metamodel you 
>> are trying to generate the interfaces from is not well-formed.
>> Martin
>>
>> Bin Fu wrote:
>>
>>> Dear Martin,
>>>
>>> thanks for your answer. I found out the problem that is exactly as 
>>> what you said.
>>> After I solved this problem, I am able to load xml file into MDR 
>>> without problem. And then I selected some packages that I need and 
>>> clicked righ mouse to try to export them as JMI interfaces. 
>>> Afterwards one error message came: "Exception occurred in Request 
>>> Processor" (Details is shown following)
>>>
>>> Now that xml file can already be loaded, why is there still problem?
>>> Thanks again!
>>>
>>> Bin
>>>
>>>
>>> Annotation: Exception occurred in Request Processor
>>> java.lang.NullPointerException
>>>    at 
>>> org.netbeans.lib.jmi.mapping.JavaMapper$ClassContents.<init>(JavaMapper.java:621) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.JavaMapper$ClassContents.<init>(JavaMapper.java:592) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.JavaMapper.getClassContents(JavaMapper.java:587) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.JavaMapper.classInstanceTemplate(JavaMapper.java:548) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:344) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:331) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:335) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:335) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:335) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.GenericMapper.visitRefBaseObject(GenericMapper.java:399) 
>>>
>>>    at 
>>> org.netbeans.lib.jmi.mapping.JMIMapperImpl.generate(JMIMapperImpl.java:57) 
>>>
>>>    at 
>>> org.netbeans.modules.mdrexplorer.looks.reflect.actions.Map2JavaAction$1.run(Map2JavaAction.java:75) 
>>>
>>>    at org.openide.util.Task.run(Task.java:136)
>>>    at 
>>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
>>> [catch] at 
>>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670) 
>>>
>>>
>>>
>>>
>>>
>>> Martin Matula wrote:
>>>
>>>> The reason for this error usually is that there is xmi.idref element 
>>>> pointing to an object that does not exist. In this case, it seems 
>>>> that there is xmi.idref="String" (something references an object 
>>>> with id="String"), but there seems to be no object defined in the 
>>>> XMI file that would have the xmi.id attribute set to "String".
>>>> Martin
>>>>
>>>> Bin Fu wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> If I use MDR to process a parsered XML file, following error 
>>>>> message will occur
>>>>> What could be the reason?
>>>>>
>>>>> Bin
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> javax.jmi.xmi.MalformedXMIException: 
>>>>> org.netbeans.lib.jmi.util.DebugException: Unknown reference or 
>>>>> circularity in instance dependences detected, bad reference: String
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:77) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:59) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.modules.mdrexplorer.looks.reflect.actions.LoadXMIAction$1.run(LoadXMIAction.java:111) 
>>>>>
>>>>>    at org.openide.util.Task.run(Task.java:136)
>>>>>    at 
>>>>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
>>>>> [catch] at 
>>>>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670) 
>>>>>
>>>>> ==>
>>>>> Annotation: XMI parsing error at line: 16685: Unknown reference or 
>>>>> circularity in instance dependences detected, bad reference: String
>>>>> org.netbeans.lib.jmi.util.DebugException: Unknown reference or 
>>>>> circularity in instance dependences detected, bad reference: String
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XmiSAXReader.endElement(XmiSAXReader.java:252) 
>>>>>
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1683)
>>>>>    at org.apache.crimson.parser.Parser2.content(Parser2.java:1926)
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654)
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:634)
>>>>>    at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
>>>>>    at 
>>>>> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
>>>>>    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:118)
>>>>>    at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:99)
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:71) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:59) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.modules.mdrexplorer.looks.reflect.actions.LoadXMIAction$1.run(LoadXMIAction.java:111) 
>>>>>
>>>>>    at org.openide.util.Task.run(Task.java:136)
>>>>>    at 
>>>>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
>>>>> [catch] at 
>>>>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670) 
>>>>>
>>>>> ==>
>>>>> org.netbeans.lib.jmi.util.DebugException: Unknown reference or 
>>>>> circularity in instance dependences detected, bad reference: String
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XmiElement$Content.endElement(XmiElement.java:395) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XmiSAXReader.endElement(XmiSAXReader.java:240) 
>>>>>
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1683)
>>>>>    at org.apache.crimson.parser.Parser2.content(Parser2.java:1926)
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654)
>>>>>    at 
>>>>> org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:634)
>>>>>    at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
>>>>>    at 
>>>>> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
>>>>>    at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:118)
>>>>>    at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:99)
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:71) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read(XMISaxReaderImpl.java:59) 
>>>>>
>>>>>    at 
>>>>> org.netbeans.modules.mdrexplorer.looks.reflect.actions.LoadXMIAction$1.run(LoadXMIAction.java:111) 
>>>>>
>>>>>    at org.openide.util.Task.run(Task.java:136)
>>>>>    at 
>>>>> org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:328)
>>>>> [catch] at 
>>>>> org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:670) 
>>>>>
>>>>> ==>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
> 
> 
>