001/*
002 * To change this template, choose Tools | Templates
003 * and open the template in the editor.
004 */
005package org.kuali.rice.krms.impl.repository.mock;
006
007import org.kuali.rice.krms.api.repository.RuleManagementService;
008import org.kuali.rice.krms.api.repository.term.TermRepositoryService;
009import org.kuali.rice.krms.api.repository.type.KrmsTypeRepositoryService;
010
011/**
012 *
013 * @author nwright
014 */
015public class KrmsConfigurationLoader {
016
017    private KrmsTypeRepositoryService krmsTypeRepositoryService = null;
018    private RuleManagementService ruleManagementService = null;
019    private TermRepositoryService termRepositoryService = null;
020
021    public KrmsTypeRepositoryService getKrmsTypeRepositoryService() {
022
023        return krmsTypeRepositoryService;
024    }
025
026    public void setKrmsTypeRepositoryService(KrmsTypeRepositoryService krmsTypeRepositoryService) {
027        this.krmsTypeRepositoryService = krmsTypeRepositoryService;
028    }
029
030    public RuleManagementService getRuleManagementService() {
031        return ruleManagementService;
032    }
033
034    public void setRuleManagementService(RuleManagementService ruleManagementService) {
035        this.ruleManagementService = ruleManagementService;
036    }
037
038    public TermRepositoryService getTermRepositoryService() {
039        return termRepositoryService;
040    }
041
042    public void setTermRepositoryService(TermRepositoryService termRepositoryService) {
043        this.termRepositoryService = termRepositoryService;
044    }
045
046    public void loadConfiguration() {
047        this.loadTypes();
048        this.loadTypeRelations();
049        this.loadNlUsages();
050        this.loadNaturalLanguateTemplates();
051        this.loadTermSpecs();
052        this.loadTermResolvers();
053        this.loadContexts();
054    }
055
056    private void loadTypes() {
057        KrmsTypeLoader loader = new KrmsTypeLoader();
058        loader.setKrmsTypeRepositoryService(krmsTypeRepositoryService);
059        loader.load();
060    }
061
062    private void loadTypeRelations() {
063        KrmsTypeRelationLoader loader = new KrmsTypeRelationLoader();
064        loader.setKrmsTypeRepositoryService(krmsTypeRepositoryService);
065        loader.load();
066    }
067
068    private void loadNlUsages() {
069        KrmsNaturalLanguageUsageLoader loader = new KrmsNaturalLanguageUsageLoader();
070        loader.setRuleManagementService(this.ruleManagementService);
071        loader.load();
072    }
073
074    private void loadNaturalLanguateTemplates() {
075        KrmsNaturalLanguageTemplateLoader loader = new KrmsNaturalLanguageTemplateLoader();
076        loader.setRuleManagementService(this.ruleManagementService);
077        loader.load();
078    }
079
080    private void loadTermSpecs() {
081        KrmsTermSpecificationLoader loader = new KrmsTermSpecificationLoader();
082        loader.setTermRepositoryService(this.termRepositoryService);
083        loader.load();
084    }
085
086    private void loadTermResolvers() {
087        KrmsTermResolverLoader loader = new KrmsTermResolverLoader();
088        loader.setTermRepositoryService(this.termRepositoryService);
089        loader.load();
090    }
091    // TODO: decide if we should even load these instead of find/create them as needed
092
093    private void loadContexts() {
094        KrmsContextLoader loader = new KrmsContextLoader();
095        loader.setRuleManagementService(this.ruleManagementService);
096        loader.load();
097    }
098}