[teiid-commits] teiid SVN: r2460 - in trunk: connectors/sandbox/translator-yahoo/src/main/java/org/teiid/translator/yahoo and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri Aug 13 11:42:18 EDT 2010


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$
+	} 
+    
 }



More information about the teiid-commits mailing list