public List<Repository> getMemberRepositories() { ArrayList<Repository> result = new ArrayList<Repository>(); for ( String repoId : getMemberRepositoryIds() ) { try { Repository repo = repoRegistry.getRepository( repoId ); result.add( repo ); } catch ( NoSuchRepositoryException e ) { if ( getLogger().isDebugEnabled() ) { this.getLogger().warn( "Could not find repository '{}' while iterating members", repoId, e ); } else { this.getLogger().warn( "Could not find repository '{}' while iterating members", repoId ); } // XXX throw new StorageException( e ) ; } } return result; }
@Override public Collection<String> evictUnusedItems( ResourceStoreRequest request, final long timestamp ) { if ( !getLocalStatus().shouldServiceRequest() ) { return Collections.emptyList(); } getLogger().info( String.format( "Evicting unused items from group repository %s from path \"%s\"", RepositoryStringUtils.getHumanizedNameString( this ), request.getRequestPath() ) ); HashSet<String> result = new HashSet<String>(); // here, we just iterate over members and call evict final List<Repository> members = getMemberRepositories(); for ( Repository repository : members ) { result.addAll( repository.evictUnusedItems( request, timestamp ) ); } eventBus().post( new RepositoryEventEvictUnusedItems( this ) ); return result; }
callables.add( new ItemRetrieveCallable( getLogger(), repository, request ) ); if ( getLogger().isDebugEnabled() ) getLogger().debug( String.format( "Repository %s member of group %s was already processed during this request! Skipping it from processing. Request: %s", if ( getLogger().isDebugEnabled() ) getLogger().debug( RepositoryStringUtils.getFormattedMessage( "Member repository %s is not available, request failed.", e.getRepository() ) ); getLogger().warn( "Member repository request failed", e ); if ( getLogger().isDebugEnabled() ) getLogger().debug( String.format( "Repository %s member of group %s was already processed during this request! Skipping it from processing. Request: %s",
callables.add( new GroupItemRetrieveCallable( getLogger(), repository, request, this ) ); if ( getLogger().isDebugEnabled() ) getLogger().debug( String.format( "Repository %s member of group %s was already processed during this request! Skipping it from processing. Request: %s", if ( getLogger().isDebugEnabled() ) getLogger().debug( String.format( "Repository %s member of group %s was already processed during this request! Skipping it from processing. Request: %s",