[teiid-commits] teiid SVN: r4504 - in trunk: build/kits/jboss-as7/modules/org/jboss/teiid/translator/object/main and 13 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Tue Oct 2 12:38:14 EDT 2012
Author: shawkins
Date: 2012-10-02 12:38:13 -0400 (Tue, 02 Oct 2012)
New Revision: 4504
Removed:
trunk/connectors/translator-jpa/src/main/resources/META-INF/MANIFEST.MF
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/util/
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BaseObjectTest.java
trunk/connectors/translator-object/src/test/resources/BasicSearchTest/
Modified:
trunk/build/assembly/embedded-dist.xml
trunk/build/kits/jboss-as7/modules/org/jboss/teiid/translator/object/main/module.xml
trunk/connectors/translator-jpa/pom.xml
trunk/connectors/translator-object/pom.xml
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanBaseExecutionFactory.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanConnectionImpl.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/LuceneSearch.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/SearchByKey.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheConnection.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheExecutionFactory.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/BasicKeySearchCriteria.java
trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/SearchCriterion.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BasicSearchTest.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/TestObjectExecution.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanConfigFileKeySearch.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiILuceneSearch.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiKeySearch.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanRemoteJndiKeySearch.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/mapcache/TestMapCacheKeySearch.java
trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/search/TestBasicKeySearchCriteria.java
Log:
TEIID-2210 refinements to the object translator. some projection is necessary. also adding to embedded
Modified: trunk/build/assembly/embedded-dist.xml
===================================================================
--- trunk/build/assembly/embedded-dist.xml 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/build/assembly/embedded-dist.xml 2012-10-02 16:38:13 UTC (rev 4504)
@@ -89,6 +89,7 @@
<include>org.jboss.teiid.connectors:translator-olap</include>
<include>org.jboss.teiid.connectors:translator-hive</include>
<include>org.jboss.teiid.connectors:translator-jpa</include>
+ <include>org.jboss.teiid.connectors:translator-object</include>
</includes>
<binaries>
Modified: trunk/build/kits/jboss-as7/modules/org/jboss/teiid/translator/object/main/module.xml
===================================================================
--- trunk/build/kits/jboss-as7/modules/org/jboss/teiid/translator/object/main/module.xml 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/build/kits/jboss-as7/modules/org/jboss/teiid/translator/object/main/module.xml 2012-10-02 16:38:13 UTC (rev 4504)
@@ -10,6 +10,7 @@
<module name="javax.resource.api"/>
<module name="org.jboss.teiid.common-core" />
<module name="org.jboss.teiid.api" />
+ <module name="org.jboss.teiid" />
<module name="javax.persistence.api"/>
<module name="org.hibernate"/>
<module name="org.infinispan"/>
Modified: trunk/connectors/translator-jpa/pom.xml
===================================================================
--- trunk/connectors/translator-jpa/pom.xml 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-jpa/pom.xml 2012-10-02 16:38:13 UTC (rev 4504)
@@ -52,18 +52,6 @@
</dependencies>
<build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
- </plugins>
-
<outputDirectory>target/classes</outputDirectory>
<resources>
<resource>
Deleted: trunk/connectors/translator-jpa/src/main/resources/META-INF/MANIFEST.MF
===================================================================
--- trunk/connectors/translator-jpa/src/main/resources/META-INF/MANIFEST.MF 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-jpa/src/main/resources/META-INF/MANIFEST.MF 2012-10-02 16:38:13 UTC (rev 4504)
@@ -1 +0,0 @@
-Dependencies: org.hibernate,org.jboss.teiid.translator.jdbc
Modified: trunk/connectors/translator-object/pom.xml
===================================================================
--- trunk/connectors/translator-object/pom.xml 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/pom.xml 2012-10-02 16:38:13 UTC (rev 4504)
@@ -27,22 +27,28 @@
<artifactId>teiid-common-core</artifactId>
<scope>provided</scope>
</dependency>
+ <!-- TODO: could put teiidscript in api -->
+ <dependency>
+ <groupId>org.jboss.teiid</groupId>
+ <artifactId>teiid-engine</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-client</artifactId>
<type>test-jar</type>
- <scope>provided</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-metadata</artifactId>
- <scope>provided</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-metadata</artifactId>
<type>test-jar</type>
- <scope>provided</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>javax.resource</groupId>
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -27,10 +27,19 @@
import java.util.Iterator;
import java.util.List;
+import javax.script.CompiledScript;
+import javax.script.ScriptContext;
+import javax.script.ScriptException;
+import javax.script.SimpleScriptContext;
+
+import org.teiid.language.ColumnReference;
+import org.teiid.language.DerivedColumn;
import org.teiid.language.Select;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
+import org.teiid.metadata.Column;
import org.teiid.metadata.RuntimeMetadata;
+import org.teiid.query.eval.TeiidScriptEngine;
import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.ResultSetExecution;
import org.teiid.translator.TranslatorException;
@@ -40,15 +49,32 @@
*/
public class ObjectExecution implements ResultSetExecution {
+ private static final String OBJECT_NAME = "o"; //$NON-NLS-1$
private Select query;
private ObjectConnection connection;
-
+ private ArrayList<CompiledScript> projects;
+ private ScriptContext sc = new SimpleScriptContext();
+ private static TeiidScriptEngine scriptEngine = new TeiidScriptEngine();
private Iterator<Object> resultsIt = null;
public ObjectExecution(Select query, RuntimeMetadata metadata,
- ObjectExecutionFactory factory, ObjectConnection connection) {
+ ObjectExecutionFactory factory, ObjectConnection connection) throws TranslatorException {
this.query = query;
this.connection = connection;
+ projects = new ArrayList<CompiledScript>(query.getDerivedColumns().size());
+ for (DerivedColumn dc : query.getDerivedColumns()) {
+ Column c = ((ColumnReference) dc.getExpression()).getMetadataObject();
+ String name = getNameInSourceFromColumn(c);
+ if (name.equalsIgnoreCase("this")) { //$NON-NLS-1$
+ projects.add(null);
+ } else {
+ try {
+ projects.add(scriptEngine.compile(OBJECT_NAME + "." + name)); //$NON-NLS-1$
+ } catch (ScriptException e) {
+ throw new TranslatorException(e);
+ }
+ }
+ }
}
@Override
@@ -90,8 +116,20 @@
DataNotAvailableException {
// create and return one row at a time for your resultset.
if (resultsIt.hasNext()) {
- List<Object> r = new ArrayList<Object>(1);
- r.add(resultsIt.next());
+ List<Object> r = new ArrayList<Object>(projects.size());
+ Object o = resultsIt.next();
+ sc.setAttribute(OBJECT_NAME, o, ScriptContext.ENGINE_SCOPE);
+ for (CompiledScript cs : this.projects) {
+ if (cs == null) {
+ r.add(o);
+ continue;
+ }
+ try {
+ r.add(cs.eval(sc));
+ } catch (ScriptException e) {
+ throw new TranslatorException(e);
+ }
+ }
return r;
}
return null;
@@ -107,5 +145,13 @@
@Override
public void cancel() throws TranslatorException {
}
+
+ public static String getNameInSourceFromColumn(Column c) {
+ String name = c.getNameInSource();
+ if (name == null || name.trim().isEmpty()) {
+ return c.getName();
+ }
+ return name;
+ }
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanBaseExecutionFactory.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanBaseExecutionFactory.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanBaseExecutionFactory.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -146,8 +146,8 @@
this.configurationFileName = configurationFileName;
}
- public BasicCache<String, Object> getCache() throws TranslatorException {
- BasicCache<String, Object> cache = null;
+ public BasicCache<Object, Object> getCache() throws TranslatorException {
+ BasicCache<Object, Object> cache = null;
BasicCacheContainer container = getCacheContainer();
if (getCacheName() != null) {
cache = container.getCache(getCacheName());
@@ -188,4 +188,9 @@
public boolean supportsOrCriteria() {
return isFullTextSearchingSupported();
}
+
+ @Override
+ public boolean supportsCompareCriteriaOrdered() {
+ return isFullTextSearchingSupported();
+ }
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanConnectionImpl.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanConnectionImpl.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/InfinispanConnectionImpl.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -95,11 +95,9 @@
return SearchByKey.performSearch(command, this);
}
- public BasicCache<String, Object> getCache()
+ public BasicCache<Object, Object> getCache()
throws TranslatorException {
return factory.getCache();
-
}
-
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/LuceneSearch.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/LuceneSearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/LuceneSearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -36,6 +36,7 @@
import org.teiid.logging.LogManager;
import org.teiid.metadata.Column;
import org.teiid.translator.TranslatorException;
+import org.teiid.translator.object.ObjectExecution;
import org.teiid.translator.object.ObjectPlugin;
import org.teiid.translator.object.infinispan.InfinispanConnectionImpl;
@@ -328,7 +329,7 @@
private static Query createEqualsQuery(Column column, Object value, boolean and,
boolean not, BooleanJunction<BooleanJunction> junction, QueryBuilder queryBuilder) {
Query queryKey = queryBuilder.keyword()
- .onField(getNameInSourceFromColumn(column))
+ .onField(ObjectExecution.getNameInSourceFromColumn(column))
// .matching(value.toString() + "*")
.matching(value.toString()).createQuery();
@@ -346,7 +347,7 @@
BooleanJunction<BooleanJunction> junction, QueryBuilder queryBuilder) {
Query queryKey = queryBuilder.range()
- .onField(getNameInSourceFromColumn(column))
+ .onField(ObjectExecution.getNameInSourceFromColumn(column))
.above(value.toString()).excludeLimit().createQuery();
junction.must(queryKey);
return queryKey;
@@ -356,7 +357,7 @@
BooleanJunction<BooleanJunction> junction, QueryBuilder queryBuilder) {
Query queryKey = queryBuilder.range()
- .onField(getNameInSourceFromColumn(column))
+ .onField(ObjectExecution.getNameInSourceFromColumn(column))
.below(value.toString()).excludeLimit().createQuery();
junction.must(queryKey);
return queryKey;
@@ -365,18 +366,10 @@
private static Query createLikeQuery(Column column, String value,
BooleanJunction<BooleanJunction> junction, QueryBuilder queryBuilder) {
Query queryKey = queryBuilder.phrase()
- .onField(getNameInSourceFromColumn(column)).sentence(value)
+ .onField(ObjectExecution.getNameInSourceFromColumn(column)).sentence(value)
.createQuery();
junction.should(queryKey);
return queryKey;
}
- private static String getNameInSourceFromColumn(Column c) {
- String name = c.getNameInSource();
- if (name == null || name.trim().equals("")) { //$NON-NLS-1$
- return c.getName();
- }
- return name;
- }
-
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/SearchByKey.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/SearchByKey.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/infinispan/search/SearchByKey.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -34,6 +34,7 @@
import org.infinispan.client.hotrod.RemoteCache;
import org.teiid.language.Select;
import org.teiid.translator.TranslatorException;
+import org.teiid.translator.object.ObjectPlugin;
import org.teiid.translator.object.infinispan.InfinispanConnectionImpl;
import org.teiid.translator.object.search.BasicKeySearchCriteria;
import org.teiid.translator.object.search.SearchCriterion;
@@ -47,7 +48,7 @@
public static List<Object> performSearch(Select command, InfinispanConnectionImpl connection)
throws TranslatorException {
- BasicCache<String, Object> cache = connection.getCache();
+ BasicCache<Object, Object> cache = connection.getCache();
BasicKeySearchCriteria bksc = BasicKeySearchCriteria.getInstance(
connection.getFactory(), command);
@@ -55,18 +56,18 @@
}
- private static List<Object> get(SearchCriterion criterion,
- BasicCache<String, Object> cache, Class<?> rootClass)
+ public static List<Object> get(SearchCriterion criterion,
+ Map<?, ?> cache, Class<?> rootClass)
throws TranslatorException {
List<Object> results = null;
if (criterion.getOperator() == SearchCriterion.Operator.ALL) {
- Map<String, Object> map = cache;
+ Map<?, ?> map = cache;
if (cache instanceof RemoteCache<?, ?>) {
RemoteCache<?, ?> rc = (RemoteCache<?, ?>) cache;
- map = (Map<String, Object>) rc.getBulk();
+ map = (Map<Object, Object>) rc.getBulk();
}
- Set<String> keys = map.keySet();
+ Set<?> keys = map.keySet();
results = new ArrayList<Object>();
for (Iterator<?> it = keys.iterator(); it.hasNext();) {
Object v = cache.get(it.next());
@@ -87,8 +88,7 @@
Object value = criterion.getValue();
- Object v = cache.get(value instanceof String ? value : value
- .toString());
+ Object v = cache.get(value);
if (v != null) {
addValue(v, results, rootClass);
}
@@ -98,8 +98,7 @@
for (Iterator<Object> it = parms.iterator(); it.hasNext();) {
Object arg = it.next();
// the key is only supported in string format
- Object v = cache.get(arg instanceof String ? arg : arg
- .toString());
+ Object v = cache.get(arg);
if (v != null) {
addValue(v, results, rootClass);
}
@@ -111,29 +110,40 @@
}
- private static void addValue(Object value, List<Object> results, Class<?> rootNodeType) {
- if (value != null && value.getClass().equals(rootNodeType)) {
+ private static void addValue(Object value, List<Object> results, Class<?> rootNodeType) throws TranslatorException {
+ if (value == null) {
+ return;
+ }
+ if (!value.getClass().equals(rootNodeType)) {
+ // the object obtained from the cache has to be of the same root
+ // class type, otherwise, the modeling
+ // structure won't correspond correctly
+ String msg = ObjectPlugin.Util.getString(
+ "MapCacheConnection.unexpectedObjectTypeInCache",
+ new Object[] { value.getClass().getName(),
+ rootNodeType.getName() });
- if (value.getClass().isArray()) {
- List<Object> listRows = Arrays.asList((Object[]) value);
- results.addAll(listRows);
- return;
- }
+ throw new TranslatorException(msg);
+ }
+
+ if (value.getClass().isArray()) {
+ List<Object> listRows = Arrays.asList((Object[]) value);
+ results.addAll(listRows);
+ return;
+ }
- if (value instanceof Collection<?>) {
- results.addAll((Collection<?>) value);
- return;
- }
+ if (value instanceof Collection<?>) {
+ results.addAll((Collection<?>) value);
+ return;
+ }
- if (value instanceof Map<?, ?>) {
- Map<?, ?> mapRows = (Map<?, ?>) value;
- results.addAll(mapRows.values());
- return;
- }
-
- results.add(value);
+ if (value instanceof Map<?, ?>) {
+ Map<?, ?> mapRows = (Map<?, ?>) value;
+ results.addAll(mapRows.values());
+ return;
}
+ results.add(value);
}
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheConnection.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheConnection.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheConnection.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,12 +21,7 @@
*/
package org.teiid.translator.object.mapcache;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import javax.resource.ResourceException;
@@ -34,9 +29,8 @@
import org.teiid.resource.spi.BasicConnection;
import org.teiid.translator.TranslatorException;
import org.teiid.translator.object.ObjectConnection;
-import org.teiid.translator.object.ObjectPlugin;
+import org.teiid.translator.object.infinispan.search.SearchByKey;
import org.teiid.translator.object.search.BasicKeySearchCriteria;
-import org.teiid.translator.object.search.SearchCriterion;
/**
* The MapCacheConnection provides simple key searches of the cache.
@@ -74,94 +68,8 @@
}
public List<Object> performSearch(Select command) throws TranslatorException {
-
visitor = BasicKeySearchCriteria.getInstance(factory,command);
-
- return get(visitor.getCriterion(), factory.getCache(), factory.getRootClass());
+ return SearchByKey.get(visitor.getCriterion(), factory.getCache(), factory.getRootClass());
}
- private List<Object> get(SearchCriterion criterion, Map<?, ?> cache,
- Class<?> rootClass) throws TranslatorException {
- List<Object> results = null;
- if (criterion.getOperator() == SearchCriterion.Operator.ALL) {
- results = new ArrayList<Object>();
- for (Iterator<?> it = cache.keySet().iterator(); it.hasNext();) {
- Object v = cache.get(it.next());
- addValue(v, results, rootClass);
-
- }
-
- return results;
- }
-
- if (criterion.getCriterion() != null) {
- results = get(criterion.getCriterion(), cache, rootClass);
- }
-
- if (results == null) {
- results = new ArrayList<Object>();
- }
-
- if (criterion.getOperator().equals(SearchCriterion.Operator.EQUALS)) {
-
- Object v = cache.get(criterion.getValue());
- if (v != null) {
- addValue(v, results, rootClass);
- }
- } else if (criterion.getOperator().equals(SearchCriterion.Operator.IN)) {
-
- List<?> parms = (List<?>) criterion.getValue();
- for (Iterator<?> it = parms.iterator(); it.hasNext();) {
- Object arg = it.next();
- Object v = cache.get(arg);
- if (v != null) {
- addValue(v, results, rootClass);
- }
- }
-
- }
-
- return results;
-
- }
-
- private void addValue(Object value, List<Object> results, Class<?> rootClass)
- throws TranslatorException {
- // can only add objects of the same root class in the cache
- if (value != null) {
- if (value.getClass().equals(rootClass)) {
-
- if (value.getClass().isArray()) {
- List<Object> listRows = Arrays.asList((Object[]) value);
- results.addAll(listRows);
- return;
- }
-
- if (value instanceof Collection) {
- results.addAll((Collection<?>) value);
- return;
- }
-
- if (value instanceof Map) {
- Map<?, ?> mapRows = (Map<?, ?>) value;
- results.addAll(mapRows.values());
- return;
- }
-
- results.add(value);
- } else {
- // the object obtained from the cache has to be of the same root
- // class type, otherwise, the modeling
- // structure won't correspond correctly
- String msg = ObjectPlugin.Util.getString(
- "MapCacheConnection.unexpectedObjectTypeInCache",
- new Object[] { value.getClass().getName(),
- rootClass.getName() });
-
- throw new TranslatorException(msg);
- }
- }
-
- }
-
}
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheExecutionFactory.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheExecutionFactory.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/mapcache/MapCacheExecutionFactory.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -66,28 +66,30 @@
}
- protected synchronized Map<?,?> getCache() throws TranslatorException {
- if (this.cache != null) return this.cache;
-
- Object object = findCacheUsingJNDIName();
-
- if (object instanceof Map<?,?>) {
-
- cache = (Map<?,?>)object;
-
- LogManager.logInfo(LogConstants.CTX_CONNECTOR, "=== Using CacheManager (obtained from JNDI ==="); //$NON-NLS-1$
+ protected Map<?,?> getCache() throws TranslatorException {
+ if (this.cache == null) {
+ synchronized (this) {
+ if (this.cache != null) {
+ return cache;
+ }
+ Object object = findCacheUsingJNDIName();
+
+ if (object instanceof Map<?,?>) {
+
+ cache = (Map<?,?>)object;
+
+ LogManager.logInfo(LogConstants.CTX_CONNECTOR, "=== Using CacheManager (obtained from JNDI ==="); //$NON-NLS-1$
- } else {
- String msg = ObjectPlugin.Util.getString(
- "MapCacheExecutionFactory.unexpectedCacheType", //$NON-NLS-1$
- new Object[] { (object == null ? "nullObject" : object.getClass().getName()), "Map" }); //$NON-NLS-1$ //$NON-NLS-2$
- throw new TranslatorException(msg);
- }
-
- return this.cache;
+ } else {
+ String msg = ObjectPlugin.Util.getString(
+ "MapCacheExecutionFactory.unexpectedCacheType", //$NON-NLS-1$
+ new Object[] { (object == null ? "nullObject" : object.getClass().getName()), "Map" }); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new TranslatorException(msg);
+ }
+ }
+ }
+ return this.cache;
}
-
-
@Override
public ObjectConnection getConnection(ConnectionFactory factory,
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/BasicKeySearchCriteria.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/BasicKeySearchCriteria.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/BasicKeySearchCriteria.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -133,15 +133,8 @@
}
private void addSearchCriterion(SearchCriterion searchCriteria) {
- // only searching on primary key is part of the criteria sent for cache
- // lookup
- // all other criteria will be used to filter the rows
- assert (searchCriteria.getTableName() != null);
-
- assert (searchCriteria.getField() != null);
-
if (this.criterion != null) {
- throw new AssertionError("There should not be more than one predicate against the primary key"); //$NON-NLS-1$
+ throw new TeiidRuntimeException("There should not be more than one predicate against the primary key"); //$NON-NLS-1$
}
this.criterion = searchCriteria;
Modified: trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/SearchCriterion.java
===================================================================
--- trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/SearchCriterion.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/main/java/org/teiid/translator/object/search/SearchCriterion.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -72,10 +72,6 @@
throw new AssertionError();
}
- public String getField() {
- return getNameInSourceFromColumn(this.column);
- }
-
public Object getValue() {
return value;
}
@@ -123,12 +119,4 @@
return this.isAnd;
}
- private String getNameInSourceFromColumn(Column c) {
- String name = c.getNameInSource();
- if (name == null || name.equals("")) { //$NON-NLS-1$
- return c.getName();
- }
- return name;
- }
-
}
Deleted: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BaseObjectTest.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BaseObjectTest.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BaseObjectTest.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -1,217 +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.object;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.teiid.core.util.UnitTestUtil;
-import org.teiid.jdbc.util.ResultSetUtil;
-
-
-/**
- * Base Testing class that's extended to reuse the reading/writing/comparing expected results
- *
- */
-public abstract class BaseObjectTest {
-
- protected static boolean REPLACE_EXPECTED = false;
- protected static boolean WRITE_ACTUAL_RESULTS_TO_FILE = false;
- protected static boolean PRINT_RESULTSETS_TO_CONSOLE = false;
-
- private static final int MAX_COL_WIDTH = 65;
-
- protected static boolean print = false;
-
- public void compareResultSet(ResultSet... rs) throws IOException, SQLException {
-
- StackTraceElement ste = new Exception().getStackTrace()[1];
- String testName = ste.getMethodName();
- String className = this.getClass().getName();
- //ste.getClassName();
- className = className.substring(className.lastIndexOf('.') + 1);
- testName = className + "/" + testName; //$NON-NLS-1$
- compareResultSet(testName, rs);
- }
-
- public void compareResultSet(String testName, ResultSet... rs)
- throws FileNotFoundException, SQLException, IOException {
- FileOutputStream actualOut = null;
- BufferedReader expectedIn = null;
- PrintStream stream = null;
- try {
- if (REPLACE_EXPECTED) {
- File actual = new File(UnitTestUtil.getTestDataPath() + "/" +testName+".expected"); //$NON-NLS-1$ //$NON-NLS-2$
- actualOut = new FileOutputStream(actual);
- } else {
- if (WRITE_ACTUAL_RESULTS_TO_FILE) {
- File actual = new File(UnitTestUtil.getTestDataPath() + "/" +testName+".actual"); //$NON-NLS-1$ //$NON-NLS-2$
- if (!actual.getParentFile().exists()) {
- actual.getParentFile().mkdir();
- }
- actualOut = new FileOutputStream(actual);
-
-
- } else {
- File expected = new File(UnitTestUtil.getTestDataPath() + "/"+testName+".expected"); //$NON-NLS-1$ //$NON-NLS-2$
- expectedIn = new BufferedReader(new FileReader(expected));
- }
-
-
- }
- PrintStream defaultStream = null;
- if (PRINT_RESULTSETS_TO_CONSOLE) {
- defaultStream = new PrintStream(System.out) {
- // SYS.out should be protected from being closed.
- public void close() {}
- };
- }
- stream = ResultSetUtil.getPrintStream(actualOut, expectedIn, defaultStream);
- for (int i = 0; i < rs.length; i++) {
- ResultSetUtil.printResultSet(rs[i], MAX_COL_WIDTH, true, stream);
- }
- assertEquals("Actual data did not match expected", //$NON-NLS-1$
- Collections.EMPTY_LIST,
- ResultSetUtil.getUnequalLines(stream));
- } finally {
- if (stream != null) {
- stream.close();
- }
- if (actualOut != null) {
- actualOut.close();
- }
- if (expectedIn != null) {
- expectedIn.close();
- }
- }
- }
-
- public void compareResultSet(List<Object> rs) throws IOException, SQLException {
- StackTraceElement ste = new Exception().getStackTrace()[1];
- String testName = ste.getMethodName();
- String className = ste.getClassName();
- className = className.substring(className.lastIndexOf('.') + 1);
- testName = className + "/" + testName; //$NON-NLS-1$
- compareResultSet(testName, rs);
- }
-
-
- public void compareResultSet(String testName, List<Object> rs)
- throws FileNotFoundException, SQLException, IOException {
- FileOutputStream actualOut = null;
- BufferedReader expectedIn = null;
- PrintStream stream = null;
- try {
- if (REPLACE_EXPECTED) {
- File actual = new File(UnitTestUtil.getTestDataPath()
- + "/" + testName + ".expected"); //$NON-NLS-1$ //$NON-NLS-2$
- actualOut = new FileOutputStream(actual);
- } else {
- if (WRITE_ACTUAL_RESULTS_TO_FILE) {
- File actual = new File(UnitTestUtil.getTestDataPath()
- + "/" + testName + ".actual"); //$NON-NLS-1$ //$NON-NLS-2$
- if (!actual.getParentFile().exists()) {
- actual.getParentFile().mkdir();
- }
- actualOut = new FileOutputStream(actual);
-
-// ObjectOutput oo = null;
-// oo = new ObjectOutputStream(actualOut);
-
- for (int i = 0; i < rs.size(); i++) {
- List<Object> r = (List) rs.get(i);
- actualOut.write( new String("ROW_" + i).getBytes());
- for (Iterator it=r.iterator(); it.hasNext();) {
- Object o = it.next();
- actualOut.write( o.toString().getBytes());
- actualOut.write( new String("\t").getBytes());
- }
- //ExternalizeUtil.writeList(oo, rs[i]);
- }
-
- return;
-
-
- } else {
- File expected = new File(UnitTestUtil.getTestDataPath()
- + "/" + testName + ".expected"); //$NON-NLS-1$ //$NON-NLS-2$
- expectedIn = new BufferedReader(new FileReader(expected));
- }
-
- }
- PrintStream defaultStream = null;
- if (PRINT_RESULTSETS_TO_CONSOLE) {
- defaultStream = new PrintStream(System.out) {
- // SYS.out should be protected from being closed.
- public void close() {
- }
- };
- }
- stream = ResultSetUtil.getPrintStream(actualOut, expectedIn,
- defaultStream);
-// for (int i = 0; i < rs.length; i++) {
-// ResultSetUtil.printResultSet(rs[i], MAX_COL_WIDTH, true, stream);
-// }
- assertEquals(
- "Actual data did not match expected", //$NON-NLS-1$
- Collections.EMPTY_LIST,
- ResultSetUtil.getUnequalLines(stream));
- } finally {
- if (stream != null) {
- stream.close();
- }
- if (actualOut != null) {
- actualOut.close();
- }
- if (expectedIn != null) {
- expectedIn.close();
- }
- }
- }
-
- protected void printRow(int rownum, List<?> row) {
- if (!print) return;
- if (row == null) {
- System.out.println("Row " + rownum + " is null");
- return;
- }
- int i = 0;
- for(Object o:row) {
- System.out.println("Row " + rownum + " Col " + i + " - " + o.toString());
- ++i;
- }
-
- }
-
-}
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BasicSearchTest.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BasicSearchTest.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/BasicSearchTest.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,6 +21,9 @@
*/
package org.teiid.translator.object;
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
@@ -33,71 +36,59 @@
* @author vhalbert
*
*/
-
- at SuppressWarnings("nls")
-public abstract class BasicSearchTest extends BaseObjectTest {
+public abstract class BasicSearchTest {
@Test public void testQueryGetAllTrades() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select * From Trade_Object.Trade as T"); //$NON-NLS-1$
- List<Object> rows = performTest(command, TradesCacheSource.NUMTRADES);
+ performTest(command, TradesCacheSource.NUMTRADES);
- compareResultSet(rows);
-
}
- @Test public void testQueryGetAllTradesAndLegs() throws Exception {
- Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName, L.Name as LegName From Trade_Object.Trade as T, Trade_Object.Leg as L Where T.TradeId = L.TradeId"); //$NON-NLS-1$
+ @Test public void testTradeProjection() throws Exception {
+ Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId From Trade_Object.Trade as T"); //$NON-NLS-1$
- List<Object> rows = performTest(command, TradesCacheSource.NUMTRADES);
+ performTest(command, TradesCacheSource.NUMTRADES);
- compareResultSet(rows);
-
}
- @Test public void testQueryGetAllTradesLegsAndTransactions() throws Exception {
-
- Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName, L.Name as LegName, " +
- " N.LineItem " +
- " From Trade_Object.Trade as T, Trade_Object.Leg as L, Trade_Object.Transaction as N " +
- " Where T.TradeId = L.TradeId and L.LegId = N.LegId "); //$NON-NLS-1$
-
- List<Object> rows = performTest(command, TradesCacheSource.NUMTRADES);
-
- compareResultSet(rows);
-
- }
-
-
@Test public void testQueryGetOneTrade() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId = '1'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
+ performTest(command, 1);
- compareResultSet(rows);
+ }
+
+ @Test public void testQueryInCriteria() throws Exception {
+ Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId in ('1', '3')"); //$NON-NLS-1$
+
+ performTest(command, 2);
}
- @Test public void testQueryGetOneTradeAndLegs() throws Exception {
- Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName, L.Name as LegName From Trade_Object.Trade as T, Trade_Object.Leg as L Where T.TradeId = L.TradeId and T.TradeId = '1'"); //$NON-NLS-1$
+ protected List<Object> performTest(Select command, int rowcnt) throws Exception {
+
+ ObjectExecution exec = createExecution(command);
- List<Object> rows = performTest(command, 1);
+ exec.execute();
- compareResultSet(rows);
+ List<Object> rows = new ArrayList<Object>();
- }
+ int cnt = 0;
+ List<Object> row = exec.next();
-
- @Test public void testQueryInCriteria() throws Exception {
- Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId in ('1', '3')"); //$NON-NLS-1$
-
- List<Object> rows = performTest(command, 2);
+ while (row != null) {
+ rows.add(row);
+ ++cnt;
+ row = exec.next();
+ }
- compareResultSet(rows);
+ assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
- }
-
- protected abstract List<Object> performTest(Select command, int rowcnt) throws Exception;
+ exec.close();
+ return rows;
+ }
+ protected abstract ObjectExecution createExecution(Select command) throws Exception;
-}
+}
\ No newline at end of file
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/TestObjectExecution.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/TestObjectExecution.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/TestObjectExecution.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,9 +21,9 @@
*/
package org.teiid.translator.object;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
import java.util.List;
@@ -64,23 +64,9 @@
@Test public void testQueryRootObject() throws Exception {
- execute( createExecution("select * From Trade_Object.Trade"), 3, 1);
+ execute( createExecution("select * From Trade_Object.Trade"), 3, 4);
}
- @Test public void testQueryIncludeLegs() throws Exception {
- execute( createExecution("select T.TradeId, T.Name as TradeName, L.Name as LegName From Trade_Object.Trade as T, Trade_Object.Leg as L Where T.TradeId = L.TradeId"),
- 3, 1);
-
- }
-
- @Test public void testQueryGetAllTransactions() throws Exception {
- execute( createExecution("select T.TradeId, T.Name as TradeName, L.Name as LegName, " +
- " N.LineItem " +
- " From Trade_Object.Trade as T, Trade_Object.Leg as L, Trade_Object.Transaction N " +
- " Where T.TradeId = L.TradeId and L.LegId = N.LegId"),3, 1);
- }
-
-
@Test public void testAtomicSelects() throws Exception {
Thread[] threads = new Thread[20];
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanConfigFileKeySearch.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanConfigFileKeySearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanConfigFileKeySearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,18 +21,14 @@
*/
package org.teiid.translator.object.infinispan;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.*;
-import java.util.ArrayList;
-import java.util.List;
-
import org.junit.BeforeClass;
import org.teiid.language.Select;
import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.object.BasicSearchTest;
import org.teiid.translator.object.ObjectExecution;
-import org.teiid.translator.object.infinispan.search.SearchByKey;
import org.teiid.translator.object.util.TradesCacheSource;
import org.teiid.translator.object.util.VDBUtility;
@@ -63,31 +59,10 @@
}
-
@Override
- protected List<Object> performTest(Select command, int rowcnt) throws Exception {
-
- ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
-
- exec.execute();
-
- List<Object> rows = new ArrayList<Object>();
-
- int cnt = 0;
- List<Object> row = exec.next();
-
- while (row != null) {
- rows.add(row);
- ++cnt;
- row = exec.next();
- }
-
- assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
-
- exec.close();
- return rows;
+ protected ObjectExecution createExecution(Select command) throws TranslatorException {
+ return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
}
-
}
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiILuceneSearch.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiILuceneSearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiILuceneSearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,12 +21,8 @@
*/
package org.teiid.translator.object.infinispan;
-import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
-import java.util.ArrayList;
-import java.util.List;
-
import org.infinispan.manager.CacheContainer;
import org.infinispan.manager.DefaultCacheManager;
import org.junit.Before;
@@ -78,98 +74,55 @@
}
@Override
- protected List<Object> performTest(Select command, int rowcnt) throws Exception {
-
- ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
-
- exec.execute();
-
- List<Object> rows = new ArrayList<Object>();
-
- int cnt = 0;
- List<Object> row = exec.next();
-
- while (row != null) {
- rows.add(row);
- ++cnt;
- row = exec.next();
- }
-
- assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
-
- exec.close();
- return rows;
+ protected ObjectExecution createExecution(Select command) throws TranslatorException {
+ return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
}
@Test public void testQueryLikeCriteria1() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name From Trade_Object.Trade as T WHERE T.Name like 'TradeName%'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 3);
-
- compareResultSet(rows);
-
+ performTest(command, 3);
}
@Test public void testQueryLikeCriteria2() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name From Trade_Object.Trade as T WHERE T.Name like 'TradeName 2%'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
-
- compareResultSet(rows);
-
+ performTest(command, 1);
}
@Test public void testQueryCompareEQBoolean() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name, T.Settled From Trade_Object.Trade as T WHERE T.Settled = 'false'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 2);
-
- compareResultSet(rows);
-
+ performTest(command, 2);
}
@Test public void testQueryCompareNEBoolean() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name, T.Settled From Trade_Object.Trade as T WHERE T.Settled <> 'false'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
-
- compareResultSet(rows);
-
+ performTest(command, 1);
}
@Test public void testQueryRangeBetween() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId > '1' and T.TradeId < '3'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
-
- compareResultSet(rows);
-
+ performTest(command, 1);
}
@Test public void testQueryRangeAbove() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId > '1'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 2);
-
- compareResultSet(rows);
-
+ performTest(command, 2);
}
@Test public void testQueryRangeBelow() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId < '2'"); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
-
- compareResultSet(rows);
-
+ performTest(command, 1);
}
@Test public void testQueryAnd() throws Exception {
Select command = (Select)VDBUtility.TRANSLATION_UTILITY.parseCommand("select T.TradeId, T.Name as TradeName From Trade_Object.Trade as T WHERE T.TradeId > '1' and T.Settled = 'false' "); //$NON-NLS-1$
- List<Object> rows = performTest(command, 1);
-
- compareResultSet(rows);
-
+ performTest(command, 1);
}
}
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiKeySearch.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiKeySearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanJndiKeySearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,12 +21,8 @@
*/
package org.teiid.translator.object.infinispan;
-import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
-import java.util.ArrayList;
-import java.util.List;
-
import org.infinispan.manager.CacheContainer;
import org.infinispan.manager.DefaultCacheManager;
import org.junit.Before;
@@ -72,33 +68,11 @@
factory.setCacheName(TradesCacheSource.TRADES_CACHE_NAME);
factory.setRootClassName(TradesCacheSource.TRADE_CLASS_NAME);
factory.start();
-
-
}
-
- @Override
- protected List<Object> performTest(Select command, int rowcnt) throws Exception {
-
- ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
-
- exec.execute();
-
- List<Object> rows = new ArrayList<Object>();
-
- int cnt = 0;
- List<Object> row = exec.next();
- while (row != null) {
- rows.add(row);
- ++cnt;
- row = exec.next();
- }
-
- assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
-
- exec.close();
- return rows;
+ @Override
+ protected ObjectExecution createExecution(Select command) throws TranslatorException {
+ return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
}
-
}
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanRemoteJndiKeySearch.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanRemoteJndiKeySearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/infinispan/TestInfinispanRemoteJndiKeySearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,15 +21,10 @@
*/
package org.teiid.translator.object.infinispan;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
-import java.util.ArrayList;
-import java.util.List;
-
import javax.naming.Context;
import org.infinispan.client.hotrod.RemoteCacheManager;
@@ -88,36 +83,18 @@
public static void closeConnection() throws Exception {
RemoteInfinispanTestHelper.releaseServer();
}
-
-
- @Override
- protected List<Object> performTest(Select command, int rowcnt) throws Exception {
+
+ @Override
+ protected ObjectExecution createExecution(Select command)
+ throws Exception {
when(jndi.lookup(JNDI_NAME)).thenReturn(container);
Object t = RemoteInfinispanTestHelper.getCacheManager().getCache(TradesCacheSource.TRADES_CACHE_NAME).get("1");
assertNotNull(t);
- ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
-
- exec.execute();
-
- List<Object> rows = new ArrayList<Object>();
-
- int cnt = 0;
- List<Object> row = exec.next();
-
- while (row != null) {
- rows.add(row);
- ++cnt;
- row = exec.next();
- }
-
- assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
-
- exec.close();
- return rows;
- }
+ return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
+ }
}
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/mapcache/TestMapCacheKeySearch.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/mapcache/TestMapCacheKeySearch.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/mapcache/TestMapCacheKeySearch.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -21,14 +21,10 @@
*/
package org.teiid.translator.object.mapcache;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -46,7 +42,6 @@
import org.teiid.translator.TranslatorException;
import org.teiid.translator.object.BasicSearchTest;
import org.teiid.translator.object.ObjectExecution;
-import org.teiid.translator.object.ObjectExecutionFactory;
import org.teiid.translator.object.util.TradesCacheSource;
import org.teiid.translator.object.util.VDBUtility;
@@ -96,27 +91,8 @@
}
@Override
- protected List<Object> performTest(Select command, int rowcnt) throws Exception {
-
- ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
-
- exec.execute();
-
- List<Object> rows = new ArrayList<Object>();
-
- int cnt = 0;
- List<Object> row = exec.next();
-
- while (row != null) {
- rows.add(row);
- ++cnt;
- row = exec.next();
- }
-
- assertEquals("Did not get expected number of rows", rowcnt, cnt); //$NON-NLS-1$
-
- exec.close();
- return rows;
+ protected ObjectExecution createExecution(Select command) throws TranslatorException {
+ return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, null);
}
@Test public void testGetMetadata() throws Exception {
Modified: trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/search/TestBasicKeySearchCriteria.java
===================================================================
--- trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/search/TestBasicKeySearchCriteria.java 2012-10-02 15:05:22 UTC (rev 4503)
+++ trunk/connectors/translator-object/src/test/java/org/teiid/translator/object/search/TestBasicKeySearchCriteria.java 2012-10-02 16:38:13 UTC (rev 4504)
@@ -138,7 +138,6 @@
if (criteria.getOperator() != SearchCriterion.Operator.ALL) {
assertNotNull(criteria.getColumn());
- assertNotNull(criteria.getField());
assertNotNull(criteria.getOperator());
assertNotNull(criteria.getTableName());
assertNotNull(criteria.getRuntimeType());
More information about the teiid-commits
mailing list