javax.naming.ldap.ExtendedResponse Java Examples
The following examples show how to use
javax.naming.ldap.ExtendedResponse.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AbstractProvider.java From ldapchai with GNU Lesser General Public License v2.1 | 5 votes |
public final ExtendedResponse extendedOperation( final ExtendedRequest request ) { if ( request == null ) { throw new NullPointerException( "request must not be null" ); } return null; }
Example #2
Source File: JNDIProviderImpl.java From ldapchai with GNU Lesser General Public License v2.1 | 5 votes |
@LdapOperation @ModifyOperation public final ExtendedResponse extendedOperation( final ExtendedRequest request ) throws ChaiUnavailableException, ChaiOperationException { activityPreCheck(); getInputValidator().extendedOperation( request ); preCheckExtendedOperation( request ); final LdapContext ldapConnection = getLdapConnection(); try { return ldapConnection.extendedOperation( request ); } catch ( NamingException e ) { cacheExtendedOperationException( request, e ); // guaranteedb to throw ChaiException convertNamingException( e ); } return null; }
Example #3
Source File: InetOrgPersonImpl.java From ldapchai with GNU Lesser General Public License v2.1 | 5 votes |
public boolean testPasswordPolicy( final String password ) throws ChaiUnavailableException, ChaiPasswordPolicyException { final boolean useNmasSetting = this.getChaiProvider().getChaiConfiguration().getBooleanSetting( ChaiSetting.EDIRECTORY_ENABLE_NMAS ); if ( !useNmasSetting ) { return true; } final PwdPolicyCheckRequest request = new PwdPolicyCheckRequest(); request.setData( password ); request.setObjectDN( this.getEntryDN() ); final ExtendedResponse response; try { response = getChaiProvider().extendedOperation( request ); } catch ( ChaiOperationException e ) { LOGGER.debug( "unexpected error while checking [nmas] password policy: " + e.getMessage() ); return true; } if ( response != null ) { final PwdPolicyCheckResponse setResponse = ( PwdPolicyCheckResponse ) response; final int responseCode = setResponse.getNmasRetCode(); if ( responseCode != 0 ) { LOGGER.debug( "nmas response code returned from server while testing nmas password: " + responseCode ); final String errorString = "nmas error " + responseCode; throw new ChaiPasswordPolicyException( errorString, ChaiErrors.getErrorForMessage( errorString ) ); } } return true; }
Example #4
Source File: InetOrgPersonImpl.java From ldapchai with GNU Lesser General Public License v2.1 | 5 votes |
public final String readPassword() throws ChaiUnavailableException, ChaiOperationException { final boolean useNmasSetting = this.getChaiProvider().getChaiConfiguration().getBooleanSetting( ChaiSetting.EDIRECTORY_ENABLE_NMAS ); if ( !useNmasSetting ) { throw new UnsupportedOperationException( "readPassword() is not supported when ChaiSetting.EDIRECTORY_ENABLE_NMAS is false" ); } final GetPwdRequest request = new GetPwdRequest( "", this.getEntryDN() ); final ExtendedResponse response; response = getChaiProvider().extendedOperation( request ); if ( response != null ) { final GetPwdResponse getResponse = ( GetPwdResponse ) response; final int responseCode = getResponse.getNmasRetCode(); switch ( responseCode ) { // Success case 0: return getResponse.getPwdStr(); // NMAS_E_ENTRY_ATTRIBUTE_NOT_FOUND case ( -16049 ): LOGGER.debug( "readPassword() reports: NMAS_E_ENTRY_ATTRIBUTE_NOT_FOUND " + responseCode ); throw new ChaiOperationException( "object has no password attribute: error " + responseCode, ChaiError.NO_SUCH_ATTRIBUTE ); default: LOGGER.debug( "error testing nmas password: " + responseCode ); throw new ChaiOperationException( "error reading nmas password: error " + responseCode, ChaiError.UNKNOWN ); } } LOGGER.debug( "unknown error retrieving password (null response)" ); throw new ChaiOperationException( "unknown error retrieving password (null response)", ChaiError.UNKNOWN ); }
Example #5
Source File: RetryingLdapContext.java From james-project with Apache License 2.0 | 5 votes |
@Override public ExtendedResponse extendedOperation(final ExtendedRequest request) throws NamingException { return (ExtendedResponse) new LoggingRetryHandler(DEFAULT_EXCEPTION_CLASSES, this, getSchedule(), getMaxRetries()) { @Override public Object operation() throws NamingException { return ((LdapContext) getDelegate()).extendedOperation(request); } }.perform(); }
Example #6
Source File: DelegatingLdapContext.java From spring-ldap with Apache License 2.0 | 4 votes |
/** * @see LdapContext#extendedOperation(ExtendedRequest) */ public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException { this.assertOpen(); return this.getDelegateLdapContext().extendedOperation(request); }
Example #7
Source File: LdapContextWrapper.java From micro-integrator with Apache License 2.0 | 4 votes |
@Override public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException { return ldapContext.extendedOperation(request); }
Example #8
Source File: DelegatingLdapContext.java From spring-ldap with Apache License 2.0 | 4 votes |
/** * @see javax.naming.ldap.LdapContext#extendedOperation(javax.naming.ldap.ExtendedRequest) */ public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException { this.assertOpen(); return this.getDelegateLdapContext().extendedOperation(request); }
Example #9
Source File: PasswordModifyRequest.java From keycloak with Apache License 2.0 | 4 votes |
@Override public ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) { return null; }
Example #10
Source File: InitialLdapContext.java From entando-components with GNU Lesser General Public License v3.0 | 4 votes |
protected void setExtendedResponse(ExtendedResponse extendedResponse) { this._extendedResponse = extendedResponse; }
Example #11
Source File: InitialLdapContext.java From entando-components with GNU Lesser General Public License v3.0 | 4 votes |
protected ExtendedResponse getExtendedResponse() { return _extendedResponse; }
Example #12
Source File: InitialLdapContext.java From entando-components with GNU Lesser General Public License v3.0 | 4 votes |
@Override public ExtendedResponse extendedOperation(ExtendedRequest er) throws NamingException { ExtendedResponse extResponse = super.extendedOperation(er); this.setExtendedResponse(extResponse); return extResponse; }
Example #13
Source File: WatchdogWrapper.java From ldapchai with GNU Lesser General Public License v2.1 | 4 votes |
@Override public ExtendedResponse extendedOperation( final ExtendedRequest request ) throws ChaiOperationException, ChaiUnavailableException, IllegalStateException { return providerHolder.execute( chaiProvider -> chaiProvider.extendedOperation( request ) ); }
Example #14
Source File: JavaStoredProcUtils.java From directory-ldap-api with Apache License 2.0 | 4 votes |
/** * Invoke a Stored Procedure * * @param ctx The execution context * @param procedureName The procedure to execute * @param arguments The procedure's arguments * @return The execution resut * @throws NamingException If we have had an error whil executing the stored procedure */ public static Object callStoredProcedure( LdapContext ctx, String procedureName, Object[] arguments ) throws NamingException { String language = "Java"; Object responseObject; try { /** * Create a new stored procedure execution request. */ StoredProcedureRequestImpl req = new StoredProcedureRequestImpl( 0, procedureName, language ); /** * For each argument UTF-8-encode the type name * and Java-serialize the value * and add them to the request as a parameter object. */ for ( int i = 0; i < arguments.length; i++ ) { byte[] type; byte[] value; type = arguments[i].getClass().getName().getBytes( StandardCharsets.UTF_8 ); value = SerializationUtils.serialize( ( Serializable ) arguments[i] ); req.addParameter( type, value ); } /** * Call the stored procedure via the extended operation * and get back its return value. */ ExtendedRequest jndiReq = LdapApiServiceFactory.getSingleton().toJndi( req ); ExtendedResponse resp = ctx.extendedOperation( jndiReq ); /** * Restore a Java object from the return value. */ byte[] responseStream = resp.getEncodedValue(); responseObject = SerializationUtils.deserialize( responseStream ); } catch ( Exception e ) { NamingException ne = new NamingException(); ne.setRootCause( e ); throw ne; } return responseObject; }
Example #15
Source File: DelegatingLdapContext.java From quarkus with Apache License 2.0 | 4 votes |
@Override public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException { if (!(delegating instanceof LdapContext)) throw Assert.unsupported(); return ((LdapContext) delegating).extendedOperation(request); }
Example #16
Source File: CarbonContextDataHolder.java From micro-integrator with Apache License 2.0 | 4 votes |
public ExtendedResponse extendedOperation(ExtendedRequest extendedRequest) throws NamingException { return getLdapContext().extendedOperation(extendedRequest); }
Example #17
Source File: OpenLDAPModifyPasswordRequest.java From ldapchai with GNU Lesser General Public License v2.1 | 3 votes |
/** * Creates the extended response. With OpenLDAP, the extended * operation for Password modification doesn't create a * response so we just return null here. * * @param id the OID of the response * @param berValue the BER encoded value of the response * @param offset the offset * @param length the length of the response * @return returns null as the modify password operation doesn't * generate a response. */ public ExtendedResponse createExtendedResponse( final String id, final byte[] berValue, final int offset, final int length ) { return null; }
Example #18
Source File: ChaiProvider.java From ldapchai with GNU Lesser General Public License v2.1 | 2 votes |
/** * Performs an extended operation against the server. The extended operation must be understood by the server. * * @param request An ExtendedRequest bean that can be * @return An ExtendedResponse created in response to the request. * @throws ChaiOperationException If an error is encountered during the operation * @throws ChaiUnavailableException If no directory servers are reachable * @throws IllegalStateException If the underlying connection is not in an available state * @see ExtendedRequest * @see ExtendedResponse */ @ChaiProvider.LdapOperation @ChaiProvider.ModifyOperation ExtendedResponse extendedOperation( ExtendedRequest request ) throws ChaiOperationException, ChaiUnavailableException, IllegalStateException;