Java 类javax.naming.ldap.ExtendedResponse 实例源码

项目:cn1    文件:ExtendedOp.java   
public ExtendedResponse getExtendedResponse() throws NamingException {

        if (result != null && result.getResultCode() == 0
                && responseValues != null) {
            String id = null;
            if (responseValues[4] != null) {
                id = Utils.getString((byte[]) responseValues[4]);
            }
            byte[] value = (byte[]) responseValues[5];
            int length = 0;
            if (value != null) {
                length = value.length;
            }

            response = request.createExtendedResponse(id, value, 0, length);

        }
        return response;
    }
项目:cn1    文件:LdapContextImpl.java   
public ExtendedResponse extendedOperation(ExtendedRequest request)
        throws NamingException {
    ExtendedOp op = new ExtendedOp(request);
    try {
        doBasicOperation(op);
    } catch (ReferralException e) {
        if (isFollowReferral(e)) {
            LdapContext referralContext = (LdapContext) getReferralContext(e);
            return referralContext.extendedOperation(request);
        }
        throw e;
    }
    ExtendedResponse response = op.getExtendedResponse();
    // set existing underlying socket to startTls extended response
    if (response instanceof StartTlsResponseImpl) {
        ((StartTlsResponseImpl) response).setSocket(client.getSocket());
    }
    return response;
}
项目:cn1    文件:ExtendedOpTest.java   
public void test_getExtendedResponse() throws Exception {
    MockExtendedRequest mockRequest = new MockExtendedRequest();
    ExtendedOp op = new ExtendedOp(mockRequest);

    assertSame(mockRequest, op.getExtendedRequest());
    assertNull(op.getExtendedResponse());

    Object[] values = new Object[] { ASN1Integer.fromIntValue(0),
            Utils.getBytes(""), Utils.getBytes(""), null,
            Utils.getBytes("hello"), Utils.getBytes("world") };

    op.decodeValues(values);

    LdapResult result = op.getResult();
    assertNotNull(result);
    assertEquals(0, result.getResultCode());
    assertEquals("", result.getMachedDN());
    assertEquals("", result.getErrorMessage());
    assertNull(result.getReferrals());

    ExtendedResponse response = op.getExtendedResponse();
    assertTrue(response instanceof MockExtendedResponse);
}
项目:nextop-client    文件:ExtendedOp.java   
public ExtendedResponse getExtendedResponse() throws NamingException {

        if (result != null && result.getResultCode() == 0
                && responseValues != null) {
            String id = null;
            if (responseValues[4] != null) {
                id = Utils.getString((byte[]) responseValues[4]);
            }
            byte[] value = (byte[]) responseValues[5];
            int length = 0;
            if (value != null) {
                length = value.length;
            }

            response = request.createExtendedResponse(id, value, 0, length);

        }
        return response;
    }
项目:nextop-client    文件:LdapContextImpl.java   
public ExtendedResponse extendedOperation(ExtendedRequest request)
        throws NamingException {
    ExtendedOp op = new ExtendedOp(request);
    try {
        doBasicOperation(op);
    } catch (ReferralException e) {
        if (isFollowReferral(e)) {
            LdapContext referralContext = (LdapContext) getReferralContext(e);
            return referralContext.extendedOperation(request);
        }
        throw e;
    }
    ExtendedResponse response = op.getExtendedResponse();
    // set existing underlying socket to startTls extended response
    if (response instanceof StartTlsResponseImpl) {
        ((StartTlsResponseImpl) response).setSocket(client.getSocket());
    }
    return response;
}
项目:freeVM    文件:ExtendedOp.java   
public ExtendedResponse getExtendedResponse() throws NamingException {

        if (result != null && result.getResultCode() == 0
                && responseValues != null) {
            String id = null;
            if (responseValues[4] != null) {
                id = Utils.getString((byte[]) responseValues[4]);
            }
            byte[] value = (byte[]) responseValues[5];
            int length = 0;
            if (value != null) {
                length = value.length;
            }

            response = request.createExtendedResponse(id, value, 0, length);

        }
        return response;
    }
项目:freeVM    文件:LdapContextImpl.java   
public ExtendedResponse extendedOperation(ExtendedRequest request)
        throws NamingException {
    ExtendedOp op = new ExtendedOp(request);
    try {
        doBasicOperation(op);
    } catch (ReferralException e) {
        if (isFollowReferral(e)) {
            LdapContext referralContext = (LdapContext) getReferralContext(e);
            return referralContext.extendedOperation(request);
        }
        throw e;
    }
    ExtendedResponse response = op.getExtendedResponse();
    // set existing underlying socket to startTls extended response
    if (response instanceof StartTlsResponseImpl) {
        ((StartTlsResponseImpl) response).setSocket(client.getSocket());
    }
    return response;
}
项目:freeVM    文件:ExtendedOpTest.java   
public void test_getExtendedResponse() throws Exception {
    MockExtendedRequest mockRequest = new MockExtendedRequest();
    ExtendedOp op = new ExtendedOp(mockRequest);

    assertSame(mockRequest, op.getExtendedRequest());
    assertNull(op.getExtendedResponse());

    Object[] values = new Object[] { ASN1Integer.fromIntValue(0),
            Utils.getBytes(""), Utils.getBytes(""), null,
            Utils.getBytes("hello"), Utils.getBytes("world") };

    op.decodeValues(values);

    LdapResult result = op.getResult();
    assertNotNull(result);
    assertEquals(0, result.getResultCode());
    assertEquals("", result.getMachedDN());
    assertEquals("", result.getErrorMessage());
    assertNull(result.getReferrals());

    ExtendedResponse response = op.getExtendedResponse();
    assertTrue(response instanceof MockExtendedResponse);
}
项目:ldapchai    文件:AbstractProvider.java   
public final ExtendedResponse extendedOperation( final ExtendedRequest request )
{
    if ( request == null )
    {
        throw new NullPointerException( "request must not be null" );
    }

    return null;
}
项目:ldapchai    文件:JNDIProviderImpl.java   
@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;
}
项目:ldapchai    文件:InetOrgPersonImpl.java   
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;
}
项目:ldapchai    文件:InetOrgPersonImpl.java   
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 retreiving password (null response)" );
    throw new ChaiOperationException( "unknown error retreiving password (null response)", ChaiError.UNKNOWN );
}
项目:cn1    文件:MockInitialLdapContext.java   
/**
 * <p>This method is performs an extended operation.</p>
 * @param arg0 The extended request for the operation.
 * @return ExtendedResponse The extended response of this operation.
 */
public ExtendedResponse extendedOperation(ExtendedRequest arg0) throws NamingException , NullPointerException{

    if(arg0==null) throw new NullPointerException();
    if(arg0.getID()=="1.3.6.1.4.1.1466.20037") return new MockStartTlsResponse();
    return null;
}
项目:cn1    文件:LdapContextServerMockedTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] value,
        int offset, int length) throws NamingException {
    if (s.equalsIgnoreCase("exception")) {
        throw new NamingException("exception");
    }
    return new MockExtendedResponse(s, value);
}
项目:freeVM    文件:MockInitialLdapContext.java   
/**
 * <p>This method is performs an extended operation.</p>
 * @param arg0 The extended request for the operation.
 * @return ExtendedResponse The extended response of this operation.
 */
public ExtendedResponse extendedOperation(ExtendedRequest arg0) throws NamingException , NullPointerException{

    if(arg0==null) throw new NullPointerException();
    if(arg0.getID()=="1.3.6.1.4.1.1466.20037") return new MockStartTlsResponse();
    return null;
}
项目:freeVM    文件:MockInitialLdapContext.java   
/**
 * <p>This method is performs an extended operation.</p>
 * @param arg0 The extended request for the operation.
 * @return ExtendedResponse The extended response of this operation.
 */
public ExtendedResponse extendedOperation(ExtendedRequest arg0) throws NamingException , NullPointerException{

    if(arg0==null) throw new NullPointerException();
    if(arg0.getID()=="1.3.6.1.4.1.1466.20037") return new MockStartTlsResponse();
    return null;
}
项目:freeVM    文件:LdapContextServerMockedTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] value,
        int offset, int length) throws NamingException {
    if (s.equalsIgnoreCase("exception")) {
        throw new NamingException("exception");
    }
    return new MockExtendedResponse(s, value);
}
项目:James    文件:RetryingLdapContext.java   
/**
 * @see javax.naming.ldap.LdapContext#extendedOperation(javax.naming.ldap.ExtendedRequest)
 */
@Override
public ExtendedResponse extendedOperation(final ExtendedRequest request) throws NamingException {
    return (ExtendedResponse) new LoggingRetryHandler(DEFAULT_EXCEPTION_CLASSES, this, getSchedule(), getMaxRetries(), getLogger()){

        @Override
        public Object operation() throws NamingException {
            return ((LdapContext) getDelegate()).extendedOperation(request);
        }}.perform();
}
项目:directory-ldap-api    文件:JavaStoredProcUtils.java   
/**
 * 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( "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;
}
项目:ldapchai    文件:WatchdogWrapper.java   
@Override
public ExtendedResponse extendedOperation( final ExtendedRequest request )
        throws ChaiOperationException, ChaiUnavailableException, IllegalStateException
{
    return providerHolder.getProvider().extendedOperation( request );
}
项目:teiid    文件:LDAPConnectionImpl.java   
public ExtendedResponse extendedOperation(ExtendedRequest request)
        throws NamingException {
    return initCtx.extendedOperation(request);
}
项目:cn1    文件:MockLdapContext.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    InvokeRecord.set((String) this.props.get("url.schema"), e);
    takeActions();
    return null;
}
项目:cn1    文件:DirectoryManagerJCKTest.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    return null;
}
项目:cn1    文件:MockExtendedRequest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB, int i,
        int i2) throws NamingException {
    return null;
}
项目:cn1    文件:InitialLdapContextTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB,
        int i, int i2) throws NamingException {

    return null;
}
项目:cn1    文件:ExtendedOpTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] value,
        int offset, int length) throws NamingException {
    return new MockExtendedResponse();
}
项目:freeVM    文件:MockLdapContext.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    InvokeRecord.set((String) this.props.get("url.schema"), e);
    takeActions();
    return null;
}
项目:freeVM    文件:DirectoryManagerJCKTest.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    return null;
}
项目:freeVM    文件:MockExtendedRequest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB, int i,
        int i2) throws NamingException {
    return null;
}
项目:freeVM    文件:InitialLdapContextTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB,
        int i, int i2) throws NamingException {

    return null;
}
项目:freeVM    文件:MockLdapContext.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    InvokeRecord.set((String) this.props.get("url.schema"), e);
    takeActions();
    return null;
}
项目:freeVM    文件:DirectoryManagerJCKTest.java   
public ExtendedResponse extendedOperation(ExtendedRequest e)
        throws NamingException {
    return null;
}
项目:freeVM    文件:MockExtendedRequest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB, int i,
        int i2) throws NamingException {
    return null;
}
项目:freeVM    文件:InitialLdapContextTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] aB,
        int i, int i2) throws NamingException {

    return null;
}
项目:freeVM    文件:ExtendedOpTest.java   
public ExtendedResponse createExtendedResponse(String s, byte[] value,
        int offset, int length) throws NamingException {
    return new MockExtendedResponse();
}
项目:spring-ldap    文件:DelegatingLdapContext.java   
/**
 * @see javax.naming.ldap.LdapContext#extendedOperation(javax.naming.ldap.ExtendedRequest)
 */
public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException {
    this.assertOpen();
    return this.getDelegateLdapContext().extendedOperation(request);
}
项目:spring-ldap    文件:DelegatingLdapContext.java   
/**
 * @see LdapContext#extendedOperation(ExtendedRequest)
 */
public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException {
    this.assertOpen();
    return this.getDelegateLdapContext().extendedOperation(request);
}
项目:ldapchai    文件:OpenLDAPModifyPasswordRequest.java   
/**
 * 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;
}
项目:ldapchai    文件:ChaiProvider.java   
/**
 * 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;