diff --git a/connectors/connector-infinispan-hotrod/pom.xml b/connectors/connector-infinispan-hotrod/pom.xml index 44c487b8d9..79373663c3 100644 --- a/connectors/connector-infinispan-hotrod/pom.xml +++ b/connectors/connector-infinispan-hotrod/pom.xml @@ -17,19 +17,19 @@ org.infinispan infinispan-bom - ${version.org.infinispan.6} + ${version.org.infinispan.ds} pom import org.infinispan infinispan-remote-query-client - ${version.org.infinispan.6} + ${version.org.infinispan.ds} org.infinispan infinispan-server-hotrod - ${version.org.infinispan.6} + ${version.org.infinispan.ds} org.apache.lucene diff --git a/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/AbstractInfinispanManagedConnectionFactory.java b/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/AbstractInfinispanManagedConnectionFactory.java index 7ed82fd3e7..899b98e8e8 100644 --- a/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/AbstractInfinispanManagedConnectionFactory.java +++ b/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/AbstractInfinispanManagedConnectionFactory.java @@ -48,6 +48,7 @@ import org.teiid.translator.infinispan.hotrod.InfinispanPlugin; import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; +import org.teiid.translator.object.Version; public abstract class AbstractInfinispanManagedConnectionFactory extends @@ -85,6 +86,7 @@ private enum CACHE_TYPE { private String module; private ClassLoader cl; private CacheNameProxy cacheNameProxy; + private Version version = null; @@ -668,10 +670,10 @@ protected void registerWithCacheManager(SerializationContext ctx, RemoteCacheMan } - public String getVersion() throws TranslatorException { + public Version getVersion() throws TranslatorException { RemoteCache rc = this.getCache(this.getCacheNameProxy().getPrimaryCacheKey()); - if (rc != null) return rc.getProtocolVersion(); - return ""; + return Version.getVersion(rc.getProtocolVersion()); + } @Override diff --git a/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/InfinispanConnectionImpl.java b/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/InfinispanConnectionImpl.java index 91c700a4a1..8bd7310de9 100644 --- a/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/InfinispanConnectionImpl.java +++ b/connectors/connector-infinispan-hotrod/src/main/java/org/teiid/resource/adapter/infinispan/hotrod/InfinispanConnectionImpl.java @@ -42,6 +42,7 @@ import org.teiid.translator.infinispan.hotrod.InfinispanPlugin; import org.teiid.translator.object.DDLHandler; import org.teiid.translator.object.SearchType; +import org.teiid.translator.object.Version; /** @@ -62,7 +63,7 @@ public InfinispanConnectionImpl(AbstractInfinispanManagedConnectionFactory confi } @Override - public String getVersion() throws TranslatorException { + public Version getVersion() throws TranslatorException { return this.config.getVersion(); } diff --git a/connectors/connector-infinispan-hotrod/src/test/java/org/teiid/resource/adapter/infinispan/hotrod/TestInfinispanConfigFileRemoteCache.java b/connectors/connector-infinispan-hotrod/src/test/java/org/teiid/resource/adapter/infinispan/hotrod/TestInfinispanConfigFileRemoteCache.java index 7ac28b8dbd..34c37f8eed 100644 --- a/connectors/connector-infinispan-hotrod/src/test/java/org/teiid/resource/adapter/infinispan/hotrod/TestInfinispanConfigFileRemoteCache.java +++ b/connectors/connector-infinispan-hotrod/src/test/java/org/teiid/resource/adapter/infinispan/hotrod/TestInfinispanConfigFileRemoteCache.java @@ -34,10 +34,10 @@ import org.junit.Test; import org.teiid.core.util.PropertiesUtils; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; @SuppressWarnings("nls") -@Ignore public class TestInfinispanConfigFileRemoteCache { private static InfinispanManagedConnectionFactory factory = null; @@ -55,7 +55,7 @@ public static void beforeEachClass() throws Exception { Properties props = PropertiesUtils.load(f.getAbsolutePath()); props.setProperty("infinispan.client.hotrod.server_list", RemoteInfinispanTestHelper.hostAddress() + ":" + RemoteInfinispanTestHelper.hostPort()); - PropertiesUtils.print("./target/jdg.properties", props); + PropertiesUtils.print("./target/hotrod-client.properties", props); factory = new InfinispanManagedConnectionFactory(); @@ -87,8 +87,8 @@ public void testConnection() throws Exception { assertNotNull(conn.getCache()); - - assertEquals("Version doesn't start with 7.2", conn.getVersion().startsWith("7.2")); + assertEquals("Support For Compare is false", conn.getVersion().compareTo(Version.getVersion("6.6")) >= 0, false ); + // assertEquals("Version doesn't start with 7.2", conn.getVersion().startsWith("7.2")); conn.cleanUp(); diff --git a/connectors/connector-infinispan-libmode/pom.xml b/connectors/connector-infinispan-libmode/pom.xml index 1a4ca36f83..7fa914cc27 100644 --- a/connectors/connector-infinispan-libmode/pom.xml +++ b/connectors/connector-infinispan-libmode/pom.xml @@ -17,7 +17,7 @@ org.infinispan infinispan-bom - ${version.org.infinispan.6} + ${version.org.infinispan.ds} pom import diff --git a/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanCacheRAConnection.java b/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanCacheRAConnection.java index 444e1463ad..285cc7a334 100644 --- a/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanCacheRAConnection.java +++ b/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanCacheRAConnection.java @@ -21,7 +21,6 @@ */ package org.teiid.resource.adapter.infinispan; -import java.io.IOException; import java.util.ArrayList; import java.util.Collection; @@ -30,10 +29,6 @@ import javax.resource.ResourceException; import org.infinispan.Cache; -import org.infinispan.client.hotrod.RemoteCache; -import org.infinispan.configuration.cache.Configuration; -import org.infinispan.manager.DefaultCacheManager; -import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.query.Search; import org.infinispan.query.dsl.QueryFactory; import org.teiid.logging.LogConstants; @@ -44,6 +39,7 @@ import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.DDLHandler; import org.teiid.translator.object.SearchType; +import org.teiid.translator.object.Version; /** * @author vanhalbert @@ -65,7 +61,7 @@ public InfinispanManagedConnectionFactory getConfig() { } @Override - public String getVersion() throws TranslatorException { + public Version getVersion() throws TranslatorException { return this.getConfig().getVersion(); } /** diff --git a/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java b/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java index 3af627a4d3..4b9646215e 100644 --- a/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java +++ b/connectors/connector-infinispan-libmode/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java @@ -31,7 +31,6 @@ import javax.resource.spi.InvalidPropertyException; import org.infinispan.Cache; -import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.configuration.cache.Configuration; import org.infinispan.lifecycle.ComponentStatus; import org.infinispan.manager.DefaultCacheManager; @@ -49,6 +48,7 @@ import org.teiid.translator.TranslatorException; import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; +import org.teiid.translator.object.Version; public class InfinispanManagedConnectionFactory extends BasicManagedConnectionFactory { @@ -70,6 +70,7 @@ public class InfinispanManagedConnectionFactory extends private Class cacheTypeClass = null; // cacheName ==> ClassType private ClassLoader cl; private CacheNameProxy cacheNameProxy; + private Version version = Version.getVersion("0.0.0"); @Override public BasicConnectionFactory createConnectionFactory() @@ -385,13 +386,12 @@ protected synchronized InfinispanCacheRAConnection createCacheConnection() throw this.getClass().getClassLoader()); loadClasses(); - InfinispanCacheRAConnection conn = new InfinispanCacheRAConnection(this); createCache(); // if configured for materialization, initialize the if (cacheNameProxy.getAliasCacheName() != null) { - Map aliasCache = (Map) this.cacheManager.getCache(cacheNameProxy.getAliasCacheName()); + Map aliasCache = this.cacheManager.getCache(cacheNameProxy.getAliasCacheName()); if (aliasCache == null) { throw new ResourceException( InfinispanManagedConnectionFactory.UTIL @@ -400,6 +400,9 @@ protected synchronized InfinispanCacheRAConnection createCacheConnection() throw } cacheNameProxy.initializeAliasCache(aliasCache); } + + Cache cache = this.getCache(this.getCacheNameProxy().getPrimaryCacheKey()); + version = Version.getVersion(cache.getVersion()); } catch (Exception e) { throw new ResourceException(e); @@ -465,7 +468,7 @@ private void createCache() throws TranslatorException { throw new TranslatorException("Program Error: DefaultCacheManager was not configured"); } } - + } @@ -565,10 +568,8 @@ public boolean isAlive() { return false; } - protected String getVersion() { - if (cacheManager == null) return ""; - - return cacheManager.getCache(this.getCacheNameProxy().getPrimaryCacheKey()).getVersion(); + protected Version getVersion() { + return version; } diff --git a/connectors/translator-infinispan-hotrod/pom.xml b/connectors/translator-infinispan-hotrod/pom.xml index 43eac64183..82f227e61a 100644 --- a/connectors/translator-infinispan-hotrod/pom.xml +++ b/connectors/translator-infinispan-hotrod/pom.xml @@ -22,7 +22,7 @@ org.infinispan infinispan-bom - ${version.org.infinispan.6} + ${version.org.infinispan.ds} pom import diff --git a/connectors/translator-infinispan-hotrod/src/main/java/org/teiid/translator/infinispan/hotrod/InfinispanHotRodExecutionFactory.java b/connectors/translator-infinispan-hotrod/src/main/java/org/teiid/translator/infinispan/hotrod/InfinispanHotRodExecutionFactory.java index 6f40093682..858169e2c1 100644 --- a/connectors/translator-infinispan-hotrod/src/main/java/org/teiid/translator/infinispan/hotrod/InfinispanHotRodExecutionFactory.java +++ b/connectors/translator-infinispan-hotrod/src/main/java/org/teiid/translator/infinispan/hotrod/InfinispanHotRodExecutionFactory.java @@ -37,11 +37,12 @@ import org.teiid.translator.infinispan.hotrod.metadata.ProtobufMetadataProcessor; import org.teiid.translator.object.ObjectConnection; import org.teiid.translator.object.ObjectExecutionFactory; +import org.teiid.translator.object.Version; /** - * InfinispanExecutionFactory is the translator that will be use to translate a remote Infinispan cache and issue queries + * InfinispanExecutionFactory is the translator that will be use to translate a remote Infinispan cache and issue queries * using hotrod client to query the cache. * * @author vhalbert @@ -51,11 +52,7 @@ */ @Translator(name = "ispn-hotrod", description = "The Infinispan Translator Using Hotrod Client to query cache") public class InfinispanHotRodExecutionFactory extends ObjectExecutionFactory { - - // with JDG 6.6 supportCompareCriteria no longer needs to be disabled - // @see @link https://issues.jboss.org/browse/TEIID-4333 - private static final String JDG6_6 = "6.6"; - + public static final Version SIX_6 = Version.getVersion("6.6"); //$NON-NLS-1$ // max available without having to try to override // BooleanQuery.setMaxClauseCount(), and @@ -93,8 +90,7 @@ public int getMaxFromGroups() { @Override public ProcedureExecution createDirectExecution(List arguments, Command command, ExecutionContext executionContext, - RuntimeMetadata metadata, ObjectConnection connection) - throws TranslatorException { + RuntimeMetadata metadata, ObjectConnection connection) { return super.createDirectExecution(arguments, command, executionContext, metadata, connection); } @@ -174,20 +170,19 @@ public MetadataProcessor getMetadataProcessor(){ * @see org.teiid.translator.ExecutionFactory#initCapabilities(java.lang.Object) */ @Override - public void initCapabilities(ObjectConnection connection) throws TranslatorException { + public void initCapabilities(ObjectConnection connection) + throws TranslatorException { super.initCapabilities(connection); - if (connection == null) return; - - String version = connection.getVersion(); - - if (version != null) { - if (version.compareTo(JDG6_6) < 0) { - // any version prior to JDG 6.6 the supportCompareCritiaOrdered needs to be set to false; - } else { - this.supportsCompareCriteriaOrdered = true; - } + if (connection == null) { + return; + } + + Version version = connection.getVersion(); + // with JDG 6.6 supportCompareCriteria no longer needs to be disabled + // @see @link https://issues.jboss.org/browse/TEIID-4333 + if (version != null && version.compareTo(SIX_6) >= 0) { + this.supportsCompareCriteriaOrdered = true; } - } diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheConnection.java b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheConnection.java index 8682289c05..4f4a3c94ed 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheConnection.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheConnection.java @@ -21,10 +21,6 @@ */ package org.jboss.as.quickstarts.datagrid.hotrod.query.domain; -import java.lang.annotation.Annotation; - -import javax.resource.ResourceException; - import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.protostream.annotations.ProtoField; import org.infinispan.protostream.descriptors.Descriptor; @@ -34,6 +30,7 @@ import org.teiid.translator.infinispan.hotrod.TestInfinispanHotRodConnection; import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; +import org.teiid.translator.object.Version; /** * @author vanhalbert @@ -44,10 +41,12 @@ public class PersonCacheConnection extends TestInfinispanHotRodConnection { protected Descriptor descriptor; - public static InfinispanHotRodConnection createConnection(RemoteCache map, boolean useKeyClassType, Descriptor descriptor) { + public static InfinispanHotRodConnection createConnection(RemoteCache map, boolean useKeyClassType, Descriptor descriptor, Version version) { CacheNameProxy proxy = new CacheNameProxy(PersonCacheSource.PERSON_CACHE_NAME); - return new PersonCacheConnection(map, PersonCacheSource.CLASS_REGISTRY, proxy, useKeyClassType, descriptor); + PersonCacheConnection conn = new PersonCacheConnection(map, PersonCacheSource.CLASS_REGISTRY, proxy, useKeyClassType, descriptor); + conn.setVersion(version); + return conn; } /** diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheSource.java b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheSource.java index 09c5509b01..ce9add2a27 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheSource.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/as/quickstarts/datagrid/hotrod/query/domain/PersonCacheSource.java @@ -49,6 +49,7 @@ import org.infinispan.query.dsl.Query; import org.teiid.translator.infinispan.hotrod.InfinispanHotRodConnection; import org.teiid.translator.object.ClassRegistry; +import org.teiid.translator.object.Version; /** * Sample cache of objects @@ -88,11 +89,14 @@ public class PersonCacheSource implements RemoteCache{ } } - public static InfinispanHotRodConnection createConnection(final boolean useKeyClass) { + return createConnection(useKeyClass, Version.getVersion("10.2.1")); + } + + public static InfinispanHotRodConnection createConnection(final boolean useKeyClass, Version version) { final RemoteCache objects = PersonCacheSource.loadCache(); - return PersonCacheConnection.createConnection(objects, useKeyClass, DESCRIPTOR); + return PersonCacheConnection.createConnection(objects, useKeyClass, DESCRIPTOR, version); } @@ -111,6 +115,7 @@ public static void loadCache(Map cache) { } Person p = new Person(); + p.setId(i); p.setName("Person " + i); p.setPhones(pns); diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/teiid/jdg_remote/pojo/AllTypesCacheSource.java b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/teiid/jdg_remote/pojo/AllTypesCacheSource.java index 640f79955e..dd53a95763 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/teiid/jdg_remote/pojo/AllTypesCacheSource.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/jboss/teiid/jdg_remote/pojo/AllTypesCacheSource.java @@ -37,6 +37,9 @@ import java.util.Random; import java.util.Set; import java.util.concurrent.TimeUnit; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; import org.infinispan.client.hotrod.CacheTopologyInfo; import org.infinispan.client.hotrod.Flag; @@ -82,7 +85,7 @@ public class AllTypesCacheSource implements RemoteCache{ static { try { - DESCRIPTOR = (Descriptor) createDescriptor(); + DESCRIPTOR = createDescriptor(); CLASS_REGISTRY.registerClass(AllTypes.class); @@ -91,7 +94,6 @@ public class AllTypesCacheSource implements RemoteCache{ } } - public static InfinispanHotRodConnection createConnection() { return createConnection(true); @@ -103,55 +105,6 @@ public static InfinispanHotRodConnection createConnection(final boolean useKeyCl final RemoteCache objects = AllTypesCacheSource.loadCache(); return AllTypeCacheConnection.createConnection(objects, useKeyClassType, DESCRIPTOR); -// -// return new TestInfinispanDSLConnection() { -// -// @Override -// public String getPkField() { -// return "intKey"; -// } -// -// @Override -// public Class getCacheKeyClassType() throws TranslatorException { -// if (useKeyClassType) { -// return Integer.class; -// } -// return null; -// } -// -// @Override -// public String getCacheName() { -// return AllTypesCacheSource.ALLTYPES_CACHE_NAME; -// } -// -// -// @Override -// public Class getCacheClassType() throws TranslatorException { -// return AllTypes.class; -// } -// -// -// @Override -// public Descriptor getDescriptor() throws TranslatorException { -// return DESCRIPTOR; -// } -// -// -// @Override -// public RemoteCache getCache(String cacheName) { -// return objects; -// } -// -// @Override -// public QueryFactory getQueryFactory() throws TranslatorException { -// return null; -// } -// -// @Override -// public ClassRegistry getClassRegistry() { -// return AllTypesCacheSource.CLASS_REGISTRY; -// } -// }; } public static void loadCache(Map cache) { @@ -1069,6 +1022,4 @@ public CloseableIterator>> ret return null; } - - } diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecution.java b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecution.java index 235d04bae0..4aaeac1d63 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecution.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecution.java @@ -37,6 +37,7 @@ import org.teiid.translator.ExecutionContext; import org.teiid.translator.TranslatorException; import org.teiid.translator.object.ObjectExecution; +import org.teiid.translator.object.Version; import org.teiid.translator.object.testdata.person.PersonSchemaVDBUtility; /** @@ -62,7 +63,7 @@ public class TestInfinispanExecution { @BeforeClass public static void setUp() { - CONNECTION = PersonCacheSource.createConnection(true); + CONNECTION = PersonCacheSource.createConnection(true, Version.getVersion("7.2.3")); } diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecutionFactory.java b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecutionFactory.java index 37a5d6fb2c..8211653ef8 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecutionFactory.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanExecutionFactory.java @@ -32,6 +32,7 @@ import org.teiid.language.Select; import org.teiid.translator.ExecutionContext; import org.teiid.translator.object.ObjectExecution; +import org.teiid.translator.object.Version; import org.teiid.translator.object.testdata.person.PersonSchemaVDBUtility; @SuppressWarnings("nls") @@ -54,9 +55,7 @@ public class TestInfinispanExecutionFactory { } @Test public void testFactory() throws Exception { - CONNECTION = PersonCacheSource.createConnection(true); - TestInfinispanHotRodConnection conn = (TestInfinispanHotRodConnection) CONNECTION; - conn.setVersion("6.6"); + CONNECTION = PersonCacheSource.createConnection(true, Version.getVersion("6.6")); TRANSLATOR = new InfinispanExecutionFactory(); TRANSLATOR.initCapabilities(CONNECTION); @@ -71,9 +70,8 @@ public class TestInfinispanExecutionFactory { } @Test public void testFactoryVersion7() throws Exception { - CONNECTION = PersonCacheSource.createConnection(true); - TestInfinispanHotRodConnection conn = (TestInfinispanHotRodConnection) CONNECTION; - conn.setVersion("7.2.3"); + CONNECTION = PersonCacheSource.createConnection(true, Version.getVersion("7.2.3")); + TRANSLATOR = new InfinispanExecutionFactory(); TRANSLATOR.initCapabilities(CONNECTION); @@ -89,9 +87,8 @@ public class TestInfinispanExecutionFactory { } @Test public void testFactoryVersion65() throws Exception { - CONNECTION = PersonCacheSource.createConnection(true); - TestInfinispanHotRodConnection conn = (TestInfinispanHotRodConnection) CONNECTION; - conn.setVersion("6.5"); + CONNECTION = PersonCacheSource.createConnection(true, Version.getVersion("6.5.2")); + TRANSLATOR = new InfinispanExecutionFactory(); TRANSLATOR.initCapabilities(CONNECTION); diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanHotRodConnection.java b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanHotRodConnection.java index 1db9696d0c..2ad14b0193 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanHotRodConnection.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/TestInfinispanHotRodConnection.java @@ -32,8 +32,8 @@ import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; import org.teiid.translator.object.simpleMap.SimpleMapCacheConnection; -import org.teiid.translator.object.testdata.annotated.TestObjectConnection; import org.teiid.translator.object.testdata.annotated.Trade; import org.teiid.translator.object.testdata.annotated.TradesAnnotatedCacheSource; @@ -42,12 +42,15 @@ * */ public class TestInfinispanHotRodConnection extends SimpleMapCacheConnection implements InfinispanHotRodConnection { - protected String version; + protected Version version; - public static ObjectConnection createConnection(Map map) { + public static ObjectConnection createConnection(Map map, Version version) { CacheNameProxy proxy = new CacheNameProxy(TradesAnnotatedCacheSource.TRADES_CACHE_NAME); - return new TestObjectConnection(map, TradesAnnotatedCacheSource.METHOD_REGISTRY, proxy); + TestInfinispanHotRodConnection conn = new TestInfinispanHotRodConnection(map, TradesAnnotatedCacheSource.METHOD_REGISTRY, proxy); + conn.setVersion(version); + + return conn; } public TestInfinispanHotRodConnection(Map map, ClassRegistry registry, CacheNameProxy proxy) { @@ -56,7 +59,6 @@ public TestInfinispanHotRodConnection(Map map, ClassRegistry regi setPkField("tradeId"); setCacheKeyClassType(java.lang.Integer.class); this.setCacheClassType(Trade.class); - } @@ -95,11 +97,11 @@ public Descriptor getDescriptor() throws TranslatorException { * @see org.teiid.translator.object.simpleMap.SimpleMapCacheConnection#getVersion() */ @Override - public String getVersion() { + public Version getVersion() { return version; } - public void setVersion(String v) { + public void setVersion(Version v) { this.version = v; } } diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestAnnotationMetadataProcessor.java b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestAnnotationMetadataProcessor.java index f95f790d43..1d0290bff2 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestAnnotationMetadataProcessor.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestAnnotationMetadataProcessor.java @@ -13,6 +13,7 @@ import org.teiid.translator.infinispan.hotrod.InfinispanExecutionFactory; import org.teiid.translator.object.ObjectConnection; import org.teiid.translator.object.ObjectExecutionFactory; +import org.teiid.translator.object.Version; import org.teiid.translator.object.metadata.JavaBeanMetadataProcessor; @SuppressWarnings("nls") @@ -36,7 +37,7 @@ public void testPersonMetadataNoObject() throws Exception { SystemMetadata.getInstance().getRuntimeTypeMap(), new Properties(), null); - ObjectConnection conn = PersonCacheSource.createConnection(false); + ObjectConnection conn = PersonCacheSource.createConnection(false, Version.getVersion("6.6")); JavaBeanMetadataProcessor mp = (JavaBeanMetadataProcessor) TRANSLATOR.getMetadataProcessor(); mp.process(mf, conn); @@ -66,7 +67,7 @@ public void testPersonMetadata() throws Exception { SystemMetadata.getInstance().getRuntimeTypeMap(), new Properties(), null); - ObjectConnection conn = PersonCacheSource.createConnection(false); + ObjectConnection conn = PersonCacheSource.createConnection(false, Version.getVersion("10.2")); JavaBeanMetadataProcessor mp = (JavaBeanMetadataProcessor) TRANSLATOR.getMetadataProcessor(); mp.setClassObjectColumn(true); diff --git a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestProtobufMetadataProcessor.java b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestProtobufMetadataProcessor.java index 84204d8f94..2077c12352 100644 --- a/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestProtobufMetadataProcessor.java +++ b/connectors/translator-infinispan-hotrod/src/test/java/org/teiid/translator/infinispan/hotrod/metadata/TestProtobufMetadataProcessor.java @@ -16,6 +16,7 @@ import org.teiid.query.metadata.SystemMetadata; import org.teiid.translator.TranslatorException; import org.teiid.translator.infinispan.hotrod.InfinispanHotRodConnection; +import org.teiid.translator.object.Version; import org.teiid.translator.object.metadata.JavaBeanMetadataProcessor; import org.teiid.translator.infinispan.hotrod.InfinispanExecutionFactory; @@ -42,7 +43,7 @@ public void testPersonMetadata() throws Exception { SystemMetadata.getInstance().getRuntimeTypeMap(), new Properties(), null); - InfinispanHotRodConnection conn = PersonCacheSource.createConnection(true); + InfinispanHotRodConnection conn = PersonCacheSource.createConnection(true, Version.getVersion("6.6")); ProtobufMetadataProcessor mp = (ProtobufMetadataProcessor) TRANSLATOR.getMetadataProcessor(); mp.process(mf, conn); @@ -63,7 +64,7 @@ public void testPersonMetadataWithObject() throws Exception { SystemMetadata.getInstance().getRuntimeTypeMap(), new Properties(), null); - InfinispanHotRodConnection conn = PersonCacheSource.createConnection(true); + InfinispanHotRodConnection conn = PersonCacheSource.createConnection(true, Version.getVersion("6.6")); ProtobufMetadataProcessor mp = (ProtobufMetadataProcessor) TRANSLATOR.getMetadataProcessor(); mp.setClassObjectColumn(true); diff --git a/connectors/translator-infinispan-libmode/pom.xml b/connectors/translator-infinispan-libmode/pom.xml index ec5bee0d6f..e921f8c7c1 100644 --- a/connectors/translator-infinispan-libmode/pom.xml +++ b/connectors/translator-infinispan-libmode/pom.xml @@ -17,7 +17,7 @@ org.infinispan infinispan-bom - ${version.org.infinispan.6} + ${version.org.infinispan.ds} pom import diff --git a/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanCacheExecutionFactory.java b/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanCacheExecutionFactory.java index fb7ca32add..52b899ef7a 100644 --- a/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanCacheExecutionFactory.java +++ b/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanCacheExecutionFactory.java @@ -21,21 +21,7 @@ */ package org.teiid.translator.infinispan.libmode; -import org.teiid.language.Command; -import org.teiid.language.QueryExpression; -import org.teiid.metadata.RuntimeMetadata; -import org.teiid.translator.ExecutionContext; -import org.teiid.translator.ResultSetExecution; import org.teiid.translator.Translator; -import org.teiid.translator.TranslatorException; -import org.teiid.translator.TranslatorProperty; -import org.teiid.translator.UpdateExecution; -import org.teiid.translator.object.ObjectConnection; -import org.teiid.translator.object.ObjectExecution; -import org.teiid.translator.object.ObjectExecutionFactory; -import org.teiid.translator.object.ObjectUpdateExecution; -import org.teiid.translator.object.ObjectVisitor; -import org.teiid.translator.object.simpleMap.SimpleKeyVisitor; /** * InfinispanExecutionFactory is the "infinispan-cache" translator that is used to access an Infinispan cache. diff --git a/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanLibModeExecutionFactory.java b/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanLibModeExecutionFactory.java index 19a928d7be..13e113f802 100644 --- a/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanLibModeExecutionFactory.java +++ b/connectors/translator-infinispan-libmode/src/main/java/org/teiid/translator/infinispan/libmode/InfinispanLibModeExecutionFactory.java @@ -35,13 +35,14 @@ import org.teiid.translator.object.ObjectExecutionFactory; import org.teiid.translator.object.ObjectUpdateExecution; import org.teiid.translator.object.ObjectVisitor; +import org.teiid.translator.object.Version; import org.teiid.translator.object.simpleMap.SimpleKeyVisitor; /** - * InfinispanExecutionFactory is the "infinispan-cache" translator that is used to access an Infinispan cache. + * InfinispanExecutionFactory is the "infinispan-lib-mode" translator that is used to access an Infinispan cache running in library mode. *

* The optional setting is: - *

  • {@link #supportsDSLSearching DSL Searching} - will default to false, supporting only Key searching. + *
  • {@link #supportsDSLSearching DSL Searching} - will default to true, to support only Key searching set to false. * Set to true will use the Infinispan DSL query language to search the cache for objects
  • * * @@ -50,7 +51,7 @@ */ @Translator(name = "ispn-lib-mode", description = "(Deprecated) Translator used for accessing Infinispan cache running in Library Mode ") public class InfinispanLibModeExecutionFactory extends ObjectExecutionFactory { - + public static final Version SIX_6 = Version.getVersion("6.6"); //$NON-NLS-1$ // max available without having to try to override // BooleanQuery.setMaxClauseCount(), and @@ -189,7 +190,7 @@ public boolean supportsLikeCriteria() { // at this point, i've been unable to get this to work with Lucene searching return this.supportsDSLSearching; } - + @Override public boolean supportsLikeCriteriaEscapeCharacter() { return this.supportsDSLSearching; @@ -205,4 +206,20 @@ public boolean supportsOrderByUnrelated() { return this.isFullQuerySupported(); } + @Override + public void initCapabilities(ObjectConnection connection) + throws TranslatorException { + super.initCapabilities(connection); + if (connection == null) { + return; + } + + Version version = connection.getVersion(); + // any version prior to JDG 6.6 the supportCompareCritiaOrdered needs to be set to false; + if (version != null && version.compareTo(SIX_6) >= 0) { + this.supportsCompareCriteriaOrdered = true; + } + } + + } diff --git a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConfigFileKeySearch.java b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConfigFileKeySearch.java index ebe96fa112..d0cbd3ff98 100644 --- a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConfigFileKeySearch.java +++ b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConfigFileKeySearch.java @@ -21,7 +21,8 @@ */ package org.teiid.translator.infinispan.libmode; -import static org.mockito.Mockito.*; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; import org.junit.AfterClass; import org.junit.Before; @@ -29,10 +30,10 @@ import org.teiid.language.Select; import org.teiid.translator.ExecutionContext; import org.teiid.translator.TranslatorException; -import org.teiid.translator.infinispan.libmode.InfinispanCacheExecutionFactory; import org.teiid.translator.object.BasicSearchTest; import org.teiid.translator.object.ObjectConnection; import org.teiid.translator.object.ObjectExecution; +import org.teiid.translator.object.Version; import org.teiid.translator.object.testdata.trades.VDBUtility; @SuppressWarnings("nls") @@ -48,8 +49,10 @@ public class TestInfinispanConfigFileKeySearch extends BasicSearchTest { public static void beforeClass() throws Exception { // Set up the mock JNDI ... context = mock(ExecutionContext.class); + + Version v = Version.getVersion("10.1"); - conn = TestInfinispanConnectionHelper.createNonAnnotatedConnection("./src/test/resources/infinispan_persistent_indexing_config.xml"); + conn = TestInfinispanConnectionHelper.createNonAnnotatedConnection("./src/test/resources/infinispan_persistent_indexing_config.xml", v); } @@ -62,10 +65,15 @@ public static void afterClass() { @Before public void beforeEachTest() throws Exception{ factory = new InfinispanCacheExecutionFactory(); factory.start(); + + factory.initCapabilities(conn); } @Override protected ObjectExecution createExecution(Select command) throws TranslatorException { + + assertEquals("supportsCompareCriteriaOrdered was not configurred correctly ", factory.supportsCompareCriteriaOrdered(), true); //$NON-NLS-1$ + return (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, conn); } diff --git a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConnectionHelper.java b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConnectionHelper.java index 37fc362138..a7d6f2738b 100644 --- a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConnectionHelper.java +++ b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanConnectionHelper.java @@ -1,10 +1,7 @@ package org.teiid.translator.infinispan.libmode; -import java.lang.annotation.ElementType; import java.util.Properties; -import org.hibernate.search.annotations.Analyze; -import org.hibernate.search.cfg.SearchMapping; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.cache.Configuration; import org.infinispan.configuration.cache.ConfigurationBuilder; @@ -15,7 +12,7 @@ import org.infinispan.transaction.TransactionMode; import org.teiid.core.TeiidException; import org.teiid.translator.object.ObjectConnection; -import org.teiid.translator.object.testdata.annotated.Trade; +import org.teiid.translator.object.Version; import org.teiid.translator.object.testdata.annotated.TradesAnnotatedCacheSource; import org.teiid.translator.object.testdata.trades.TradesCacheSource; @@ -23,14 +20,14 @@ public class TestInfinispanConnectionHelper { private static int cnt = 0; - public static ObjectConnection createNonAnnotatedConnection(String configFile) + public static ObjectConnection createNonAnnotatedConnection(String configFile, Version version) throws Exception { DefaultCacheManager container = new DefaultCacheManager(configFile); container.startCache(TradesCacheSource.TRADES_CACHE_NAME); TradesCacheSource.loadCache(container.getCache(TradesCacheSource.TRADES_CACHE_NAME)); - ObjectConnection conn = TradesCacheSource.createConnection(container.getCache(TradesCacheSource.TRADES_CACHE_NAME)); + ObjectConnection conn = TradesCacheSource.createConnection(container.getCache(TradesCacheSource.TRADES_CACHE_NAME), false, version); return conn; } diff --git a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanExecutionFactory.java b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanExecutionFactory.java index 8531d62712..a001edf9a5 100644 --- a/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanExecutionFactory.java +++ b/connectors/translator-infinispan-libmode/src/test/java/org/teiid/translator/infinispan/libmode/TestInfinispanExecutionFactory.java @@ -26,7 +26,6 @@ import static org.junit.Assert.assertTrue; import org.junit.Test; -import org.teiid.translator.infinispan.libmode.InfinispanCacheExecutionFactory; import org.teiid.translator.object.ObjectExecution; import org.teiid.translator.object.ObjectExecutionFactory; import org.teiid.translator.object.TestObjectExecutionFactory; @@ -55,7 +54,7 @@ protected ObjectExecutionFactory createFactory() { @Test public void testDefaultSearch() throws Exception { InfinispanCacheExecutionFactory f = (InfinispanCacheExecutionFactory) this.factory; factory.start(); - + ObjectExecution exec = (ObjectExecution) factory.createExecution(command, context, VDBUtility.RUNTIME_METADATA, conn); assertNotNull(exec); diff --git a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectConnection.java b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectConnection.java index 6199bec7b3..e836667bba 100644 --- a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectConnection.java +++ b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectConnection.java @@ -35,11 +35,11 @@ public interface ObjectConnection { /** - * Call to get the version of the data source that being used. - * @return String verison + * Call to get the version of the data source that is being accessed. + * @return Version * @throws TranslatorException */ - public String getVersion() throws TranslatorException; + public Version getVersion() throws TranslatorException; /** * Call to check the status of the connection diff --git a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java index 052ec8f2a3..a106d6aa7b 100644 --- a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java +++ b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecution.java @@ -39,9 +39,7 @@ import org.teiid.language.ColumnReference; import org.teiid.language.Command; import org.teiid.language.DerivedColumn; -import org.teiid.language.NamedTable; import org.teiid.language.Select; -import org.teiid.language.TableReference; import org.teiid.logging.LogConstants; import org.teiid.logging.LogManager; import org.teiid.logging.MessageLevel; @@ -51,7 +49,6 @@ import org.teiid.translator.ExecutionContext; import org.teiid.translator.ResultSetExecution; import org.teiid.translator.TranslatorException; -import org.teiid.translator.object.metadata.JavaBeanMetadataProcessor; import org.teiid.translator.object.util.ObjectUtil; /** diff --git a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecutionFactory.java b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecutionFactory.java index a2e2ed9708..412be6ec46 100644 --- a/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecutionFactory.java +++ b/connectors/translator-object/src/main/java/org/teiid/translator/object/ObjectExecutionFactory.java @@ -92,7 +92,7 @@ public UpdateExecution createUpdateExecution(Command command, } @Override - public ProcedureExecution createDirectExecution(List arguments, Command command, ExecutionContext executionContext, RuntimeMetadata metadata, ObjectConnection connection) throws TranslatorException { + public ProcedureExecution createDirectExecution(List arguments, Command command, ExecutionContext executionContext, RuntimeMetadata metadata, ObjectConnection connection) { return new ObjectDirectExecution(arguments, command, connection, executionContext, this); } diff --git a/connectors/translator-object/src/main/java/org/teiid/translator/object/Version.java b/connectors/translator-object/src/main/java/org/teiid/translator/object/Version.java new file mode 100644 index 0000000000..c265054bd6 --- /dev/null +++ b/connectors/translator-object/src/main/java/org/teiid/translator/object/Version.java @@ -0,0 +1,117 @@ +/* + * 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 java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.teiid.core.util.StringUtil; + +/** + * Represents a comparable version + */ +public class Version implements Comparable { + + public static Version DEFAULT_VERSION = new Version(new Integer[] {0}); + private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+)"); //$NON-NLS-1$ + + private Integer[] parts; + + public static Version getVersion(String version) { + if (version == null) { + return null; + } + String[] parts = version.split("\\."); //$NON-NLS-1$ + List versionParts = new ArrayList(); + for (String part : parts) { + Integer val = null; + Matcher m = NUMBER_PATTERN.matcher(part); + if (!m.find()) { + continue; + } + + String num = m.group(1); + try { + val = Integer.parseInt(num); + } catch (NumberFormatException e) { + + } + versionParts.add(val == null ? 0 : val); + } + if (versionParts.isEmpty()) { + return DEFAULT_VERSION; + } + return new Version(versionParts.toArray(new Integer[versionParts.size()])); + } + + Version(Integer[] parts) { + this.parts = parts; + } + + @Override + public String toString() { + return StringUtil.toString(this.parts, ".", false); //$NON-NLS-1$ + } + + public int getMajorVersion() { + return parts[0]; + } + + @Override + public int compareTo(Version o) { + int length = Math.min(this.parts.length, o.parts.length); + for (int i = 0; i < length; i++) { + int comp = this.parts[i].compareTo(o.parts[i]); + if (comp != 0) { + return comp; + } + } + if (this.parts.length > length) { + return 1; + } + if (o.parts.length > length) { + return -1; + } + return 0; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof Version)) { + return false; + } + return this.compareTo((Version)obj) == 0; + } + + @Override + public int hashCode() { + return Arrays.hashCode(parts); + } + +} diff --git a/connectors/translator-object/src/main/java/org/teiid/translator/object/simpleMap/SimpleMapCacheConnection.java b/connectors/translator-object/src/main/java/org/teiid/translator/object/simpleMap/SimpleMapCacheConnection.java index f8325f2f3a..52c728f1fe 100644 --- a/connectors/translator-object/src/main/java/org/teiid/translator/object/simpleMap/SimpleMapCacheConnection.java +++ b/connectors/translator-object/src/main/java/org/teiid/translator/object/simpleMap/SimpleMapCacheConnection.java @@ -11,8 +11,10 @@ import org.teiid.translator.object.ObjectConnection; import org.teiid.translator.object.DDLHandler; import org.teiid.translator.object.SearchType; +import org.teiid.translator.object.Version; public class SimpleMapCacheConnection implements ObjectConnection { + private Version version = Version.getVersion("0.0.0"); private Map> mapCaches = new HashMap>(3); private ClassRegistry registry; private String pkField; @@ -39,10 +41,14 @@ public SimpleMapCacheConnection(Map cache, Map s this.registry = registry; this.proxy = proxy; } - + @Override - public String getVersion() { - return ""; + public Version getVersion() { + return version; + } + + public void setVersion(Version version) { + this.version = version; } @Override diff --git a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TestObjectConnection.java b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TestObjectConnection.java index bbc986495b..d515c4b026 100644 --- a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TestObjectConnection.java +++ b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TestObjectConnection.java @@ -5,15 +5,18 @@ import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; import org.teiid.translator.object.simpleMap.SimpleMapCacheConnection; public class TestObjectConnection extends SimpleMapCacheConnection { - public static ObjectConnection createConnection(Map map) { + public static ObjectConnection createConnection(Map map, Version version) { CacheNameProxy proxy = new CacheNameProxy(TradesAnnotatedCacheSource.TRADES_CACHE_NAME); - return new TestObjectConnection(map, TradesAnnotatedCacheSource.METHOD_REGISTRY, proxy); + TestObjectConnection conn = new TestObjectConnection(map, TradesAnnotatedCacheSource.METHOD_REGISTRY, proxy); + conn.setVersion(version); + return conn; } public TestObjectConnection(Map map, ClassRegistry registry, CacheNameProxy proxy) { diff --git a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TradesAnnotatedCacheSource.java b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TradesAnnotatedCacheSource.java index 6e5e26ab56..653f2a3a36 100644 --- a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TradesAnnotatedCacheSource.java +++ b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/annotated/TradesAnnotatedCacheSource.java @@ -31,6 +31,7 @@ import org.teiid.translator.TranslatorException; import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; @@ -68,12 +69,15 @@ public class TradesAnnotatedCacheSource extends HashMap { } } - public static ObjectConnection createConnection() { + public static ObjectConnection createConnection(Version version) { Map objects = TradesAnnotatedCacheSource.loadCache(); - ObjectConnection toc = TestObjectConnection.createConnection(objects); + ObjectConnection toc = TestObjectConnection.createConnection(objects, version); + return toc; + } + public static ObjectConnection createConnection() { - return toc; + return createConnection(null); } diff --git a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradeObjectConnection.java b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradeObjectConnection.java index 8df993574b..01fa472032 100644 --- a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradeObjectConnection.java +++ b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradeObjectConnection.java @@ -5,11 +5,12 @@ import org.teiid.translator.object.CacheNameProxy; import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; import org.teiid.translator.object.simpleMap.SimpleMapCacheConnection; public class TradeObjectConnection extends SimpleMapCacheConnection { - public static ObjectConnection createConnection(Map map, boolean staging) { + public static ObjectConnection createConnection(Map map, boolean staging, Version theVersion) { CacheNameProxy proxy = null; if (staging) { @@ -18,7 +19,9 @@ public static ObjectConnection createConnection(Map map, boolean proxy = new CacheNameProxy(TradesCacheSource.TRADES_CACHE_NAME); } - return new TradeObjectConnection(map, TradesCacheSource.CLASS_REGISTRY, proxy); + TradeObjectConnection conn = new TradeObjectConnection(map, TradesCacheSource.CLASS_REGISTRY, proxy); + conn.setVersion(theVersion); + return conn; } public TradeObjectConnection(Map map, ClassRegistry registry, CacheNameProxy proxy) { diff --git a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradesCacheSource.java b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradesCacheSource.java index 9fa4c370db..0607a08b1c 100644 --- a/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradesCacheSource.java +++ b/connectors/translator-object/src/test/java/org/teiid/translator/object/testdata/trades/TradesCacheSource.java @@ -30,6 +30,7 @@ import org.teiid.translator.object.ClassRegistry; import org.teiid.translator.object.ObjectConnection; +import org.teiid.translator.object.Version; /** @@ -85,7 +86,13 @@ public static ObjectConnection createConnection(Map cache) { } public static ObjectConnection createConnection(Map cache, boolean staging) { - ObjectConnection toc = TradeObjectConnection.createConnection(cache, staging); + ObjectConnection toc = TradeObjectConnection.createConnection(cache, staging, null); + + return toc; + } + + public static ObjectConnection createConnection(Map cache, boolean staging, Version version) { + ObjectConnection toc = TradeObjectConnection.createConnection(cache, staging, version); return toc; } diff --git a/pom.xml b/pom.xml index 2779a971ff..581421ecaf 100644 --- a/pom.xml +++ b/pom.xml @@ -29,16 +29,16 @@ 1.10 18.0 1.6.1 - 5.6.0.Alpha2-redhat-1 - 5.0.9.Final-redhat-1 - 4.6.3.Final-redhat-1 + 5.6.0.Alpha2 + 5.0.9.Final + 4.6.3.Final 2.5.0 jdg-7.0 - 8.2.4.Final + 8.2.4.Final 5.5.0 3.1.5 @@ -1345,7 +1345,7 @@ + ${version.org.infinispan.ds} org.mongodb