Line 146
Link Here
|
146 |
AccessDeniedException { |
146 |
AccessDeniedException, VetoException { |
147 |
-- |
|
|
Line 155
Link Here
|
|
|
155 |
|
156 |
// Diff permissions |
157 |
Enumeration oldPermissions = |
158 |
objectUri.getStore().enumeratePermissions(objectUri); |
159 |
Vector oldPermissionVector = new Vector(); |
160 |
while ( oldPermissions.hasMoreElements() ) |
161 |
oldPermissionVector.add(oldPermissions.nextElement()); |
162 |
Vector newPermissionVector = new Vector(); |
163 |
while (permissions.hasMoreElements()) |
164 |
newPermissionVector.add(permissions.nextElement()); |
Line 156
Link Here
|
|
|
166 |
Vector removedPermissions = new Vector(oldPermissionVector); |
167 |
removedPermissions.removeAll(newPermissionVector); |
168 |
Vector addedPermissions = new Vector(newPermissionVector); |
169 |
addedPermissions.removeAll(oldPermissionVector); |
170 |
|
171 |
// Set permissions |
Line 158
Link Here
|
|
|
174 |
permissions = newPermissionVector.elements(); |
Line 164
Link Here
|
|
|
181 |
// Fire events |
182 |
permissions = removedPermissions.elements(); |
183 |
while ( permissions.hasMoreElements() ) |
184 |
{ |
185 |
NodePermission permission = |
186 |
(NodePermission)permissions.nextElement(); |
187 |
if ( SecurityEvent.REVOKE_PERMISSION.isEnabled() ) EventDispatcher.getInstance().fireVetoableEvent(SecurityEvent.REVOKE_PERMISSION, new SecurityEvent(this, token, namespace, objectUri, permission)); |
188 |
} |
189 |
permissions = addedPermissions.elements(); |
190 |
while ( permissions.hasMoreElements() ) |
191 |
{ |
192 |
NodePermission permission = |
193 |
(NodePermission)permissions.nextElement(); |
194 |
if ( permission.isNegative() ) { |
195 |
if ( SecurityEvent.DENY_PERMISSION.isEnabled() ) EventDispatcher.getInstance().fireVetoableEvent(SecurityEvent.DENY_PERMISSION, new SecurityEvent(this, token, namespace, objectUri, permission)); |
196 |
} else { |
197 |
if ( SecurityEvent.GRANT_PERMISSION.isEnabled() ) EventDispatcher.getInstance().fireVetoableEvent(SecurityEvent.GRANT_PERMISSION, new SecurityEvent(this, token, namespace, objectUri, permission)); |
198 |
} |
199 |
|
200 |
} |