[teiid-commits] teiid SVN: r733 - in trunk/engine/src: test/java/org/teiid/dqp/internal/pooling/connector and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Apr 8 19:00:01 EDT 2009


Author: shawkins
Date: 2009-04-08 19:00:01 -0400 (Wed, 08 Apr 2009)
New Revision: 733

Added:
   trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java
Modified:
   trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java
Log:
TEIID-481 fix for npe on pooled xa connections

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java	2009-04-08 20:38:18 UTC (rev 732)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java	2009-04-08 23:00:01 UTC (rev 733)
@@ -100,6 +100,7 @@
 	@Override
 	public void start(ConnectorEnvironment environment)
 			throws ConnectorException {
+		this.environment = environment;
 		pool.initialize(environment);
 		if (xaPool != null) {
 			xaPool.initialize(environment);

Added: trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java	                        (rev 0)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java	2009-04-08 23:00:01 UTC (rev 733)
@@ -0,0 +1,58 @@
+/*
+ * 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.dqp.internal.pooling.connector;
+
+import java.util.Properties;
+
+import javax.transaction.Transaction;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.teiid.connector.api.ConnectorLogger;
+import org.teiid.connector.api.ExecutionContext;
+import org.teiid.connector.xa.api.TransactionContext;
+import org.teiid.connector.xa.api.XAConnection;
+import org.teiid.connector.xa.api.XAConnector;
+import org.teiid.dqp.internal.datamgr.impl.ConnectorEnvironmentImpl;
+
+import com.metamatrix.common.application.ApplicationEnvironment;
+
+public class TestPooledConnector {
+	
+	@Test public void testGetXAConnection() throws Exception {
+		XAConnector connector = Mockito.mock(XAConnector.class);
+		PooledConnector pc = new PooledConnector(connector);
+		pc.start(new ConnectorEnvironmentImpl(new Properties(), Mockito.mock(ConnectorLogger.class), new ApplicationEnvironment()));
+		TransactionContext tc = Mockito.mock(TransactionContext.class);
+		Mockito.stub(tc.getTransaction()).toReturn(Mockito.mock(Transaction.class));
+		Mockito.stub(tc.getTxnID()).toReturn("1"); //$NON-NLS-1$
+		XAConnection conn = pc.getXAConnection(Mockito.mock(ExecutionContext.class), tc);
+		conn.close();
+		XAConnection conn1 = pc.getXAConnection(Mockito.mock(ExecutionContext.class), tc);
+		assertSame(conn, conn1);
+		pc.stop();
+	}
+
+}


Property changes on: trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the teiid-commits mailing list