legacy/src/main/java/thredds/catalog/InvCatalogImpl.java
private boolean mark(DatasetFilter filter, InvDatasetImpl ds) {
    if (ds instanceof InvCatalogRef) {
      InvCatalogRef catRef = (InvCatalogRef) ds;
      if (!catRef.isRead()) return false;
    }

    // recurse into nested datasets first
    boolean allMarked = true;
    for (InvDataset nested : ds.getDatasets()) {
      allMarked &= mark(filter, (InvDatasetImpl) nested);
    }
    if (!allMarked) return false;

    if (filter.accept(ds) >= 0)
      return false;

    // mark for deletion
    ds.setMark(true);
    if (debugFilter) System.out.println(" mark " + ds.getName());
    return true;
  }
private boolean mark(DatasetFilter filter, InvDatasetImpl ds) {
    if (ds instanceof InvCatalogRef) {
      InvCatalogRef catRef = (InvCatalogRef) ds;
      if (!catRef.isRead()) return false;
    }

    // recurse into nested datasets first
    boolean allMarked = true;
    for (InvDataset nested : ds.getDatasets()) {
      allMarked &= mark(filter, (InvDatasetImpl) nested);
    }
    if (!allMarked) return false;

    if (filter.accept(ds) >= 0)
      return false;

    // mark for deletion
    ds.setMark(true);
    if (debugFilter) System.out.println(" mark " + ds.getName());
    return true;
  }
private boolean mark ( DatasetFilter filter , InvDatasetImpl ds ) { if ( ds instanceof InvCatalogRef ) { InvCatalogRef catRef = ( InvCatalogRef ) ds ; if ( ! catRef . isRead ( ) ) return false ; } // recurse into nested datasets first boolean allMarked = true ; for ( InvDataset nested : ds . getDatasets ( ) ) { allMarked &= mark ( filter , ( InvDatasetImpl ) nested ) ; } if ( ! allMarked ) return false ; if ( filter . accept ( ds ) >= 0 ) return false ; // mark for deletion ds . setMark ( true ) ; if ( debugFilter ) System . out . println ( " mark " + ds . getName ( ) ) ; return true ; }
unread CatalogRefs are always kept.
unread CatalogRefs are always kept .