public void run() throws SVNException {
    SVNDumpFilterCommandEnvironment environment = getSVNDumpFilterEnvironment();
    if (!environment.isQuiet()) {
      if (environment.isDropEmptyRevisions()) {
        environment.getErr().println("Excluding (and dropping empty revisions for) prefixes:");
      } else {
        environment.getErr().println("Excluding prefixes:");
      }

      for (Iterator prefixesIter = environment.getPrefixes().iterator(); prefixesIter.hasNext(); ) {
        String prefix = (String) prefixesIter.next();
        environment.getErr().println("   '" + prefix + "'");
      }
      environment.getErr().println();
    }

    SVNAdminClient client = getEnvironment().getClientManager().getAdminClient();
    client.setEventHandler(this);
    client.doFilter(
        environment.getIn(),
        environment.getOut(),
        true,
        environment.isRenumberRevisions(),
        environment.isDropEmptyRevisions(),
        environment.isPreserveRevisionProperties(),
        environment.getPrefixes(),
        environment.isSkipMissingMergeSources());
    if (!environment.isQuiet() && myIsPrintFinalEOL) {
      environment.getErr().println();
    }
  }
 public void handleAdminEvent(SVNAdminEvent event, double progress) throws SVNException {
   SVNDumpFilterCommandEnvironment environment = getSVNDumpFilterEnvironment();
   if (!environment.isQuiet()) {
     SVNAdminEventAction action = event.getAction();
     if (action == SVNAdminEventAction.DUMP_FILTER_REVISION_COMMITTED
         || action == SVNAdminEventAction.DUMP_FILTER_REVISION_SKIPPED) {
       environment.getErr().println(event.getMessage());
     } else if (action == SVNAdminEventAction.DUMP_FILTER_TOTAL_REVISIONS_DROPPED) {
       environment.getErr().println();
       environment.getErr().println(event.getMessage());
       environment.getErr().println();
       environment.getErr().println();
     } else if (action == SVNAdminEventAction.DUMP_FILTER_RENUMBERED_REVISION
         || action == SVNAdminEventAction.DUMP_FILTER_DROPPED_RENUMBERED_REVISION) {
       if (!myHasPrintedRenumberedRevisionsHeader) {
         environment.getErr().println("Revisions renumbered as follows:");
         myHasPrintedRenumberedRevisionsHeader = true;
       }
       environment.getErr().println("   " + event.getMessage());
     } else if (action == SVNAdminEventAction.DUMP_FILTER_TOTAL_NODES_DROPPED) {
       if (myHasPrintedRenumberedRevisionsHeader) {
         environment.getErr().println();
       }
       environment.getErr().println(event.getMessage());
       myIsPrintFinalEOL = true;
     } else if (action == SVNAdminEventAction.DUMP_FILTER_DROPPED_NODE) {
       environment.getErr().println("   " + event.getMessage());
     }
   }
 }