public static Directory createNew(File parent) throws IOException { File directory = File.createTempFile("tmp", "", parent); if (!directory.delete() || !directory.mkdir()) throw new IOException("Error creating temp directory at " + directory.getAbsolutePath()); return new Directory(directory); }
private void harvestDirectory(StructuredGridCoverage2DReader sr, Directory data) throws UnsupportedOperationException, IOException { for (FileData fd : data.getFiles()) { harvestImportData(sr, fd); } }
public Directory filter(List<FileData> files) { Filtered f = new Filtered(file, files); f.setFormat(getFormat()); return f; }
/** * Create archive from a file. * * @param file the file * @throws IOException */ public Archive(File file) throws IOException { super(Directory.createFromArchive(file).getFile()); } }
public void accept(String childName, InputStream in) throws IOException { // lock folder before it gets removed from JobQueue cleaner lockDirectory(); File dest = child(childName); IOUtils.copy(in, dest); try { unpack(dest); } catch (IOException ioe) { // problably should delete on error LOGGER.warning("Possible invalid file uploaded to " + dest.getAbsolutePath()); throw ioe; } }
public void accept(String childName, InputStream in) throws IOException { File dest = child(childName); IOUtils.copy(in, dest); try { unpack(dest); } catch (IOException ioe) { // problably should delete on error LOGGER.warning("Possible invalid file uploaded to " + dest.getAbsolutePath()); throw ioe; } }
public void testShapefileWithMacOSXDirectory() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); File osxDir = new File(dir, "__MACOSX"); osxDir.mkdir(); new File(osxDir, ".archsites.shp").createNewFile(); new File(osxDir, ".archsites.dbf").createNewFile(); new File(osxDir, ".archsites.prj").createNewFile(); Directory d = new Directory(dir); d.prepare(); assertNotNull(d.getFormat()); assertEquals(DataStoreFormat.class, d.getFormat().getClass()); List<FileData> files = d.getFiles(); assertEquals(1, files.size()); assertEquals(DataStoreFormat.class, files.get(0).getFormat().getClass()); }
public void testMultipleSpatialFile() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("shape/bugsites_esri_prj.tar.gz", dir); Directory d = new Directory(dir); d.prepare(); assertEquals(2, d.getFiles().size()); assertTrue(d.getFiles().get(0) instanceof SpatialFile); assertTrue(d.getFiles().get(1) instanceof SpatialFile); }
Directory d = new Directory(f); d.prepare(m); SpatialFile sf = newSpatialFile(f, format); format = format();
for (Directory dir : data.flatten()) { if (dir.getFiles().isEmpty()) continue; for (FileData f : dir.getFiles()) { DataFormat format = f.getFormat(); List<FileData> files = map.get(format); tasks.addAll(createTasks(dir.filter(files), format, context)); for (FileData file : dir.getFiles()) { tasks.addAll(createTasks(file, file.getFormat(), context, skipNoFormat));
directory = (Directory) context.getData(); } else if ( context.getData() instanceof SpatialFile ) { directory = new Directory( ((SpatialFile) context.getData()).getFile().getParentFile() ); LOGGER.fine("Archiving directory " + directory.getFile().getAbsolutePath()); directory.archive(getArchiveFile(context)); } catch (Exception ioe) { ioe.printStackTrace();
@Test public void testCreateContextDirectoryHetero() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("geotiff/EmissiveCampania.tif.bz2", dir); Directory d = new Directory(dir); ImportContext context = importer.createContext(d); assertEquals(2, context.getTasks().size()); // cannot ensure order of tasks due to hashing HashSet files = new HashSet(); files.add(context.getTasks().get(0).getData()); files.add(context.getTasks().get(1).getData()); assertTrue(files.containsAll(d.getFiles())); }
@Override public void cleanup() throws IOException { File[] files = file.listFiles(); if (files != null) { for (File f : files) { if (f.isDirectory()) { new Directory(f).cleanup(); } else { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine("Deleting file " + f.getAbsolutePath()); } if (!f.delete()) { throw new IOException("unable to delete " + f); } } } } super.cleanup(); }
@Override public void prepare(ProgressMonitor m) throws IOException { super.prepare(m); files.retainAll(filter); format = format(); } }
@Test public void testCreateContextDirectoryHomo() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("shape/bugsites_esri_prj.tar.gz", dir); Directory d = new Directory(dir); ImportContext context = importer.createContext(d); assertEquals(2, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertEquals(d.part("archsites"), task.getData()); task = context.getTasks().get(1); assertEquals(d.part("bugsites"), task.getData()); }
zout.close(); } finally { cleanup();
public void testShapefileWithExtraFiles() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); // 'extra' files new File(dir, "archsites.shp.xml").createNewFile(); new File(dir, "archsites.sbx").createNewFile(); new File(dir, "archsites.sbn").createNewFile(); new File(dir, "archsites.shp.ed.lock").createNewFile(); Directory d = new Directory(dir); d.prepare(); assertNotNull(d.getFormat()); assertEquals(DataStoreFormat.class, d.getFormat().getClass()); List<FileData> files = d.getFiles(); assertEquals(1, files.size()); assertEquals(DataStoreFormat.class, files.get(0).getFormat().getClass()); }
public void testMultipleSpatialASpatialFile() throws Exception { File dir = unpack("shape/archsites_epsg_prj.zip"); unpack("shape/bugsites_esri_prj.tar.gz", dir); FileUtils.touch(new File(dir, "foo.txt")); // TODO: don't rely on alphabetical order Directory d = new Directory(dir); d.prepare(); assertEquals(3, d.getFiles().size()); assertTrue(d.getFiles().get(0) instanceof SpatialFile); assertTrue(d.getFiles().get(1) instanceof SpatialFile); assertTrue(d.getFiles().get(2) instanceof ASpatialFile); } }
Directory d = new Directory(f); d.prepare(m); SpatialFile sf = newSpatialFile(f, format); format = format();