private File getNextFile() { final File result = this.folder.child("tiles-" + this.zoom + "_" + this.index++ + ".sql"); logger.info("Generating file {}", result); return result; } }
@Override protected void processAtlas(final String atlasName, final Atlas atlas, final String folder) { final File file = new File(folder).child(atlasName + "-statistics.csv"); final AtlasStatistics statistics = processAtlas(atlas); file.writeAndClose(statistics.toString()); }
public static File temporaryFolder() { File temporary = null; try { temporary = File.temporary(); final File parent = new File(temporary.getParent()) .child(RANDOM.nextInt(Integer.MAX_VALUE) + ""); parent.mkdirs(); return parent; } finally { if (temporary != null) { temporary.delete(); } } }
private void saveLocally(final String name, final Atlas argument) { if (this.saveLocally != null) { final File folder = new File(this.saveLocally); argument.save(folder.child(name)); } } }
@BeforeClass public static void prepareAtlasesOnDisk() throws IOException { final File temp = File.temporaryFolder(); setup.getFirstAtlas().save(temp.child("first.atlas")); setup.getSecondAtlas().save(temp.child("second.atlas")); setup.getThirdAtlas().save(temp.child("third.atlas")); setup.getFourthAtlas().save(temp.child("fourth.atlas")); temporaryFolder = temp; }
@Override protected int onRun(final CommandMap command) { @SuppressWarnings("unchecked") final List<File> inputs = (List<File>) command.get(INPUT); final File output = (File) command.get(OUTPUT); output.mkdirs(); final MultiMap<String, AtlasStatistics> stats = new MultiMap<>(); for (final File input : inputs) { final String country = input.getName().split("_")[0]; final AtlasStatistics stat = AtlasStatistics.fromResource(input); stats.add(country, stat); } final Map<String, AtlasStatistics> countryStats = stats.reduceByKey(AtlasStatistics::merge); countryStats.forEach((country, stat) -> stat.save(output.child(country + ".csv"))); return 0; }
@Test public void multipleFiles() { final File parent = File.temporaryFolder(); try { final File atlas1 = parent.child("iAmAn.atlas"); atlas1.writeAndClose("1"); final File atlas2 = parent.child("iTooAmAn.atlas"); atlas2.writeAndClose("2"); final File other = parent.child("iAmNotAnAtlas.txt"); other.writeAndClose("3"); final List<Resource> selected = new AtlasFileSelector().select(parent); // This one does not filter on an Atlas. Assert.assertEquals(3, selected.size()); } finally { parent.deleteRecursively(); } }
@Override protected int onRun(final CommandMap command) { final File folder = (File) command.get(INPUT_FOLDER); final Atlas atlas = loadAtlas(command); final File bigNodesFile = folder.child("improved.bigNodes.geojson"); final JsonWriter writer = new JsonWriter(bigNodesFile); writer.write(new GeoJsonBuilder().create( Iterables.translate(new BigNodeFinder().find(atlas), BigNode::asGeoJsonBigNode)) .jsonObject()); writer.close(); return 0; } }