package org.teiid.test; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.sql.ResultSet; import java.sql.SQLException; import org.teiid.core.types.BlobImpl; import org.teiid.core.types.DataTypeManager; import org.teiid.core.types.InputStreamFactory; import org.teiid.translator.Translator; import org.teiid.translator.jdbc.h2.H2ExecutionFactory; @Translator(name="test", description="A translator for open source H2 Database") public class TestH2ExecutionFactory extends H2ExecutionFactory { @Override public Object retrieveValue(ResultSet results, int columnIndex, Class<?> expectedType) throws SQLException { Integer code = DataTypeManager.getTypeCode(expectedType); if(code.intValue() == DataTypeManager.DefaultTypeCodes.BLOB) { return new BlobImpl(new InputStreamFactory () { @Override public InputStream getInputStream() throws IOException { return new ByteArrayInputStream(new byte[0]); }}); } return super.retrieveValue(results, columnIndex, expectedType); } }