/** * Gets the next referral URL or null. * * @return the next referral URL or null */ public Referral getNextReferral() { if ( !referralsToProcess.isEmpty() ) { Referral referral = referralsToProcess.removeFirst(); for ( String url : referral.getLdapUrls() ) { processedUrls.add( url ); } return referral; } else { return null; } }
/** * Get the referrals * * @return Returns the referrals. */ public List<String> getReferrals() { return ( List<String> ) result.getReferral().getLdapUrls(); }
/** * Returns the Search Result Reference string * * @return The Search Result Reference string */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( " Search Result Reference\n" ); if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || referral.getLdapUrls().isEmpty() ) { sb.append( " No Reference\n" ); } else { sb.append( " References\n" ); for ( String url : referral.getLdapUrls() ) { sb.append( " '" ).append( url ).append( "'\n" ); } } return super.toString( sb.toString() ); } }
/** * Returns the Search Result Reference string * * @return The Search Result Reference string */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( " Search Result Reference\n" ); if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || referral.getLdapUrls().isEmpty() ) { sb.append( " No Reference\n" ); } else { sb.append( " References\n" ); for ( String url : referral.getLdapUrls() ) { sb.append( " '" ).append( url ).append( "'\n" ); } } return super.toString( sb.toString() ); } }
/** * Returns the Search Result Reference string * * @return The Search Result Reference string */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( " Search Result Reference\n" ); if ( ( referral == null ) || ( referral.getLdapUrls() == null ) || referral.getLdapUrls().isEmpty() ) { sb.append( " No Reference\n" ); } else { sb.append( " References\n" ); for ( String url : referral.getLdapUrls() ) { sb.append( " '" ).append( url ).append( "'\n" ); } } return super.toString( sb.toString() ); } }
/** * Get the list of references * * @return An ArrayList of SearchResultReferences */ public Collection<String> getSearchResultReferences() { return getDecorated().getReferral().getLdapUrls(); }
/** * Return a string representation of the graceful disconnect */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( "Graceful Disconnect extended operation" ); sb.append( " TimeOffline : " ).append( gracefulDisconnectResponse.getTimeOffline() ).append( '\n' ); sb.append( " Delay : " ).append( gracefulDisconnectResponse.getDelay() ).append( '\n' ); if ( ( gracefulDisconnectResponse.getReplicatedContexts() != null ) && ( !gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls().isEmpty() ) ) { sb.append( " Replicated contexts :" ); // We may have more than one reference. for ( String url : gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls() ) { sb.append( "\n " ).append( url ); } } return sb.toString(); } }
/** * Return a string representation of the graceful disconnect */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( "Graceful Disconnect extended operation" ); sb.append( " TimeOffline : " ).append( gracefulDisconnectResponse.getTimeOffline() ).append( '\n' ); sb.append( " Delay : " ).append( gracefulDisconnectResponse.getDelay() ).append( '\n' ); if ( ( gracefulDisconnectResponse.getReplicatedContexts() != null ) && ( !gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls().isEmpty() ) ) { sb.append( " Replicated contexts :" ); // We may have more than one reference. for ( String url : gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls() ) { sb.append( "\n " ).append( url ); } } return sb.toString(); } }
/** * Return a string representation of the graceful disconnect */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( "Graceful Disconnect extended operation" ); sb.append( " TimeOffline : " ).append( gracefulDisconnectResponse.getTimeOffline() ).append( '\n' ); sb.append( " Delay : " ).append( gracefulDisconnectResponse.getDelay() ).append( '\n' ); if ( ( gracefulDisconnectResponse.getReplicatedContexts() != null ) && ( !gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls().isEmpty() ) ) { sb.append( " Replicated contexts :" ); // We may have more than one reference. for ( String url : gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls() ) { sb.append( "\n " ).append( url ); } } return sb.toString(); } }
/** * {@inheritDoc} */ public void logSearchResultReference( Connection connection, Referral referral, ReferralsInfo referralsInfo, long requestNum, NamingException ex ) { if ( !isSearchResultEntryLogEnabled() ) { return; } Collection<LdifLineBase> lines = new ArrayList<LdifLineBase>(); lines.add( LdifCommentLine.create( "# reference : " + ( referral != null ? referral.getLdapUrls() : "null" ) ) ); //$NON-NLS-1$ //$NON-NLS-2$ lines.add( LdifSepLine.create() ); String formattedString = ""; //$NON-NLS-1$ for ( LdifLineBase line : lines ) { formattedString += line.toFormattedString( LdifFormatParameters.DEFAULT ); } log( formattedString, "SEARCH RESULT REFERENCE (" + requestNum + ")", ex, connection ); //$NON-NLS-1$ //$NON-NLS-2$ }
&& ( !gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls().isEmpty() ) ) ldapUrlBytes = new ArrayList<>( gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls().size() ); for ( String replicatedContext : gracefulDisconnectResponse.getReplicatedContexts().getLdapUrls() )
/** * Processes the response controls on the supplied reference and returns a corresponding search item. * * @param ref to process * * @return search item */ protected SearchItem processSearchResultReference(final SearchResultReference ref) { logger.trace("reading search reference: {}", ref); final Referral r = ref.getReferral(); ResponseControl[] respControls = null; if (ref.getControls() != null && ref.getControls().size() > 0) { respControls = processResponseControls(config.getControlProcessor(), request.getControls(), ref); } final SearchReference sr = new SearchReference(ref.getMessageId(), respControls, r.getLdapUrls()); return new SearchItem(sr); }
/** * {@inheritDoc} */ @Override public Entry getEntry() throws LdapException { if ( isEntry() ) { return ( ( SearchResultEntry ) response ).getEntry(); } if ( isReferral() ) { Referral referral = ( ( SearchResultReference ) response ).getReferral(); throw new LdapReferralException( referral.getLdapUrls() ); } throw new LdapException(); }
/** * {@inheritDoc} */ @Override public Entry getEntry() throws LdapException { if ( isEntry() ) { return ( ( SearchResultEntry ) response ).getEntry(); } if ( isReferral() ) { Referral referral = ( ( SearchResultReference ) response ).getReferral(); throw new LdapReferralException( referral.getLdapUrls() ); } throw new LdapException(); }
/** * {@inheritDoc} */ @Override public Entry getEntry() throws LdapException { if ( isEntry() ) { return ( ( SearchResultEntry ) response ).getEntry(); } if ( isReferral() ) { Referral referral = ( ( SearchResultReference ) response ).getReferral(); throw new LdapReferralException( referral.getLdapUrls() ); } throw new LdapException(); }
/** * {@inheritDoc} */ @Override public Element toDsml( Element root ) { Element element; if ( root != null ) { element = root.addElement( SEARCH_RESULT_REFERENCE_TAG ); } else { element = new DefaultElement( SEARCH_RESULT_REFERENCE_TAG ); } // Adding References for ( String url : getDecorated().getReferral().getLdapUrls() ) { element.addElement( "ref" ).addText( url ); } return element; }
/** * Determines if the supplied response should result in an operation retry. * * @param request that produced the exception * @param resultResponse provider response * * @throws LdapException wrapping the ldap exception */ protected void throwOperationException(final Request request, final ResultResponse resultResponse) throws LdapException { final LdapResult ldapResult = resultResponse.getLdapResult(); final Referral ref = ldapResult.getReferral(); ProviderUtils.throwOperationException( config.getOperationExceptionResultCodes(), String.format("Ldap returned result code: %s", ldapResult.getResultCode()), ldapResult.getResultCode().getResultCode(), ldapResult.getMatchedDn() != null ? ldapResult.getMatchedDn().getName() : null, processResponseControls(config.getControlProcessor(), request.getControls(), resultResponse), ref != null ? ref.getLdapUrls().toArray(new String[ref.getReferralLength()]) : null, false); }
throw new LdapReferralException( ( ( SearchResultReference ) response ).getReferral().getLdapUrls() );
/** * Creates an operation response with the supplied response data. * * @param <T> type of response * @param request containing controls * @param result of the operation * @param resultResponse provider response * * @return operation response */ protected <T> Response<T> createResponse(final Request request, final T result, final ResultResponse resultResponse) { final LdapResult ldapResult = resultResponse.getLdapResult(); final Referral ref = ldapResult.getReferral(); return new Response<>( result, ResultCode.valueOf(ldapResult.getResultCode().getValue()), ldapResult.getDiagnosticMessage(), ldapResult.getMatchedDn() != null ? ldapResult.getMatchedDn().getName() : null, processResponseControls(config.getControlProcessor(), request.getControls(), resultResponse), ref != null ? ref.getLdapUrls().toArray(new String[ref.getReferralLength()]) : null, resultResponse.getMessageId()); }
.getReferralConnection( new ArrayList<String>( referral.getLdapUrls() ) );