1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.rice.kim.impl.jaxb;
20
21 import java.io.Serializable;
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import javax.xml.bind.annotation.XmlAccessType;
26 import javax.xml.bind.annotation.XmlAccessorType;
27 import javax.xml.bind.annotation.XmlElement;
28 import javax.xml.bind.annotation.XmlTransient;
29 import javax.xml.bind.annotation.XmlType;
30 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
31
32 import org.kuali.rice.core.util.jaxb.NameAndNamespacePair;
33 import org.kuali.rice.core.util.jaxb.NameAndNamespacePairValidatingAdapter;
34 import org.kuali.rice.core.util.jaxb.StringTrimmingAdapter;
35 import org.kuali.rice.kim.api.jaxb.NameAndNamespacePairToPermTemplateIdAdapter;
36 import org.kuali.rice.kim.api.jaxb.PermissionDetailListAdapter;
37 import org.kuali.rice.kim.api.permission.PermissionContract;
38
39
40
41
42
43
44 @XmlAccessorType(XmlAccessType.FIELD)
45 @XmlType(name="PermissionType", propOrder={
46 "permissionNameAndNamespace", "permissionTemplateId", "permissionDescription", "active", "permissionDetails"
47 })
48 public class PermissionXmlDTO implements Serializable {
49
50 private static final long serialVersionUID = 1L;
51
52 @XmlTransient
53 private String permissionId;
54
55 @XmlElement(name="permissionName")
56 @XmlJavaTypeAdapter(NameAndNamespacePairValidatingAdapter.class)
57 private NameAndNamespacePair permissionNameAndNamespace;
58
59 @XmlElement(name="templateName")
60 @XmlJavaTypeAdapter(NameAndNamespacePairToPermTemplateIdAdapter.class)
61 private String permissionTemplateId;
62
63 @XmlElement(name="description")
64 @XmlJavaTypeAdapter(StringTrimmingAdapter.class)
65 private String permissionDescription;
66
67 @XmlElement(name="active")
68 private Boolean active;
69
70 @XmlElement(name="permissionDetails")
71 @XmlJavaTypeAdapter(PermissionDetailListAdapter.class)
72 private Map<String, String> permissionDetails;
73
74 public PermissionXmlDTO() {
75 this.active = Boolean.TRUE;
76 }
77
78 public PermissionXmlDTO(PermissionContract permission) {
79 this.permissionNameAndNamespace = new NameAndNamespacePair(permission.getNamespaceCode(), permission.getName());
80 this.permissionTemplateId = permission.getTemplate().getId();
81 this.permissionDescription = permission.getDescription();
82 this.active = Boolean.valueOf(permission.isActive());
83 this.permissionDetails = (permission.getAttributes() != null) ?
84 new HashMap<String, String>(permission.getAttributes()) : new HashMap<String, String>();
85 }
86
87
88
89
90 public String getPermissionId() {
91 return this.permissionId;
92 }
93
94
95
96
97 public void setPermissionId(String permissionId) {
98 this.permissionId = permissionId;
99 }
100
101
102
103
104 public NameAndNamespacePair getPermissionNameAndNamespace() {
105 return this.permissionNameAndNamespace;
106 }
107
108
109
110
111 public void setPermissionNameAndNamespace(NameAndNamespacePair permissionNameAndNamespace) {
112 this.permissionNameAndNamespace = permissionNameAndNamespace;
113 }
114
115
116
117
118 public String getPermissionTemplateId() {
119 return this.permissionTemplateId;
120 }
121
122
123
124
125 public void setPermissionTemplateId(String permissionTemplateId) {
126 this.permissionTemplateId = permissionTemplateId;
127 }
128
129
130
131
132 public String getPermissionDescription() {
133 return this.permissionDescription;
134 }
135
136
137
138
139 public void setPermissionDescription(String permissionDescription) {
140 this.permissionDescription = permissionDescription;
141 }
142
143
144
145
146 public Boolean getActive() {
147 return this.active;
148 }
149
150
151
152
153 public void setActive(Boolean active) {
154 this.active = active;
155 }
156
157
158
159
160 public Map<String, String> getPermissionDetails() {
161 return this.permissionDetails;
162 }
163
164
165
166
167 public void setPermissionDetails(Map<String, String> permissionDetails) {
168 this.permissionDetails = permissionDetails;
169 }
170
171
172
173
174
175
176 public String getPermissionName() {
177 return (permissionNameAndNamespace != null) ? permissionNameAndNamespace.getName() : null;
178 }
179
180
181
182
183
184
185 public String getNamespaceCode() {
186 return (permissionNameAndNamespace != null) ? permissionNameAndNamespace.getNamespaceCode() : null;
187 }
188 }