-
Bug
-
Resolution: Done
-
Blocker
-
3.8.0.Final, 4.0.0.Final, 3.8.1.Final
Teiid Designer's Komodo stream is using modeshape as a backend artifact modelling repository. As such it is intended to import and add Vdb artifacts to a repository using the teiid modeshape sequencer.
The application is being built in an Eclipse RCP environment and at least one expected UI for the Komodo 'Engine' will be Eclipse in the same look/feel as Teiid Designer. Thus, the method of utilising Modeshape libraries has been to bring in the built jars from maven and export their packages in a modeshape.lib eclipse plugin. This has worked successfully so far.
However, the VdbSequencer fails to initialise correctly and returns the error:
Unable to initialize the sequencer "Test Repository -> org.modeshape.sequencer.teiid.VdbSequencer uuid=a16a1cbc-b1ee-4c2c-a8f7-90e733b42864 : VDB Sequencer" for repository "Test Repository": The stream to the given cnd file is null
The cnd file concerned is loaded by the Vdb Sequencer's component Model Sequencer, which contains relative paths (starting at line 115) for its cnd files.
This fails in an OSGI environment since the vdb-sequencer library is a jar file and the resolved path 'org/modeshape/sequencer/teiid/model/../model.cnd' is invalid.
Can the sequencer be updated to use something like:
VdbSequencer.class.getResourceAsStream(model.cnd)
and pass the resulting input stream into the equivalent registerNodeTypes method?