Author: mreutegg Date: Thu Jul 7 10:11:00 2011 New Revision: 1143747 URL: http://svn.apache.org/viewvc?rev=1143747&view=rev Log: JCR-3015: EntryCollector may log warning for inexistent item 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 Thu Jul 7 10:11:00 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,1097363,1097513-1097514,1098963-1098964,1099033,1099172,1100286,1104027,1128175,1130192,1130228,113 2993,1136353,1136360,1138511,1141141,1141717 +/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,1097363,1097513-1097514,1098963-1098964,1099033,1099172,1100286,1104027,1128175,1130192,1130228,113 2993,1136353,1136360,1138511,1141141,1141717,1143738 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=1143747&r1=1143746&r2=1143747&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 Thu Jul 7 10:11:00 2011 @@ -28,6 +28,7 @@ import org.apache.jackrabbit.util.Text; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.jcr.ItemNotFoundException; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; @@ -309,7 +310,7 @@ public class EntryCollector extends Acce } private void siftNodeAdded(String identifier) throws RepositoryException { - if (session.nodeExists(getIdentifierPath(identifier))) { + try { NodeImpl n = (NodeImpl) session.getNodeByIdentifier(identifier); if (n.isNodeType(EntryCollector.NT_REP_ACL)) { // a new ACL was added -> use the added node to update @@ -325,7 +326,7 @@ public class EntryCollector extends Acce AccessControlObserver.POLICY_MODIFIED); } /* else: some other node added below an access controlled parent node -> not interested. */ - } else { + } catch (ItemNotFoundException e) { log.debug("Cannot process NODE_ADDED event. Node {} doesn't exist (anymore).", identifier); } } @@ -357,7 +358,7 @@ public class EntryCollector extends Acce } private void siftPropertyChanged(String identifier) throws RepositoryException { - if (session.nodeExists(getIdentifierPath(identifier))) { + try { // test if the changed prop belongs to an ACE NodeImpl parent = (NodeImpl) session.getNodeByIdentifier(identifier); if (parent.isNodeType(EntryCollector.NT_REP_ACE)) { @@ -367,7 +368,7 @@ public class EntryCollector extends Acce } /* some other property below an access controlled node changed -> not interested. (NOTE: rep:ACL doesn't define any properties. */ - } else { + } catch (ItemNotFoundException e) { log.debug("Cannot process PROPERTY_CHANGED event. Node {} doesn't exist (anymore).", identifier); } } @@ -389,12 +390,6 @@ 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(); - } } }