You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/03/13 17:23:47 UTC
svn commit: r1456023 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java
Author: mduerig
Date: Wed Mar 13 16:23:47 2013
New Revision: 1456023
URL: http://svn.apache.org/r1456023
Log:
OAK-672: Avoid JCR APIs calling other JCR APIs
- Clean up checkProtected
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java?rev=1456023&r1=1456022&r2=1456023&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java Wed Mar 13 16:23:47 2013
@@ -20,7 +20,6 @@ import javax.annotation.Nonnull;
import javax.jcr.InvalidItemStateException;
import javax.jcr.Item;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.nodetype.ConstraintViolationException;
@@ -190,6 +189,8 @@ abstract class ItemImpl<T extends ItemDe
// TODO: validate item state.
}
+ protected abstract ItemDefinition getDefinition() throws RepositoryException;
+
public void checkProtected() throws RepositoryException {
if (DISABLE_TRANSIENT_DEFINITION_CHECKS) {
return;
@@ -197,7 +198,7 @@ abstract class ItemImpl<T extends ItemDe
ItemDefinition definition;
try {
- definition = (isNode()) ? ((Node) this).getDefinition() : ((Property) this).getDefinition();
+ definition = getDefinition();
}
catch (RepositoryException ignore) {
// No definition -> not protected but a different error which should be handled else where