RE: [xml-dev] contradictory loader ordering in 3.5
"Richard Unger" <[email protected]> Thu, 20 Mar 2003 16:41:27 -0800
| Newsgroups | gmane.comp.java.netbeans.modules.xml.devel |
|---|---|
| Message-ID | <[email protected]> |
> -----Original Message----- > From: Richard Unger=20 > Sent: Thursday, March 20, 2003 4:07 PM > To: [email protected] > Subject: RE: [xml-dev] contradictory loader ordering in 3.5 >=20 >=20 > > I can see one problem here and it is that your loader > > produces the same DataObject class as XMLDataLoader. And > > loaders order is _surprisingly_ keyed by DataObject classes. > > You may need to introduce artificial DataLodaer and > > DataObject classes to resolve it. > >=20 > > Cc. > >=20 >=20 > Ah, I seem to have found the problem. I had neglected to=20 > make the change: >=20 > public VoiceXMLDataLoader() { > //super(org.netbeans.modules.xml.core.XMLDataObject.class); > super("org.netbeans.modules.xml.core.XMLDataObject"); > } >=20 > That makes the TopologicalSortException go away, even when I=20 > specify in my manifest: >=20 > Name: com/nuance/tools/voicexml/VoiceXMLDataLoader.class > OpenIDE-Module-Class: Loader > Install-Before: org.netbeans.modules.xml.core.XMLDataObject >=20 > However, The Install-Before directive still seems not to=20 > work. It still gets loaded after the XMLDataObject. >=20 Sorry for all the posts. Well, I was wrong, the TopologicalSortException came back, after 2 more = restarts. So, now I tried a dummy data object. My loader looks like: public VoiceXMLDataLoader() { = super("com.nuance.tools.voicexml.VoiceXMLDataLoader$DummyDataObject"); } protected MultiDataObject createMultiObject (FileObject primaryFile) throws DataObjectExistsException { return new org.netbeans.modules.xml.core.XMLDataObject(primaryFile, = this); } For now, that seems to have fixed everything. My loaders come up in the = right order, and there doesn't seem to be any adverse effect to using = this DummyDataObject. If there isn't something horrible I'm doing here = without realizing, I'm going to stick with this solution. Thanks, Rich