本文整理汇总了Java中javax.naming.ldap.ExtendedRequest类的典型用法代码示例。如果您正苦于以下问题:Java ExtendedRequest类的具体用法?Java ExtendedRequest怎么用?Java ExtendedRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExtendedRequest类属于javax.naming.ldap包,在下文中一共展示了ExtendedRequest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: preCheckExtendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
protected void preCheckExtendedOperation( final ExtendedRequest request )
throws ChaiOperationException
{
final boolean cacheFailures = "true".equalsIgnoreCase( this.getChaiConfiguration().getSetting( ChaiSetting.EXTENDED_OPERATION_FAILURE_CACHE ) );
if ( cacheFailures )
{
final Map<String, Object> providerProps = this.getProviderProperties();
final Map<String, Exception> cacheFailureMap = ( Map<String, Exception> ) providerProps.get( EXTENDED_FAILURE_CACHE_KEY );
final String requestID = request.getID();
if ( cacheFailureMap.containsKey( requestID ) )
{
LOGGER.debug( "previous extended operation request for " + requestID + " has failed, reissuing cached exception without attempting operation" );
throw ( ChaiOperationException ) cacheFailureMap.get( requestID );
}
}
}
示例2: cacheExtendedOperationException
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
protected void cacheExtendedOperationException( final ExtendedRequest request, final Exception e )
throws ChaiOperationException
{
final boolean cacheFailures = this.getChaiConfiguration().getBooleanSetting( ChaiSetting.EXTENDED_OPERATION_FAILURE_CACHE );
if ( cacheFailures )
{
final ChaiOperationException opExcep = ChaiOperationException.forErrorMessage( e.getMessage() );
if ( opExcep.getErrorCode() == ChaiError.UNSUPPORTED_OPERATION )
{
final Map<String, Object> providerProps = this.getProviderProperties();
final Map<String, Exception> cacheFailureMap = ( Map<String, Exception> ) providerProps.get( EXTENDED_FAILURE_CACHE_KEY );
final String requestID = request.getID();
cacheFailureMap.put( requestID, opExcep );
LOGGER.trace( "caching extended operation for " + requestID );
throw opExcep;
}
}
}
示例3: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
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;
}
示例4: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
public final ExtendedResponse extendedOperation( final ExtendedRequest request )
{
if ( request == null )
{
throw new NullPointerException( "request must not be null" );
}
return null;
}
示例5: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
@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;
}
示例6: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
/**
* <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;
}
示例7: ExtendedOp
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
public void test_encodeValues_$LObject() {
ExtendedOp op = new ExtendedOp(new MockExtendedRequest());
ASN1TestUtils.checkEncode(op, LdapASN1Constant.ExtendedRequest);
assertEquals(LdapASN1Constant.OP_EXTENDED_REQUEST, op.getRequestId());
assertEquals(LdapASN1Constant.OP_EXTENDED_RESPONSE, op.getResponseId());
assertSame(op, op.getRequest());
assertSame(op, op.getResponse());
}
示例8: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
/**
* @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();
}
示例9: callStoredProcedure
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
/**
* 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;
}
示例10: preCheckExtendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
@Override
protected void preCheckExtendedOperation( final ExtendedRequest request )
throws ChaiOperationException
{
super.preCheckExtendedOperation( request );
}
示例11: cacheExtendedOperationException
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
@Override
protected void cacheExtendedOperationException( final ExtendedRequest request, final Exception e )
throws ChaiOperationException
{
super.cacheExtendedOperationException( request, e );
}
示例12: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
@Override
public ExtendedResponse extendedOperation( final ExtendedRequest request )
throws ChaiOperationException, ChaiUnavailableException, IllegalStateException
{
return providerHolder.getProvider().extendedOperation( request );
}
示例13: extendedOperation
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
public ExtendedResponse extendedOperation(ExtendedRequest request)
throws NamingException {
return initCtx.extendedOperation(request);
}
示例14: ExtendedOp
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
public ExtendedOp(ExtendedRequest request) {
this.request = request;
}
示例15: getExtendedRequest
import javax.naming.ldap.ExtendedRequest; //导入依赖的package包/类
public ExtendedRequest getExtendedRequest() {
return request;
}