@Bean public ConnectionFactory connectionFactory() { return new DefaultConnectionFactory(connectionConfig()); }
/** * Creates a new default connection factory. * * @param cc connection configuration * @param p provider */ public DefaultConnectionFactory(final ConnectionConfig cc, final Provider<?> p) { setConnectionConfig(cc); setProvider(p); }
/** * Initialize a connection factory with command line options. * * @param line parsed command line arguments * * @return connection factory that has been initialized */ protected ConnectionFactory initConnectionFactory(final CommandLine line) { final DefaultConnectionFactory factory = new DefaultConnectionFactory(); final DefaultConnectionFactoryPropertySource cfSource = new DefaultConnectionFactoryPropertySource( factory, getPropertiesFromOptions(PropertyDomain.LDAP.value(), line)); cfSource.initialize(); final ConnectionInitializer ci = factory.getConnectionConfig().getConnectionInitializer(); if (ci instanceof BindConnectionInitializer) { final BindConnectionInitializer bci = (BindConnectionInitializer) ci; if (bci.getBindDn() != null && bci.getBindCredential() == null) { // prompt the user to enter a password final char[] pass = System.console().readPassword("[Enter password for %s]: ", bci.getBindDn()); bci.setBindCredential(new Credential(pass)); } } return factory; }
/** * New connection factory connection factory. * * @param l the l * @return the connection factory */ public static DefaultConnectionFactory newConnectionFactory(final AbstractLdapProperties l) { final ConnectionConfig cc = newConnectionConfig(l); final DefaultConnectionFactory bindCf = new DefaultConnectionFactory(cc); if (l.getProviderClass() != null) { try { final Class clazz = ClassUtils.getClass(l.getProviderClass()); bindCf.setProvider(Provider.class.cast(clazz.getDeclaredConstructor().newInstance())); } catch (final Exception e) { LOGGER.error(e.getMessage(), e); } } return bindCf; }
/** * Test connection factories. * * @return test data * * @throws Exception on test failure */ @DataProvider(name = "factories") @SuppressWarnings("unchecked") public Object[][] connectionFactories() throws Exception { //Make sure native libraries are loaded and supported for the current unix based operating system. AssertJUnit.assertTrue(AFUNIXSocket.isSupported()); final Map<String, Object> props = new HashMap<>(); props.put(JndiProvider.SOCKET_FACTORY, "org.ldaptive.ldapi.AFUnixSocketFactory"); final DefaultConnectionFactory nativeFactory = new DefaultConnectionFactory( new ConnectionConfig("ldap://domainsocket")); nativeFactory.getProvider().getProviderConfig().setProperties(props); final DefaultConnectionFactory localFactory = new DefaultConnectionFactory(new ConnectionConfig(ldapHost)); final SearchRequest request = new SearchRequest(ldapBaseDn, ldapSearchFilter); return new Object[][] { new Object[] {nativeFactory, request, }, new Object[] {localFactory, request, }, }; }
connectionConfig.setLdapUrl("ldap://localhost:" + LdapServer.PORT); connectionFactory = new DefaultConnectionFactory(); ((DefaultConnectionFactory) connectionFactory).setConnectionConfig(connectionConfig);
@Override @SuppressWarnings("unchecked") public void initialize() { initializeObject(INVOKER); final ConnectionConfig cc = new ConnectionConfig(); final ConnectionConfigPropertySource ccPropSource = new ConnectionConfigPropertySource( cc, propertiesDomain, properties); ccPropSource.initialize(); object.setConnectionConfig(cc); final ProviderConfig pc = new ProviderConfig(); final ProviderConfigPropertySource pcPropSource = new ProviderConfigPropertySource( pc, propertiesDomain, properties); pcPropSource.initialize(); object.getProvider().getProviderConfig().setConnectionStrategy(pc.getConnectionStrategy()); if (pc.getOperationExceptionResultCodes() != null) { object.getProvider().getProviderConfig().setOperationExceptionResultCodes(pc.getOperationExceptionResultCodes()); } if (pc.getControlProcessor() != null) { object.getProvider().getProviderConfig().setControlProcessor(pc.getControlProcessor()); } if (!extraProps.isEmpty()) { object.getProvider().getProviderConfig().setProperties(extraProps); } }
/** * Creates a new default connection factory. * * @param cc connection configuration */ public DefaultConnectionFactory(final ConnectionConfig cc) { setConnectionConfig(cc); }
/** * Create a new connection. If {@link #connectOnCreate} is true, the connection will be opened. * * @param throwOnFailure whether to throw illegal state exception * * @return pooled connection * * @throws IllegalStateException if {@link #connectOnCreate} is true and the connection cannot be opened */ protected PooledConnectionProxy createConnection(final boolean throwOnFailure) { Connection c = connectionFactory.getConnection(); Response<Void> r = null; if (connectOnCreate) { try { r = c.open(); } catch (LdapException e) { logger.error("{} unable to connect to the ldap", this, e); c = null; if (throwOnFailure) { throw new IllegalStateException("unable to connect to the ldap", e); } } } if (c != null) { return new DefaultPooledConnectionProxy(c, r); } else { return null; } }
try { handler.info("ldap", "Obtaining a LDAP Connection for '" + this.pool.getConnectionFactory().getConnectionConfig().getLdapUrl() + "'"); connection = this.pooledConnectionFactory.getConnection();
/** * Initialize a connection factory with command line options. * * @param line parsed command line arguments * * @return connection factory that has been initialized */ protected ConnectionFactory initConnectionFactory(final CommandLine line) { final DefaultConnectionFactory factory = new DefaultConnectionFactory(); final DefaultConnectionFactoryPropertySource cfSource = new DefaultConnectionFactoryPropertySource( factory, getPropertiesFromOptions(PropertyDomain.LDAP.value(), line)); cfSource.initialize(); final ConnectionInitializer ci = factory.getConnectionConfig().getConnectionInitializer(); if (ci instanceof BindConnectionInitializer) { final BindConnectionInitializer bci = (BindConnectionInitializer) ci; if (bci.getBindDn() != null && bci.getBindCredential() == null) { // prompt the user to enter a password final char[] pass = System.console().readPassword("[Enter password for %s]: ", bci.getBindDn()); bci.setBindCredential(new Credential(pass)); } } return factory; }
@Override @SuppressWarnings("unchecked") public void initialize() { initializeObject(INVOKER); final ConnectionConfig cc = new ConnectionConfig(); final ConnectionConfigPropertySource ccPropSource = new ConnectionConfigPropertySource( cc, propertiesDomain, properties); ccPropSource.initialize(); object.setConnectionConfig(cc); final ProviderConfig pc = new ProviderConfig(); final ProviderConfigPropertySource pcPropSource = new ProviderConfigPropertySource( pc, propertiesDomain, properties); pcPropSource.initialize(); if (pc.getOperationExceptionResultCodes() != null) { object.getProvider().getProviderConfig().setOperationExceptionResultCodes(pc.getOperationExceptionResultCodes()); } if (pc.getControlProcessor() != null) { object.getProvider().getProviderConfig().setControlProcessor(pc.getControlProcessor()); } if (!extraProps.isEmpty()) { object.getProvider().getProviderConfig().setProperties(extraProps); } }
/** * Creates a new default connection factory. * * @param cc connection configuration */ public DefaultConnectionFactory(final ConnectionConfig cc) { setConnectionConfig(cc); }
/** * Create a new connection. If {@link #connectOnCreate} is true, the connection will be opened. * * @param throwOnFailure whether to throw illegal state exception * * @return pooled connection * * @throws IllegalStateException if {@link #connectOnCreate} is true and the connection cannot be opened */ protected PooledConnectionProxy createConnection(final boolean throwOnFailure) { Connection c = connectionFactory.getConnection(); Response<Void> r = null; if (connectOnCreate) { try { r = c.open(); } catch (LdapException e) { logger.error("{} unable to connect to the ldap", this, e); c = null; if (throwOnFailure) { throw new IllegalStateException("unable to connect to the ldap", e); } } } if (c != null) { return new DefaultPooledConnectionProxy(c, r); } else { return null; } }
/** * Prepare a new LDAP connection. * * @param ldapURL the ldap uRL * @return connection factory */ protected ConnectionFactory prepareConnectionFactory(final String ldapURL) { final ConnectionConfig cc = ConnectionConfig.newConnectionConfig(this.connectionConfig); cc.setLdapUrl(ldapURL); return new DefaultConnectionFactory(cc); }
/** * Initialize a connection factory with command line options. * * @param line parsed command line arguments * * @return connection factory that has been initialized */ protected ConnectionFactory initConnectionFactory(final CommandLine line) { final DefaultConnectionFactory factory = new DefaultConnectionFactory(); final DefaultConnectionFactoryPropertySource cfSource = new DefaultConnectionFactoryPropertySource( factory, getPropertiesFromOptions(PropertyDomain.LDAP.value(), line)); cfSource.initialize(); final ConnectionInitializer ci = factory.getConnectionConfig().getConnectionInitializer(); if (ci instanceof BindConnectionInitializer) { final BindConnectionInitializer bci = (BindConnectionInitializer) ci; if (bci.getBindDn() != null && bci.getBindCredential() == null) { // prompt the user to enter a password final char[] pass = System.console().readPassword("[Enter password for %s]: ", bci.getBindDn()); bci.setBindCredential(new Credential(pass)); } } return factory; }
/** * Creates a new default connection factory. * * @param cc connection configuration * @param p provider */ public DefaultConnectionFactory(final ConnectionConfig cc, final Provider<?> p) { setConnectionConfig(cc); setProvider(p); }
@Override @SuppressWarnings("unchecked") public void initialize() { initializeObject(INVOKER); final ConnectionConfig cc = new ConnectionConfig(); final ConnectionConfigPropertySource ccPropSource = new ConnectionConfigPropertySource( cc, propertiesDomain, properties); ccPropSource.initialize(); object.setConnectionConfig(cc); final ProviderConfig pc = new ProviderConfig(); final ProviderConfigPropertySource pcPropSource = new ProviderConfigPropertySource( pc, propertiesDomain, properties); pcPropSource.initialize(); if (pc.getOperationExceptionResultCodes() != null) { object.getProvider().getProviderConfig().setOperationExceptionResultCodes(pc.getOperationExceptionResultCodes()); } if (pc.getControlProcessor() != null) { object.getProvider().getProviderConfig().setControlProcessor(pc.getControlProcessor()); } if (!extraProps.isEmpty()) { object.getProvider().getProviderConfig().setProperties(extraProps); } }
/** * Creates a new default connection factory. * * @param cc connection configuration */ public DefaultConnectionFactory(final ConnectionConfig cc) { setConnectionConfig(cc); }
/** * Create a new connection. If {@link #connectOnCreate} is true, the connection will be opened. * * @param throwOnFailure whether to throw illegal state exception * * @return pooled connection * * @throws IllegalStateException if {@link #connectOnCreate} is true and the connection cannot be opened */ protected PooledConnectionProxy createConnection(final boolean throwOnFailure) { Connection c = connectionFactory.getConnection(); Response<Void> r = null; if (connectOnCreate) { try { r = c.open(); } catch (LdapException e) { logger.error("{} unable to connect to the ldap", this, e); c = null; if (throwOnFailure) { throw new IllegalStateException("unable to connect to the ldap", e); } } } if (c != null) { return new DefaultPooledConnectionProxy(c, r); } else { return null; } }