FileUtils.deleteQuietly(material.getCertFolder().toFile()); } else { material.wait(); FileUtils.deleteQuietly(material.getCertFolder().toFile());
@Override public void removeMaterial(String username, String applicationId) throws InterruptedException { StorageKey key = new StorageKey(username, applicationId); try { lock.lock(); CryptoMaterial material = materialLocation.get(key); if (material != null) { material.decrementRequestedApplications(); LOG.debug("Decrementing requested applications to " + material.getRequestedApplications() + " for key " + key); if (material.isSafeToRemove()) { RemoveEvent event = new RemoveEvent(material.getCertFolder()); materialLocation.remove(key); dispatchEvent(event); LOG.debug("Dispatching remove event for key " + key); } } } finally { lock.unlock(); } }
File appDirFile = event.cryptoMaterial.getCertFolder().toFile(); if (!appDirFile.exists()) { appDirFile.mkdirs(); PosixFilePermission.GROUP_READ, PosixFilePermission.GROUP_EXECUTE); Files.setPosixFilePermissions(event.cryptoMaterial.getCertFolder(), materialPermissions); Files.setPosixFilePermissions(event.cryptoMaterial.getKeyStoreLocation(), materialPermissions); Files.setPosixFilePermissions(event.cryptoMaterial.getTrustStoreLocation(), materialPermissions); lock.lock(); materialLocation.remove(event.key); FileUtils.deleteQuietly(event.cryptoMaterial.getCertFolder().toFile()); synchronized (event.cryptoMaterial) { event.cryptoMaterial.changeState(CryptoMaterial.STATE.FINISHED);
CertificateLocalization certificateLocalization = CertificateLocalizationCtx.getInstance() .getCertificateLocalization(); String certFolder = certificateLocalization.getMaterialLocation(user, appId).getCertFolder().toString();