| 
					
				 | 
			
			
				@@ -35,6 +35,7 @@ import javax.naming.CommunicationException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.naming.Context; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.naming.NamingException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.naming.OperationNotSupportedException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.naming.ldap.InitialLdapContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.naming.directory.DirContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.naming.directory.InitialDirContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,6 +106,9 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean useConnectionPool = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** Set to true for ldap v3 compatible servers */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private boolean useLdapContext = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //~ Constructors =================================================================================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,7 +173,7 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return new InitialDirContext(env); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return useLdapContext ? new InitialLdapContext(env, null) : new InitialDirContext(env); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } catch (NamingException ne) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ((ne instanceof javax.naming.AuthenticationException) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     (ne instanceof OperationNotSupportedException)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,4 +313,8 @@ public class DefaultInitialDirContextFactory implements InitialDirContextFactory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void setUseConnectionPool(boolean useConnectionPool) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.useConnectionPool = useConnectionPool; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setUseLdapContext(boolean useLdapContext) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.useLdapContext = useLdapContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |