protected ContentRepositoryImpl(final File repoRoot) { if (repoRoot == null) throw DeploymentRepositoryMessages.MESSAGES.nullVar("repoRoot"); if (repoRoot.exists()) { if (!repoRoot.isDirectory()) { throw DeploymentRepositoryMessages.MESSAGES.notADirectory(repoRoot.getAbsolutePath()); } else if (!repoRoot.canWrite()) { throw DeploymentRepositoryMessages.MESSAGES.directoryNotWritable( repoRoot.getAbsolutePath()); } } else if (!repoRoot.mkdirs()) { throw DeploymentRepositoryMessages.MESSAGES.cannotCreateDirectory( repoRoot.getAbsolutePath()); } this.repoRoot = repoRoot; try { this.messageDigest = MessageDigest.getInstance("SHA-1"); } catch (NoSuchAlgorithmException e) { throw DeploymentRepositoryMessages.MESSAGES.cannotObtainSha1( e, MessageDigest.class.getSimpleName()); } }
@Override public VirtualFile getContent(byte[] hash) { if (hash == null) throw DeploymentRepositoryMessages.MESSAGES.nullVar("hash"); return VFS.getChild(getDeploymentContentFile(hash, true).toURI()); }