1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.sec.businessobject;
20
21 import java.util.ArrayList;
22 import java.util.LinkedHashMap;
23 import java.util.List;
24
25 import org.apache.commons.lang.StringUtils;
26 import org.kuali.kfs.sys.KFSPropertyConstants;
27 import org.kuali.kfs.sys.context.SpringContext;
28 import org.kuali.rice.kim.api.identity.Person;
29 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
30
31
32
33
34 public class SecurityPrincipal extends PersistableBusinessObjectBase {
35 protected String principalId;
36
37 protected Person securityPerson;
38
39 protected List<SecurityPrincipalDefinition> principalDefinitions = new ArrayList<SecurityPrincipalDefinition>();
40 protected List<SecurityModelMember> principalModels = new ArrayList<SecurityModelMember>();
41
42
43
44
45
46
47 public String getPrincipalId() {
48 return principalId;
49 }
50
51
52
53
54
55
56
57 public void setPrincipalId(String principalId) {
58 this.principalId = principalId;
59 }
60
61
62
63
64
65
66
67 public Person getSecurityPerson() {
68 securityPerson = SpringContext.getBean(org.kuali.rice.kim.api.identity.PersonService.class).updatePersonIfNecessary(principalId, securityPerson);
69 return securityPerson;
70 }
71
72
73
74
75
76
77
78 public void setSecurityPerson(Person securityPerson) {
79 this.securityPerson = securityPerson;
80 }
81
82
83
84
85
86
87
88 public List<SecurityPrincipalDefinition> getPrincipalDefinitions() {
89 return principalDefinitions;
90 }
91
92
93
94
95
96
97
98 public void setPrincipalDefinitions(List<SecurityPrincipalDefinition> principalDefinitions) {
99 this.principalDefinitions = principalDefinitions;
100 }
101
102
103
104
105
106
107
108 public List<SecurityModelMember> getPrincipalModels() {
109 return principalModels;
110 }
111
112
113
114
115
116
117
118 public void setPrincipalModels(List<SecurityModelMember> principalModels) {
119 this.principalModels = principalModels;
120 }
121
122
123
124
125 public String getPrincipalDefinitionNames() {
126 String definitionNames = "";
127
128 for (SecurityPrincipalDefinition definition : principalDefinitions) {
129 if (StringUtils.isNotBlank(definitionNames)) {
130 definitionNames += ", ";
131 }
132 definitionNames += definition.getSecurityDefinition().getName();
133 }
134
135 return definitionNames;
136 }
137
138
139
140
141 public String getPrincipalModelNames() {
142 String modelNames = "";
143
144 for (SecurityModelMember modelMember : principalModels) {
145 if (StringUtils.isNotBlank(modelNames)) {
146 modelNames += ", ";
147 }
148 modelNames += modelMember.getSecurityModel().getName();
149 }
150
151 return modelNames;
152 }
153
154
155 @Override
156 public String toString() {
157 StringBuilder builder = new StringBuilder();
158 builder.append("SecurityPrincipal [");
159 if (principalId != null) {
160 builder.append("principalId=");
161 builder.append(principalId);
162 builder.append(", ");
163 }
164 if (getPrincipalDefinitionNames() != null) {
165 builder.append("getPrincipalDefinitionNames()=");
166 builder.append(getPrincipalDefinitionNames());
167 builder.append(", ");
168 }
169 if (getPrincipalModelNames() != null) {
170 builder.append("getPrincipalModelNames()=");
171 builder.append(getPrincipalModelNames());
172 }
173 builder.append("]");
174 return builder.toString();
175 }
176
177
178 }