/** * Find the Java File object based off of a starting directory. * * @param filename the filename to search for * @param startingDirectory the directory to start searching at * @return the File discovered * @throws FileNotFoundException will throw an exception if no file is found matching the criteria */ public static File findAbsoluteFile(final String filename, final String startingDirectory) throws FileNotFoundException { File returnFile = null; try { File startingDirFile = new File(startingDirectory); Collection<File> files = FileUtils.listFiles( startingDirFile, FileFilterUtils.nameFileFilter(filename), TrueFileFilter.INSTANCE); if (files.size() == 0) { throw new FileNotFoundException( "file '" + filename + "' not found in directory '" + startingDirectory); } else if (files.size() > 1) { throw new FileNotFoundException( "multiple files with filename '" + filename + "' found in directory '" + startingDirectory); } else { for (File f : files) { returnFile = f; } } } catch (FileNotFoundException fnfe) { throw fnfe; } catch (Exception e) { throw new FileNotFoundException( "'" + filename + "' not found in directory '" + startingDirectory + "'"); } return returnFile; }
private File copyProject(String path) throws Exception { File projectDir = temp.newFolder(); File originalProjectDir = new File(IssueModeAndReportsMediumTest.class.getResource(path).toURI()); FileUtils.copyDirectory( originalProjectDir, projectDir, FileFilterUtils.notFileFilter(FileFilterUtils.nameFileFilter(".sonar"))); return projectDir; }
/** * Cleaning up the generated files (shape and properties so that we recreate them). * * @throws FileNotFoundException * @throws IOException */ private void cleanUp() throws FileNotFoundException, IOException { File dir = TestData.file(this, "heterogeneous/"); File[] files = dir.listFiles( (FilenameFilter) FileFilterUtils.notFileFilter( FileFilterUtils.or( FileFilterUtils.or( FileFilterUtils.suffixFileFilter("tif"), FileFilterUtils.suffixFileFilter("aux")), FileFilterUtils.nameFileFilter("datastore.properties")))); for (File file : files) { file.delete(); } }
private void copyLocalNativeLibraries( final File localNativeLibrariesDirectory, final File destinationDirectory) throws MojoExecutionException { getLog().debug("Copying existing native libraries from " + localNativeLibrariesDirectory); try { IOFileFilter libSuffixFilter = FileFilterUtils.suffixFileFilter(".so"); IOFileFilter gdbserverNameFilter = FileFilterUtils.nameFileFilter("gdbserver"); IOFileFilter orFilter = FileFilterUtils.or(libSuffixFilter, gdbserverNameFilter); IOFileFilter libFiles = FileFilterUtils.and(FileFileFilter.FILE, orFilter); FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, libFiles); org.apache.commons.io.FileUtils.copyDirectory( localNativeLibrariesDirectory, destinationDirectory, filter); } catch (IOException e) { getLog().error("Could not copy native libraries: " + e.getMessage(), e); throw new MojoExecutionException("Could not copy native dependency.", e); } }
@Test public void testImageReaderGOME2AncillaryFiles() throws Exception { final File file = TestData.file(this, "20130101.METOPA.GOME2.NO2.DUMMY.nc"); final NetCDFImageReaderSpi unidataImageReaderSpi = new NetCDFImageReaderSpi(); assertTrue(unidataImageReaderSpi.canDecodeInput(file)); NetCDFImageReader reader = null; try { // checking low level reader = (NetCDFImageReader) unidataImageReaderSpi.createReaderInstance(); reader.setInput(file); int numImages = reader.getNumImages(true); assertEquals(1, numImages); LOGGER.info("Found " + numImages + " images."); for (int i = 0; i < numImages; i++) { Slice2DIndex sliceIndex = reader.getSlice2DIndex(i); assertNotNull(sliceIndex); spitOutSliceInformation(i, sliceIndex); } // check coverage names final List<Name> names = reader.getCoveragesNames(); assertNotNull(names); assertTrue(!names.isEmpty()); assertTrue(1 == names.size()); assertEquals("NO2", names.get(0).toString()); // checking slice catalog final CoverageSlicesCatalog cs = reader.getCatalog(); assertNotNull(cs); MessageDigest md = MessageDigest.getInstance("SHA-1"); md.update(file.getCanonicalPath().getBytes()); String hashCode = AncillaryFileManager.convertToHex(md.digest()); // Check if the auxiliary files directory is present File parentDir = file.getParentFile(); String auxiliaryDirPath = parentDir + File.separator + "." + FilenameUtils.getBaseName(file.getName()) + "_" + hashCode; File auxiliaryDir = new File(auxiliaryDirPath); assertTrue(auxiliaryDir.exists()); assertTrue(auxiliaryDir.isDirectory()); // Check if the Auxiliary File Directory contains the origin.txt file FilenameFilter nameFileFilter = FileFilterUtils.nameFileFilter("origin.txt"); File[] files = auxiliaryDir.listFiles(nameFileFilter); assertTrue(files != null); assertTrue(files[0].exists()); } finally { if (reader != null) { try { reader.dispose(); } catch (Throwable t) { // Does nothing } } } }