001    /*
002     * To change this template, choose Tools | Templates
003     * and open the template in the editor.
004     */
005    package org.kuali.rice.krms.impl.repository.mock;
006    
007    import org.kuali.rice.krms.api.repository.RuleManagementService;
008    import org.kuali.rice.krms.api.repository.term.TermRepositoryService;
009    import org.kuali.rice.krms.api.repository.type.KrmsTypeRepositoryService;
010    
011    /**
012     *
013     * @author nwright
014     */
015    public 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    }