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