1 package org
.jetbrains
.idea
.svn
;
3 import com
.intellij
.openapi
.progress
.ProgressIndicator
;
4 import com
.intellij
.openapi
.vcs
.changes
.ChangeListManager
;
5 import com
.intellij
.openapi
.vcs
.impl
.ExcludedFileIndex
;
6 import com
.intellij
.openapi
.vfs
.VirtualFile
;
7 import org
.tmatesoft
.svn
.core
.SVNCancelException
;
8 import org
.tmatesoft
.svn
.core
.SVNException
;
9 import org
.tmatesoft
.svn
.core
.wc
.ISVNEventHandler
;
10 import org
.tmatesoft
.svn
.core
.wc
.ISVNStatusFileProvider
;
11 import org
.tmatesoft
.svn
.core
.wc
.SVNEvent
;
12 import org
.tmatesoft
.svn
.core
.wc
.SVNStatusClient
;
14 public class StatusWalkerPartnerImpl
implements StatusWalkerPartner
{
15 private final SvnVcs myVcs
;
16 private final ChangeListManager myClManager
;
17 private final ExcludedFileIndex myExcludedFileIndex
;
18 private final ProgressIndicator myIndicator
;
19 private ISVNStatusFileProvider myFileProvider
;
21 public StatusWalkerPartnerImpl(final SvnVcs vcs
, final ProgressIndicator pi
) {
23 myClManager
= ChangeListManager
.getInstance(myVcs
.getProject());
24 myExcludedFileIndex
= ExcludedFileIndex
.getInstance(myVcs
.getProject());
28 public void setFileProvider(final ISVNStatusFileProvider fileProvider
) {
29 myFileProvider
= fileProvider
;
32 public SVNStatusClient
createStatusClient() {
33 final SVNStatusClient result
= myVcs
.createStatusClient();
34 result
.setFilesProvider(myFileProvider
);
35 result
.setEventHandler(new ISVNEventHandler() {
36 public void handleEvent(SVNEvent event
, double progress
) throws SVNException
{
40 public void checkCancelled() throws SVNCancelException
{
41 if (myIndicator
!= null) {
42 myIndicator
.checkCanceled();
49 public void checkCanceled() {
50 if (myIndicator
!= null) {
51 myIndicator
.checkCanceled();
55 public boolean isExcluded(VirtualFile vFile
) {
56 return myExcludedFileIndex
.isExcludedFile(vFile
);
59 public boolean isIgnoredIdeaLevel(VirtualFile vFile
) {
60 return myClManager
.isIgnoredFile(vFile
);