Clover Coverage Report - Implementation 2.0.0-SNAPSHOT
Coverage timestamp: Wed Dec 31 1969 19:00:00 EST
../../../../../../img/srcFileCovDistChart0.png 0% of files have more coverage
16   68   5   16
6   39   0.31   1
1     5  
1    
 
  RoleNameValuesFinder       Line # 42 16 0% 5 23 0% 0.0
 
No Tests
 
1    /*
2    * Copyright 2007-2009 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.rice.kew.rule.bo;
17   
18    import java.util.ArrayList;
19    import java.util.List;
20   
21    import org.kuali.rice.core.api.exception.RiceRuntimeException;
22    import org.kuali.rice.core.util.ConcreteKeyValue;
23    import org.kuali.rice.core.util.KeyValue;
24    import org.kuali.rice.kew.rule.Role;
25    import org.kuali.rice.kew.rule.RuleBaseValues;
26    import org.kuali.rice.kew.rule.RuleDelegation;
27    import org.kuali.rice.kns.bo.PersistableBusinessObject;
28    import org.kuali.rice.kns.document.MaintenanceDocument;
29    import org.kuali.rice.kns.lookup.keyvalues.KeyValuesBase;
30    import org.kuali.rice.kns.util.GlobalVariables;
31    import org.kuali.rice.kns.web.struts.form.KualiMaintenanceForm;
32   
33    /**
34    * A values finder for generating a list of Role names that can be selected for a given RuleTemplate.
35    *
36    * This is dependant on the template selected on the maintenance document so it needs to use
37    * GlobalVariables to get a reference to the KualiForm so it can examine the business object
38    * and extract the role names from the RuleTemplate.
39    *
40    * @author Kuali Rice Team (rice.collab@kuali.org)
41    */
 
42    public class RoleNameValuesFinder extends KeyValuesBase {
43   
 
44  0 toggle @Override
45    public List<KeyValue> getKeyValues() {
46  0 List<KeyValue> roleNames = new ArrayList<KeyValue>();
47  0 if (GlobalVariables.getKualiForm() != null && GlobalVariables.getKualiForm() instanceof KualiMaintenanceForm) {
48  0 KualiMaintenanceForm form = (KualiMaintenanceForm)GlobalVariables.getKualiForm();
49  0 MaintenanceDocument document = (MaintenanceDocument)form.getDocument();
50  0 PersistableBusinessObject businessObject = document.getNewMaintainableObject().getBusinessObject();
51  0 RuleBaseValues rule = null;
52  0 if (businessObject instanceof RuleBaseValues) {
53  0 rule = (RuleBaseValues)businessObject;
54  0 } else if (businessObject instanceof RuleDelegation) {
55  0 rule = ((RuleDelegation)businessObject).getDelegationRuleBaseValues();
56    } else {
57  0 throw new RiceRuntimeException("Cannot locate RuleBaseValues business object on maintenance document. Business Object was " + businessObject);
58    }
59  0 RuleTemplate ruleTemplate = rule.getRuleTemplate();
60  0 List<Role> roles = ruleTemplate.getRoles();
61  0 for (Role role : roles) {
62  0 roleNames.add(new ConcreteKeyValue(role.getName(), role.getLabel()));
63    }
64    }
65  0 return roleNames;
66    }
67   
68    }