예제 #1
0
        public static VcsDataMapper ConstructDataMapper(
            IDataStore data,
            IVcsData vcsData,
            MappingSettings settings)
        {
            VcsDataMapper dataMapper = new VcsDataMapper(data, vcsData, settings);

            dataMapper.RegisterMapper(new CommitMapper(vcsData));
            dataMapper.RegisterMapper(new TagMapper(vcsData));
            var bugFixDetector = new BugFixDetectorBasedOnLogMessage();

            if (settings.FixMessageKeyWords != null)
            {
                bugFixDetector.KeyWords = settings.FixMessageKeyWords.Split(' ');
            }
            if (settings.FixMessageStopWords != null)
            {
                bugFixDetector.StopWords = settings.FixMessageStopWords.Split(' ');
            }
            dataMapper.RegisterMapper(new BugFixMapper(vcsData, bugFixDetector));
            dataMapper.RegisterMapper(new CommitAttributeMapper(vcsData));
            dataMapper.RegisterMapper(new AuthorMapper(vcsData));
            dataMapper.RegisterMapper(new BranchMapper(vcsData));
            dataMapper.RegisterMapper(new CodeFileMapper(vcsData)
            {
                FastMergeProcessing = settings.FastMergeProcessing
            });
            dataMapper.RegisterMapper(new ModificationMapper(vcsData));
            dataMapper.RegisterMapper(new BlamePreLoader(vcsData), true);
            dataMapper.RegisterMapper(new CodeBlockMapper(vcsData));

            return(dataMapper);
        }
예제 #2
0
 public VcsDataMapperTest()
 {
     data         = new InMemoryDataStore(Guid.NewGuid().ToString());
     settings     = new VcsDataMapper.MappingSettings();
     mapper       = new VcsDataMapper(data, vcsData, settings);
     commitMapper = Substitute.For <CommitMapper>((IVcsData)null);
     bugFixMapper = Substitute.For <BugFixMapper>(null, null);
     fileMapper   = Substitute.For <CodeFileMapper>((IVcsData)null);
 }