001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016/* 017 * To change this template, choose Tools | Templates 018 * and open the template in the editor. 019 */ 020package org.kuali.rice.krms.impl.repository.mock; 021 022import org.kuali.rice.krms.api.repository.RuleManagementService; 023import org.kuali.rice.krms.api.repository.term.TermRepositoryService; 024import org.kuali.rice.krms.api.repository.type.KrmsTypeRepositoryService; 025 026/** 027 * 028 * @author nwright 029 */ 030public class KrmsConfigurationLoader { 031 032 private KrmsTypeRepositoryService krmsTypeRepositoryService = null; 033 private RuleManagementService ruleManagementService = null; 034 private TermRepositoryService termRepositoryService = null; 035 036 public KrmsTypeRepositoryService getKrmsTypeRepositoryService() { 037 038 return krmsTypeRepositoryService; 039 } 040 041 public void setKrmsTypeRepositoryService(KrmsTypeRepositoryService krmsTypeRepositoryService) { 042 this.krmsTypeRepositoryService = krmsTypeRepositoryService; 043 } 044 045 public RuleManagementService getRuleManagementService() { 046 return ruleManagementService; 047 } 048 049 public void setRuleManagementService(RuleManagementService ruleManagementService) { 050 this.ruleManagementService = ruleManagementService; 051 } 052 053 public TermRepositoryService getTermRepositoryService() { 054 return termRepositoryService; 055 } 056 057 public void setTermRepositoryService(TermRepositoryService termRepositoryService) { 058 this.termRepositoryService = termRepositoryService; 059 } 060 061 public void loadConfiguration() { 062 this.loadTypes(); 063 this.loadTypeRelations(); 064 this.loadNlUsages(); 065 this.loadNaturalLanguateTemplates(); 066 this.loadTermSpecs(); 067 this.loadTermResolvers(); 068 this.loadContexts(); 069 } 070 071 private void loadTypes() { 072 KrmsTypeLoader loader = new KrmsTypeLoader(); 073 loader.setKrmsTypeRepositoryService(krmsTypeRepositoryService); 074 loader.load(); 075 } 076 077 private void loadTypeRelations() { 078 KrmsTypeRelationLoader loader = new KrmsTypeRelationLoader(); 079 loader.setKrmsTypeRepositoryService(krmsTypeRepositoryService); 080 loader.load(); 081 } 082 083 private void loadNlUsages() { 084 KrmsNaturalLanguageUsageLoader loader = new KrmsNaturalLanguageUsageLoader(); 085 loader.setRuleManagementService(this.ruleManagementService); 086 loader.load(); 087 } 088 089 private void loadNaturalLanguateTemplates() { 090 KrmsNaturalLanguageTemplateLoader loader = new KrmsNaturalLanguageTemplateLoader(); 091 loader.setRuleManagementService(this.ruleManagementService); 092 loader.load(); 093 } 094 095 private void loadTermSpecs() { 096 KrmsTermSpecificationLoader loader = new KrmsTermSpecificationLoader(); 097 loader.setTermRepositoryService(this.termRepositoryService); 098 loader.load(); 099 } 100 101 private void loadTermResolvers() { 102 KrmsTermResolverLoader loader = new KrmsTermResolverLoader(); 103 loader.setTermRepositoryService(this.termRepositoryService); 104 loader.load(); 105 } 106 // TODO: decide if we should even load these instead of find/create them as needed 107 108 private void loadContexts() { 109 KrmsContextLoader loader = new KrmsContextLoader(); 110 loader.setRuleManagementService(this.ruleManagementService); 111 loader.load(); 112 } 113}