View Javadoc
1   /*
2    * Copyright 2007 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.ole.sys.service.impl;
17  
18  
19  import org.kuali.ole.sys.businessobject.SystemOptions;
20  import org.kuali.ole.sys.context.SpringContext;
21  import org.kuali.ole.sys.service.NonTransactional;
22  import org.kuali.ole.sys.service.OptionsService;
23  import org.kuali.ole.sys.service.UniversityDateService;
24  import org.kuali.rice.krad.service.BusinessObjectService;
25  import org.springframework.cache.annotation.Cacheable;
26  
27  @NonTransactional
28  public class OptionsServiceImpl implements OptionsService {
29      protected UniversityDateService universityDateService;
30  
31      @Override
32      @Cacheable(value=SystemOptions.CACHE_NAME, key="'CurrentFY'")
33      public SystemOptions getCurrentYearOptions() {
34          Integer fy = universityDateService.getCurrentFiscalYear();
35          return SpringContext.getBean(BusinessObjectService.class).findBySinglePrimaryKey(SystemOptions.class, fy);
36      }
37  
38      @Override
39      @Cacheable(value=SystemOptions.CACHE_NAME, key="'universityFiscalYear='+#p0")
40      public SystemOptions getOptions(Integer universityFiscalYear) {
41          return SpringContext.getBean(BusinessObjectService.class).findBySinglePrimaryKey(SystemOptions.class, universityFiscalYear);
42      }
43  
44      public void setUniversityDateService(UniversityDateService universityDateService) {
45          this.universityDateService = universityDateService;
46      }
47  
48  
49  }