GeoKnow/Jassa-Core

View on GitHub
trash/to-port/facete/services/FacetValueService.js

Summary

Maintainability
A
0 mins
Test Coverage
    ns.FacetValueService = Class.create({
        initialize: function(sparqlService, facetTreeConfig) {
            this.sparqlService = sparqlService;
            this.facetTreeConfig = facetTreeConfig;
        },
      
        getFacetTreeConfig: function() {
            return this.facetTreeConfig;
        },
        
        createFacetValueFetcher: function(path, filterText, excludeSelfConstraints) {

            excludeSelfConstraints = excludeSelfConstraints || true;
            
            var facetConfig = this.facetTreeConfig.getFacetConfig();

            var facetConceptGenerator = ns.FaceteUtils.createFacetConceptGenerator(facetConfig);
            var concept = facetConceptGenerator.createConceptResources(path, excludeSelfConstraints);
            var constraintTaggerFactory = new ns.ConstraintTaggerFactory(facetConfig.getConstraintManager());
            
            var store = new sponate.StoreFacade(this.sparqlService);
            var labelMap = sponate.SponateUtils.createDefaultLabelMap();
            store.addMap(labelMap, 'labels');
            var labelsStore = store.labels;
            
            var criteria = {};
            if(filterText) {
                criteria = {$or: [
                    {hiddenLabels: {$elemMatch: {id: {$regex: filterText, $options: 'i'}}}},
                    {id: {$regex: filterText, $options: 'i'}}
                ]};
            }
            var baseFlow = labelsStore.find(criteria).concept(concept, true);

            var result = new ns.FacetValueFetcher(baseFlow, this.facetTreeConfig, path);
            return result;
        }
    });