/** * Returns a {@link File} object that links to the blob * * @param container * @param blobKey * @return */ public File getFileForBlobKey(String container, String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); File blobFile = new File(fileName); return blobFile; }
@Override public boolean blobExists(String container, String key) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(key); return buildPathAndChecksIfFileExists(container, key); }
/** * Returns a {@link File} object that links to the blob * * @param container * @param blobKey * @return */ public File getFileForBlobKey(String container, String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); File blobFile = new File(fileName); return blobFile; }
/** * Returns a {@link File} object that links to the blob * * @param container * @param blobKey * @return */ public File getFileForBlobKey(String container, String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); File blobFile = new File(fileName); return blobFile; }
/** * Returns a {@link File} object that links to the blob * * @param container * @param blobKey * @return */ public File getFileForBlobKey(String container, String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); File blobFile = new File(fileName); return blobFile; }
/** * Returns a {@link File} object that links to the blob * * @param container * @param blobKey * @return */ public File getFileForBlobKey(String container, String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); File blobFile = new File(fileName); return blobFile; }
@Override public boolean blobExists(String container, String key) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(key); return buildPathAndChecksIfFileExists(container, key); }
@Override public boolean blobExists(String container, String key) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(key); try { return buildPathAndChecksIfBlobExists(container, key); } catch (IOException e) { logger.error(e, "An error occurred while checking key %s in container %s", container, key); throw Throwables.propagate(e); } }
@Override public boolean blobExists(String container, String key) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(key); try { return buildPathAndChecksIfBlobExists(container, key); } catch (IOException e) { logger.error(e, "An error occurred while checking key %s in container %s", container, key); throw Throwables.propagate(e); } }
public Blob newBlob(@ParamValidators({ FilesystemBlobKeyValidator.class }) String name) { filesystemBlobKeyValidator.validate(name); return blobBuilders.get().name(name).build(); }
public Blob newBlob(@ParamValidators({ FilesystemBlobKeyValidator.class }) String name) { filesystemBlobKeyValidator.validate(name); return blobBuilders.get().name(name).build(); }
public Blob newBlob(@ParamValidators({ FilesystemBlobKeyValidator.class }) String name) { filesystemBlobKeyValidator.validate(name); return blobBuilders.get().name(name).build(); }
@Override public boolean blobExists(String container, String key) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(key); try { return buildPathAndChecksIfBlobExists(container, key); } catch (IOException e) { logger.error(e, "An error occurred while checking key %s in container %s", container, key); throw Throwables.propagate(e); } }
public Blob newBlob(@ParamValidators({ FilesystemBlobKeyValidator.class }) String name) { filesystemBlobKeyValidator.validate(name); return blobBuilders.get().name(name).build(); }
@Test public void testInvalidNames() { FilesystemBlobKeyValidator validator = new FilesystemBlobKeyValidatorImpl(); try { validator.validate(""); fail("Blob key value incorrect, but was not recognized"); } catch (IllegalArgumentException e) {} try { validator.validate(File.separator + "is" + File.separator + "" + "ok"); fail("Blob key value incorrect, but was not recognized"); } catch (IllegalArgumentException e) {} }
public Blob newBlob(@ParamValidators({ FilesystemBlobKeyValidator.class }) String name) { filesystemBlobKeyValidator.validate(name); return blobBuilders.get().name(name).build(); }
@Override public void removeBlob(final String container, final String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); logger.debug("Deleting blob %s", fileName); File fileToBeDeleted = new File(fileName); if (!fileToBeDeleted.delete()) { logger.debug("Could not delete %s", fileToBeDeleted); } // now examine if the key of the blob is a complex key (with a directory structure) // and eventually remove empty directory removeDirectoriesTreeOfBlobKey(container, blobKey); }
@Override public void removeBlob(final String container, final String blobKey) { filesystemContainerNameValidator.validate(container); filesystemBlobKeyValidator.validate(blobKey); String fileName = buildPathStartingFromBaseDir(container, blobKey); logger.debug("Deleting blob %s", fileName); File fileToBeDeleted = new File(fileName); if (!fileToBeDeleted.delete()) { logger.debug("Could not delete %s", fileToBeDeleted); } // now examine if the key of the blob is a complex key (with a directory structure) // and eventually remove empty directory removeDirectoriesTreeOfBlobKey(container, blobKey); }
@Override public String putBlob(final String containerName, final Blob blob) throws IOException { String blobKey = blob.getMetadata().getName(); Payload payload = blob.getPayload(); filesystemContainerNameValidator.validate(containerName); filesystemBlobKeyValidator.validate(blobKey); File outputFile = getFileForBlobKey(containerName, blobKey); try { Files.createParentDirs(outputFile); if (payload.getRawContent() instanceof File) Files.copy((File) payload.getRawContent(), outputFile); else { payload = Payloads.newPayload(ByteStreams.toByteArray(payload)); Files.copy(payload, outputFile); } Payloads.calculateMD5(payload); String eTag = base16().lowerCase().encode(payload.getContentMetadata().getContentMD5()); return eTag; } catch (IOException ex) { if (outputFile != null) { if (!outputFile.delete()) { logger.debug("Could not delete %s", outputFile); } } throw ex; } finally { payload.release(); } }