Author: rareddy
Date: 2010-08-13 11:42:17 -0400 (Fri, 13 Aug 2010)
New Revision: 2460
Modified:
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecution.java
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecutionFactory.java
Log:
TEIID-1207: adding metadata for dynamic vdb scenarios
Modified: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt
===================================================================
---
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt 2010-08-13
12:06:36 UTC (rev 2459)
+++
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt 2010-08-13
15:42:17 UTC (rev 2460)
@@ -17,7 +17,7 @@
Use the simple client example run script, or another client, to execute a query, e.g.
-$./run.sh localhost 31000 dynamicportfolio "select * from product, (call
MarketData.getTextFiles('*.txt')) f, TEXTTABLE(f.file COLUMNS symbol string, price
bigdecimal HEADER) price where product.symbol=price.symbol"
+$./run.sh localhost 31000 dynamicportfolio "select * from product, (call
MarketData.getTextFiles('*.txt')) f, TEXTTABLE(f.file COLUMNS symbol string, price
bigdecimal HEADER) stock where product.symbol=stock.symbol"
This example will execute the query against both Derby and the text files. The
files returned from the getTextFiles procedure are passed to the TEXTTABLE table
Modified:
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecution.java
===================================================================
---
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecution.java 2010-08-13
12:06:36 UTC (rev 2459)
+++
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecution.java 2010-08-13
15:42:17 UTC (rev 2460)
@@ -268,7 +268,7 @@
List output = new ArrayList(neededColumns.length);
for(int i=0; i<neededColumns.length; i++) {
- output.add(row.get(neededColumns[i]));
+ output.add(row.get(neededColumns[i]-1));
}
return output;
Modified:
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecutionFactory.java
===================================================================
---
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecutionFactory.java 2010-08-13
12:06:36 UTC (rev 2459)
+++
trunk/connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo/YahooExecutionFactory.java 2010-08-13
15:42:17 UTC (rev 2460)
@@ -22,17 +22,21 @@
package org.teiid.translator.yahoo;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.language.QueryExpression;
import org.teiid.language.Select;
+import org.teiid.metadata.MetadataFactory;
import org.teiid.metadata.RuntimeMetadata;
-import org.teiid.translator.Translator;
-import org.teiid.translator.TranslatorException;
+import org.teiid.metadata.Table;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.ResultSetExecution;
+import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
@Translator(name="yahoo")
public class YahooExecutionFactory extends ExecutionFactory<Object, Object> {
@@ -63,4 +67,20 @@
public int getMaxInCriteriaSize() {
return YAHOO_MAX_SET_SIZE;
}
+
+ @Override
+ public void getMetadata(MetadataFactory metadataFactory, Object connection) throws
TranslatorException {
+ Table t = metadataFactory.addTable("Stock"); //$NON-NLS-1$
+ metadataFactory.addColumn("symbol", DataTypeManager.DefaultDataTypes.STRING,
t); //$NON-NLS-1$
+ metadataFactory.addColumn("last", DataTypeManager.DefaultDataTypes.DOUBLE,
t); //$NON-NLS-1$
+ metadataFactory.addColumn("date", DataTypeManager.DefaultDataTypes.DATE, t);
//$NON-NLS-1$
+ metadataFactory.addColumn("time", DataTypeManager.DefaultDataTypes.TIME, t);
//$NON-NLS-1$
+ metadataFactory.addColumn("change", DataTypeManager.DefaultDataTypes.DOUBLE,
t); //$NON-NLS-1$
+ metadataFactory.addColumn("open", DataTypeManager.DefaultDataTypes.DOUBLE,
t); //$NON-NLS-1$
+ metadataFactory.addColumn("high", DataTypeManager.DefaultDataTypes.DOUBLE,
t); //$NON-NLS-1$
+ metadataFactory.addColumn("low", DataTypeManager.DefaultDataTypes.DOUBLE, t);
//$NON-NLS-1$
+ metadataFactory.addColumn("volume",
DataTypeManager.DefaultDataTypes.BIG_INTEGER, t); //$NON-NLS-1$
+ metadataFactory.addAccessPattern("needs_symbol",
Arrays.asList("symbol"), t); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
}
Show replies by date