[teiid-commits] teiid SVN: r2124 - in trunk: api and 18 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Thu May 13 12:19:08 EDT 2010


Author: rareddy
Date: 2010-05-13 12:19:04 -0400 (Thu, 13 May 2010)
New Revision: 2124

Added:
   trunk/api/
   trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java
   trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java
   trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java
   trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java
   trunk/api/src/main/java/org/teiid/translator/Execution.java
   trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
   trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java
   trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java
   trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java
   trunk/api/src/main/java/org/teiid/translator/TranslatorCapabilities.java
   trunk/api/src/main/java/org/teiid/translator/TranslatorException.java
   trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java
Removed:
   trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java
   trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java
   trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java
   trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java
   trunk/api/src/main/java/org/teiid/translator/ConnectorCapabilities.java
   trunk/api/src/main/java/org/teiid/translator/ConnectorException.java
   trunk/api/src/main/java/org/teiid/translator/Execution.java
   trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
   trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java
   trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java
   trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java
   trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java
   trunk/connector-api/
Modified:
   trunk/api/pom.xml
   trunk/connectors/connector-ldap/pom.xml
   trunk/connectors/connector-salesforce/pom.xml
   trunk/connectors/connector-text/pom.xml
   trunk/connectors/pom.xml
   trunk/connectors/sandbox/translator-yahoo/pom.xml
   trunk/connectors/translator-jdbc/pom.xml
   trunk/connectors/translator-ldap/pom.xml
   trunk/connectors/translator-loopback/pom.xml
   trunk/connectors/translator-salesforce/pom.xml
   trunk/connectors/translator-text/pom.xml
   trunk/engine/pom.xml
   trunk/jboss-integration/pom.xml
   trunk/metadata/pom.xml
   trunk/pom.xml
   trunk/runtime/pom.xml
   trunk/test-integration/pom.xml
Log:
TEIID-1075: renaming the connector-api module as the teiid-api module

Copied: trunk/api (from rev 2122, trunk/connector-api)

Modified: trunk/api/pom.xml
===================================================================
--- trunk/connector-api/pom.xml	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -8,9 +8,9 @@
     <version>7.0.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
-  <artifactId>teiid-connector-api</artifactId>
-  <name>Connector API</name>
-  <description>API for creating connectors.</description>
+  <artifactId>teiid-api</artifactId>
+  <name>Teiid Translator API</name>
+  <description>API for creating Translators and other common extenders in Teiid</description>
   
   <dependencies>
     <dependency>
@@ -33,4 +33,4 @@
     </dependency>
     
   </dependencies>
-</project>
\ No newline at end of file
+</project>

Deleted: trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/metadata/MetadataFactory.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,280 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.teiid.connector.DataPlugin;
-import org.teiid.core.id.UUIDFactory;
-import org.teiid.translator.ConnectorException;
-import org.teiid.translator.TypeFacility;
-
-
-/**
- * Allows connectors to build metadata for use by the engine.
- * 
- * TODO: add support for datatype import
- * TODO: add support for unique constraints
- */
-public class MetadataFactory {
-	
-	private Schema schema;
-	private UUIDFactory factory = new UUIDFactory();
-	private Map<String, Datatype> dataTypes;
-	private Properties importProperties;
-	private MetadataStore store = new MetadataStore();
-	
-	public MetadataFactory(String modelName, Map<String, Datatype> dataTypes, Properties importProperties) {
-		this.dataTypes = dataTypes;
-		schema = new Schema();
-		schema.setName(modelName);
-		setUUID(schema);	
-		store.addSchema(schema);
-		this.importProperties = importProperties;
-	}
-	
-	public MetadataStore getMetadataStore() {
-		return store;
-	}
-	
-	public Properties getImportProperties() {
-		return importProperties;
-	}
-	
-	private void setUUID(AbstractMetadataRecord record) {
-		record.setUUID(factory.create().toString());
-	}
-
-	/**
-	 * Add a table with the given name to the model.  
-	 * @param name
-	 * @return
-	 * @throws ConnectorException 
-	 */
-	public Table addTable(String name) throws ConnectorException {
-		Table table = new Table();
-		table.setTableType(Table.Type.Table);
-		table.setName(name);
-		setUUID(table);
-		this.schema.addTable(table);
-		return table;
-	}
-	
-	/**
-	 * Adds a column to the table with the given name and type.
-	 * @param name
-	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
-	 * @param table
-	 * @return
-	 * @throws ConnectorException
-	 */
-	public Column addColumn(String name, String type, ColumnSet<?> table) throws ConnectorException {
-		if (name.indexOf(AbstractMetadataRecord.NAME_DELIM_CHAR) != -1) {
-			throw new ConnectorException(DataPlugin.Util.getString("MetadataFactory.invalid_name", name)); //$NON-NLS-1$
-		}
-		Column column = new Column();
-		column.setName(name);
-		table.addColumn(column);
-		column.setPosition(table.getColumns().size()); //1 based indexing
-		Datatype datatype = setColumnType(type, column);
-		column.setCaseSensitive(datatype.isCaseSensitive());
-		column.setAutoIncremented(datatype.isAutoIncrement());
-		column.setSigned(datatype.isSigned());		
-		setUUID(column);
-		return column;
-	}
-
-	private Datatype setColumnType(String type,
-			BaseColumn column) throws ConnectorException {
-		Datatype datatype = dataTypes.get(type);
-		if (datatype == null) {
-			throw new ConnectorException(DataPlugin.Util.getString("MetadataFactory.unknown_datatype", type)); //$NON-NLS-1$
-		}
-		column.setDatatype(datatype);
-		column.setDatatypeUUID(datatype.getUUID());
-		column.setLength(datatype.getLength());
-		column.setPrecision(datatype.getPrecisionLength());
-		column.setRadix(datatype.getRadix());
-		column.setRuntimeType(datatype.getRuntimeTypeName());
-		return datatype;
-	}
-	
-	/**
-	 * Adds a primary key to the given table.  The column names should be in key order.
-	 * @param name
-	 * @param columnNames
-	 * @param table
-	 * @return
-	 * @throws ConnectorException
-	 */
-	public KeyRecord addPrimaryKey(String name, List<String> columnNames, Table table) throws ConnectorException {
-		KeyRecord primaryKey = new KeyRecord(KeyRecord.Type.Primary);
-		primaryKey.setParent(table);
-		primaryKey.setColumns(new ArrayList<Column>(columnNames.size()));
-		primaryKey.setName(name);
-		setUUID(primaryKey);
-		assignColumns(columnNames, table, primaryKey);
-		table.setPrimaryKey(primaryKey);
-		return primaryKey;
-	}
-	
-	/**
-	 * Adds an access pattern to the given table.
-	 * @param name
-	 * @param columnNames
-	 * @param table
-	 * @return
-	 * @throws ConnectorException
-	 */
-	public KeyRecord addAccessPattern(String name, List<String> columnNames, Table table) throws ConnectorException {
-		KeyRecord ap = new KeyRecord(KeyRecord.Type.AccessPattern);
-		ap.setParent(table);
-		ap.setColumns(new ArrayList<Column>(columnNames.size()));
-		ap.setName(name);
-		setUUID(ap);
-		assignColumns(columnNames, table, ap);
-		table.getAccessPatterns().add(ap);
-		return ap;
-	}	
-	
-	/**
-	 * Adds an index to the given table.
-	 * @param name
-	 * @param nonUnique true indicates that an index is being added.
-	 * @param columnNames
-	 * @param table
-	 * @return
-	 * @throws ConnectorException
-	 */
-	public KeyRecord addIndex(String name, boolean nonUnique, List<String> columnNames, Table table) throws ConnectorException {
-		KeyRecord index = new KeyRecord(nonUnique?KeyRecord.Type.NonUnique:KeyRecord.Type.Index);
-		index.setParent(table);
-		index.setColumns(new ArrayList<Column>(columnNames.size()));
-		index.setName(name);
-		setUUID(index);
-		assignColumns(columnNames, table, index);
-		table.getIndexes().add(index);
-		return index;
-	}
-		
-	/**
-	 * Adds a foreign key to the given table.  The column names should be in key order.
-	 * @param name
-	 * @param columnNames
-	 * @param pkTable
-	 * @param table
-	 * @return
-	 * @throws ConnectorException
-	 */
-	public ForeignKey addForiegnKey(String name, List<String> columnNames, Table pkTable, Table table) throws ConnectorException {
-		ForeignKey foreignKey = new ForeignKey();
-		foreignKey.setParent(table);
-		foreignKey.setColumns(new ArrayList<Column>(columnNames.size()));
-		foreignKey.setName(name);
-		setUUID(foreignKey);
-		if (pkTable.getPrimaryKey() == null) {
-			throw new ConnectorException("No primary key defined for table " + pkTable); //$NON-NLS-1$
-		}
-		foreignKey.setPrimaryKey(pkTable.getPrimaryKey());
-		foreignKey.setUniqueKeyID(pkTable.getPrimaryKey().getUUID());
-		assignColumns(columnNames, table, foreignKey);
-		table.getForeignKeys().add(foreignKey);
-		return foreignKey;
-	}
-	
-	/**
-	 * Add a procedure with the given name to the model.  
-	 * @param name
-	 * @return
-	 * @throws ConnectorException 
-	 */
-	public Procedure addProcedure(String name) throws ConnectorException {
-		Procedure procedure = new Procedure();
-		procedure.setName(name);
-		setUUID(procedure);
-		procedure.setParameters(new LinkedList<ProcedureParameter>());
-		this.schema.addProcedure(procedure);
-		return procedure;
-	}
-	
-	/**
-	 * Add a procedure parameter.
-	 * @param name
-	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
-	 * @param parameterType should be one of {@link ProcedureParameter.Type}
-	 * @param procedure
-	 * @return
-	 * @throws ConnectorException 
-	 */
-	public ProcedureParameter addProcedureParameter(String name, String type, ProcedureParameter.Type parameterType, Procedure procedure) throws ConnectorException {
-		ProcedureParameter param = new ProcedureParameter();
-		param.setName(name);
-		setUUID(param);
-		param.setType(parameterType);
-		param.setProcedure(procedure);
-		setColumnType(type, param);
-		procedure.getParameters().add(param);
-		param.setPosition(procedure.getParameters().size()); //1 based indexing
-		return param;
-	}
-	
-	/**
-	 * Add a procedure resultset column to the given procedure.
-	 * @param name
-	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
-	 * @param procedure
-	 * @return
-	 * @throws ConnectorException 
-	 */
-	public Column addProcedureResultSetColumn(String name, String type, Procedure procedure) throws ConnectorException {
-		if (procedure.getResultSet() == null) {
-			ColumnSet<Procedure> resultSet = new ColumnSet<Procedure>();
-			resultSet.setParent(procedure);
-			resultSet.setName("RSParam"); //$NON-NLS-1$
-			setUUID(resultSet);
-			procedure.setResultSet(resultSet);
-		}
-		return addColumn(name, type, procedure.getResultSet());
-	}
-
-	private void assignColumns(List<String> columnNames, Table table,
-			ColumnSet<?> columns) throws ConnectorException {
-		for (String columnName : columnNames) {
-			boolean match = false;
-			for (Column column : table.getColumns()) {
-				if (column.getName().equals(columnName)) {
-					match = true;
-					columns.getColumns().add(column);
-					break;
-				}
-			}
-			if (!match) {
-				throw new ConnectorException(DataPlugin.Util.getString("MetadataFactory.no_column_found", columnName)); //$NON-NLS-1$
-			}
-		}
-	}
-}

Copied: trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/metadata/MetadataFactory.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/metadata/MetadataFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,280 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.teiid.connector.DataPlugin;
+import org.teiid.core.id.UUIDFactory;
+import org.teiid.translator.TranslatorException;
+import org.teiid.translator.TypeFacility;
+
+
+/**
+ * Allows connectors to build metadata for use by the engine.
+ * 
+ * TODO: add support for datatype import
+ * TODO: add support for unique constraints
+ */
+public class MetadataFactory {
+	
+	private Schema schema;
+	private UUIDFactory factory = new UUIDFactory();
+	private Map<String, Datatype> dataTypes;
+	private Properties importProperties;
+	private MetadataStore store = new MetadataStore();
+	
+	public MetadataFactory(String modelName, Map<String, Datatype> dataTypes, Properties importProperties) {
+		this.dataTypes = dataTypes;
+		schema = new Schema();
+		schema.setName(modelName);
+		setUUID(schema);	
+		store.addSchema(schema);
+		this.importProperties = importProperties;
+	}
+	
+	public MetadataStore getMetadataStore() {
+		return store;
+	}
+	
+	public Properties getImportProperties() {
+		return importProperties;
+	}
+	
+	private void setUUID(AbstractMetadataRecord record) {
+		record.setUUID(factory.create().toString());
+	}
+
+	/**
+	 * Add a table with the given name to the model.  
+	 * @param name
+	 * @return
+	 * @throws TranslatorException 
+	 */
+	public Table addTable(String name) throws TranslatorException {
+		Table table = new Table();
+		table.setTableType(Table.Type.Table);
+		table.setName(name);
+		setUUID(table);
+		this.schema.addTable(table);
+		return table;
+	}
+	
+	/**
+	 * Adds a column to the table with the given name and type.
+	 * @param name
+	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
+	 * @param table
+	 * @return
+	 * @throws TranslatorException
+	 */
+	public Column addColumn(String name, String type, ColumnSet<?> table) throws TranslatorException {
+		if (name.indexOf(AbstractMetadataRecord.NAME_DELIM_CHAR) != -1) {
+			throw new TranslatorException(DataPlugin.Util.getString("MetadataFactory.invalid_name", name)); //$NON-NLS-1$
+		}
+		Column column = new Column();
+		column.setName(name);
+		table.addColumn(column);
+		column.setPosition(table.getColumns().size()); //1 based indexing
+		Datatype datatype = setColumnType(type, column);
+		column.setCaseSensitive(datatype.isCaseSensitive());
+		column.setAutoIncremented(datatype.isAutoIncrement());
+		column.setSigned(datatype.isSigned());		
+		setUUID(column);
+		return column;
+	}
+
+	private Datatype setColumnType(String type,
+			BaseColumn column) throws TranslatorException {
+		Datatype datatype = dataTypes.get(type);
+		if (datatype == null) {
+			throw new TranslatorException(DataPlugin.Util.getString("MetadataFactory.unknown_datatype", type)); //$NON-NLS-1$
+		}
+		column.setDatatype(datatype);
+		column.setDatatypeUUID(datatype.getUUID());
+		column.setLength(datatype.getLength());
+		column.setPrecision(datatype.getPrecisionLength());
+		column.setRadix(datatype.getRadix());
+		column.setRuntimeType(datatype.getRuntimeTypeName());
+		return datatype;
+	}
+	
+	/**
+	 * Adds a primary key to the given table.  The column names should be in key order.
+	 * @param name
+	 * @param columnNames
+	 * @param table
+	 * @return
+	 * @throws TranslatorException
+	 */
+	public KeyRecord addPrimaryKey(String name, List<String> columnNames, Table table) throws TranslatorException {
+		KeyRecord primaryKey = new KeyRecord(KeyRecord.Type.Primary);
+		primaryKey.setParent(table);
+		primaryKey.setColumns(new ArrayList<Column>(columnNames.size()));
+		primaryKey.setName(name);
+		setUUID(primaryKey);
+		assignColumns(columnNames, table, primaryKey);
+		table.setPrimaryKey(primaryKey);
+		return primaryKey;
+	}
+	
+	/**
+	 * Adds an access pattern to the given table.
+	 * @param name
+	 * @param columnNames
+	 * @param table
+	 * @return
+	 * @throws TranslatorException
+	 */
+	public KeyRecord addAccessPattern(String name, List<String> columnNames, Table table) throws TranslatorException {
+		KeyRecord ap = new KeyRecord(KeyRecord.Type.AccessPattern);
+		ap.setParent(table);
+		ap.setColumns(new ArrayList<Column>(columnNames.size()));
+		ap.setName(name);
+		setUUID(ap);
+		assignColumns(columnNames, table, ap);
+		table.getAccessPatterns().add(ap);
+		return ap;
+	}	
+	
+	/**
+	 * Adds an index to the given table.
+	 * @param name
+	 * @param nonUnique true indicates that an index is being added.
+	 * @param columnNames
+	 * @param table
+	 * @return
+	 * @throws TranslatorException
+	 */
+	public KeyRecord addIndex(String name, boolean nonUnique, List<String> columnNames, Table table) throws TranslatorException {
+		KeyRecord index = new KeyRecord(nonUnique?KeyRecord.Type.NonUnique:KeyRecord.Type.Index);
+		index.setParent(table);
+		index.setColumns(new ArrayList<Column>(columnNames.size()));
+		index.setName(name);
+		setUUID(index);
+		assignColumns(columnNames, table, index);
+		table.getIndexes().add(index);
+		return index;
+	}
+		
+	/**
+	 * Adds a foreign key to the given table.  The column names should be in key order.
+	 * @param name
+	 * @param columnNames
+	 * @param pkTable
+	 * @param table
+	 * @return
+	 * @throws TranslatorException
+	 */
+	public ForeignKey addForiegnKey(String name, List<String> columnNames, Table pkTable, Table table) throws TranslatorException {
+		ForeignKey foreignKey = new ForeignKey();
+		foreignKey.setParent(table);
+		foreignKey.setColumns(new ArrayList<Column>(columnNames.size()));
+		foreignKey.setName(name);
+		setUUID(foreignKey);
+		if (pkTable.getPrimaryKey() == null) {
+			throw new TranslatorException("No primary key defined for table " + pkTable); //$NON-NLS-1$
+		}
+		foreignKey.setPrimaryKey(pkTable.getPrimaryKey());
+		foreignKey.setUniqueKeyID(pkTable.getPrimaryKey().getUUID());
+		assignColumns(columnNames, table, foreignKey);
+		table.getForeignKeys().add(foreignKey);
+		return foreignKey;
+	}
+	
+	/**
+	 * Add a procedure with the given name to the model.  
+	 * @param name
+	 * @return
+	 * @throws TranslatorException 
+	 */
+	public Procedure addProcedure(String name) throws TranslatorException {
+		Procedure procedure = new Procedure();
+		procedure.setName(name);
+		setUUID(procedure);
+		procedure.setParameters(new LinkedList<ProcedureParameter>());
+		this.schema.addProcedure(procedure);
+		return procedure;
+	}
+	
+	/**
+	 * Add a procedure parameter.
+	 * @param name
+	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
+	 * @param parameterType should be one of {@link ProcedureParameter.Type}
+	 * @param procedure
+	 * @return
+	 * @throws TranslatorException 
+	 */
+	public ProcedureParameter addProcedureParameter(String name, String type, ProcedureParameter.Type parameterType, Procedure procedure) throws TranslatorException {
+		ProcedureParameter param = new ProcedureParameter();
+		param.setName(name);
+		setUUID(param);
+		param.setType(parameterType);
+		param.setProcedure(procedure);
+		setColumnType(type, param);
+		procedure.getParameters().add(param);
+		param.setPosition(procedure.getParameters().size()); //1 based indexing
+		return param;
+	}
+	
+	/**
+	 * Add a procedure resultset column to the given procedure.
+	 * @param name
+	 * @param type should be one of {@link TypeFacility.RUNTIME_NAMES}
+	 * @param procedure
+	 * @return
+	 * @throws TranslatorException 
+	 */
+	public Column addProcedureResultSetColumn(String name, String type, Procedure procedure) throws TranslatorException {
+		if (procedure.getResultSet() == null) {
+			ColumnSet<Procedure> resultSet = new ColumnSet<Procedure>();
+			resultSet.setParent(procedure);
+			resultSet.setName("RSParam"); //$NON-NLS-1$
+			setUUID(resultSet);
+			procedure.setResultSet(resultSet);
+		}
+		return addColumn(name, type, procedure.getResultSet());
+	}
+
+	private void assignColumns(List<String> columnNames, Table table,
+			ColumnSet<?> columns) throws TranslatorException {
+		for (String columnName : columnNames) {
+			boolean match = false;
+			for (Column column : table.getColumns()) {
+				if (column.getName().equals(columnName)) {
+					match = true;
+					columns.getColumns().add(column);
+					break;
+				}
+			}
+			if (!match) {
+				throw new TranslatorException(DataPlugin.Util.getString("MetadataFactory.no_column_found", columnName)); //$NON-NLS-1$
+			}
+		}
+	}
+}

Deleted: trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/metadata/RuntimeMetadata.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,78 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.metadata;
-
-import org.teiid.translator.ConnectorException;
-
-/**
- * Helper methods that can be used to access runtime metadata.
- */
-public interface RuntimeMetadata {
-
-    /**
-     * Look up an object by identifier
-     * @param fullName
-     * @return The object
-     */
-    Table getTable(String fullName) throws ConnectorException;
-
-    /**
-     * Look up an object by identifier
-     * @param fullName
-     * @return The object
-     */
-    Column getColumn(String fullName) throws ConnectorException;
-
-    /**
-     * Look up an object by identifier
-     * @param fullName
-     * @return The object
-     */
-    Procedure getProcedure(String fullName) throws ConnectorException;
-    
-    /**
-     * Gets the contents of a VDB resource in binary form.
-     * @param resourcePath a path returned by getVDBResourcePaths()
-     * @return the binary contents of the resource in a byte[]
-     * @throws ConnectorException if the operation fails
-     * @since 4.3
-     */
-    public byte[] getBinaryVDBResource(String resourcePath) throws ConnectorException;
-
-    /**
-     * Gets the contents of a VDB resource as a String.
-     * @param resourcePath a path returned by getVDBResourcePaths()
-     * @return the contents of the resource as a String of characters
-     * @throws ConnectorException if the operation fails
-     * @since 4.3
-     */
-    public String getCharacterVDBResource(String resourcePath) throws ConnectorException;
-
-    /**
-     * Gets the resource paths of all the resources in the VDB. 
-     * @return an array of resource paths of the resources in the VDB
-     * @throws ConnectorException if the operation fails
-     * @since 4.3
-     */
-    public String[] getVDBResourcePaths() throws ConnectorException;
-}

Copied: trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/metadata/RuntimeMetadata.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/metadata/RuntimeMetadata.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.metadata;
+
+import org.teiid.translator.TranslatorException;
+
+/**
+ * Helper methods that can be used to access runtime metadata.
+ */
+public interface RuntimeMetadata {
+
+    /**
+     * Look up an object by identifier
+     * @param fullName
+     * @return The object
+     */
+    Table getTable(String fullName) throws TranslatorException;
+
+    /**
+     * Look up an object by identifier
+     * @param fullName
+     * @return The object
+     */
+    Column getColumn(String fullName) throws TranslatorException;
+
+    /**
+     * Look up an object by identifier
+     * @param fullName
+     * @return The object
+     */
+    Procedure getProcedure(String fullName) throws TranslatorException;
+    
+    /**
+     * Gets the contents of a VDB resource in binary form.
+     * @param resourcePath a path returned by getVDBResourcePaths()
+     * @return the binary contents of the resource in a byte[]
+     * @throws TranslatorException if the operation fails
+     * @since 4.3
+     */
+    public byte[] getBinaryVDBResource(String resourcePath) throws TranslatorException;
+
+    /**
+     * Gets the contents of a VDB resource as a String.
+     * @param resourcePath a path returned by getVDBResourcePaths()
+     * @return the contents of the resource as a String of characters
+     * @throws TranslatorException if the operation fails
+     * @since 4.3
+     */
+    public String getCharacterVDBResource(String resourcePath) throws TranslatorException;
+
+    /**
+     * Gets the resource paths of all the resources in the VDB. 
+     * @return an array of resource paths of the resources in the VDB
+     * @throws TranslatorException if the operation fails
+     * @since 4.3
+     */
+    public String[] getVDBResourcePaths() throws TranslatorException;
+}

Deleted: trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,168 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-package org.teiid.resource.spi;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.resource.ResourceException;
-import javax.resource.cci.Connection;
-import javax.resource.spi.ConnectionEvent;
-import javax.resource.spi.ConnectionEventListener;
-import javax.resource.spi.ConnectionRequestInfo;
-import javax.resource.spi.LocalTransaction;
-import javax.resource.spi.ManagedConnection;
-import javax.resource.spi.ManagedConnectionMetaData;
-import javax.security.auth.Subject;
-import javax.transaction.xa.XAResource;
-
-import org.teiid.translator.ConnectorException;
-
-public class BasicManagedConnection implements ManagedConnection {
-	protected PrintWriter log;
-	protected final Collection<ConnectionEventListener> listeners = new ArrayList<ConnectionEventListener>();
-	private BasicConnection physicalConnection;
-	private final Set<WrappedConnection> handles = new HashSet<WrappedConnection>();
-	
-	public BasicManagedConnection(BasicConnection connection) {
-		this.physicalConnection = connection;
-	}
-
-	@Override
-	public void associateConnection(Object handle) throws ResourceException {
-		if (!(handle instanceof WrappedConnection)) {
-			throw new ResourceException("Wrong connection supplied to assosiate"); //$NON-NLS-1$
-		}
-		((WrappedConnection)handle).setManagedConnection(this);
-		synchronized (this.handles) {
-			this.handles.add((WrappedConnection)handle);
-		}
-	}
-
-	@Override
-	public void cleanup() throws ResourceException {
-		synchronized (this.handles) {
-			for (WrappedConnection wc:this.handles) {
-				wc.setManagedConnection(null);
-			}
-			handles.clear();
-		}
-		ConnectionContext.setSubject(null);
-	}
-
-	@Override
-	public void destroy() throws ResourceException {
-		cleanup();
-		
-		this.physicalConnection.close();
-		this.physicalConnection = null;
-	}
-	
-	@Override
-	public ManagedConnectionMetaData getMetaData() throws ResourceException {
-		return null;
-	}
-	
-	@Override
-	public Object getConnection(Subject arg0, ConnectionRequestInfo arg1) throws ResourceException {
-		if(!(arg1 instanceof ConnectionRequestInfoWrapper)) {
-			throw new ConnectorException("Un-recognized Connection Request Info object received"); //$NON-NLS-1$
-		}
-		ConnectionContext.setSubject(arg0);
-		
-		WrappedConnection wc = new WrappedConnection(this); 
-		synchronized(this.handles) {
-			this.handles.add(wc);
-		}
-		return wc; 
-	}
-
-	@Override
-	public LocalTransaction getLocalTransaction() throws ResourceException {
-		return null;
-	}
-
-	@Override
-	public XAResource getXAResource() throws ResourceException {
-		return null;
-	}
-	
-	@Override
-	public void addConnectionEventListener(ConnectionEventListener arg0) {
-		synchronized (this.listeners) {
-			this.listeners.add(arg0);
-		}
-	}	
-
-	@Override
-	public void removeConnectionEventListener(ConnectionEventListener arg0) {
-		synchronized (this.listeners) {
-			this.listeners.remove(arg0);
-		}
-	}
-
-	@Override
-	public void setLogWriter(PrintWriter arg0) throws ResourceException {
-		this.log = arg0;
-	}
-	
-	@Override
-	public PrintWriter getLogWriter() throws ResourceException {
-		return this.log;
-	}
-
-	// called by the wrapped connection to notify the close of the connection.
-	void connectionClosed(WrappedConnection wc) {
-		
-		synchronized (this.handles) {
-			handles.remove(wc);
-		}
-		
-		ConnectionEvent ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
-		ce.setConnectionHandle(wc);
-		
-		ArrayList<ConnectionEventListener> copy = null;
-		synchronized (this.listeners) {
-			copy = new ArrayList<ConnectionEventListener>(this.listeners);
-		}
-		
-		for(ConnectionEventListener l: copy) {
-			l.connectionClosed(ce);
-		}
-	}
-	
-   Connection getConnection() throws ConnectorException {
-      if (this.physicalConnection == null)
-         throw new ConnectorException("Connection has been destroyed!!!"); //$NON-NLS-1$
-      return this.physicalConnection;
-   }	
-   
-   public boolean isValid() {
-	   if (this.physicalConnection == null) {
-		   return false;
-	   }
-	   return this.physicalConnection.isAlive();
-   }
-}

Copied: trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnection.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,166 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.resource.spi;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.resource.ResourceException;
+import javax.resource.cci.Connection;
+import javax.resource.spi.ConnectionEvent;
+import javax.resource.spi.ConnectionEventListener;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.LocalTransaction;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionMetaData;
+import javax.security.auth.Subject;
+import javax.transaction.xa.XAResource;
+
+public class BasicManagedConnection implements ManagedConnection {
+	protected PrintWriter log;
+	protected final Collection<ConnectionEventListener> listeners = new ArrayList<ConnectionEventListener>();
+	private BasicConnection physicalConnection;
+	private final Set<WrappedConnection> handles = new HashSet<WrappedConnection>();
+	
+	public BasicManagedConnection(BasicConnection connection) {
+		this.physicalConnection = connection;
+	}
+
+	@Override
+	public void associateConnection(Object handle) throws ResourceException {
+		if (!(handle instanceof WrappedConnection)) {
+			throw new ResourceException("Wrong connection supplied to assosiate"); //$NON-NLS-1$
+		}
+		((WrappedConnection)handle).setManagedConnection(this);
+		synchronized (this.handles) {
+			this.handles.add((WrappedConnection)handle);
+		}
+	}
+
+	@Override
+	public void cleanup() throws ResourceException {
+		synchronized (this.handles) {
+			for (WrappedConnection wc:this.handles) {
+				wc.setManagedConnection(null);
+			}
+			handles.clear();
+		}
+		ConnectionContext.setSubject(null);
+	}
+
+	@Override
+	public void destroy() throws ResourceException {
+		cleanup();
+		
+		this.physicalConnection.close();
+		this.physicalConnection = null;
+	}
+	
+	@Override
+	public ManagedConnectionMetaData getMetaData() throws ResourceException {
+		return null;
+	}
+	
+	@Override
+	public Object getConnection(Subject arg0, ConnectionRequestInfo arg1) throws ResourceException {
+		if(!(arg1 instanceof ConnectionRequestInfoWrapper)) {
+			throw new ResourceException("Un-recognized Connection Request Info object received"); //$NON-NLS-1$
+		}
+		ConnectionContext.setSubject(arg0);
+		
+		WrappedConnection wc = new WrappedConnection(this); 
+		synchronized(this.handles) {
+			this.handles.add(wc);
+		}
+		return wc; 
+	}
+
+	@Override
+	public LocalTransaction getLocalTransaction() throws ResourceException {
+		return null;
+	}
+
+	@Override
+	public XAResource getXAResource() throws ResourceException {
+		return null;
+	}
+	
+	@Override
+	public void addConnectionEventListener(ConnectionEventListener arg0) {
+		synchronized (this.listeners) {
+			this.listeners.add(arg0);
+		}
+	}	
+
+	@Override
+	public void removeConnectionEventListener(ConnectionEventListener arg0) {
+		synchronized (this.listeners) {
+			this.listeners.remove(arg0);
+		}
+	}
+
+	@Override
+	public void setLogWriter(PrintWriter arg0) throws ResourceException {
+		this.log = arg0;
+	}
+	
+	@Override
+	public PrintWriter getLogWriter() throws ResourceException {
+		return this.log;
+	}
+
+	// called by the wrapped connection to notify the close of the connection.
+	void connectionClosed(WrappedConnection wc) {
+		
+		synchronized (this.handles) {
+			handles.remove(wc);
+		}
+		
+		ConnectionEvent ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
+		ce.setConnectionHandle(wc);
+		
+		ArrayList<ConnectionEventListener> copy = null;
+		synchronized (this.listeners) {
+			copy = new ArrayList<ConnectionEventListener>(this.listeners);
+		}
+		
+		for(ConnectionEventListener l: copy) {
+			l.connectionClosed(ce);
+		}
+	}
+	
+   Connection getConnection() throws ResourceException {
+      if (this.physicalConnection == null)
+         throw new ResourceException("Connection has been destroyed!!!"); //$NON-NLS-1$
+      return this.physicalConnection;
+   }	
+   
+   public boolean isValid() {
+	   if (this.physicalConnection == null) {
+		   return false;
+	   }
+	   return this.physicalConnection.isAlive();
+   }
+}

Deleted: trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,120 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-package org.teiid.resource.spi;
-
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.resource.ResourceException;
-import javax.resource.spi.ConnectionManager;
-import javax.resource.spi.ConnectionRequestInfo;
-import javax.resource.spi.ManagedConnection;
-import javax.resource.spi.ManagedConnectionFactory;
-import javax.resource.spi.ResourceAdapter;
-import javax.resource.spi.ResourceAdapterAssociation;
-import javax.resource.spi.ValidatingManagedConnectionFactory;
-import javax.security.auth.Subject;
-
-import org.teiid.core.TeiidException;
-import org.teiid.core.util.ReflectionHelper;
-import org.teiid.translator.ConnectorException;
-
-
-public abstract class BasicManagedConnectionFactory implements ManagedConnectionFactory, ResourceAdapterAssociation, ValidatingManagedConnectionFactory {
-
-	private static final long serialVersionUID = -7302713800883776790L;
-	private PrintWriter log;
-	private BasicResourceAdapter ra;
-	
-	@Override
-	public abstract Object createConnectionFactory() throws ResourceException;
-
-	@Override
-	public Object createConnectionFactory(ConnectionManager arg0) throws ResourceException {
-		return createConnectionFactory();
-	}
-
-	@Override
-	public ManagedConnection createManagedConnection(Subject arg0, ConnectionRequestInfo arg1) throws ResourceException {
-		ConnectionRequestInfoWrapper criw = (ConnectionRequestInfoWrapper)arg1;
-		return new BasicManagedConnection(criw.cf.getConnection());
-	}
-
-	@Override
-	public PrintWriter getLogWriter() throws ResourceException {
-		return this.log;
-	}
-
-	@Override
-	public ManagedConnection matchManagedConnections(Set arg0, Subject arg1, ConnectionRequestInfo arg2) throws ResourceException {
-		return (ManagedConnection)arg0.iterator().next();
-	}
-
-	@Override
-	public void setLogWriter(PrintWriter arg0) throws ResourceException {
-		this.log = arg0;
-	}
-
-	@Override
-	public ResourceAdapter getResourceAdapter() {
-		return this.ra;
-	}
-
-	@Override
-	public void setResourceAdapter(ResourceAdapter arg0) throws ResourceException {
-		this.ra = (BasicResourceAdapter)arg0;
-	}
-	
-    public static <T> T getInstance(Class<T> expectedType, String className, Collection ctorObjs, Class defaultClass) throws ConnectorException {
-    	try {
-	    	if (className == null) {
-	    		if (defaultClass == null) {
-	    			throw new ConnectorException("Neither class name or default class specified to create an instance"); //$NON-NLS-1$
-	    		}
-	    		return expectedType.cast(defaultClass.newInstance());
-	    	}
-	    	return expectedType.cast(ReflectionHelper.create(className, ctorObjs, Thread.currentThread().getContextClassLoader()));
-		} catch (TeiidException e) {
-			throw new ConnectorException(e);
-		} catch (IllegalAccessException e) {
-			throw new ConnectorException(e);
-		} catch(InstantiationException e) {
-			throw new ConnectorException(e);
-		}    	
-    }
-
-	@Override
-	public Set<BasicManagedConnection> getInvalidConnections(Set arg0) throws ResourceException {
-		HashSet<BasicManagedConnection> result = new HashSet<BasicManagedConnection>();
-		for (Object object : arg0) {
-			if (object instanceof BasicManagedConnection) {
-				BasicManagedConnection bmc = (BasicManagedConnection)object;
-				if (!bmc.isValid()) {
-					result.add(bmc);
-				}
-			}
-		}
-		return result;
-	}
-}

Copied: trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/resource/spi/BasicManagedConnectionFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,119 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.resource.spi;
+
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
+import javax.resource.spi.ValidatingManagedConnectionFactory;
+import javax.security.auth.Subject;
+
+import org.teiid.core.TeiidException;
+import org.teiid.core.util.ReflectionHelper;
+
+
+public abstract class BasicManagedConnectionFactory implements ManagedConnectionFactory, ResourceAdapterAssociation, ValidatingManagedConnectionFactory {
+
+	private static final long serialVersionUID = -7302713800883776790L;
+	private PrintWriter log;
+	private BasicResourceAdapter ra;
+	
+	@Override
+	public abstract Object createConnectionFactory() throws ResourceException;
+
+	@Override
+	public Object createConnectionFactory(ConnectionManager arg0) throws ResourceException {
+		return createConnectionFactory();
+	}
+
+	@Override
+	public ManagedConnection createManagedConnection(Subject arg0, ConnectionRequestInfo arg1) throws ResourceException {
+		ConnectionRequestInfoWrapper criw = (ConnectionRequestInfoWrapper)arg1;
+		return new BasicManagedConnection(criw.cf.getConnection());
+	}
+
+	@Override
+	public PrintWriter getLogWriter() throws ResourceException {
+		return this.log;
+	}
+
+	@Override
+	public ManagedConnection matchManagedConnections(Set arg0, Subject arg1, ConnectionRequestInfo arg2) throws ResourceException {
+		return (ManagedConnection)arg0.iterator().next();
+	}
+
+	@Override
+	public void setLogWriter(PrintWriter arg0) throws ResourceException {
+		this.log = arg0;
+	}
+
+	@Override
+	public ResourceAdapter getResourceAdapter() {
+		return this.ra;
+	}
+
+	@Override
+	public void setResourceAdapter(ResourceAdapter arg0) throws ResourceException {
+		this.ra = (BasicResourceAdapter)arg0;
+	}
+	
+    public static <T> T getInstance(Class<T> expectedType, String className, Collection ctorObjs, Class defaultClass) throws ResourceException {
+    	try {
+	    	if (className == null) {
+	    		if (defaultClass == null) {
+	    			throw new ResourceException("Neither class name or default class specified to create an instance"); //$NON-NLS-1$
+	    		}
+	    		return expectedType.cast(defaultClass.newInstance());
+	    	}
+	    	return expectedType.cast(ReflectionHelper.create(className, ctorObjs, Thread.currentThread().getContextClassLoader()));
+		} catch (TeiidException e) {
+			throw new ResourceException(e);
+		} catch (IllegalAccessException e) {
+			throw new ResourceException(e);
+		} catch(InstantiationException e) {
+			throw new ResourceException(e);
+		}    	
+    }
+
+	@Override
+	public Set<BasicManagedConnection> getInvalidConnections(Set arg0) throws ResourceException {
+		HashSet<BasicManagedConnection> result = new HashSet<BasicManagedConnection>();
+		for (Object object : arg0) {
+			if (object instanceof BasicManagedConnection) {
+				BasicManagedConnection bmc = (BasicManagedConnection)object;
+				if (!bmc.isValid()) {
+					result.add(bmc);
+				}
+			}
+		}
+		return result;
+	}
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/ConnectorCapabilities.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/ConnectorCapabilities.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/ConnectorCapabilities.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,394 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import java.util.List;
-
-import org.teiid.language.BatchedUpdates;
-import org.teiid.language.SetQuery;
-
-
-/**
- * Allows a connector to specify the capabilities that a connector
- * supports.    
- */
-public interface ConnectorCapabilities {
-	
-	public enum SupportedJoinCriteria {
-		/**
-		 * Indicates that any supported criteria is allowed.
-		 */
-		ANY, 
-		/**
-		 * Indicates that any simple comparison of elements is allowed. 
-		 */
-		THETA,
-		/**
-		 * Indicates that only equality predicates of elements are allowed.
-		 */
-		EQUI,
-		/**
-		 * Indicates that only equality predicates between
-		 * exactly one primary and foreign key is allowed per join.
-		 */
-		KEY
-	}
-	
-    /** 
-     * Support indicates connector can accept queries with SELECT DISTINCT
-     * @since 3.1 SP2 
-     */
-    boolean supportsSelectDistinct();
-
-    /** 
-     * Support indicates connector can accept expressions other than element
-     * symbols in the SELECT clause.  Specific supports for the expression
-     * type are still checked.
-     * @since 6.1.0
-     */
-    boolean supportsSelectExpression();
-
-    /**
-     * Support indicates connector can accept groups with aliases  
-     * @since 3.1 SP2
-     */
-    boolean supportsAliasedGroup();
-
-    /** 
-     * Get the supported join criteria. A null return value will be treated
-     * as {@link SupportedJoinCriteria#ANY}  
-     * @since 6.1.0
-     */
-    SupportedJoinCriteria getSupportedJoinCriteria();
-    
-    /** 
-     * Support indicates connector can accept inner or cross joins
-     * @since 6.1.0
-     */
-    boolean supportsInnerJoins();
-    
-    /** 
-     * Support indicates connector can accept self-joins where a 
-     * group is joined to itself with aliases.  Connector must also support
-     * {@link #supportsAliasedGroup()}. 
-     * @since 3.1 SP2
-     */
-    boolean supportsSelfJoins();
-    
-    /** 
-     * Support indicates connector can accept left outer joins 
-     * @since 3.1 SP2
-     */
-    boolean supportsOuterJoins();
-    
-    /** 
-     * Support indicates connector can accept full outer joins
-     * @since 3.1 SP2 
-     */
-    boolean supportsFullOuterJoins();
-
-    /** 
-     * Support indicates connector can accept inline views (subqueries
-     * in the FROM clause).  
-     * @since 4.1 
-     */
-    boolean supportsInlineViews();
-
-    /** 
-     * Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
-     * <br>NOT CURRENTLY USED - between is rewritten as compound compare criteria
-     * @since 4.0
-     */
-    boolean supportsBetweenCriteria();
-    
-    /** 
-     * Support indicates connector accepts criteria of form (element = constant) 
-     * @since 3.1 SP2
-     */
-    boolean supportsCompareCriteriaEquals();
-
-    /** 
-     * Support indicates connector accepts criteria of form (element &lt;=|&gt;= constant)
-     * <br>The query engine will may pushdown queries containing &lt; or &gt; if NOT is also
-     * supported.  
-     * @since 3.1 SP2
-     */
-    boolean supportsCompareCriteriaOrdered();
-
-    /** 
-     * Support indicates connector accepts criteria of form (element LIKE constant) 
-     * @since 3.1 SP2
-     */
-    boolean supportsLikeCriteria();
-        
-    /** 
-     * Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char)
-     * @since 3.1 SP2
-     */
-    boolean supportsLikeCriteriaEscapeCharacter();
-
-    /** 
-     * Support indicates connector accepts criteria of form (element IN set) 
-     * @since 3.1 SP2
-     */
-    boolean supportsInCriteria();
-
-    /** 
-     * Support indicates connector accepts IN criteria with a subquery on the right side 
-     * @since 4.0
-     */
-    boolean supportsInCriteriaSubquery();
-
-    /** 
-     * Support indicates connector accepts criteria of form (element IS NULL) 
-     * @since 3.1 SP2
-     */
-    boolean supportsIsNullCriteria();
-
-    /** 
-     * Support indicates connector accepts logical criteria connected by OR 
-     * @since 3.1 SP2
-     */
-    boolean supportsOrCriteria();
-
-    /** 
-     * Support indicates connector accepts logical criteria NOT 
-     * @since 3.1 SP2
-     */
-    boolean supportsNotCriteria();
-
-    /** 
-     * Support indicates connector accepts the EXISTS criteria 
-     * @since 4.0
-     */
-    boolean supportsExistsCriteria();
-
-    /** 
-     * Support indicates connector accepts the quantified comparison criteria that 
-     * use SOME
-     * @since 4.0
-     */
-    boolean supportsQuantifiedCompareCriteriaSome();
-
-    /** 
-     * Support indicates connector accepts the quantified comparison criteria that 
-     * use ALL
-     * @since 4.0
-     */
-    boolean supportsQuantifiedCompareCriteriaAll();
-
-    /** 
-     * Support indicates connector accepts ORDER BY clause, including multiple elements
-     * and ascending and descending sorts.    
-     * @since 3.1 SP2
-     */
-    boolean supportsOrderBy();
-    
-    /**
-     * Support indicates connector accepts ORDER BY clause with columns not from the select    
-     * @since 6.2
-     * @return
-     */
-    boolean supportsOrderByUnrelated();
-    
-    /**
-     * Whether the source supports an explicit GROUP BY clause
-     * @since 6.1
-     */
-    boolean supportsGroupBy();
-
-    /**
-     * Whether the source supports the HAVING clause
-     * @since 6.1
-     */
-    boolean supportsHaving();
-    
-    /** 
-     * Support indicates connector can accept the SUM aggregate function 
-     * @since 3.1 SP2
-     */
-    boolean supportsAggregatesSum();
-    
-    /** 
-     * Support indicates connector can accept the AVG aggregate function
-     * @since 3.1 SP2 
-     */
-    boolean supportsAggregatesAvg();
-    
-    /** 
-     * Support indicates connector can accept the MIN aggregate function 
-     * @since 3.1 SP2
-     */
-    boolean supportsAggregatesMin();
-    
-    /** 
-     * Support indicates connector can accept the MAX aggregate function 
-     * @since 3.1 SP2
-     */
-    boolean supportsAggregatesMax();
-    
-    /** 
-     * Support indicates connector can accept the COUNT aggregate function
-     * @since 3.1 SP2 
-     */
-    boolean supportsAggregatesCount();
-    
-    /** 
-     * Support indicates connector can accept the COUNT(*) aggregate function 
-     * @since 3.1 SP2
-     */
-    boolean supportsAggregatesCountStar();
-    
-    /** 
-     * Support indicates connector can accept DISTINCT within aggregate functions 
-     * @since 3.1 SP2
-     */
-    boolean supportsAggregatesDistinct();
-
-    /** 
-     * Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and
-     * HAVING clauses
-     * @since 4.0
-     */
-    boolean supportsScalarSubqueries();
-
-    /** 
-     * Support indicates connector can accept correlated subqueries wherever subqueries
-     * are accepted 
-     * @since 4.0
-     */
-    boolean supportsCorrelatedSubqueries();
-    
-    /**
-     * Support indicates connector can accept queries with non-searched
-     * CASE <expression> WHEN <expression> ... END
-     * <br>NOT CURRENTLY USED - case is pushed down as searched case
-     * @since 4.0
-     */
-    boolean supportsCaseExpressions();
-
-    /**
-     * Support indicates connector can accept queries with searched CASE WHEN <criteria> ... END
-     * @since 4.0
-     */
-    boolean supportsSearchedCaseExpressions();
-   
-    /**
-     * Support indicates that the connector supports the UNION of two queries. 
-     * @since 4.2
-     */
-    boolean supportsUnions();
-
-    /**
-     * Support indicates that the connector supports an ORDER BY on a SetQuery. 
-     * @since 5.6
-     */
-    boolean supportsSetQueryOrderBy();
-    
-    /**
-     * Support indicates that the connector supports the INTERSECT of two queries. 
-     * @since 5.6
-     */
-    boolean supportsIntersect();
-
-    /**
-     * Support indicates that the connector supports the EXCEPT of two queries. 
-     * @since 5.6
-     */
-    boolean supportsExcept();
-        
-    /**
-     * Get list of all supported function names.  Arithmetic functions have names like
-     * &quot;+&quot;.  
-     * @since 3.1 SP3    
-     */        
-    List<String> getSupportedFunctions();
-    
-    /**
-     * Get the integer value representing the number of values allowed in an IN criteria
-     * in the WHERE clause of a query
-     * @since 5.0
-     */
-    int getMaxInCriteriaSize();
-    
-    /**
-     * <p>Support indicates that the connector supports functions in GROUP BY, such as:
-     *  <code>SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)</code></p>
-     *  
-     * <br>NOT CURRENTLY USED - group by expressions create an inline view for pushdown
-     * @since 5.0
-     */
-    boolean supportsFunctionsInGroupBy();
-    
-    /**
-     * Gets whether the connector can limit the number of rows returned by a query.
-     * @since 5.0 SP1
-     */
-    boolean supportsRowLimit();
-    
-    /**
-     * Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return
-     * result sets that start in the middle of the resulting rows returned by a query
-     * @since 5.0 SP1
-     */
-    boolean supportsRowOffset();
-    
-    /**
-     * The number of groups supported in the from clause.  Added for a Sybase limitation. 
-     * @since 5.6
-     * @return the number of groups supported in the from clause, or -1 if there is no limit
-     */
-    int getMaxFromGroups();
-    
-    /**
-     * Whether the source prefers to use ANSI style joins.
-     * @since 6.0
-     */
-    boolean useAnsiJoin();
-    
-    /**
-     * Whether the source supports queries without criteria.
-     * @since 6.0
-     */
-    boolean requiresCriteria();
-    
-    /**
-     * Whether the source supports {@link BatchedUpdates}
-     * @since 6.0
-     */
-    boolean supportsBatchedUpdates();
-    
-    /**
-     * Whether the source supports updates with multiple value sets
-     * @since 6.0
-     */
-    boolean supportsBulkUpdate();
-    
-    /**
-     * Support indicates that the connector can accept INSERTs with
-     * values specified by an {@link SetQuery}.
-     * @since 6.1
-     */
-    boolean supportsInsertWithQueryExpression();
-        
-}

Deleted: trunk/api/src/main/java/org/teiid/translator/ConnectorException.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/ConnectorException.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/ConnectorException.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,79 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import javax.resource.ResourceException;
-
-/**
- * An exception the connector writer can return in case of an 
- * error while using the connector.
- */
-public class ConnectorException extends ResourceException{
-
-	private static final long serialVersionUID = -5980862789340592219L;
-
-	/**
-     * No-arg constructor required by Externalizable semantics.
-     */
-    public ConnectorException() {
-        super();
-    }
-    
-    /**
-     * Construct an instance with the message specified.
-     *
-     * @param message A message describing the exception
-     */
-    public ConnectorException( String message ) {
-        super( message );
-    }
-    
-    public ConnectorException( String errorCode, String message ) {
-        super( message, errorCode);
-    }
-    
-    public ConnectorException( int errorCode, String message ) {
-        super(message, Integer.toString(errorCode));
-    }    
-    
-
-    /**
-     * Construct an instance from a message and an exception to chain to this one.
-     *
-     * @param code A code denoting the exception
-     * @param e An exception to nest within this one
-     */
-    public ConnectorException( Throwable e, String message ) {
-        super(message,e);
-    }  
-    
-    /**
-     * Construct an instance with a linked exception specified.
-     *
-     * @param e An exception to chain to this exception
-     */
-    public ConnectorException( Throwable e ) {
-        super( e );
-    }  
-
-}

Deleted: trunk/api/src/main/java/org/teiid/translator/Execution.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/Execution.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/Execution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-
-/**
- * An execution represents the state and lifecycle for a particular 
- * command execution.  The methods provided on this interface define
- * standard lifecycle methods.  
- * When execution completes, the {@link #close()} will be called.  If 
- * execution must be aborted, due to user or administrator action, the 
- * {@link #cancel()} will be called.
- */
-public interface Execution {
-
-    /**
-     * Terminates the execution normally.
-     */
-    void close() throws ConnectorException;
-    
-    /**
-     * Cancels the execution abnormally.  This will happen via
-     * a different thread from the one performing the execution, so
-     * should be expected to happen in a multi-threaded scenario.
-     */
-    void cancel() throws ConnectorException;
-    
-    /**
-     * Execute the associated command.  Results will be retrieved through a specific sub-interface call.
-     * @throws ConnectorException
-     */
-    void execute() throws ConnectorException;
-
-}

Copied: trunk/api/src/main/java/org/teiid/translator/Execution.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/Execution.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/Execution.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/Execution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+
+/**
+ * An execution represents the state and lifecycle for a particular 
+ * command execution.  The methods provided on this interface define
+ * standard lifecycle methods.  
+ * When execution completes, the {@link #close()} will be called.  If 
+ * execution must be aborted, due to user or administrator action, the 
+ * {@link #cancel()} will be called.
+ */
+public interface Execution {
+
+    /**
+     * Terminates the execution normally.
+     */
+    void close() throws TranslatorException;
+    
+    /**
+     * Cancels the execution abnormally.  This will happen via
+     * a different thread from the one performing the execution, so
+     * should be expected to happen in a multi-threaded scenario.
+     */
+    void cancel() throws TranslatorException;
+    
+    /**
+     * Execute the associated command.  Results will be retrieved through a specific sub-interface call.
+     * @throws TranslatorException
+     */
+    void execute() throws TranslatorException;
+
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/ExecutionFactory.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,430 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import java.util.List;
-
-import org.teiid.language.Call;
-import org.teiid.language.Command;
-import org.teiid.language.LanguageFactory;
-import org.teiid.language.QueryExpression;
-import org.teiid.metadata.RuntimeMetadata;
-
-
-
-/**
- * <p>The primary entry point for a Translator.  This class should be extended by the custom translator writer.</p>
- * 
- * The deployer instantiates this class through reflection. So it is important to have no-arg constructor. Once constructed
- * the "start" method is called. This class represents the basic capabilities of the translator.
- */
-public class ExecutionFactory implements ConnectorCapabilities{
-
-	public static final int DEFAULT_MAX_FROM_GROUPS = -1;
-
-	private static final TypeFacility TYPE_FACILITY = new TypeFacility();
-	
-	private boolean immutable = false;
-	private boolean exceptionOnMaxRows = false;
-	private int maxResultRows = DEFAULT_MAX_FROM_GROUPS;
-	private boolean xaCapable;
-	private boolean sourceRequired = true;
-	
-	/**
-	 * Initialize the connector with supplied configuration
-	 */
-	public void start() throws ConnectorException {
-	}
-	    
-	/**
-	 * Defines if the Connector is read-only connector 
-	 * @return
-	 */
-	@TranslatorProperty(name="immutable", display="Is Immutable",description="Is Immutable, True if the source never changes.",advanced=true, defaultValue="false")
-	public boolean isImmutable() {
-		return immutable;
-	}
-	
-	public void setImmutable(boolean arg0) {
-		this.immutable = arg0;
-	}	
-	
-	/**
-	 * Throw exception if there are more rows in the result set than specified in the MaxResultRows setting.
-	 * @return
-	 */
-	@TranslatorProperty(name="exception-on-max-rows", display="Exception on Exceeding Max Rows",description="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",advanced=true, defaultValue="true")
-	public boolean isExceptionOnMaxRows() {
-		return exceptionOnMaxRows;
-	}
-	
-	public void setExceptionOnMaxRows(boolean arg0) {
-		this.exceptionOnMaxRows = arg0;
-	}
-
-	/**
-	 * Maximum result set rows to fetch
-	 * @return
-	 */
-	@TranslatorProperty(name="max-result-rows", display="Maximum Result Rows", description="Maximum Result Rows allowed", advanced=true, defaultValue="-1")
-	public int getMaxResultRows() {
-		return maxResultRows;
-	}
-
-	public void setMaxResultRows(int arg0) {
-		this.maxResultRows = arg0;
-	}
-	
-	/**
-	 * Shows the XA transaction capability of the Connector.
-	 * @return
-	 */
-	@TranslatorProperty(name="xa-capable", display="Is XA Capable", description="True, if this connector supports XA Transactions", defaultValue="false")
-	public boolean isXaCapable() {
-		return xaCapable;
-	}
-
-	public void setXaCapable(boolean arg0) {
-		this.xaCapable = arg0;
-	}
-	    
-    /**
-     * Flag that indicates if a underlying source connection required for this execution factory to work 
-     * @return
-     */
-	public boolean isSourceRequired() {
-		return sourceRequired;
-	}	
-	
-	public void setSourceRequired(boolean value) {
-		this.sourceRequired = value;
-	}    
-    
-    /**
-     * Obtain a reference to the default LanguageFactory that can be used to construct
-     * new language interface objects.  This is typically needed when modifying the language
-     * objects passed to the connector or for testing when objects need to be created. 
-     */
-    public LanguageFactory getLanguageFactory()  {
-		return LanguageFactory.INSTANCE;
-	}
-    
-    /**
-     * Obtain a reference to the type facility, which can be used to perform many type 
-     * conversions supplied by the Connector API.
-     */
-    public TypeFacility getTypeFacility() {
-		return TYPE_FACILITY;
-	}
-    
-    /**
-     * Create an execution object for the specified command  
-     * @param command the command
-     * @param executionContext Provides information about the context that this command is
-     * executing within, such as the identifiers for the command being executed
-     * @param metadata Access to runtime metadata if needed to translate the command
-     * @param connection connection factory object to the data source
-     * @return An execution object that can use to execute the command
-     */
-	public Execution createExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connectionFactory) throws ConnectorException {
-		if (command instanceof QueryExpression) {
-			return createResultSetExecution((QueryExpression)command, executionContext, metadata, connectionFactory);
-		}
-		if (command instanceof Call) {
-			return createProcedureExecution((Call)command, executionContext, metadata, connectionFactory);
-		}
-		return createUpdateExecution(command, executionContext, metadata, connectionFactory);
-	}
-
-	public ResultSetExecution createResultSetExecution(QueryExpression command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws ConnectorException {
-		throw new ConnectorException("Unsupported Execution"); //$NON-NLS-1$
-	}
-
-	public ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws ConnectorException {
-		throw new ConnectorException("Unsupported Execution");//$NON-NLS-1$
-	}
-
-	public UpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws ConnectorException {
-		throw new ConnectorException("Unsupported Execution");//$NON-NLS-1$
-	}   
-	
-	@Override
-    public boolean supportsSelectDistinct() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAliasedGroup() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsSelfJoins() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsOuterJoins() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsFullOuterJoins() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsBetweenCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsCompareCriteriaEquals() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsLikeCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsLikeCriteriaEscapeCharacter() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsInCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsInCriteriaSubquery() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsIsNullCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsOrCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsNotCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsExistsCriteria() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsQuantifiedCompareCriteriaSome() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsQuantifiedCompareCriteriaAll() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsOrderBy() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesSum() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesAvg() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesMin() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesMax() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesCount() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesCountStar() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsAggregatesDistinct() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsScalarSubqueries() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsCorrelatedSubqueries() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsCaseExpressions() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsSearchedCaseExpressions() {
-        return false;
-    }
-
-    @Override
-    public List<String> getSupportedFunctions() {
-        return null;
-    }
-
-    public boolean supportsInlineViews() {
-        return false;
-    }
-    
-    @Override
-    public boolean supportsUnions() {
-        return false;
-    }
-
-    @Override
-    public int getMaxInCriteriaSize() {
-        return DEFAULT_MAX_FROM_GROUPS;
-    }
-    
-    @Override
-    public boolean supportsFunctionsInGroupBy() {
-        return false;
-    }
-    
-    @Override
-    public boolean supportsRowLimit() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsRowOffset() {
-        return false;
-    }
-
-    @Override
-    public int getMaxFromGroups() {
-        return DEFAULT_MAX_FROM_GROUPS; //-1 indicates no max
-    }
-
-    @Override
-    public boolean supportsExcept() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsIntersect() {
-        return false;
-    }
-
-    @Override
-    public boolean supportsSetQueryOrderBy() {
-        return false;
-    }    
-    
-    @Override
-    public boolean useAnsiJoin() {
-    	return false;
-    }
-
-    @Override
-    public boolean requiresCriteria() {
-    	return false;
-    }
-
-	@Override
-	public boolean supportsBatchedUpdates() {
-		return false;
-	}
-
-	@Override
-	public boolean supportsGroupBy() {
-		return false;
-	}
-
-	@Override
-	public boolean supportsHaving() {
-		return false;
-	}
-
-	@Override
-	public boolean supportsInnerJoins() {
-		return false;
-	}
-
-	@Override
-	public boolean supportsSelectExpression() {
-		return false;
-	}
-	
-	@Override
-	public SupportedJoinCriteria getSupportedJoinCriteria() {
-		return SupportedJoinCriteria.ANY;
-	}
-	
-	@Override
-	public boolean supportsCompareCriteriaOrdered() {
-		return false;
-	}
-
-	@Override
-	public boolean supportsInsertWithQueryExpression() {
-		return false;
-	}
-	
-	@Override
-	public boolean supportsBulkUpdate() {
-		return false;
-	}
-	
-	@Override
-	public boolean supportsOrderByUnrelated() {
-		return false;
-	}	
-	
-}

Copied: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/ExecutionFactory.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,430 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import java.util.List;
+
+import org.teiid.language.Call;
+import org.teiid.language.Command;
+import org.teiid.language.LanguageFactory;
+import org.teiid.language.QueryExpression;
+import org.teiid.metadata.RuntimeMetadata;
+
+
+
+/**
+ * <p>The primary entry point for a Translator.  This class should be extended by the custom translator writer.</p>
+ * 
+ * The deployer instantiates this class through reflection. So it is important to have no-arg constructor. Once constructed
+ * the "start" method is called. This class represents the basic capabilities of the translator.
+ */
+public class ExecutionFactory implements TranslatorCapabilities{
+
+	public static final int DEFAULT_MAX_FROM_GROUPS = -1;
+
+	private static final TypeFacility TYPE_FACILITY = new TypeFacility();
+	
+	private boolean immutable = false;
+	private boolean exceptionOnMaxRows = false;
+	private int maxResultRows = DEFAULT_MAX_FROM_GROUPS;
+	private boolean xaCapable;
+	private boolean sourceRequired = true;
+	
+	/**
+	 * Initialize the connector with supplied configuration
+	 */
+	public void start() throws TranslatorException {
+	}
+	    
+	/**
+	 * Defines if the Connector is read-only connector 
+	 * @return
+	 */
+	@TranslatorProperty(name="immutable", display="Is Immutable",description="Is Immutable, True if the source never changes.",advanced=true, defaultValue="false")
+	public boolean isImmutable() {
+		return immutable;
+	}
+	
+	public void setImmutable(boolean arg0) {
+		this.immutable = arg0;
+	}	
+	
+	/**
+	 * Throw exception if there are more rows in the result set than specified in the MaxResultRows setting.
+	 * @return
+	 */
+	@TranslatorProperty(name="exception-on-max-rows", display="Exception on Exceeding Max Rows",description="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",advanced=true, defaultValue="true")
+	public boolean isExceptionOnMaxRows() {
+		return exceptionOnMaxRows;
+	}
+	
+	public void setExceptionOnMaxRows(boolean arg0) {
+		this.exceptionOnMaxRows = arg0;
+	}
+
+	/**
+	 * Maximum result set rows to fetch
+	 * @return
+	 */
+	@TranslatorProperty(name="max-result-rows", display="Maximum Result Rows", description="Maximum Result Rows allowed", advanced=true, defaultValue="-1")
+	public int getMaxResultRows() {
+		return maxResultRows;
+	}
+
+	public void setMaxResultRows(int arg0) {
+		this.maxResultRows = arg0;
+	}
+	
+	/**
+	 * Shows the XA transaction capability of the Connector.
+	 * @return
+	 */
+	@TranslatorProperty(name="xa-capable", display="Is XA Capable", description="True, if this connector supports XA Transactions", defaultValue="false")
+	public boolean isXaCapable() {
+		return xaCapable;
+	}
+
+	public void setXaCapable(boolean arg0) {
+		this.xaCapable = arg0;
+	}
+	    
+    /**
+     * Flag that indicates if a underlying source connection required for this execution factory to work 
+     * @return
+     */
+	public boolean isSourceRequired() {
+		return sourceRequired;
+	}	
+	
+	public void setSourceRequired(boolean value) {
+		this.sourceRequired = value;
+	}    
+    
+    /**
+     * Obtain a reference to the default LanguageFactory that can be used to construct
+     * new language interface objects.  This is typically needed when modifying the language
+     * objects passed to the connector or for testing when objects need to be created. 
+     */
+    public LanguageFactory getLanguageFactory()  {
+		return LanguageFactory.INSTANCE;
+	}
+    
+    /**
+     * Obtain a reference to the type facility, which can be used to perform many type 
+     * conversions supplied by the Connector API.
+     */
+    public TypeFacility getTypeFacility() {
+		return TYPE_FACILITY;
+	}
+    
+    /**
+     * Create an execution object for the specified command  
+     * @param command the command
+     * @param executionContext Provides information about the context that this command is
+     * executing within, such as the identifiers for the command being executed
+     * @param metadata Access to runtime metadata if needed to translate the command
+     * @param connection connection factory object to the data source
+     * @return An execution object that can use to execute the command
+     */
+	public Execution createExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connectionFactory) throws TranslatorException {
+		if (command instanceof QueryExpression) {
+			return createResultSetExecution((QueryExpression)command, executionContext, metadata, connectionFactory);
+		}
+		if (command instanceof Call) {
+			return createProcedureExecution((Call)command, executionContext, metadata, connectionFactory);
+		}
+		return createUpdateExecution(command, executionContext, metadata, connectionFactory);
+	}
+
+	public ResultSetExecution createResultSetExecution(QueryExpression command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws TranslatorException {
+		throw new TranslatorException("Unsupported Execution"); //$NON-NLS-1$
+	}
+
+	public ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws TranslatorException {
+		throw new TranslatorException("Unsupported Execution");//$NON-NLS-1$
+	}
+
+	public UpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Object connection) throws TranslatorException {
+		throw new TranslatorException("Unsupported Execution");//$NON-NLS-1$
+	}   
+	
+	@Override
+    public boolean supportsSelectDistinct() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAliasedGroup() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsSelfJoins() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsOuterJoins() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsFullOuterJoins() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsBetweenCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsCompareCriteriaEquals() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsLikeCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsLikeCriteriaEscapeCharacter() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsInCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsInCriteriaSubquery() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsIsNullCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsOrCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsNotCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsExistsCriteria() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsQuantifiedCompareCriteriaSome() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsQuantifiedCompareCriteriaAll() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsOrderBy() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesSum() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesAvg() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesMin() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesMax() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesCount() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesCountStar() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsAggregatesDistinct() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsScalarSubqueries() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsCorrelatedSubqueries() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsCaseExpressions() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsSearchedCaseExpressions() {
+        return false;
+    }
+
+    @Override
+    public List<String> getSupportedFunctions() {
+        return null;
+    }
+
+    public boolean supportsInlineViews() {
+        return false;
+    }
+    
+    @Override
+    public boolean supportsUnions() {
+        return false;
+    }
+
+    @Override
+    public int getMaxInCriteriaSize() {
+        return DEFAULT_MAX_FROM_GROUPS;
+    }
+    
+    @Override
+    public boolean supportsFunctionsInGroupBy() {
+        return false;
+    }
+    
+    @Override
+    public boolean supportsRowLimit() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsRowOffset() {
+        return false;
+    }
+
+    @Override
+    public int getMaxFromGroups() {
+        return DEFAULT_MAX_FROM_GROUPS; //-1 indicates no max
+    }
+
+    @Override
+    public boolean supportsExcept() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsIntersect() {
+        return false;
+    }
+
+    @Override
+    public boolean supportsSetQueryOrderBy() {
+        return false;
+    }    
+    
+    @Override
+    public boolean useAnsiJoin() {
+    	return false;
+    }
+
+    @Override
+    public boolean requiresCriteria() {
+    	return false;
+    }
+
+	@Override
+	public boolean supportsBatchedUpdates() {
+		return false;
+	}
+
+	@Override
+	public boolean supportsGroupBy() {
+		return false;
+	}
+
+	@Override
+	public boolean supportsHaving() {
+		return false;
+	}
+
+	@Override
+	public boolean supportsInnerJoins() {
+		return false;
+	}
+
+	@Override
+	public boolean supportsSelectExpression() {
+		return false;
+	}
+	
+	@Override
+	public SupportedJoinCriteria getSupportedJoinCriteria() {
+		return SupportedJoinCriteria.ANY;
+	}
+	
+	@Override
+	public boolean supportsCompareCriteriaOrdered() {
+		return false;
+	}
+
+	@Override
+	public boolean supportsInsertWithQueryExpression() {
+		return false;
+	}
+	
+	@Override
+	public boolean supportsBulkUpdate() {
+		return false;
+	}
+	
+	@Override
+	public boolean supportsOrderByUnrelated() {
+		return false;
+	}	
+	
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/MetadataProvider.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import org.teiid.metadata.MetadataFactory;
-
-public interface MetadataProvider {
-
-	void getConnectorMetadata(MetadataFactory metadataFactory, Object connectionFactory) throws ConnectorException;
-	
-}

Copied: trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/MetadataProvider.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/MetadataProvider.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import org.teiid.metadata.MetadataFactory;
+
+public interface MetadataProvider {
+
+	void getConnectorMetadata(MetadataFactory metadataFactory, Object connectionFactory) throws TranslatorException;
+	
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/ProcedureExecution.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import java.util.List;
-
-import org.teiid.language.Call;
-
-/**
- * The procedure execution represents the case where a connector can execute a
- * {@link Call}. The output may include 0 or more output parameters and
- * optionally a result set.
- */
-public interface ProcedureExecution extends ResultSetExecution {
-
-    /**
-     * Get the output parameter values.  Results should place the return parameter
-     * first if it is present, then the IN/OUT and OUT parameters should follow in
-     * the order they appeared in the command.
-     * @throws ConnectorException If an error occurs while retrieving the output value
-     */
-    List<?> getOutputParameterValues() throws ConnectorException;
-    
-}

Copied: trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/ProcedureExecution.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/ProcedureExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import java.util.List;
+
+import org.teiid.language.Call;
+
+/**
+ * The procedure execution represents the case where a connector can execute a
+ * {@link Call}. The output may include 0 or more output parameters and
+ * optionally a result set.
+ */
+public interface ProcedureExecution extends ResultSetExecution {
+
+    /**
+     * Get the output parameter values.  Results should place the return parameter
+     * first if it is present, then the IN/OUT and OUT parameters should follow in
+     * the order they appeared in the command.
+     * @throws TranslatorException If an error occurs while retrieving the output value
+     */
+    List<?> getOutputParameterValues() throws TranslatorException;
+    
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/ResultSetExecution.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import java.util.List;
-
-import org.teiid.language.Call;
-import org.teiid.language.QueryExpression;
-
-/**
- * Defines an execution for {@link QueryExpression}s and {@link Call}s that
- * returns a resultset, which is represented through the iterator method
- * {@link #next()}.
- */
-public interface ResultSetExecution extends Execution {
-
-	/**
-	 * Retrieves the next row of the resultset.  
-	 * @return the next row or null indicating that there are no more results
-	 * @throws ConnectorException
-	 * @throws DataNotAvailableException
-	 */
-	List<?> next() throws ConnectorException, DataNotAvailableException;
-
-}

Copied: trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/ResultSetExecution.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/ResultSetExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import java.util.List;
+
+import org.teiid.language.Call;
+import org.teiid.language.QueryExpression;
+
+/**
+ * Defines an execution for {@link QueryExpression}s and {@link Call}s that
+ * returns a resultset, which is represented through the iterator method
+ * {@link #next()}.
+ */
+public interface ResultSetExecution extends Execution {
+
+	/**
+	 * Retrieves the next row of the resultset.  
+	 * @return the next row or null indicating that there are no more results
+	 * @throws TranslatorException
+	 * @throws DataNotAvailableException
+	 */
+	List<?> next() throws TranslatorException, DataNotAvailableException;
+
+}

Copied: trunk/api/src/main/java/org/teiid/translator/TranslatorCapabilities.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/TranslatorCapabilities.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/TranslatorCapabilities.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/TranslatorCapabilities.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,394 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import java.util.List;
+
+import org.teiid.language.BatchedUpdates;
+import org.teiid.language.SetQuery;
+
+
+/**
+ * Allows a connector to specify the capabilities that a connector
+ * supports.    
+ */
+public interface TranslatorCapabilities {
+	
+	public enum SupportedJoinCriteria {
+		/**
+		 * Indicates that any supported criteria is allowed.
+		 */
+		ANY, 
+		/**
+		 * Indicates that any simple comparison of elements is allowed. 
+		 */
+		THETA,
+		/**
+		 * Indicates that only equality predicates of elements are allowed.
+		 */
+		EQUI,
+		/**
+		 * Indicates that only equality predicates between
+		 * exactly one primary and foreign key is allowed per join.
+		 */
+		KEY
+	}
+	
+    /** 
+     * Support indicates connector can accept queries with SELECT DISTINCT
+     * @since 3.1 SP2 
+     */
+    boolean supportsSelectDistinct();
+
+    /** 
+     * Support indicates connector can accept expressions other than element
+     * symbols in the SELECT clause.  Specific supports for the expression
+     * type are still checked.
+     * @since 6.1.0
+     */
+    boolean supportsSelectExpression();
+
+    /**
+     * Support indicates connector can accept groups with aliases  
+     * @since 3.1 SP2
+     */
+    boolean supportsAliasedGroup();
+
+    /** 
+     * Get the supported join criteria. A null return value will be treated
+     * as {@link SupportedJoinCriteria#ANY}  
+     * @since 6.1.0
+     */
+    SupportedJoinCriteria getSupportedJoinCriteria();
+    
+    /** 
+     * Support indicates connector can accept inner or cross joins
+     * @since 6.1.0
+     */
+    boolean supportsInnerJoins();
+    
+    /** 
+     * Support indicates connector can accept self-joins where a 
+     * group is joined to itself with aliases.  Connector must also support
+     * {@link #supportsAliasedGroup()}. 
+     * @since 3.1 SP2
+     */
+    boolean supportsSelfJoins();
+    
+    /** 
+     * Support indicates connector can accept left outer joins 
+     * @since 3.1 SP2
+     */
+    boolean supportsOuterJoins();
+    
+    /** 
+     * Support indicates connector can accept full outer joins
+     * @since 3.1 SP2 
+     */
+    boolean supportsFullOuterJoins();
+
+    /** 
+     * Support indicates connector can accept inline views (subqueries
+     * in the FROM clause).  
+     * @since 4.1 
+     */
+    boolean supportsInlineViews();
+
+    /** 
+     * Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
+     * <br>NOT CURRENTLY USED - between is rewritten as compound compare criteria
+     * @since 4.0
+     */
+    boolean supportsBetweenCriteria();
+    
+    /** 
+     * Support indicates connector accepts criteria of form (element = constant) 
+     * @since 3.1 SP2
+     */
+    boolean supportsCompareCriteriaEquals();
+
+    /** 
+     * Support indicates connector accepts criteria of form (element &lt;=|&gt;= constant)
+     * <br>The query engine will may pushdown queries containing &lt; or &gt; if NOT is also
+     * supported.  
+     * @since 3.1 SP2
+     */
+    boolean supportsCompareCriteriaOrdered();
+
+    /** 
+     * Support indicates connector accepts criteria of form (element LIKE constant) 
+     * @since 3.1 SP2
+     */
+    boolean supportsLikeCriteria();
+        
+    /** 
+     * Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char)
+     * @since 3.1 SP2
+     */
+    boolean supportsLikeCriteriaEscapeCharacter();
+
+    /** 
+     * Support indicates connector accepts criteria of form (element IN set) 
+     * @since 3.1 SP2
+     */
+    boolean supportsInCriteria();
+
+    /** 
+     * Support indicates connector accepts IN criteria with a subquery on the right side 
+     * @since 4.0
+     */
+    boolean supportsInCriteriaSubquery();
+
+    /** 
+     * Support indicates connector accepts criteria of form (element IS NULL) 
+     * @since 3.1 SP2
+     */
+    boolean supportsIsNullCriteria();
+
+    /** 
+     * Support indicates connector accepts logical criteria connected by OR 
+     * @since 3.1 SP2
+     */
+    boolean supportsOrCriteria();
+
+    /** 
+     * Support indicates connector accepts logical criteria NOT 
+     * @since 3.1 SP2
+     */
+    boolean supportsNotCriteria();
+
+    /** 
+     * Support indicates connector accepts the EXISTS criteria 
+     * @since 4.0
+     */
+    boolean supportsExistsCriteria();
+
+    /** 
+     * Support indicates connector accepts the quantified comparison criteria that 
+     * use SOME
+     * @since 4.0
+     */
+    boolean supportsQuantifiedCompareCriteriaSome();
+
+    /** 
+     * Support indicates connector accepts the quantified comparison criteria that 
+     * use ALL
+     * @since 4.0
+     */
+    boolean supportsQuantifiedCompareCriteriaAll();
+
+    /** 
+     * Support indicates connector accepts ORDER BY clause, including multiple elements
+     * and ascending and descending sorts.    
+     * @since 3.1 SP2
+     */
+    boolean supportsOrderBy();
+    
+    /**
+     * Support indicates connector accepts ORDER BY clause with columns not from the select    
+     * @since 6.2
+     * @return
+     */
+    boolean supportsOrderByUnrelated();
+    
+    /**
+     * Whether the source supports an explicit GROUP BY clause
+     * @since 6.1
+     */
+    boolean supportsGroupBy();
+
+    /**
+     * Whether the source supports the HAVING clause
+     * @since 6.1
+     */
+    boolean supportsHaving();
+    
+    /** 
+     * Support indicates connector can accept the SUM aggregate function 
+     * @since 3.1 SP2
+     */
+    boolean supportsAggregatesSum();
+    
+    /** 
+     * Support indicates connector can accept the AVG aggregate function
+     * @since 3.1 SP2 
+     */
+    boolean supportsAggregatesAvg();
+    
+    /** 
+     * Support indicates connector can accept the MIN aggregate function 
+     * @since 3.1 SP2
+     */
+    boolean supportsAggregatesMin();
+    
+    /** 
+     * Support indicates connector can accept the MAX aggregate function 
+     * @since 3.1 SP2
+     */
+    boolean supportsAggregatesMax();
+    
+    /** 
+     * Support indicates connector can accept the COUNT aggregate function
+     * @since 3.1 SP2 
+     */
+    boolean supportsAggregatesCount();
+    
+    /** 
+     * Support indicates connector can accept the COUNT(*) aggregate function 
+     * @since 3.1 SP2
+     */
+    boolean supportsAggregatesCountStar();
+    
+    /** 
+     * Support indicates connector can accept DISTINCT within aggregate functions 
+     * @since 3.1 SP2
+     */
+    boolean supportsAggregatesDistinct();
+
+    /** 
+     * Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and
+     * HAVING clauses
+     * @since 4.0
+     */
+    boolean supportsScalarSubqueries();
+
+    /** 
+     * Support indicates connector can accept correlated subqueries wherever subqueries
+     * are accepted 
+     * @since 4.0
+     */
+    boolean supportsCorrelatedSubqueries();
+    
+    /**
+     * Support indicates connector can accept queries with non-searched
+     * CASE <expression> WHEN <expression> ... END
+     * <br>NOT CURRENTLY USED - case is pushed down as searched case
+     * @since 4.0
+     */
+    boolean supportsCaseExpressions();
+
+    /**
+     * Support indicates connector can accept queries with searched CASE WHEN <criteria> ... END
+     * @since 4.0
+     */
+    boolean supportsSearchedCaseExpressions();
+   
+    /**
+     * Support indicates that the connector supports the UNION of two queries. 
+     * @since 4.2
+     */
+    boolean supportsUnions();
+
+    /**
+     * Support indicates that the connector supports an ORDER BY on a SetQuery. 
+     * @since 5.6
+     */
+    boolean supportsSetQueryOrderBy();
+    
+    /**
+     * Support indicates that the connector supports the INTERSECT of two queries. 
+     * @since 5.6
+     */
+    boolean supportsIntersect();
+
+    /**
+     * Support indicates that the connector supports the EXCEPT of two queries. 
+     * @since 5.6
+     */
+    boolean supportsExcept();
+        
+    /**
+     * Get list of all supported function names.  Arithmetic functions have names like
+     * &quot;+&quot;.  
+     * @since 3.1 SP3    
+     */        
+    List<String> getSupportedFunctions();
+    
+    /**
+     * Get the integer value representing the number of values allowed in an IN criteria
+     * in the WHERE clause of a query
+     * @since 5.0
+     */
+    int getMaxInCriteriaSize();
+    
+    /**
+     * <p>Support indicates that the connector supports functions in GROUP BY, such as:
+     *  <code>SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)</code></p>
+     *  
+     * <br>NOT CURRENTLY USED - group by expressions create an inline view for pushdown
+     * @since 5.0
+     */
+    boolean supportsFunctionsInGroupBy();
+    
+    /**
+     * Gets whether the connector can limit the number of rows returned by a query.
+     * @since 5.0 SP1
+     */
+    boolean supportsRowLimit();
+    
+    /**
+     * Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return
+     * result sets that start in the middle of the resulting rows returned by a query
+     * @since 5.0 SP1
+     */
+    boolean supportsRowOffset();
+    
+    /**
+     * The number of groups supported in the from clause.  Added for a Sybase limitation. 
+     * @since 5.6
+     * @return the number of groups supported in the from clause, or -1 if there is no limit
+     */
+    int getMaxFromGroups();
+    
+    /**
+     * Whether the source prefers to use ANSI style joins.
+     * @since 6.0
+     */
+    boolean useAnsiJoin();
+    
+    /**
+     * Whether the source supports queries without criteria.
+     * @since 6.0
+     */
+    boolean requiresCriteria();
+    
+    /**
+     * Whether the source supports {@link BatchedUpdates}
+     * @since 6.0
+     */
+    boolean supportsBatchedUpdates();
+    
+    /**
+     * Whether the source supports updates with multiple value sets
+     * @since 6.0
+     */
+    boolean supportsBulkUpdate();
+    
+    /**
+     * Support indicates that the connector can accept INSERTs with
+     * values specified by an {@link SetQuery}.
+     * @since 6.1
+     */
+    boolean supportsInsertWithQueryExpression();
+        
+}

Copied: trunk/api/src/main/java/org/teiid/translator/TranslatorException.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/TranslatorException.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/TranslatorException.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/TranslatorException.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import org.teiid.core.TeiidException;
+
+/**
+ * An exception the connector writer can return in case of an 
+ * error while using the connector.
+ */
+public class TranslatorException extends TeiidException{
+
+	private static final long serialVersionUID = -5980862789340592219L;
+
+	/**
+     * No-arg constructor required by Externalizable semantics.
+     */
+    public TranslatorException() {
+        super();
+    }
+    
+    /**
+     * Construct an instance with the message specified.
+     *
+     * @param message A message describing the exception
+     */
+    public TranslatorException( String message ) {
+        super( message );
+    }
+    
+    public TranslatorException( String errorCode, String message ) {
+        super( message, errorCode);
+    }
+    
+    public TranslatorException( int errorCode, String message ) {
+        super(message, Integer.toString(errorCode));
+    }    
+    
+
+    /**
+     * Construct an instance from a message and an exception to chain to this one.
+     *
+     * @param code A code denoting the exception
+     * @param e An exception to nest within this one
+     */
+    public TranslatorException( Throwable e, String message ) {
+        super(e, message);
+    }  
+    
+    /**
+     * Construct an instance with a linked exception specified.
+     *
+     * @param e An exception to chain to this exception
+     */
+    public TranslatorException( Throwable e ) {
+        super( e );
+    }  
+
+}

Deleted: trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/translator/UpdateExecution.java	2010-05-13 13:40:34 UTC (rev 2122)
+++ trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership.  Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- * 
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * 
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package org.teiid.translator;
-
-import org.teiid.language.BatchedUpdates;
-import org.teiid.language.Delete;
-import org.teiid.language.Insert;
-import org.teiid.language.Update;
-
-
-/**
- * The update execution represents the case where a connector can 
- * execute an {@link Insert}, {@link Update}, {@link Delete}, or {@link BatchedUpdates} command.
- */
-public interface UpdateExecution extends Execution {
-
-	/**
-	 * Returns the update counts for the execution.
-	 * @return the update counts corresponding to the command executed
-	 * @throws DataNotAvailableException
-	 * @throws ConnectorException
-	 */
-    int[] getUpdateCounts() throws DataNotAvailableException, ConnectorException;
-    
-}

Copied: trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java (from rev 2123, trunk/connector-api/src/main/java/org/teiid/translator/UpdateExecution.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java	                        (rev 0)
+++ trunk/api/src/main/java/org/teiid/translator/UpdateExecution.java	2010-05-13 16:19:04 UTC (rev 2124)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator;
+
+import org.teiid.language.BatchedUpdates;
+import org.teiid.language.Delete;
+import org.teiid.language.Insert;
+import org.teiid.language.Update;
+
+
+/**
+ * The update execution represents the case where a connector can 
+ * execute an {@link Insert}, {@link Update}, {@link Delete}, or {@link BatchedUpdates} command.
+ */
+public interface UpdateExecution extends Execution {
+
+	/**
+	 * Returns the update counts for the execution.
+	 * @return the update counts corresponding to the command executed
+	 * @throws DataNotAvailableException
+	 * @throws TranslatorException
+	 */
+    int[] getUpdateCounts() throws DataNotAvailableException, TranslatorException;
+    
+}

Modified: trunk/connectors/connector-ldap/pom.xml
===================================================================
--- trunk/connectors/connector-ldap/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/connector-ldap/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -14,7 +14,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/connector-salesforce/pom.xml
===================================================================
--- trunk/connectors/connector-salesforce/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/connector-salesforce/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -14,7 +14,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/connector-text/pom.xml
===================================================================
--- trunk/connectors/connector-text/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/connector-text/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -15,7 +15,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/pom.xml
===================================================================
--- trunk/connectors/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -17,7 +17,7 @@
     <!--  Internal Test Dependencies -->
     <dependency>
       <groupId>org.jboss.teiid</groupId>
-      <artifactId>teiid-connector-api</artifactId>
+      <artifactId>teiid-api</artifactId>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>

Modified: trunk/connectors/sandbox/translator-yahoo/pom.xml
===================================================================
--- trunk/connectors/sandbox/translator-yahoo/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/sandbox/translator-yahoo/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -13,7 +13,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/translator-jdbc/pom.xml
===================================================================
--- trunk/connectors/translator-jdbc/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/translator-jdbc/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -16,7 +16,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/translator-ldap/pom.xml
===================================================================
--- trunk/connectors/translator-ldap/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/translator-ldap/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -13,7 +13,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/translator-loopback/pom.xml
===================================================================
--- trunk/connectors/translator-loopback/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/translator-loopback/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -16,7 +16,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/translator-salesforce/pom.xml
===================================================================
--- trunk/connectors/translator-salesforce/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/translator-salesforce/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -15,7 +15,7 @@
 	<dependencies>
         <dependency>
           <groupId>org.jboss.teiid</groupId>
-          <artifactId>teiid-connector-api</artifactId>
+          <artifactId>teiid-api</artifactId>
           <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/connectors/translator-text/pom.xml
===================================================================
--- trunk/connectors/translator-text/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/connectors/translator-text/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -14,7 +14,7 @@
     <dependencies>
         <dependency>
             <groupId>org.jboss.teiid</groupId>
-            <artifactId>teiid-connector-api</artifactId>
+            <artifactId>teiid-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: trunk/engine/pom.xml
===================================================================
--- trunk/engine/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/engine/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -39,7 +39,7 @@
 
 		<dependency>
 			<groupId>org.jboss.teiid</groupId>
-			<artifactId>teiid-connector-api</artifactId>
+			<artifactId>teiid-api</artifactId>
 			<scope>provided</scope>
 		</dependency>
 

Modified: trunk/jboss-integration/pom.xml
===================================================================
--- trunk/jboss-integration/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/jboss-integration/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -20,7 +20,7 @@
  
     <dependency>
       <groupId>org.jboss.teiid</groupId>
-      <artifactId>teiid-connector-api</artifactId>
+      <artifactId>teiid-api</artifactId>
     </dependency>
                 
     <dependency>

Modified: trunk/metadata/pom.xml
===================================================================
--- trunk/metadata/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/metadata/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -43,7 +43,7 @@
     
     <dependency>
       <groupId>org.jboss.teiid</groupId>
-      <artifactId>teiid-connector-api</artifactId>
+      <artifactId>teiid-api</artifactId>
       <scope>provided</scope>
     </dependency>
         

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -238,12 +238,12 @@
 			</dependency>
 			<dependency>
 				<groupId>org.jboss.teiid</groupId>
-				<artifactId>teiid-connector-api</artifactId>
+				<artifactId>teiid-api</artifactId>
 				<version>${project.version}</version>
 			</dependency>
 			<dependency>
 				<groupId>org.jboss.teiid</groupId>
-				<artifactId>teiid-connector-api</artifactId>
+				<artifactId>teiid-api</artifactId>
 				<type>test-jar</type>
 				<version>${project.version}</version>
 				<scope>test</scope>
@@ -466,7 +466,7 @@
 	</dependencyManagement>
 	<modules>
 		<module>common-core</module>
-		<module>connector-api</module>
+		<module>api</module>
 		<module>client</module>
 		<module>engine</module>
 		<module>connectors</module>

Modified: trunk/runtime/pom.xml
===================================================================
--- trunk/runtime/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/runtime/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -23,7 +23,7 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.teiid</groupId>
-      <artifactId>teiid-connector-api</artifactId>
+      <artifactId>teiid-api</artifactId>
       <scope>provided</scope>
     </dependency>
     <dependency>

Modified: trunk/test-integration/pom.xml
===================================================================
--- trunk/test-integration/pom.xml	2010-05-13 14:30:43 UTC (rev 2123)
+++ trunk/test-integration/pom.xml	2010-05-13 16:19:04 UTC (rev 2124)
@@ -37,7 +37,7 @@
 		</dependency>
 		<dependency>
 			<groupId>org.jboss.teiid</groupId>
-			<artifactId>teiid-connector-api</artifactId>
+			<artifactId>teiid-api</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.jboss.teiid.connectors</groupId>



More information about the teiid-commits mailing list