コード例 #1
0
        public void CreateIndexer()
        {
            TestUtils.InitializeDefaultExtensionPoints();

            _indexerPath = Path.GetTempPath() + "luceneindexer";
            Directory.CreateDirectory(_indexerPath);
            _solutionKey = new SolutionKey(Guid.NewGuid(), "C:/SolutionPath");
            ServiceLocator.RegisterInstance(_solutionKey);
            ServiceLocator.RegisterInstance<Analyzer>(new SimpleAnalyzer());
            _indexer = new DocumentIndexer();
            ServiceLocator.RegisterInstance(_indexer);

            ClassElement classElement = SampleProgramElementFactory.GetSampleClassElement(
                accessLevel: AccessLevel.Public,
                definitionLineNumber: 11,
                extendedClasses: "SimpleClassBase",
                fullFilePath: "C:/Projects/SimpleClass.cs",
                implementedInterfaces: "IDisposable",
                name: "SimpleName",
                namespaceName: "Sanod.Indexer.UnitTests"
            );
            SandoDocument sandoDocument = DocumentFactory.Create(classElement);
            _indexer.AddDocument(sandoDocument);
            MethodElement methodElement = SampleProgramElementFactory.GetSampleMethodElement(
                accessLevel: AccessLevel.Protected,
                name: "SimpleName",
                returnType: "Void",
                fullFilePath: "C:/stuff"
            );
            sandoDocument = DocumentFactory.Create(methodElement);
            _indexer.AddDocument(sandoDocument);
            Thread.Sleep(2000);
        }
コード例 #2
0
        private void CreateKey(string filesInThisDirectory)
        {
            Directory.CreateDirectory(_indexPath);
            var key = new Sando.Core.Tools.SolutionKey(Guid.NewGuid(), filesInThisDirectory);

            ServiceLocator.RegisterInstance(key);
        }
コード例 #3
0
        public void CreateIndexer()
        {
            TestUtils.InitializeDefaultExtensionPoints();

            _indexerPath = Path.GetTempPath() + "luceneindexer";
            Directory.CreateDirectory(_indexerPath);
            _solutionKey = new SolutionKey(Guid.NewGuid(), "C:/SolutionPath");
            ServiceLocator.RegisterInstance(_solutionKey);
            ServiceLocator.RegisterInstance<Analyzer>(new SimpleAnalyzer());
            _indexer = new DocumentIndexer();
            ServiceLocator.RegisterInstance(_indexer);
            ServiceLocator.RegisterInstance<ISandoOptionsProvider>(new FakeOptionsProvider(String.Empty, 20, false, new List<string>()));

            // xige
            var dictionary = new DictionaryBasedSplitter();
            dictionary.Initialize(PathManager.Instance.GetIndexPath(ServiceLocator.Resolve<SolutionKey>()));
            ServiceLocator.RegisterInstance(dictionary);

            var reformer = new QueryReformerManager(dictionary);
            reformer.Initialize(null);
            ServiceLocator.RegisterInstance(reformer);

            var history = new SearchHistory();
            history.Initialize(PathManager.Instance.GetIndexPath
                (ServiceLocator.Resolve<SolutionKey>()));
            ServiceLocator.RegisterInstance(history);

            ClassElement classElement = SampleProgramElementFactory.GetSampleClassElement(
                accessLevel: AccessLevel.Public,
                definitionLineNumber: 11,
                extendedClasses: "SimpleClassBase",
                fullFilePath: "C:/Projects/SimpleClass.cs",
                implementedInterfaces: "IDisposable",
                name: "SimpleName",
                namespaceName: "Sanod.Indexer.UnitTests"
            );
            SandoDocument sandoDocument = DocumentFactory.Create(classElement);
            _indexer.AddDocument(sandoDocument);
            MethodElement methodElement = SampleProgramElementFactory.GetSampleMethodElement(
                accessLevel: AccessLevel.Protected,
                name: "SimpleName",
                returnType: "Void",
                fullFilePath: "C:/stuff"
            );
            sandoDocument = DocumentFactory.Create(methodElement);
            _indexer.AddDocument(sandoDocument);
            Thread.Sleep(2000);
        }
コード例 #4
0
 public void CreateKey(string filesInThisDirectory)
 {
     Directory.CreateDirectory(_indexPath);
     var key = new Sando.Core.Tools.SolutionKey(Guid.NewGuid(), filesInThisDirectory);
     ServiceLocator.RegisterInstance(key);
 }
コード例 #5
0
 public bool IndexPathExists(SolutionKey key)
 {
     return(LuceneDirectoryHelper.
            DoesLuceneDirectoryForSolutionExist(key.GetSolutionPath(), PathManager.Instance.GetExtensionRoot()));
 }
コード例 #6
0
 public string GetIndexPath(SolutionKey solutionKey)
 {
     return(LuceneDirectoryHelper.GetOrCreateLuceneDirectoryForSolution(solutionKey.GetSolutionPath(), PathManager.Instance.GetExtensionRoot()));
 }
コード例 #7
0
 public void SetUp()
 {
     TestUtils.InitializeDefaultExtensionPoints();
     var solutionKey = ServiceLocator.Resolve<SolutionKey>();
     var newSolutionKey = new SolutionKey(solutionKey.GetSolutionId(), solutionKey.GetSolutionPath());
     ServiceLocator.RegisterInstance(newSolutionKey);
     ServiceLocator.RegisterType<Analyzer, SimpleAnalyzer>();
 }
コード例 #8
0
ファイル: TestUtils.cs プロジェクト: spati2/FSE-2012-SANDO
        public static void InitializeDefaultExtensionPoints()
        {
            FileLogger.SetupDefaultFileLogger(Path.GetTempPath());
            ExtensionPointsRepository extensionPointsRepository = ExtensionPointsRepository.Instance;
            PathManager.Create(Path.GetTempPath());
            var generator = new ABB.SrcML.SrcMLGenerator(SrcMLDirectory);

            extensionPointsRepository.RegisterParserImplementation(new List<string>() { ".cs" }, new SrcMLCSharpParser(generator));
            extensionPointsRepository.RegisterParserImplementation(new List<string>() { ".c", ".h", ".cpp", ".cxx" }, new SrcMLCppParser(generator));

            extensionPointsRepository.RegisterWordSplitterImplementation(new WordSplitter());

            extensionPointsRepository.RegisterResultsReordererImplementation(new SortByScoreResultsReorderer());

            extensionPointsRepository.RegisterQueryWeightsSupplierImplementation(new QueryWeightsSupplier());

            extensionPointsRepository.RegisterQueryRewriterImplementation(new DefaultQueryRewriter());

            var solutionKey = new SolutionKey(Guid.NewGuid(), Path.GetTempPath());
            ServiceLocator.RegisterInstance(solutionKey);

            extensionPointsRepository.RegisterIndexFilterManagerImplementation(new IndexFilterManager());
        }
コード例 #9
0
ファイル: PathManager.cs プロジェクト: spati2/FSE-2012-SANDO
 public bool IndexPathExists(SolutionKey key)
 {
     return LuceneDirectoryHelper.
         DoesLuceneDirectoryForSolutionExist(key.GetSolutionPath(), PathManager.Instance.GetExtensionRoot());
 }
コード例 #10
0
ファイル: PathManager.cs プロジェクト: spati2/FSE-2012-SANDO
 public string GetIndexPath(SolutionKey solutionKey)
 {
     return LuceneDirectoryHelper.GetOrCreateLuceneDirectoryForSolution(solutionKey.GetSolutionPath(), PathManager.Instance.GetExtensionRoot());
 }