Coverage Report - net.sf.statsvn.util.svnkit.SvnKitProcessor
 
Classes in this File Line Coverage Branch Coverage Complexity
SvnKitProcessor
0%
0/22
0%
0/16
2.167
 
 1  
 package net.sf.statsvn.util.svnkit;
 2  
 
 3  
 import java.io.File;
 4  
 
 5  
 import net.sf.statsvn.output.SvnConfigurationOptions;
 6  
 import net.sf.statsvn.util.ISvnDiffProcessor;
 7  
 import net.sf.statsvn.util.ISvnInfoProcessor;
 8  
 import net.sf.statsvn.util.ISvnProcessor;
 9  
 import net.sf.statsvn.util.ISvnPropgetProcessor;
 10  
 import net.sf.statsvn.util.ISvnVersionProcessor;
 11  
 
 12  
 import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
 13  
 import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
 14  
 import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl;
 15  
 import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
 16  
 import org.tmatesoft.svn.core.wc.SVNClientManager;
 17  
 import org.tmatesoft.svn.core.wc.SVNWCUtil;
 18  
 
 19  
 /**
 20  
  * Base svnkit processor. 
 21  
  * 
 22  
  * @author jkealey, yogesh
 23  
  *
 24  
  */
 25  0
 public class SvnKitProcessor implements ISvnProcessor {
 26  
 
 27  
     
 28  
     private File checkoutDirectory;
 29  
     private ISvnDiffProcessor diffProcessorInstance;
 30  
     
 31  
     private ISvnInfoProcessor infoProcessorInstance;
 32  
     private SVNClientManager manager;
 33  
     
 34  
     private ISvnPropgetProcessor propgetProcessorInstance;
 35  
     private ISvnVersionProcessor versionProcessorInstance;
 36  
     
 37  
     public File getCheckoutDirectory()
 38  
     {
 39  0
         if (checkoutDirectory==null)
 40  
         {
 41  0
             checkoutDirectory = SvnConfigurationOptions.getCheckedOutDirectoryAsFile();
 42  
         }
 43  0
         return checkoutDirectory;
 44  
     }
 45  
     public ISvnDiffProcessor getDiffProcessor()
 46  
     {
 47  0
         if (diffProcessorInstance==null) diffProcessorInstance = new SvnKitDiff(this);
 48  0
         return diffProcessorInstance;
 49  
     }
 50  
     
 51  
     public ISvnInfoProcessor getInfoProcessor()
 52  
     {
 53  0
         if (infoProcessorInstance==null) infoProcessorInstance = new SvnKitInfo(this);
 54  0
         return infoProcessorInstance;
 55  
     }
 56  
     public SVNClientManager getManager()
 57  
     {
 58  0
         if (manager==null) 
 59  
         {
 60  
             // initialize 
 61  0
             DAVRepositoryFactory.setup();
 62  0
             SVNRepositoryFactoryImpl.setup();
 63  0
             FSRepositoryFactory.setup();
 64  
             
 65  
             //readonly - configuration options are available only for reading
 66  0
             DefaultSVNOptions options = SVNWCUtil.createDefaultOptions(true);
 67  0
             options.setAuthStorageEnabled(false);
 68  
                     
 69  
             // Creates an instance of SVNClientManager providing an options driver & username & password 
 70  0
             if (SvnConfigurationOptions.getSvnUsername()!=null && SvnConfigurationOptions.getSvnPassword()!=null)
 71  0
                 manager = SVNClientManager.newInstance(options, SvnConfigurationOptions.getSvnUsername(), SvnConfigurationOptions.getSvnPassword());
 72  
             else
 73  0
                 manager = SVNClientManager.newInstance(options);
 74  
         }
 75  0
         return manager;
 76  
     }  
 77  
     
 78  
     public ISvnPropgetProcessor getPropgetProcessor()
 79  
     {
 80  0
         if (propgetProcessorInstance==null) propgetProcessorInstance = new SvnKitPropget(this);
 81  0
         return propgetProcessorInstance;
 82  
     }
 83  
     public ISvnVersionProcessor getVersionProcessor()
 84  
     {
 85  0
         if (versionProcessorInstance==null) versionProcessorInstance = new SvnKitVersion(this);
 86  0
         return versionProcessorInstance;
 87  
     }     
 88  
 }