[teiid-commits] teiid SVN: r1166 - in trunk: connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap and 1 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue Jul 21 22:48:37 EDT 2009


Author: shawkins
Date: 2009-07-21 22:48:37 -0400 (Tue, 21 Jul 2009)
New Revision: 1166

Added:
   trunk/connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap/TestLDAPConnection.java
Modified:
   trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnection.java
   trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnector.java
   trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ExecutionContextImpl.java
Log:
TEIID-731 fixing the ldapconnection initialization logic

Modified: trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnection.java
===================================================================
--- trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnection.java	2009-07-22 01:23:58 UTC (rev 1165)
+++ trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnection.java	2009-07-22 02:48:37 UTC (rev 1166)
@@ -59,6 +59,7 @@
 	private String ldapAdminUserDN;
 	private String ldapAdminUserPass;
 	private String ldapTxnTimeoutInMillis;
+	private String jndiLdapCtxFactory;
 
     /**
      * Constructor.
@@ -67,11 +68,16 @@
      * @param logger
      */
 	public LDAPConnection(ExecutionContext ctx, Properties props, ConnectorLogger logger) throws ConnectorException {
+		this(ctx, props, logger, LDAPConnectorConstants.JNDI_LDAP_CTX_FACTORY);
+	}
+	
+	public LDAPConnection(ExecutionContext ctx, Properties props, ConnectorLogger logger, String jndiLdapCtxFactory) throws ConnectorException {
 		this.logger = logger;
 		this.props = props;
+		this.jndiLdapCtxFactory = jndiLdapCtxFactory;
 			
-		
-		
+		parseProperties(props);
+
 		// Create initial LDAP connection.
 		try {
 			this.initCtx = initializeLDAPContext();
@@ -79,11 +85,14 @@
             final String msg = LDAPPlugin.Util.getString("LDAPConnection.contextInitFailed"); //$NON-NLS-1$
 			throw new ConnectorException(ce, msg);
 		}
+
 		logger.logDetail("LDAP Connection has been newly created."); //$NON-NLS-1$
-		
-		parseProperties(props);
 	}
 	
+	public void setJndiLdapCtxFactory(String jndiLdapCtxFactory) {
+		this.jndiLdapCtxFactory = jndiLdapCtxFactory;
+	}
+	
     /**
      * Helper method to retrieve the LDAP Connector properties.  If any properties are in error,
      * a ConnectorException is thrown.
@@ -122,7 +131,7 @@
 		InitialLdapContext initContext;
 
 		Hashtable connenv = new Hashtable();
-		connenv.put(Context.INITIAL_CONTEXT_FACTORY, LDAPConnectorConstants.JNDI_LDAP_CTX_FACTORY);
+		connenv.put(Context.INITIAL_CONTEXT_FACTORY, jndiLdapCtxFactory);
 		connenv.put(Context.PROVIDER_URL, this.ldapURL);
 		connenv.put(Context.REFERRAL, LDAP_REFERRAL_MODE);
 		// If username is blank, we will perform an anonymous bind.

Modified: trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnector.java
===================================================================
--- trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnector.java	2009-07-22 01:23:58 UTC (rev 1165)
+++ trunk/connectors/connector-ldap/src/main/java/com/metamatrix/connector/ldap/LDAPConnector.java	2009-07-22 02:48:37 UTC (rev 1166)
@@ -41,9 +41,7 @@
 	private ConnectorLogger logger;
 	private Properties props;
 	private LDAPConnectorCapabilities myCaps;
-	private int ldapMaxCriteria;
 
-
 	@Override
 	public ConnectorCapabilities getCapabilities() {
 		return myCaps;

Added: trunk/connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap/TestLDAPConnection.java
===================================================================
--- trunk/connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap/TestLDAPConnection.java	                        (rev 0)
+++ trunk/connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap/TestLDAPConnection.java	2009-07-22 02:48:37 UTC (rev 1166)
@@ -0,0 +1,56 @@
+/*
+ * 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 com.metamatrix.connector.ldap;
+
+import java.util.Hashtable;
+import java.util.Properties;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.spi.InitialContextFactory;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import com.metamatrix.cdk.api.EnvironmentUtility;
+import com.metamatrix.cdk.api.SysLogger;
+
+public class TestLDAPConnection {
+	
+	public static class FakeFactory implements InitialContextFactory {
+		@Override
+		public Context getInitialContext(Hashtable<?, ?> environment)
+				throws NamingException {
+			return Mockito.mock(Context.class);
+		}
+	}
+
+	@Test public void testInitialization() throws Exception {
+		Properties p = new Properties();
+		p.setProperty(LDAPConnectorPropertyNames.LDAP_URL, "ldap://foo"); //$NON-NLS-1$
+		p.setProperty(LDAPConnectorPropertyNames.LDAP_ADMIN_USER_DN, "admin"); //$NON-NLS-1$
+		p.setProperty(LDAPConnectorPropertyNames.LDAP_ADMIN_USER_PASSWORD, "password"); //$NON-NLS-1$
+		new LDAPConnection(EnvironmentUtility.createExecutionContext("1", "1"), p, EnvironmentUtility.createStdoutLogger(SysLogger.ERROR), FakeFactory.class.getName()); //$NON-NLS-1$ //$NON-NLS-2$
+	}
+	
+}


Property changes on: trunk/connectors/connector-ldap/src/test/java/com/metamatrix/connector/ldap/TestLDAPConnection.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ExecutionContextImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ExecutionContextImpl.java	2009-07-22 01:23:58 UTC (rev 1165)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ExecutionContextImpl.java	2009-07-22 02:48:37 UTC (rev 1166)
@@ -27,16 +27,13 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import org.teiid.connector.api.CacheScope;
 import org.teiid.connector.api.ConnectorIdentity;
 import org.teiid.connector.api.ExecutionContext;
 import org.teiid.dqp.internal.cache.DQPContextCache;
-import org.teiid.dqp.internal.process.DQPWorkContext;
 
 import com.metamatrix.cache.Cache;
 import com.metamatrix.common.buffer.impl.BufferConfig;
 import com.metamatrix.core.util.HashCodeUtil;
-import com.metamatrix.dqp.service.BufferService;
 
 /**
  */



More information about the teiid-commits mailing list