package org.tmatesoft.svn.core.internal.wc2.old; import java.io.File; import java.util.Collection; import java.util.Collections; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.internal.wc16.SVNChangelistClient16; import org.tmatesoft.svn.core.wc2.SvnSetChangelist; import org.tmatesoft.svn.core.wc2.SvnTarget; public class SvnOldSetChangelist extends SvnOldRunner<Void, SvnSetChangelist> { @Override protected Void run() throws SVNException { SVNChangelistClient16 client = new SVNChangelistClient16(getOperation().getRepositoryPool(), getOperation().getOptions()); client.setEventHandler(getOperation().getEventHandler()); File[] paths = new File[getOperation().getTargets().size()]; int i = 0; for (SvnTarget target : getOperation().getTargets()) { paths[i++] = target.getFile(); } Collection<String> applicableChangelists = getOperation().getApplicableChangelists(); if (applicableChangelists == null) { applicableChangelists = Collections.emptyList(); } if (getOperation().isRemove()) { client.doRemoveFromChangelist(paths, getOperation().getDepth(), applicableChangelists.toArray(new String[applicableChangelists.size()])); } else { client.doAddToChangelist(paths, getOperation().getDepth(), getOperation().getChangelistName(), applicableChangelists.toArray(new String[applicableChangelists.size()])); } return null; } }