private static void deleteItemSilently(final Repository repository, final ResourceStoreRequest request) { try { repository.getLocalStorage().deleteItem(repository, request); } catch (final Exception e) { // that's okay, darling, don't worry about this too much } }
@Override public void doApplyConfiguration(Repository repository, ApplicationConfiguration configuration, CRepositoryCoreConfiguration coreConfiguration) throws ConfigurationException { super.doApplyConfiguration(repository, configuration, coreConfiguration); if (repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { repository.setLocalStorage(this.storage); } else { throw new ConfigurationException("can not replace " + repository.getLocalStorage() + " - unknown type"); } } }
static File retrieveFile(final Repository repository, final String path) throws LocalStorageException { final ResourceStoreRequest request = new ResourceStoreRequest(path); final File content = ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()).getFileFromBase(repository, request); return content; }
@Nullable private File getRepositoryLocalStorageFile(final Repository repository, final String path) { if (repository.getLocalUrl() != null && repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { try { return ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()) .getBaseDir(repository, new ResourceStoreRequest(path)); } catch (LocalStorageException e) { log.warn("Cannot get {} file from {} repository's LS", path, repository.getId(), e); } } return null; } }
static File localStorageOfRepositoryAsFile(final Repository repository) throws LocalStorageException { if (repository.getLocalUrl() != null && repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { final File baseDir = ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()).getBaseDir(repository, new ResourceStoreRequest( RepositoryItemUid.PATH_ROOT)); return baseDir; } throw new LocalStorageException(String.format("Repository [%s] does not have an local storage", repository.getId())); }
/** * Extracts the repo root on local FS as File. It may return null! */ protected File getRepositoryLocalStorageAsFile(Repository repository) { if (repository.getLocalUrl() != null && repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage) { try { File baseDir = ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()).getBaseDir(repository, new ResourceStoreRequest(RepositoryItemUid.PATH_ROOT)); return baseDir; } catch (LocalStorageException e) { log.warn(String.format("Cannot determine \"%s\" (ID=%s) repository's basedir:", repository.getName(), repository.getId()), e); } } return null; }
&& repository.getLocalStorage() instanceof DefaultFSLocalRepositoryStorage )
protected boolean isPathAvailable( String path ) { ResourceStoreRequest request = getResourceStoreRequest( path ); try { return getRepository().getLocalStorage().containsItem( getRepository(), request ); } catch ( Exception e ) { // for whatever reason, couldn't see item, so it's not cached locally we shall say } return false; }
protected boolean isPathAvailable(String path) { if (!CHECK_LOCAL_AVAILABILITY) { return false; } try { final ResourceStoreRequest request = getResourceStoreRequest(path); return getRepository().getLocalStorage().containsItem(getRepository(), request); } catch (Exception e) { // for whatever reason, couldn't see item, so it's not cached locally we shall say logger.warn("IO related problem during local storage availability check in repository {}", RepositoryStringUtils.getHumanizedNameString(getRepository()), e); } return false; }
@Override public void processItem( WalkerContext ctx, StorageItem item ) { long now = System.currentTimeMillis(); long limitDate = now - age; if ( item instanceof StorageFileItem && // ( age == DefaultWastebasket.ALL || item.getModified() < limitDate ) ) { try { ctx.getRepository().getLocalStorage().shredItem( ctx.getRepository(), item.getResourceStoreRequest() ); } catch ( ItemNotFoundException e ) { // silent } catch ( UnsupportedStorageOperationException e ) { // silent? } catch ( LocalStorageException e ) { // silent? } } }
if (DefaultFSLocalRepositoryStorage.class.isAssignableFrom(repository.getLocalStorage().getClass())) { File file = ((DefaultFSLocalRepositoryStorage) repository.getLocalStorage()).getFileFromBase(repository, new ResourceStoreRequest(item));
@Override public void onCollectionExit( WalkerContext ctx, StorageCollectionItem item ) throws Exception { if ( ctx.getResourceStoreRequest().getRequestPath().equals( item.getPath() ) ) { // NEXUS-4642 do not delete the trash return; } try { // item is now gone, let's check if this is empty and if so delete it as well Collection<StorageItem> items = item.list(); if ( items.isEmpty() ) { ctx.getRepository().getLocalStorage().shredItem( ctx.getRepository(), item.getResourceStoreRequest() ); } } catch ( final ItemNotFoundException ignore ) { // someone else removed the item in the mean time. yet we anyhow wanted to remove it so... nevermind } } }
new ResourceStoreRequest( getAttributePath( repository, uid.getPath() ) ); repository.getLocalStorage().deleteItem( repository, request );
public void purge( final Repository repository, final long age ) throws IOException { ResourceStoreRequest req = new ResourceStoreRequest( getTrashPath( repository, RepositoryItemUid.PATH_ROOT ) ); // NEXUS-4642 shall not delete the directory, since causes a problem if this has been symlinked to another // directory. // walker and walk and changes for age if ( repository.getLocalStorage().containsItem( repository, req ) ) { req.setRequestGroupLocalOnly( true ); req.setRequestLocalOnly( true ); DefaultWalkerContext ctx = new DefaultWalkerContext( repository, req, new AffirmativeStoreWalkerFilter() ); ctx.getProcessors().add( new WastebasketWalker( age ) ); getWalker().walk( ctx ); } }
uid.getPath() ) ), true, true, new ByteArrayContentLocator( bos.toByteArray(), "text/xml" ) ); repository.getLocalStorage().storeItem( repository, attributeItem );
repository.getLocalStorage().retrieveItem( repository, new ResourceStoreRequest( getAttributePath( repository, uid.getPath() ) ) );
if ( DefaultFSLocalRepositoryStorage.class.isAssignableFrom( repository.getLocalStorage().getClass() ) ) ( (DefaultFSLocalRepositoryStorage) repository.getLocalStorage() ).getFileFromBase( repository, new ResourceStoreRequest( item ) );
new ResourceStoreRequest( itemUid.getPath(), request.isRequestLocalOnly(), request.isRequestRemoteOnly() ); if ( repo.getLocalStorage().containsItem( repo, repoRequest ) )
new ResourceStoreRequest(itemUid.getPath(), request.isRequestLocalOnly(), request.isRequestRemoteOnly()); if (repo.getLocalStorage().containsItem(repo, repoRequest)) { try { StorageItem repoItem = repo.retrieveItem(repoRequest);