addons/autoprox/common/src/main/java/org/commonjava/indy/autoprox/data/AutoProxDataManagerDecorator.java
private boolean checkValidity( final StoreKey key )
            throws IndyDataException
    {
        if ( catalog.isValidationEnabled( key ) )
        {
            try
            {
                final RemoteRepository validationRepo = catalog.createValidationRemote( key );
                if ( validationRepo == null )
                {
                    logger.info( "No validation repository was created: assuming {} is valid.", key );
                    return true;
                }

                String path = catalog.getRemoteValidationPath( key );
                if ( path == null )
                {
                    path = PathUtils.ROOT;
                }

                logger.debug( "\n\n\n\n\n[AutoProx] Checking path: {} under remote URL: {}", path, validationRepo.getUrl() );
                boolean result = false;
                try
                {
                    result = transferManager.exists(
                            new ConcreteResource( LocationUtils.toLocation( validationRepo ), path ) );
                }
                catch ( final TransferException e )
                {
                    logger.warn( "[AutoProx] Cannot connect to target repository: '{}'. Reason: {}", validationRepo, e.getMessage() );
                    logger.debug( "[AutoProx] exception from validation attempt for: " + validationRepo, e );
                }

                logger.debug( "Validation result for: {} is: {}", validationRepo, result );

                return result;
            }
            catch ( final AutoProxRuleException e )
            {
                throw new IndyDataException(
                        "[AUTOPROX] Failed to create new group from factory matching: '%s'. Reason: %s", e, key,
                        e.getMessage() );
            }
        }

        return true;
    }
private boolean checkValidity( final StoreKey key )
            throws IndyDataException
    {
        if ( catalog.isValidationEnabled( key ) )
        {
            try
            {
                final RemoteRepository validationRepo = catalog.createValidationRemote( key );
                if ( validationRepo == null )
                {
                    logger.info( "No validation repository was created: assuming {} is valid.", key );
                    return true;
                }

                String path = catalog.getRemoteValidationPath( key );
                if ( path == null )
                {
                    path = PathUtils.ROOT;
                }

                logger.debug( "\n\n\n\n\n[AutoProx] Checking path: {} under remote URL: {}", path, validationRepo.getUrl() );
                boolean result = false;
                try
                {
                    result = transferManager.exists(
                            new ConcreteResource( LocationUtils.toLocation( validationRepo ), path ) );
                }
                catch ( final TransferException e )
                {
                    logger.warn( "[AutoProx] Cannot connect to target repository: '{}'. Reason: {}", validationRepo, e.getMessage() );
                    logger.debug( "[AutoProx] exception from validation attempt for: " + validationRepo, e );
                }

                logger.debug( "Validation result for: {} is: {}", validationRepo, result );

                return result;
            }
            catch ( final AutoProxRuleException e )
            {
                throw new IndyDataException(
                        "[AUTOPROX] Failed to create new group from factory matching: '%s'. Reason: %s", e, key,
                        e.getMessage() );
            }
        }

        return true;
    }
Validates the remote connection, produced from rule-set for given key,
for a remote repo or group containing a remote. If:

<ul>
<li>rule.isValidationEnabled() == false, return true</li>
<li>rule.getValidationRemote() == null, return true</li>
<li>
rule.getRemoteValidationPath() != null, validate remote.getUrl() + validationPath
<ul>
<li>if response code is 200 OK, then return true</li>
<li>otherwise, return false</li>
</ul>
</li>
</ul>
@throws IndyDataException if the selected rule encounters an error while creating the new group/repository instance(s).