[teiid-commits] teiid SVN: r4135 - in branches/7.7.x/connectors/connector-infinispan: src/assembly and 7 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue May 22 10:55:50 EDT 2012


Author: van.halbert
Date: 2012-05-22 10:55:50 -0400 (Tue, 22 May 2012)
New Revision: 4135

Added:
   branches/7.7.x/connectors/connector-infinispan/src/main/application/
   branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/
   branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/application.xml
   branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/jboss-app.xml
   branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/
   branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/META-INF/
   branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/META-INF/ra.xml
   branches/7.7.x/connectors/connector-infinispan/src/main/application/infinispan-ds.xml
Modified:
   branches/7.7.x/connectors/connector-infinispan/pom.xml
   branches/7.7.x/connectors/connector-infinispan/src/assembly/kit.xml
   branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/custom/spi/BasicManagedConnectionFactory.java
   branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanConnectionImpl.java
   branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java
Log:
TEIID-1992 updated based on refactoring of Infinispan Connection for remote connection and change to the packaging of the ear and its deployment to the repo

Modified: branches/7.7.x/connectors/connector-infinispan/pom.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/pom.xml	2012-05-22 14:51:03 UTC (rev 4134)
+++ branches/7.7.x/connectors/connector-infinispan/pom.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -8,6 +8,7 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>connector-infinispan</artifactId>
     <groupId>org.jboss.teiid.connectors</groupId>
+    <!-- packaging>ear</packaging-->
     <name>Infinispan Connector</name>
     <description>This connector reads data from a Infinispan cache</description>
     <properties>
@@ -58,11 +59,14 @@
 			<artifactId>junit</artifactId>		
 			<version>4.4</version>
 			<scope>test</scope>
-		</dependency>           
+		</dependency>      
+		
+		     
         
     </dependencies>
     <build>
-        <plugins>
+
+        <plugins>     
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
                 <executions>
@@ -73,77 +77,192 @@
                             <goal>jar</goal>
                         </goals>
                     </execution>
-                    <execution>
-                        <id>deploy_jar</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                        <configuration>
-                            <classifier>lib</classifier>
-                        </configuration>
-                    </execution>
                 </executions>
             </plugin> 
-		    <plugin>
-		        <artifactId>maven-assembly-plugin</artifactId>
-		        <configuration>
-		         <finalName>infinispan</finalName>
-		            <descriptors>
-		                <descriptor>src/assembly/kit.xml</descriptor>
-		            </descriptors>
-		            <outputDirectory>target/distribution</outputDirectory>
-		            <workDirectory>target/assembly/work</workDirectory>
-		        </configuration>
-		        <executions>
-		            <execution>
-		                <id>make-assembly</id>
-		                <phase>package</phase>
-		                <goals>
-		                    <goal>attached</goal>
-		                </goals>
-		            </execution>
-		        </executions>
-		      </plugin>  
-
-      <!-- plugin>
+	      <plugin>
+	        <groupId>org.apache.maven.plugins</groupId>
+	        <artifactId>maven-ear-plugin</artifactId>
+	        <version>2.4</version>
+	        <configuration>
+	           <!-- uri>./target/connector-infinispan-${project.version}</uri-->
+	           <defaultJavaBundleDir></defaultJavaBundleDir>
+	           <generateApplicationXml>false</generateApplicationXml>
+	           <modules>                   
+	             <javaModule>
+		  	        <groupId>org.infinispan</groupId>
+	    		    <artifactId>infinispan-core</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	    		    <!--includeInApplicationXml>true</includeInApplicationXml-->
+	             </javaModule>
+	             <javaModule>
+		      		<groupId>org.infinispan</groupId>
+		      		<artifactId>infinispan-client-hotrod</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule> 
+	             <javaModule>
+		  	        <groupId>org.jboss.marshalling</groupId>
+	    		    <artifactId>jboss-marshalling-river</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule>
+	             <javaModule>
+		      		<groupId>org.jboss.marshalling</groupId>
+		      		<artifactId>jboss-marshalling</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule>    
+	              <javaModule>
+		  	        <groupId>org.jboss.logging</groupId>
+	    		    <artifactId>jboss-logging</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule>
+	             <javaModule>
+		      		<groupId>org.jboss.logmanager</groupId>
+		      		<artifactId>jboss-logmanager</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule>    
+	               <javaModule>
+		      		<groupId>commons-pool</groupId>
+		      		<artifactId>commons-pool</artifactId>
+	                <bundleDir>connector-infinispan.rar</bundleDir>
+	             </javaModule>                          
+	                <jarModule>
+	                   <groupId>antlr</groupId>
+	                   <artifactId>antlr</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule> 
+	   
+	                <jarModule>
+	                   <groupId>antlr</groupId>
+	                   <artifactId>antlr</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.hibernate</groupId>
+	                   <artifactId>hibernate-search</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                <jarModule>
+	                   <groupId>org.hibernate</groupId>
+	                   <artifactId>hibernate-commons-annotations</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.hibernate</groupId>
+	                   <artifactId>ejb3-persistence</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>   
+	                 <jarModule>
+	                   <groupId>org.hibernate</groupId>
+	                   <artifactId>hibernate-core </artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>                 
+	                 <jarModule>
+	                   <groupId>org.codehaus.woodstox</groupId>
+	                   <artifactId>woodstox-core-asl</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.codehaus.woodstox</groupId>
+	                   <artifactId>stax2-api </artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>                                 
+	                 <jarModule>
+	                   <groupId>commons-collections</groupId>
+	                   <artifactId>commons-collections</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>dom4j</groupId>
+	                   <artifactId>dom4j</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>xml-apis</groupId>
+	                   <artifactId>xml-apis</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.apache.lucene</groupId>
+	                   <artifactId>lucene-core</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.slf4j</groupId>
+	                   <artifactId>slf4j-api</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>hsqldb</groupId>
+	                   <artifactId>hsqldb</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.jgroups</groupId>
+	                   <artifactId>jgroups</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	  
+	                 <jarModule>
+	                   <groupId>org.jboss.spec.javax.transaction</groupId>
+	                   <artifactId>jboss-transaction-api_1.1_spec</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+	                   <groupId>org.rhq.helpers</groupId>
+	                   <artifactId>rhq-pluginAnnotations</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>
+	                 <jarModule>
+			  			<groupId>org.jboss.teiid.connectors</groupId>
+						<artifactId>translator-object</artifactId>
+	                   <excluded>true</excluded>
+	                </jarModule>                
+	          </modules>
+	          
+			  <jboss>
+			    <data-sources>
+			      <data-source>infinispan-ds.xml</data-source>
+			    </data-sources>
+			    
+				<loader-repository>
+				      org.teiid.resource.adapter:loader=teiid-infinispan.ear
+				      </loader-repository>
+					  <loader-repository-config> 
+					     java2ParentDelegation=false 
+				     </loader-repository-config> 
+			    
+			  </jboss>          
+	        </configuration>
+            <executions>
+                   <execution>
+                       <id>deploy-ear</id>
+                       <phase>install</phase>
+                       <goals>
+                           <goal>ear</goal>
+                       </goals>
+                   </execution>
+               </executions>
+	      </plugin>	
+	      
+ 	<plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>2.7</version>
-        <configuration>
-           <defaultJavaBundleDir>lib</defaultJavaBundleDir>
-           <modules>
-              <rarModule>
-             	 <bundleDir>/connector-infinispan.rar</bundleDir>
-             </rarModule>            
-             <javaModule>
-	  	        <groupId>org.infinispan</groupId>
-    		    <artifactId>infinispan-core</artifactId>
-    		    <includeInApplicationXml>true</includeInApplicationXml>
-             </javaModule>
-             <javaModule>
-	      		<groupId>org.infinispan</groupId>
-	      		<artifactId>infinispan-client-hotrod</artifactId>
-	      		<includeInApplicationXml>true</includeInApplicationXml>
-             </javaModule> 
-  
-          </modules>
-          
-		  <jboss>
-		    <data-sources>
-		      <data-source>src/kit/infinispan-ds.xml</data-source>
-		    </data-sources>
-		    
-			<loader-repository> 
-			      org.teiid.resource.adapter:loader=infinispan-jca.ear
-				  <loader-repository-config> 
-				     java2ParentDelegation=false 
-			     </loader-repository-config> 
-			</loader-repository>
-		    
-		  </jboss>          
-        </configuration>
-      </plugin -->		                   
+        <artifactId>maven-install-plugin</artifactId>
+        <executions>
+            <execution>
+                <id>install-ear</id>
+                <phase>install</phase>
+                <goals>
+                    <goal>install-file</goal>
+                </goals>
+                <configuration>
+                    <packaging>ear</packaging>
+                    <artifactId>${project.artifactId}</artifactId>
+                    <groupId>${project.groupId}</groupId>
+                    <version>${project.version}</version>
+                    <file>${project.build.directory}/${project.artifactId}-${project.version}.ear</file>
+                </configuration>
+            </execution>
+        </executions>
+    </plugin>	      	                   
         </plugins>
     </build>
 </project>

Modified: branches/7.7.x/connectors/connector-infinispan/src/assembly/kit.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/assembly/kit.xml	2012-05-22 14:51:03 UTC (rev 4134)
+++ branches/7.7.x/connectors/connector-infinispan/src/assembly/kit.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -9,7 +9,7 @@
   in order to build a complete set of artifacts to be deployed to a JBoss AS server
  -->
   
-  <id>jca.ear</id>
+  <id>infinispan.ear</id>
    
   <formats>
 	<format>dir</format>
@@ -37,7 +37,6 @@
             <include>org.jboss.marshalling:jboss-marshalling</include>
             <include>org.jboss.marshalling:jboss-marshalling-river</include>
 
-
           </includes>
     
         </dependencySet>

Added: branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/application.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/application.xml	                        (rev 0)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/application.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -0,0 +1,12 @@
+<?xml version='1.0'  encoding='UTF-8'?>
+<!DOCTYPE application PUBLIC
+        "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
+        "http://java.sun.com/dtd/application_1_3.dtd">
+
+<application>
+	<display-name>Infinispan</display-name>
+	  <module>
+	  <connector>connector-infinispan.rar</connector>
+	  </module>    
+               
+</application>

Added: branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/jboss-app.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/jboss-app.xml	                        (rev 0)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/application/META-INF/jboss-app.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss-app PUBLIC
+	"-//JBoss//DTD J2EE Application 1.4//EN"
+	"http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
+<jboss-app>
+  <loader-repository>org.teiid.resource.adapter:loader=teiid-infinispan.ear<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+  </loader-repository>
+  <module>
+    <service>infinispan-ds.xml</service>
+  </module>
+</jboss-app>
\ No newline at end of file

Added: branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/META-INF/ra.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/META-INF/ra.xml	                        (rev 0)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/application/connector-infinispan.rar/META-INF/ra.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<connector version="1.5">
+
+   <vendor-name>Red Hat Middleware LLC</vendor-name>
+   <eis-type>Teiid Infinispan Connector</eis-type>
+   <resourceadapter-version>1.0</resourceadapter-version>
+   <license>
+      <description>
+ JBoss, Home of Professional Open Source.
+ Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ as indicated by the @author tags. See the copyright.txt file in the
+ distribution for a full listing of individual contributors.
+
+ This 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 software 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 software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+      </description>
+      <license-required>true</license-required>
+   </license>
+   <resourceadapter>
+      <resourceadapter-class>org.teiid.resource.adapter.custom.spi.BasicResourceAdapter</resourceadapter-class>
+
+      <outbound-resourceadapter>
+         <connection-definition>
+            <managedconnectionfactory-class>org.teiid.resource.adapter.infinispan.InfinispanManagedConnectionFactory</managedconnectionfactory-class>
+           
+            <config-property>
+               <description>{$display:"Infinispan Server List",$description:"Infinispan Server List",$required:"true"}</description>
+               <config-property-name>RemoteServerList</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+            </config-property>             
+            
+            <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
+            <connectionfactory-impl-class>org.teiid.resource.adapter.custom.spi.WrappedConnectionFactory</connectionfactory-impl-class>
+            <connection-interface>javax.resource.cci.Connection</connection-interface>
+            <connection-impl-class>org.teiid.resource.adapter.custom.spi.WrappedConnection</connection-impl-class>          
+
+         </connection-definition>
+         
+         <transaction-support>NoTransaction</transaction-support>
+        
+        <authentication-mechanism>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <reauthentication-support>false</reauthentication-support>
+      </outbound-resourceadapter>
+   </resourceadapter>
+</connector>

Added: branches/7.7.x/connectors/connector-infinispan/src/main/application/infinispan-ds.xml
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/application/infinispan-ds.xml	                        (rev 0)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/application/infinispan-ds.xml	2012-05-22 14:55:50 UTC (rev 4135)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<connection-factories>
+
+   <no-tx-connection-factory>
+      <!-- The jndi name of the DataSource -->
+      <jndi-name>InfinispanDS</jndi-name>
+      
+      <!-- The resource archive file that defines JCA connection for Coherence  -->
+      <rar-name>infinispan-jca.ear#connector-infinispan.rar</rar-name>
+      <!-- connection interface; (do not change this) -->
+      <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>     
+      
+        <!-- Infinispan server list - host:port[;host:port...]  (required)-->
+      <config-property name="RemoteServerList">localhost:11222</config-property>
+      
+	  <min-pool-size>0</min-pool-size>
+      <max-pool-size>20</max-pool-size>
+
+    </no-tx-connection-factory>
+
+</connection-factories>
\ No newline at end of file

Modified: branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/custom/spi/BasicManagedConnectionFactory.java
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/custom/spi/BasicManagedConnectionFactory.java	2012-05-22 14:51:03 UTC (rev 4134)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/custom/spi/BasicManagedConnectionFactory.java	2012-05-22 14:55:50 UTC (rev 4135)
@@ -52,7 +52,7 @@
 	public Object createConnectionFactory(ConnectionManager cm) throws ResourceException {
 		this.cf = createConnectionFactory();
 		return this.cf;
-		// return new WrappedConnectionFactory(this.cf, cm, this);
+	//	return new WrappedConnectionFactory(this.cf, cm, this);
 	}
 
 	@Override

Modified: branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanConnectionImpl.java
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanConnectionImpl.java	2012-05-22 14:51:03 UTC (rev 4134)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanConnectionImpl.java	2012-05-22 14:55:50 UTC (rev 4135)
@@ -1,5 +1,5 @@
 /*
-sele * JBoss, Home of Professional Open Source.
+ * 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.
@@ -25,6 +25,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -33,13 +34,14 @@
 
 import org.infinispan.client.hotrod.RemoteCache;
 import org.teiid.resource.adapter.custom.spi.BasicConnection;
-import org.teiid.translator.object.ObjectCacheConnection;
+import org.teiid.translator.object.SearchCriterion;
+import org.teiid.translator.object.infinispan.InfinispanCacheConnection;
 
 
 /** 
  * Represents an implementation of the connection to an Infinispan cache. 
  */
-public class InfinispanConnectionImpl extends BasicConnection implements ObjectCacheConnection { 
+public class InfinispanConnectionImpl extends BasicConnection implements InfinispanCacheConnection { 
 
 	private InfinispanManagedConnectionFactory config;
 	
@@ -72,55 +74,85 @@
 	public boolean isAlive() {
 		return (config == null ? false : config.getRemoteCacheManager().isStarted());
 	}
-
-	public List<Object> get(List<Object> args, String cacheName, Class<?> rootNodeType) throws Exception {
+	
+    @Override
+	public List<Object> get(SearchCriterion criterion, String cacheName, Class<?> rootNodeType) throws Exception {
+		List<Object> results = null;
 		
+		if (! criterion.isRootTableInSelect() ) {
+			return Collections.EMPTY_LIST;
+		}
+    	
 		RemoteCache<Object, Object> cache = config.getRemoteCacheManager().getCache(cacheName);
 		
-    	List<Object> results = null;
-    	if (args == null || args.size() == 0) {
+		if (criterion.getOperator() == SearchCriterion.Operator.ALL) {
     		Map<Object, Object> c = cache.getBulk();
     		results = new ArrayList<Object>();
     		for (Iterator it = c.keySet().iterator(); it.hasNext();) {
     			Object v = cache.get(it.next());
-    			if (v != null && v.getClass().equals(rootNodeType)) {
-    				addValue(v, results);
-    			}
-    		}
+    			addValue(v, results, rootNodeType);	
 
-    	} else {
-	    	results = new ArrayList<Object>(args.size());
-			for (Iterator<Object> it=args.iterator(); it.hasNext();) {
+    		}	
+    		
+    		return results;
+		}
+		
+		if (criterion.getAddCondition() != null) {
+			results = get(criterion.getAddCondition(), cacheName, rootNodeType);
+		}
+		
+		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, rootNodeType);	
+				}
+    	} else if (criterion.getOperator().equals(SearchCriterion.Operator.IN)) {
+    		
+    		List<Object> parms = (List) criterion.getValue();
+			for (Iterator<Object> it=parms.iterator(); it.hasNext();) {
 				Object arg = it.next();
 				Object v = cache.get(arg);
-				if (v != null && v.getClass().equals(rootNodeType)) {
-    				addValue(v, results);    			}				
+				if (v != null) {
+					addValue(v, results, rootNodeType);	
+				}
 			}
-    	}
     	
+    	} 
+//    	else if (criterion.getOperator().equals(SearchCriterion.Operator.LIKE)) {
+//    	// not supported yet
+//    	}
+    	
     	return results;
 		
 	}
 	
-	private void addValue(Object value, List<Object> results) {
-		if (value.getClass().isArray()) {
-			List<Object> listRows = Arrays.asList((Object[]) value);
-			results.addAll(listRows);
-			return;
+	private void addValue(Object value, List<Object> results, Class rootNodeType) {
+		if (value != null && value.getClass().equals(rootNodeType)) {
+			
+			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<?,Object> mapRows = (Map) value;
+				results.addAll(mapRows.values());
+				return;
+			}
+			
+			results.add(value);
 		}
-		
-		if (value instanceof Collection) {
-			results.addAll((Collection) value); 
-			return;
-		} 
-		
-		if (value instanceof Map) {
-			Map<?,Object> mapRows = (Map) value;
-			results.addAll(mapRows.values());
-			return;
-		}
-		
-		results.add(value);
 
 	}
 	

Modified: branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java
===================================================================
--- branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java	2012-05-22 14:51:03 UTC (rev 4134)
+++ branches/7.7.x/connectors/connector-infinispan/src/main/java/org/teiid/resource/adapter/infinispan/InfinispanManagedConnectionFactory.java	2012-05-22 14:55:50 UTC (rev 4135)
@@ -27,6 +27,7 @@
 import org.teiid.resource.adapter.custom.spi.BasicConnectionFactory;
 import org.teiid.resource.adapter.custom.spi.BasicManagedConnectionFactory;
 
+ at SuppressWarnings("serial")
 public class InfinispanManagedConnectionFactory extends BasicManagedConnectionFactory {
 
 	private String remoteServerList;



More information about the teiid-commits mailing list