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 ju...@apache.org on 2013/02/28 23:42:43 UTC
svn commit: r1451410 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/
Author: jukka
Date: Thu Feb 28 22:42:43 2013
New Revision: 1451410
URL: http://svn.apache.org/r1451410
Log:
OAK-652: ItemImpl.checkProtected() is too slow
No need to keep a ValueFactory around
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/AbstractTypeDefinition.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ItemDefinitionImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeDefinitionImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/AbstractTypeDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/AbstractTypeDefinition.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/AbstractTypeDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/AbstractTypeDefinition.java Thu Feb 28 22:42:43 2013
@@ -20,7 +20,6 @@ import static com.google.common.base.Pre
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
-import javax.jcr.ValueFactory;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
@@ -37,14 +36,10 @@ abstract class AbstractTypeDefinition {
protected final Tree definition;
- protected final ValueFactory factory;
-
protected final NamePathMapper mapper;
- protected AbstractTypeDefinition(
- Tree definition, ValueFactory factory, NamePathMapper mapper) {
+ protected AbstractTypeDefinition(Tree definition, NamePathMapper mapper) {
this.definition = checkNotNull(definition);
- this.factory = factory;
this.mapper = checkNotNull(mapper);
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ItemDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ItemDefinitionImpl.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ItemDefinitionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ItemDefinitionImpl.java Thu Feb 28 22:42:43 2013
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.oak.plugins.nodetype;
-import javax.jcr.ValueFactory;
import javax.jcr.nodetype.ItemDefinition;
import javax.jcr.nodetype.NodeType;
import javax.jcr.version.OnParentVersionAction;
@@ -40,9 +39,8 @@ import org.apache.jackrabbit.oak.namepat
class ItemDefinitionImpl extends AbstractTypeDefinition
implements ItemDefinition {
- protected ItemDefinitionImpl(
- Tree definition, ValueFactory factory, NamePathMapper mapper) {
- super(definition, factory, mapper);
+ protected ItemDefinitionImpl(Tree definition, NamePathMapper mapper) {
+ super(definition, mapper);
}
String getOakName() {
@@ -57,7 +55,7 @@ class ItemDefinitionImpl extends Abstrac
@Override
public NodeType getDeclaringNodeType() {
- return new NodeTypeImpl(definition.getParent(), factory, mapper);
+ return new NodeTypeImpl(definition.getParent(), mapper);
}
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeDefinitionImpl.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeDefinitionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeDefinitionImpl.java Thu Feb 28 22:42:43 2013
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import static com.google.common.base.Preconditions.checkState;
-import javax.jcr.ValueFactory;
import javax.jcr.nodetype.NodeDefinition;
import javax.jcr.nodetype.NodeType;
@@ -37,9 +36,8 @@ import org.apache.jackrabbit.oak.namepat
*/
class NodeDefinitionImpl extends ItemDefinitionImpl implements NodeDefinition {
- protected NodeDefinitionImpl(
- Tree definition, ValueFactory factory, NamePathMapper mapper) {
- super(definition, factory, mapper);
+ NodeDefinitionImpl(Tree definition, NamePathMapper mapper) {
+ super(definition, mapper);
}
//-----------------------------------------------------< NodeDefinition >---
@@ -68,7 +66,7 @@ class NodeDefinitionImpl extends ItemDef
for (int i = 0; i < oakNames.length; i++) {
Tree type = root.getChild(oakNames[i]);
checkState(type != null);
- types[i] = new NodeTypeImpl(type, factory, mapper);
+ types[i] = new NodeTypeImpl(type, mapper);
}
return types;
}
@@ -90,7 +88,7 @@ class NodeDefinitionImpl extends ItemDef
Tree root = definition.getParent().getParent();
Tree type = root.getChild(oakName);
checkState(type != null);
- return new NodeTypeImpl(type, factory, mapper);
+ return new NodeTypeImpl(type, mapper);
} else {
return null;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java Thu Feb 28 22:42:43 2013
@@ -30,7 +30,6 @@ import javax.annotation.CheckForNull;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import javax.jcr.ValueFactory;
import javax.jcr.nodetype.NoSuchNodeTypeException;
import javax.jcr.nodetype.NodeDefinition;
import javax.jcr.nodetype.NodeType;
@@ -93,8 +92,8 @@ class NodeTypeImpl extends AbstractTypeD
private static final String[] NO_NAMES = new String[0];
- NodeTypeImpl(Tree type, ValueFactory factory, NamePathMapper mapper) {
- super(type, factory, mapper);
+ NodeTypeImpl(Tree type, NamePathMapper mapper) {
+ super(type, mapper);
}
private String getOakName() {
@@ -165,8 +164,7 @@ class NodeTypeImpl extends AbstractTypeD
List<PropertyDefinition> definitions = Lists.newArrayList();
for (Tree child : definition.getChildren()) {
if (child.getName().startsWith(JCR_PROPERTYDEFINITION)) {
- definitions.add(
- new PropertyDefinitionImpl(child, factory, mapper));
+ definitions.add(new PropertyDefinitionImpl(child, mapper));
}
}
return definitions.toArray(NO_PROPERTY_DEFINITIONS);
@@ -177,8 +175,7 @@ class NodeTypeImpl extends AbstractTypeD
List<NodeDefinition> definitions = Lists.newArrayList();
for (Tree child : definition.getChildren()) {
if (child.getName().startsWith(JCR_CHILDNODEDEFINITION)) {
- definitions.add(
- new NodeDefinitionImpl(child, factory, mapper));
+ definitions.add(new NodeDefinitionImpl(child, mapper));
}
}
return definitions.toArray(NO_NODE_DEFINITIONS);
@@ -200,7 +197,7 @@ class NodeTypeImpl extends AbstractTypeD
Tree supertype = root.getChild(oakName);
checkState(supertype != null);
supertypes.put(
- oakName, new NodeTypeImpl(supertype, factory, mapper));
+ oakName, new NodeTypeImpl(supertype, mapper));
addSupertypes(supertype, supertypes);
}
}
@@ -217,7 +214,7 @@ class NodeTypeImpl extends AbstractTypeD
for (int i = 0; i < oakNames.length; i++) {
Tree type = root.getChild(oakNames[i]);
checkState(type != null);
- supertypes[i] = new NodeTypeImpl(type, factory, mapper);
+ supertypes[i] = new NodeTypeImpl(type, mapper);
}
}
return supertypes;
@@ -256,8 +253,7 @@ class NodeTypeImpl extends AbstractTypeD
for (String subname : subnames) {
if (!subtypes.containsKey(subname)) {
Tree tree = root.getChild(subname);
- subtypes.put(
- subname, new NodeTypeImpl(tree, factory, mapper));
+ subtypes.put(subname, new NodeTypeImpl(tree, mapper));
}
}
}
@@ -274,7 +270,7 @@ class NodeTypeImpl extends AbstractTypeD
if (supertypes != null) {
for (String name : supertypes.getValue(Type.NAMES)) {
if (oakName.equals(name)) {
- subtypes.add(new NodeTypeImpl(child, factory, mapper));
+ subtypes.add(new NodeTypeImpl(child, mapper));
break;
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java Thu Feb 28 22:42:43 2013
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.plugin
import java.util.List;
import javax.jcr.Value;
-import javax.jcr.ValueFactory;
import javax.jcr.nodetype.PropertyDefinition;
import javax.jcr.query.qom.QueryObjectModelConstants;
@@ -63,9 +62,8 @@ class PropertyDefinitionImpl extends Ite
private static final Value[] NO_VALUES = new Value[0];
- public PropertyDefinitionImpl(
- Tree definition, ValueFactory factory, NamePathMapper mapper) {
- super(definition, factory, mapper);
+ PropertyDefinitionImpl(Tree definition, NamePathMapper mapper) {
+ super(definition, mapper);
}
/**
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java?rev=1451410&r1=1451409&r2=1451410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/ReadOnlyNodeTypeManager.java Thu Feb 28 22:42:43 2013
@@ -190,10 +190,9 @@ public abstract class ReadOnlyNodeTypeMa
List<NodeType> list = Lists.newArrayList();
Tree types = getTypes();
if (types != null) {
- ValueFactory factory = getValueFactory();
NamePathMapper mapper = getNamePathMapper();
for (Tree type : types.getChildren()) {
- list.add(new NodeTypeImpl(type, factory, mapper));
+ list.add(new NodeTypeImpl(type, mapper));
}
}
return new NodeTypeIteratorAdapter(list);
@@ -469,17 +468,14 @@ public abstract class ReadOnlyNodeTypeMa
//-----------------------------------------------------------< internal >---
NodeTypeImpl internalGetNodeType(String oakName) throws NoSuchNodeTypeException {
- ValueFactory factory = getValueFactory();
- NamePathMapper mapper = getNamePathMapper();
-
Tree types = getTypes();
if (types != null) {
Tree type = types.getChild(oakName);
if (type != null) {
- return new NodeTypeImpl(type, factory, mapper);
+ return new NodeTypeImpl(type, getNamePathMapper());
}
}
- throw new NoSuchNodeTypeException(mapper.getJcrName(oakName));
+ throw new NoSuchNodeTypeException(getNamePathMapper().getJcrName(oakName));
}
//------------------------------------------------------------< private >---