예제 #1
0
      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());
        }
      }
예제 #2
0
 @Override
 public VirtualFile getContent(byte[] hash) {
   if (hash == null) throw DeploymentRepositoryMessages.MESSAGES.nullVar("hash");
   return VFS.getChild(getDeploymentContentFile(hash, true).toURI());
 }