package org.tmatesoft.svn.core.internal.wc2.ng; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.internal.wc17.SVNWCContext; import org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb; import org.tmatesoft.svn.core.internal.wc17.db.SvnWcDbReader; import org.tmatesoft.svn.core.wc2.SvnGetStatusSummary; import org.tmatesoft.svn.core.wc2.SvnStatusSummary; public class SvnNgGetStatusSummary extends SvnNgOperationRunner<SvnStatusSummary, SvnGetStatusSummary> { @Override protected SvnStatusSummary run(SVNWCContext context) throws SVNException { long[] minmax = SvnWcDbReader.getMinAndMaxRevisions((SVNWCDb) context.getDb(), getFirstTarget()); boolean sparse = SvnWcDbReader.isSparseCheckout((SVNWCDb) context.getDb(), getFirstTarget()); boolean switched = SvnWcDbReader.hasSwitchedSubtrees((SVNWCDb) context.getDb(), getFirstTarget()); boolean modified = SvnWcDbReader.hasLocalModifications(context, getFirstTarget()); SvnStatusSummary summary = new SvnStatusSummary(); summary.setModified(modified); summary.setSwitched(switched); summary.setSparseCheckout(sparse); summary.setMinRevision(getOperation().isCommitted() ? minmax[2] : minmax[0]); summary.setMaxRevision(getOperation().isCommitted() ? minmax[3] : minmax[1]); return summary; } }