package com.teiid.quickstart.excel; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import org.junit.AfterClass; import org.junit.Test; import org.teiid.language.Command; import org.teiid.resource.adapter.file.FileManagedConnectionFactory; import org.teiid.runtime.EmbeddedConfiguration; import org.teiid.runtime.EmbeddedServer; import org.teiid.translator.excel.ExcelExecutionFactory; import com.teiid.quickstart.FakeTranslationFactory; import com.teiid.quickstart.TranslationUtility; import com.teiid.quickstart.util.JDBCUtil; public class TestExcelDataSource { static EmbeddedServer server = null; private static Connection conn = null; @Test public void testExecution() { String input = "SELECT Sheet1.ROW_ID, Sheet1.ACCOUNT_ID, Sheet1.PRODUCT_TYPE, Sheet1.PRODUCT_VALUE FROM Sheet1"; TranslationUtility util = FakeTranslationFactory.getInstance().getExampleTranslationUtility(); Command command = util.parseCommand(input); System.out.println(command); Class<?>[] expectedColumnTypesClasses; } protected void init() throws Exception { server = new EmbeddedServer(); ExcelExecutionFactory executionFactory = new ExcelExecutionFactory(); executionFactory.start(); server.addTranslator("excel", executionFactory); FileManagedConnectionFactory managedconnectionFactory = new FileManagedConnectionFactory(); managedconnectionFactory.setParentDirectory("src/file"); server.addConnectionFactory("java:/excel-file", managedconnectionFactory.createConnectionFactory()); server.start(new EmbeddedConfiguration()); server.deployVDB(new FileInputStream(new File("src/vdb/excel-vdb.xml"))); conn = server.getDriver().connect("jdbc:teiid:ExcelVDB", null); } @Test public void testQuery() throws Exception { init(); assertNotNull(conn); assertTrue(JDBCUtil.countResults(conn, "SELECT * FROM Sheet1") > 0); assertTrue(JDBCUtil.countResults(conn, "SELECT * FROM PersonalHoldings") > 0); } @AfterClass public static void tearDown() throws Exception { if(null != conn) { conn.close(); conn = null; } if(null != server) { server.stop(); server = null; } } public static void main(String[] args) throws Exception { TestExcelDataSource test = new TestExcelDataSource(); test.init(); JDBCUtil.executeQuery(conn, "SELECT * FROM Sheet1"); // JDBCUtil.executeQuery(conn, "SELECT * FROM PersonalHoldings"); JDBCUtil.close(conn); } }