I have embedded Teiid 12.3 in a Spring Boot application. I want to get into the metadata of my VDB in order to generate a diagram using graphviz-java. I assume that if I have a org.teiid.metadata.Table
object, I can call getIncomingObjects()
to get references to tables that table depends on. I just can't figure out how to navigate from the EmbeddedServer
to the Table
objects.
I looked into using the administration API available via EmbeddedServer.getAdmin()
. From there, I can call getVDBs()
, and from there I can navigate down to getModels()
, but below that level there is only the model source via getSourceMetadataText()
. I also tried subclassing EmbeddedServer
to make getVDBRepository()
public. I can call getVDBRepository()*.getModels()
, but it returns the same Model
objects only get me access to the source definition of the models, not the runtime metadata model.
I tried getVDBRepository().getSystemStore()
and VDBRepository.getODBCStore()
, but those MetadataStore
s are not for the VDB I have deployed.
I haven't found any examples by Google, Teeid JIRA, Teiid forum, or StackOverflow to help me.