Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-2362

Teiid Vdb Sequencer cannot by loaded in an OSGI environment

    Details

      Description

      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?

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                phantomjinx Paul Richardson
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: