List of usage examples for org.apache.commons.io.monitor FileAlterationObserver getDirectory
public File getDirectory()
From source file:net.ion.radon.cload.listeners.CompilingListener.java
public ResourceReader getReader(final FileAlterationObserver pObserver) { return new FileResourceReader(pObserver.getDirectory()); }
From source file:ddf.security.pdp.realm.xacml.processor.PollingPolicyFinderModule.java
public void onStart(FileAlterationObserver observer) { try {//from w ww . j av a 2 s . c o m String directoryPath = observer.getDirectory().getCanonicalPath(); LOGGER.trace("starting to check directory for xacml policy update(s) " + directoryPath); if (!xacmlPolicyDirectories.isEmpty() && isXacmlPoliciesDirectoryEmpty(xacmlPolicyDirectories.iterator().next())) { LOGGER.warn("No XACML Policies found in: {}", directoryPath); } } catch (IOException e) { LOGGER.error(e.getMessage(), e); } }
From source file:ddf.security.pdp.realm.xacml.processor.PollingPolicyFinderModule.java
public void onStop(FileAlterationObserver observer) { try {//w w w .j a v a 2 s . com LOGGER.trace("Done checking directory " + observer.getDirectory().getCanonicalPath()); } catch (IOException e) { LOGGER.error(e.getMessage(), e); } }
From source file:net.ion.radon.cload.listeners.CompilingListener.java
public String getSourceNameFromFile(final FileAlterationObserver pObserver, final File pFile) { return ConversionUtils .stripExtension(ConversionUtils .getResourceNameFromFileName(ConversionUtils.relative(pObserver.getDirectory(), pFile))) + getSourceFileExtension();/* ww w . j av a 2 s. c o m*/ }
From source file:net.ion.radon.cload.listeners.ReloadingListener.java
public boolean isReloadRequired(final FileAlterationObserver pObserver) { boolean reload = false; final Collection<File> created = getCreatedFiles(); final Collection<File> changed = getChangedFiles(); final Collection<File> deleted = getDeletedFiles(); log.debug("created:" + created.size() + " changed:" + changed.size() + " deleted:" + deleted.size() + " resources"); if (deleted.size() > 0) { for (File file : deleted) { final String resourceName = ConversionUtils .getResourceNameFromFileName(ConversionUtils.relative(pObserver.getDirectory(), file)); store.remove(resourceName);/* w w w.j a va 2 s. c o m*/ } reload = true; } if (created.size() > 0) { for (File file : created) { FileInputStream is = null; try { is = new FileInputStream(file); final byte[] bytes = IOUtils.toByteArray(is); final String resourceName = ConversionUtils .getResourceNameFromFileName(ConversionUtils.relative(pObserver.getDirectory(), file)); store.write(resourceName, bytes); } catch (final Exception e) { log.error("could not load " + file, e); } finally { IOUtils.closeQuietly(is); } } } if (changed.size() > 0) { for (File file : changed) { FileInputStream is = null; try { is = new FileInputStream(file); final byte[] bytes = IOUtils.toByteArray(is); final String resourceName = ConversionUtils .getResourceNameFromFileName(ConversionUtils.relative(pObserver.getDirectory(), file)); store.write(resourceName, bytes); } catch (final Exception e) { log.error("could not load " + file, e); } finally { IOUtils.closeQuietly(is); } } reload = true; } return reload; }
From source file:net.ion.radon.cload.listeners.CompilingListener.java
@Override public boolean isReloadRequired(final FileAlterationObserver pObserver) { boolean reload = false; final Collection<File> created = getCreatedFiles(); final Collection<File> changed = getChangedFiles(); final Collection<File> deleted = getDeletedFiles(); log.debug("created:" + created.size() + " changed:" + changed.size() + " deleted:" + deleted.size() + " resources"); if (deleted.size() > 0) { for (File deletedFile : deleted) { final String resourceName = ConversionUtils.getResourceNameFromFileName( ConversionUtils.relative(pObserver.getDirectory(), deletedFile)); if (resourceName.endsWith(getSourceFileExtension())) { // if source resource got removed delete the corresponding class transactionalStore.remove(ConversionUtils.stripExtension(resourceName) + ".class"); } else { // ordinary resource to be removed transactionalStore.remove(resourceName); }/*from w ww. jav a 2s .c om*/ // FIXME: does not remove nested classes } reload = true; } final String[] resourcesToCompile = getResourcesToCompile(pObserver); if (resourcesToCompile.length > 0) { log.debug(resourcesToCompile.length + " classes to compile"); final CompilationResult result = compiler.compile(resourcesToCompile, reader, transactionalStore); synchronized (this) { lastResult = result; } final CompilationProblem[] errors = result.getErrors(); final CompilationProblem[] warnings = result.getWarnings(); log.debug(errors.length + " errors, " + warnings.length + " warnings"); if (errors.length > 0) { // FIXME: they need to be marked for re-compilation // and then added as compileables again for (int j = 0; j < resourcesToCompile.length; j++) { transactionalStore.remove(resourcesToCompile[j]); } } reload = true; } return reload; }