Exemplo n.º 1
0
 protected void splitUp(Tier tier, Job j) throws IOException {
   while (true) {
     Path[] files = tier.getCreationOutputFiles(Solver.underscoreFilter);
     if (files.length == 0) break;
     Path file = files[0];
     String name = file.getName();
     String ext = name.substring(name.lastIndexOf("."));
     Tier nextTier = getTier(ext);
     if (!nextTier.filter.accept(file)) {
       throw new Error(nextTier.filter + " does not accept " + file);
     }
     updateEdges(tier, nextTier);
     tier.createTempFolder();
     Path[] sameTier = tier.getCreationOutputFiles(nextTier.filter);
     assert Util.contains(sameTier, file);
     for (Path n : sameTier) tier.moveToTemp(n);
     long numPositions = recordsWritten(j, nextTier.num);
     putBack(tier, nextTier, numPositions);
   }
 }