package org.teiid.example.dataroles; import java.io.ByteArrayInputStream; import java.util.concurrent.ArrayBlockingQueue; import org.teiid.example.ExampleBase; import org.teiid.example.util.FileUtils; import org.teiid.resource.adapter.file.FileManagedConnectionFactory; import org.teiid.runtime.EmbeddedServer; import org.teiid.translator.file.FileExecutionFactory; public class TeiidEmbeddedDataRole extends ExampleBase{ public void execute(String vdb) throws Exception { execute(vdb, null); } @Override public void execute(String vdb, ArrayBlockingQueue<String> queue) throws Exception { server = new EmbeddedServer(); FileExecutionFactory fileExecutionFactory = new FileExecutionFactory(); fileExecutionFactory.start(); server.addTranslator("file", fileExecutionFactory); //$NON-NLS-1$ FileManagedConnectionFactory managedconnectionFactory = new FileManagedConnectionFactory(); managedconnectionFactory.setParentDirectory(FileUtils.readFilePath("embedded-portfolio", "data")); //$NON-NLS-1$ //$NON-NLS-2$ server.addConnectionFactory("java:/marketdata-file", managedconnectionFactory.createConnectionFactory()); //$NON-NLS-1$ start(false); server.deployVDB(new ByteArrayInputStream(vdb.getBytes())); conn = server.getDriver().connect("jdbc:teiid:Portfolio", null); //$NON-NLS-1$ tearDown(); add(queue, "Exit"); //$NON-NLS-1$ } public static void main(String[] args) throws Exception { new TeiidEmbeddedDataRole().execute(FileUtils.readFileContent("dataroles", "portfolio-vdb.xml")); //$NON-NLS-1$ //$NON-NLS-2$ } }