You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2011/06/08 10:52:02 UTC
svn commit: r1133290 - in /jackrabbit/branches/2.2: ./
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java
Author: angela
Date: Wed Jun 8 08:52:02 2011
New Revision: 1133290
URL: http://svn.apache.org/viewvc?rev=1133290&view=rev
Log:
2.2: Merging Revision 1132993
Modified:
jackrabbit/branches/2.2/ (props changed)
jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java
Propchange: jackrabbit/branches/2.2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 8 08:52:02 2011
@@ -2,4 +2,4 @@
/jackrabbit/sandbox/JCR-1456:774917-886178
/jackrabbit/sandbox/JCR-2170:812417-816332
/jackrabbit/sandbox/tripod-JCR-2209:795441-795863
-/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656,1043893,1043897,1044239,1044312,1044451,1044613,1049473,1049491,1049514,1049518,1049520,1049859,1049870,1049874,1049878,1049880,1049883,1049889,1049891,1049894-1049895,1049899-1049901,1049909-1049911,1049915-1049916,1049919,1049923,1049925,1049931,1049936,1049939,1050212,1050298,1050346,1050551,1055068,1055070-1055071,1055116-1055117,1055127,1055134,1055164,1055498,1060431,1060434,1060753,1063756,1064670,1065599,1065622,1066059,1066071,1069831,1071562,1071573,1071680,1074140,1079314,1079317,1080186,1080540,1087304,1088991,1089032,1089053,1089436,1092106,1092117,1092683,1097513-1097514,1098963-1098964,1099033,1099172,1100286,1104027,1128175,1130192,1130228
+/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656,1043893,1043897,1044239,1044312,1044451,1044613,1049473,1049491,1049514,1049518,1049520,1049859,1049870,1049874,1049878,1049880,1049883,1049889,1049891,1049894-1049895,1049899-1049901,1049909-1049911,1049915-1049916,1049919,1049923,1049925,1049931,1049936,1049939,1050212,1050298,1050346,1050551,1055068,1055070-1055071,1055116-1055117,1055127,1055134,1055164,1055498,1060431,1060434,1060753,1063756,1064670,1065599,1065622,1066059,1066071,1069831,1071562,1071573,1071680,1074140,1079314,1079317,1080186,1080540,1087304,1088991,1089032,1089053,1089436,1092106,1092117,1092683,1097513-1097514,1098963-1098964,1099033,1099172,1100286,1104027,1128175,1130192,1130228,1132993
Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java?rev=1133290&r1=1133289&r2=1133290&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java (original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/EntryCollector.java Wed Jun 8 08:52:02 2011
@@ -293,7 +293,7 @@ public class EntryCollector extends Acce
}
} catch (RepositoryException e) {
// should not get here
- log.error("Failed to process ACL event: " + event, e);
+ log.warn("Failed to process ACL event: " + event, e);
}
}
}
@@ -308,23 +308,26 @@ public class EntryCollector extends Acce
return new AccessControlModifications<NodeId>(modMap);
}
- private void siftNodeAdded(String identifier)
- throws RepositoryException {
- NodeImpl n = (NodeImpl) session.getNodeByIdentifier(identifier);
- if (n.isNodeType(EntryCollector.NT_REP_ACL)) {
- // a new ACL was added -> use the added node to update
- // the cache.
- addModification(
- accessControlledIdFromAclNode(n),
- AccessControlObserver.POLICY_ADDED);
- } else if (n.isNodeType(EntryCollector.NT_REP_ACE)) {
- // a new ACE was added -> use the parent node (acl)
- // to update the cache.
- addModification(
- accessControlledIdFromAceNode(n),
- AccessControlObserver.POLICY_MODIFIED);
- } /* else: some other node added below an access controlled
- parent node -> not interested. */
+ private void siftNodeAdded(String identifier) throws RepositoryException {
+ if (session.nodeExists(getIdentifierPath(identifier))) {
+ NodeImpl n = (NodeImpl) session.getNodeByIdentifier(identifier);
+ if (n.isNodeType(EntryCollector.NT_REP_ACL)) {
+ // a new ACL was added -> use the added node to update
+ // the cache.
+ addModification(
+ accessControlledIdFromAclNode(n),
+ AccessControlObserver.POLICY_ADDED);
+ } else if (n.isNodeType(EntryCollector.NT_REP_ACE)) {
+ // a new ACE was added -> use the parent node (acl)
+ // to update the cache.
+ addModification(
+ accessControlledIdFromAceNode(n),
+ AccessControlObserver.POLICY_MODIFIED);
+ } /* else: some other node added below an access controlled
+ parent node -> not interested. */
+ } else {
+ log.debug("Cannot process NODE_ADDED event. Node {} doesn't exist (anymore).", identifier);
+ }
}
private void siftNodeRemoved(String path) throws RepositoryException {
@@ -349,23 +352,24 @@ public class EntryCollector extends Acce
implementation -> ignore
*/
} else {
- log.debug("Cannot process NODE_REMOVED event."
- + " Parent {} doesn't exist (anymore).",
- parentPath);
+ log.debug("Cannot process NODE_REMOVED event. Parent {} doesn't exist (anymore).", parentPath);
}
}
- private void siftPropertyChanged(String identifier)
- throws RepositoryException {
- // test if the changed prop belongs to an ACE
- NodeImpl parent = (NodeImpl) session.getNodeByIdentifier(identifier);
- if (parent.isNodeType(EntryCollector.NT_REP_ACE)) {
- addModification(
- accessControlledIdFromAceNode(parent),
- AccessControlObserver.POLICY_MODIFIED);
- } /* some other property below an access controlled node
+ private void siftPropertyChanged(String identifier) throws RepositoryException {
+ if (session.nodeExists(getIdentifierPath(identifier))) {
+ // test if the changed prop belongs to an ACE
+ NodeImpl parent = (NodeImpl) session.getNodeByIdentifier(identifier);
+ if (parent.isNodeType(EntryCollector.NT_REP_ACE)) {
+ addModification(
+ accessControlledIdFromAceNode(parent),
+ AccessControlObserver.POLICY_MODIFIED);
+ } /* some other property below an access controlled node
changed -> not interested. (NOTE: rep:ACL doesn't
define any properties. */
+ } else {
+ log.debug("Cannot process PROPERTY_CHANGED event. Node {} doesn't exist (anymore).", identifier);
+ }
}
private NodeId accessControlledIdFromAclNode(Node aclNode)
@@ -386,6 +390,11 @@ public class EntryCollector extends Acce
modMap.put(accessControllNodeId, modType);
}
+ private static String getIdentifierPath(String identifier) {
+ StringBuilder sb = new StringBuilder();
+ sb.append('[').append(identifier).append(']');
+ return sb.toString();
+ }
}
}