@Override protected void processFileItem(final WalkerContext context, final StorageFileItem item) throws Exception { if (!item.getPath().equals("/" + Yum.PATH_OF_REPOMD_XML) && !locations.contains(item.getPath().substring(1))) { log.trace("Removing obsolete {}:{}", repository.getId(), item.getPath()); repository.deleteItem(true, item.getResourceStoreRequest()); } } });
@VisibleForTesting Representation renderStorageFileItem(final Request req, final StorageFileItem file) throws ResourceException { final StorageFileItemRepresentation fileRepresentation = new StorageFileItemRepresentation(file); if (file.getResourceStoreRequest().getIfModifiedSince() != 0 && file.getModified() <= file.getResourceStoreRequest().getIfModifiedSince()) { // this is a conditional GET using time-stamp throw new ResourceException(Status.REDIRECTION_NOT_MODIFIED, "Resource is not modified."); } else if (file.getResourceStoreRequest().getIfNoneMatch() != null && fileRepresentation.getTag() != null && file.getResourceStoreRequest().getIfNoneMatch().equals(fileRepresentation.getTag().getName())) { // this is a conditional GET using ETag throw new ResourceException(Status.REDIRECTION_NOT_MODIFIED, "Resource is not modified."); } else { return fileRepresentation; } }
if (!file.isContentGenerated() && file.getResourceStoreRequest().getIfModifiedSince() != 0 && file.getModified() <= file.getResourceStoreRequest().getIfModifiedSince()) { else if (!file.isContentGenerated() && file.getResourceStoreRequest().getIfNoneMatch() != null && etag != null && file.getResourceStoreRequest().getIfNoneMatch().equals(etag)) { renderer.renderErrorPage(request, response, file.getResourceStoreRequest(), new UnsupportedOperationException( "Multiple ranges not yet supported!"));
try { repository.getLocalStorage().storeItem(repository, item); repository.removeFromNotFoundCache(item.getResourceStoreRequest()); final ResourceStoreRequest request = new ResourceStoreRequest(item); result = (StorageFileItem) repository.getLocalStorage().retrieveItem(repository, request);