public RequestContext( RequestContext parent ) { this(); setParentContext( parent ); }
private RequestContext filterItemContext(final RequestContext itemContext) { final RequestContext filtered = new RequestContext(); filtered.setParentContext(itemContext); return filtered; }
private List<StorageFileItem> doRetrieveItems(final String xmlName, final RequestContext context, final P2GroupRepository repository) throws IOException, GroupItemNotFoundException { final ResourceStoreRequest request = new ResourceStoreRequest(xmlName); request.getRequestContext().setParentContext(context); final List<StorageItem> items = repository.doRetrieveItems(request); final ArrayList<StorageFileItem> fileItems = new ArrayList<StorageFileItem>(items.size()); for (StorageItem item : items) { if (item instanceof StorageFileItem) { fileItems.add((StorageFileItem) item); } } return fileItems; }
/** * Creates a new request off from a given one. * * @param item */ public ResourceStoreRequest( ResourceStoreRequest request ) { this( request.getRequestPath(), true, false ); getRequestContext().setParentContext( request.getRequestContext() ); }
@Override public final void processItem( final WalkerContext context, final StorageItem item ) throws Exception { if ( !( item instanceof StorageCollectionItem ) ) { // cstamas: this should be not needed, as Walker should handle this! item.getItemContext().setParentContext( request.getRequestContext() ); // just fire it, and someone will eventually catch it eventBus.post( new RepositoryItemEventDeleteItem( context.getRepository(), item ) ); } } }
protected void storeMergedMetadataItemDigest( ResourceStoreRequest request, String digest, List<StorageItem> sources, String algorithm ) throws IOException, UnsupportedStorageOperationException, IllegalOperationException { String digestFileName = request.getRequestPath() + "." + algorithm.toLowerCase(); String mimeType = getMimeSupport().guessMimeTypeFromPath( getMimeRulesSource(), digestFileName ); byte[] bytes = ( digest + '\n' ).getBytes( "UTF-8" ); ContentLocator contentLocator = new ByteArrayContentLocator( bytes, mimeType ); ResourceStoreRequest req = new ResourceStoreRequest( digestFileName ); req.getRequestContext().setParentContext( request.getRequestContext() ); // Metadata checksum files are not composite ones, they are derivatives of the Metadata (and metadata file _is_ // composite one) DefaultStorageFileItem digestFileItem = new DefaultStorageFileItem( this, req, true, false, contentLocator ); storeItem( false, digestFileItem ); }
static void createLink(final Repository repository, final StorageItem item, final String path) throws Exception { final ResourceStoreRequest req = new ResourceStoreRequest(path); req.getRequestContext().setParentContext(item.getItemContext()); final DefaultStorageLinkItem link = new DefaultStorageLinkItem(repository, req, true, true, item.getRepositoryItemUid()); repository.storeItem(false, link); }
/** * Instantiates a new abstract storage item. */ public AbstractStorageItem( final ResourceStoreRequest request, final boolean readable, final boolean writable ) { this(); this.request = request; this.context.setParentContext( request.getRequestContext() ); setPath( request.getRequestPath() ); setReadable( readable ); setWritable( writable ); setCreated( System.currentTimeMillis() ); setModified( getCreated() ); }
public StorageItem dereferenceLink( StorageLinkItem link, boolean localOnly, boolean remoteOnly ) throws AccessDeniedException, ItemNotFoundException, IllegalOperationException, StorageException { logger.debug( "Dereferencing link {}", link.getTarget() ); ResourceStoreRequest req = new ResourceStoreRequest( link.getTarget().getPath(), localOnly, remoteOnly ); req.getRequestContext().setParentContext( link.getItemContext() ); return link.getTarget().getRepository().retrieveItem( req ); }
request.getRequestContext().setParentContext(incomingRequest.getRequestContext());
mdRequest.getRequestContext().setParentContext( request.getRequestContext() );
result.getItemContext().setParentContext( request.getRequestContext() );
protected static StorageFileItem createMetadataItem(final Repository repository, final String path, final Xpp3Dom metadata, final String hack, final RequestContext context) throws IOException { // this is a special one: once cached (hence consumed), temp file get's deleted final FileContentLocator fileContentLocator = new FileContentLocator("text/xml"); try (OutputStream buffer = fileContentLocator.getOutputStream()) { final MXSerializer mx = new MXSerializer(); mx.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " "); mx.setProperty("http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n"); final String encoding = "UTF-8"; mx.setOutput(buffer, encoding); mx.startDocument(encoding, null); if (hack != null) { mx.processingInstruction(hack); } metadata.writeToSerializer(null, mx); mx.flush(); } final ResourceStoreRequest request = new ResourceStoreRequest(path); request.getRequestContext().setParentContext(context); final DefaultStorageFileItem result = new DefaultStorageFileItem(repository, request, true /* isReadable */, false /* isWritable */, fileContentLocator); return result; }