private LockThread(final String repositoryId, final String path, final String lockType) throws NoSuchRepositoryException { this.lockType = lockType; final Repository repository = repositoryRegistry.getRepository(repositoryId); uid = repository.createUid(path); latch = new CountDownLatch(1); }
/** * Instantiates a new abstract storage item. */ public AbstractStorageItem( Repository repository, ResourceStoreRequest request, boolean readable, boolean writable ) { this( request, readable, writable ); this.store = repository; this.repositoryItemUid = repository.createUid( getPath() ); setRepositoryId( repository.getId() ); }
final Repository repository = repositories.getRepository(repositoryId); final File scanPath = localStorageOfRepositoryAsFile(repository); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); final File destinationP2Repository = createTemporaryP2Repository(); try {
try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); File sourceP2Repository = null; File destinationP2Repository = null;
try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); File sourceP2Repository = null; File destinationP2Repository = null;
@Override public void removeConfiguration(final P2RepositoryAggregatorConfiguration configuration) { try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); try { p2RepoUid.getLock().lock(Action.create); final ResourceStoreRequest request = new ResourceStoreRequest(P2_REPOSITORY_ROOT_PATH); repository.deleteItem(request); } finally { p2RepoUid.getLock().unlock(); } } catch (final Exception e) { logger.warn(String.format("Could not delete P2 repository [%s:%s] due to [%s]", configuration.repositoryId(), P2_REPOSITORY_ROOT_PATH, e.getMessage()), e); } }
try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); File destinationP2Repository = null; try {
try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); File destinationP2Repository = null; try {
@Override public void addConfiguration(final P2RepositoryAggregatorConfiguration configuration) { try { final Repository repository = repositories.getRepository(configuration.repositoryId()); final StorageItem p2Dir = safeRetrieveItem(repository, P2_REPOSITORY_ROOT_PATH); // create if it does not exist if (p2Dir == null) { final RepositoryItemUid p2RepoUid = repository.createUid(P2_REPOSITORY_ROOT_PATH); try { p2RepoUid.getLock().lock(Action.create); createP2Repository(repository); } finally { p2RepoUid.getLock().unlock(); } } } catch (final NoSuchRepositoryException e) { logger.warn("Could not delete P2 repository [{}] as repository could not be found"); } catch (final Exception e) { throw new RuntimeException(e); } }
@Override @Deprecated public void touchItemLastRequested( long timestamp, Repository repository, ResourceStoreRequest request ) throws ItemNotFoundException, LocalStorageException, IOException { RepositoryItemUid uid = repository.createUid( request.getRequestPath() ); Attributes item = getAttributeStorage().getAttributes( uid ); if ( item != null ) { item.setRepositoryId( uid.getRepository().getId() ); item.setPath( uid.getPath() ); touchItemLastRequested( timestamp, request, uid, item ); } }
RepositoryItemUid uid = repository.createUid( path );
public void shredItem( Repository repository, ResourceStoreRequest request ) throws ItemNotFoundException, UnsupportedStorageOperationException, LocalStorageException { RepositoryItemUid uid = repository.createUid( request.getRequestPath() ); try { repository.getAttributesHandler().deleteAttributes( uid ); } catch ( IOException e ) { throw new LocalStorageException( "Cannot delete attributes!", e ); } File target = getFileFromBase( repository, request ); getFSPeer().shredItem( repository, getBaseDir( repository, request ), request, target ); }
@Override @Deprecated public void touchItemRemoteChecked( long timestamp, Repository repository, ResourceStoreRequest request ) throws ItemNotFoundException, LocalStorageException, IOException { RepositoryItemUid uid = repository.createUid( request.getRequestPath() ); Attributes item = getAttributeStorage().getAttributes( uid ); if ( item != null ) { item.setRepositoryId( uid.getRepository().getId() ); item.setPath( uid.getPath() ); item.setCheckedRemotely( timestamp ); item.setExpired( false ); getAttributeStorage().putAttributes( uid, item ); } }
final RepositoryItemUid mdUid = repository.createUid("/" + PATH_OF_REPOMD_XML); try { mdUid.getLock().lock(Action.update);
public void moveItem( Repository repository, ResourceStoreRequest from, ResourceStoreRequest to ) throws ItemNotFoundException, UnsupportedStorageOperationException, LocalStorageException RepositoryItemUid fromUid = repository.createUid( from.getRequestPath() ); RepositoryItemUid toUid = repository.createUid( to.getRequestPath() ); fromAttr.setRepositoryId( toUid.getRepository().getId() ); fromAttr.setPath( toUid.getPath() );