예제 #1
0
        private List <IndexerResource> GetSchema()
        {
            var indexers = _indexerService.Schema();

            var result = new List <IndexerResource>(indexers.Count);

            foreach (var indexer in indexers)
            {
                var indexerResource = new IndexerResource();
                indexerResource.InjectFrom(indexer);
                indexerResource.Fields = SchemaBuilder.GenerateSchema(indexer.Settings);

                result.Add(indexerResource);
            }

            return(result);
        }
예제 #2
0
        private Indexer GetIndexer(IndexerResource indexerResource)
        {
            var indexer = _indexerService.Schema()
                          .SingleOrDefault(i =>
                                           i.Implementation.Equals(indexerResource.Implementation,
                                                                   StringComparison.InvariantCultureIgnoreCase));

            if (indexer == null)
            {
                throw new BadRequestException("Invalid Indexer Implementation");
            }

            indexer.InjectFrom(indexerResource);
            indexer.Settings = SchemaDeserializer.DeserializeSchema(indexer.Settings, indexerResource.Fields);

            ValidateIndexer(indexer);

            return(indexer);
        }