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 2012/10/04 22:22:20 UTC
svn commit: r1394245 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/
oak-core/src/main/java/org/apache/jackrabbit/oak/query/ oak-core/src/ma...
Author: mduerig
Date: Thu Oct 4 20:22:19 2012
New Revision: 1394245
URL: http://svn.apache.org/viewvc?rev=1394245&view=rev
Log:
OAK-350: Unify PropertyState and CoreValue
- Replace CoreValue.getString with PropertyState.getValue(Type)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyValueImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/TreeBasedPrincipal.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/NodeUtil.java
jackrabbit/oak/trunk/oak-http/src/main/java/org/apache/jackrabbit/oak/http/TextRepresentation.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java Thu Oct 4 20:22:19 2012
@@ -46,6 +46,8 @@ import org.apache.jackrabbit.oak.plugins
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* IdentifierManager...
*/
@@ -100,7 +102,7 @@ public class IdentifierManager {
// TODO and a relative path irrespective of the accessibility of the parent node(s)
return tree.getPath();
} else {
- return property.getValue().getString();
+ return property.getValue(STRING);
}
}
@@ -243,7 +245,7 @@ public class IdentifierManager {
return false;
}
else {
- return uuid.equals(pState.getValue().getString());
+ return uuid.equals(pState.getValue(STRING));
}
}
});
@@ -255,7 +257,7 @@ public class IdentifierManager {
// TODO use NodeType.isNodeType to determine type membership instead of equality on type names
PropertyState pType = tree.getProperty(JcrConstants.JCR_PRIMARYTYPE);
if (pType != null) {
- String primaryType = pType.getValue().getString();
+ String primaryType = pType.getValue(STRING);
if (ntName.equals(primaryType)) {
return true;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceValidator.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceValidator.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceValidator.java Thu Oct 4 20:22:19 2012
@@ -19,12 +19,12 @@ package org.apache.jackrabbit.oak.plugin
import java.util.Locale;
import java.util.Map;
-import javax.jcr.PropertyType;
-
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.spi.commit.DefaultValidator;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
class NamespaceValidator extends DefaultValidator {
private final Map<String, String> map;
@@ -46,14 +46,13 @@ class NamespaceValidator extends Default
throw new NamespaceValidatorException(
"Namespace mapping already registered", prefix);
} else if (Namespaces.isValidPrefix(prefix)) {
- if (after.isArray()
- || after.getValue().getType() != PropertyType.STRING) {
+ if (after.isArray() || !STRING.equals(after.getType())) {
throw new NamespaceValidatorException(
"Invalid namespace mapping", prefix);
} else if (prefix.toLowerCase(Locale.ENGLISH).startsWith("xml")) {
throw new NamespaceValidatorException(
"XML prefixes are reserved", prefix);
- } else if (map.containsValue(after.getValue().getString())) {
+ } else if (map.containsValue(after.getValue(STRING))) {
throw modificationNotAllowed(prefix);
}
} else {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java Thu Oct 4 20:22:19 2012
@@ -20,13 +20,13 @@ import java.util.HashMap;
import java.util.Map;
import javax.jcr.NamespaceRegistry;
-import javax.jcr.PropertyType;
import org.apache.jackrabbit.JcrConstants;
-import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* Internal static utility class for managing the persisted namespace registry.
*/
@@ -59,9 +59,9 @@ class Namespaces implements NamespaceCon
for (PropertyState property : namespaces.getProperties()) {
String prefix = property.getName();
if (!property.isArray() && isValidPrefix(prefix)) {
- CoreValue value = property.getValue();
- if (value.getType() == PropertyType.STRING) {
- map.put(prefix, value.getString());
+ String value = property.getValue(STRING);
+ if (STRING.equals(property.getType())) {
+ map.put(prefix, value);
}
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/ReadWriteNamespaceRegistry.java Thu Oct 4 20:22:19 2012
@@ -25,6 +25,8 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* Writable namespace registry. Mainly for use to implement the full JCR API.
*/
@@ -76,7 +78,7 @@ public abstract class ReadWriteNamespace
getOrCreate(root, JcrConstants.JCR_SYSTEM, REP_NAMESPACES);
// remove existing mapping to given uri
for (PropertyState p : namespaces.getProperties()) {
- if (!p.isArray() && p.getValue().getString().equals(uri)) {
+ if (!p.isArray() && p.getValue(STRING).equals(uri)) {
namespaces.removeProperty(p.getName());
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java Thu Oct 4 20:22:19 2012
@@ -418,12 +418,8 @@ public class Query {
}
public static int getType(PropertyState p, int ifUnknown) {
- if (!p.isArray()) {
- return p.getValue().getType();
- }
- Iterator<CoreValue> it = p.getValues().iterator();
- if (it.hasNext()) {
- return it.next().getType();
+ if (p.count() > 0) {
+ return p.getType().tag();
}
return ifUnknown;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java Thu Oct 4 20:22:19 2012
@@ -20,12 +20,16 @@ package org.apache.jackrabbit.oak.query.
import java.text.ParseException;
import java.util.ArrayList;
+
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.query.ast.ComparisonImpl.LikePattern;
import org.apache.jackrabbit.oak.query.index.FilterImpl;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+
/**
* A fulltext "contains(...)" condition.
*/
@@ -102,11 +106,11 @@ public class FullTextSearchImpl extends
private static void appendString(StringBuilder buff, PropertyState p) {
if (p.isArray()) {
- for (CoreValue v : p.getValues()) {
- buff.append(v.getString()).append(' ');
+ for (String v : p.getValue(STRINGS)) {
+ buff.append(v).append(' ');
}
} else {
- buff.append(p.getValue().getString()).append(' ');
+ buff.append(p.getValue(STRING)).append(' ');
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java Thu Oct 4 20:22:19 2012
@@ -20,9 +20,11 @@ package org.apache.jackrabbit.oak.query.
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.plugins.memory.SinglePropertyState;
+import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.apache.jackrabbit.oak.query.index.FilterImpl;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* The function "lower(..)".
*/
@@ -56,9 +58,8 @@ public class LowerCaseImpl extends Dynam
}
// TODO what is the expected result of LOWER(x) for an array property?
// currently throws an exception
- String value = p.getValue().getString();
- CoreValue v = query.getValueFactory().createValue(value.toLowerCase());
- return new SinglePropertyState(p.getName(), v);
+ String value = p.getValue(STRING);
+ return PropertyStates.stringProperty(p.getName(), value.toLowerCase());
}
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyValueImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyValueImpl.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyValueImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/PropertyValueImpl.java Thu Oct 4 20:22:19 2012
@@ -19,9 +19,10 @@
package org.apache.jackrabbit.oak.query.ast;
import java.util.ArrayList;
-import java.util.List;
import java.util.Locale;
+
import javax.jcr.PropertyType;
+
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
@@ -134,16 +135,7 @@ public class PropertyValueImpl extends D
if (propertyType == PropertyType.UNDEFINED) {
return true;
}
- if (state.isArray()) {
- List<CoreValue> values = state.getValues();
- if (values.isEmpty()) {
- // TODO how to retrieve the property type of an empty multi-value property?
- // currently it matches all property types
- return true;
- }
- return values.get(0).getType() == propertyType;
- }
- return state.getValue().getType() == propertyType;
+ return state.getType().tag() == propertyType;
}
public void bindSelector(SourceImpl source) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java Thu Oct 4 20:22:19 2012
@@ -20,9 +20,11 @@ package org.apache.jackrabbit.oak.query.
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.plugins.memory.SinglePropertyState;
+import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.apache.jackrabbit.oak.query.index.FilterImpl;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* The function "upper(..)".
*/
@@ -56,9 +58,8 @@ public class UpperCaseImpl extends Dynam
}
// TODO what is the expected result of UPPER(x) for an array property?
// currently throws an exception
- String value = p.getValue().getString();
- CoreValue v = query.getValueFactory().createValue(value.toUpperCase());
- return new SinglePropertyState(p.getName(), v);
+ String value = p.getValue(STRING);
+ return PropertyStates.stringProperty(p.getName(), value.toUpperCase());
}
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java Thu Oct 4 20:22:19 2012
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.securi
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+
import javax.jcr.RepositoryException;
import org.apache.jackrabbit.JcrConstants;
@@ -32,6 +33,8 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.util.Text;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* PrivilegeValidator... TODO
*/
@@ -90,7 +93,7 @@ class PrivilegeValidator implements Priv
// primary node type name must be rep:privilege
Tree tree = new ReadOnlyTree(null, name, after);
PropertyState primaryType = tree.getProperty(JcrConstants.JCR_PRIMARYTYPE);
- if (primaryType == null || !NT_REP_PRIVILEGE.equals(primaryType.getValue().getString())) {
+ if (primaryType == null || !NT_REP_PRIVILEGE.equals(primaryType.getValue(STRING))) {
throw new CommitFailedException("Privilege definition must have primary node type set to rep:privilege");
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableImpl.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableImpl.java Thu Oct 4 20:22:19 2012
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+
import javax.annotation.Nonnull;
import javax.jcr.Node;
import javax.jcr.Property;
@@ -42,6 +43,8 @@ import org.apache.jackrabbit.util.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* AuthorizableImpl...
*/
@@ -325,7 +328,7 @@ abstract class AuthorizableImpl implemen
String getPrincipalName() throws RepositoryException {
Tree tree = getTree();
if (tree.hasProperty(REP_PRINCIPAL_NAME)) {
- return tree.getProperty(REP_PRINCIPAL_NAME).getValue().getString();
+ return tree.getProperty(REP_PRINCIPAL_NAME).getValue(STRING);
} else {
String msg = "Authorizable without principal name " + getID();
log.warn(msg);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/IndexUtils.java Thu Oct 4 20:22:19 2012
@@ -31,6 +31,7 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeState;
import static org.apache.jackrabbit.oak.api.Type.BOOLEAN;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
import static org.apache.jackrabbit.oak.spi.query.IndexDefinition.INDEX_DATA_CHILD_NAME;
import static org.apache.jackrabbit.oak.spi.query.IndexDefinition.TYPE_PROPERTY_NAME;
import static org.apache.jackrabbit.oak.spi.query.IndexDefinition.UNIQUE_PROPERTY_NAME;
@@ -54,7 +55,7 @@ public class IndexUtils {
PropertyState typeProp = ns.getProperty(TYPE_PROPERTY_NAME);
String type = TYPE_UNKNOWN;
if (typeProp != null && !typeProp.isArray()) {
- type = typeProp.getValue().getString();
+ type = typeProp.getValue(STRING);
}
boolean unique = false;
@@ -66,7 +67,7 @@ public class IndexUtils {
Map<String, String> props = new HashMap<String, String>();
for (PropertyState ps : ns.getProperties()) {
if (ps != null && !ps.isArray()) {
- String v = ps.getValue().getString();
+ String v = ps.getValue(STRING);
props.put(ps.getName(), v);
}
}
@@ -74,9 +75,8 @@ public class IndexUtils {
if (ns.hasChildNode(INDEX_DATA_CHILD_NAME)) {
PropertyState ps = ns.getChildNode(INDEX_DATA_CHILD_NAME)
.getProperty(LuceneIndexConstants.INDEX_UPDATE);
- if (ps != null && ps.getValue() != null) {
- props.put(LuceneIndexConstants.INDEX_UPDATE, ps.getValue()
- .getString());
+ if (ps != null) {
+ props.put(LuceneIndexConstants.INDEX_UPDATE, ps.getValue(STRING));
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/TreeBasedPrincipal.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/TreeBasedPrincipal.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/TreeBasedPrincipal.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/TreeBasedPrincipal.java Thu Oct 4 20:22:19 2012
@@ -27,6 +27,8 @@ import org.apache.jackrabbit.oak.spi.sec
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+
/**
* TreeBasedPrincipal...
*/
@@ -46,7 +48,7 @@ public class TreeBasedPrincipal implemen
if (prop == null) {
throw new IllegalArgumentException("Tree doesn't have rep:principalName property");
}
- this.principalName = prop.getValue().getString();
+ this.principalName = prop.getValue(STRING);
this.tree = tree;
this.pathMapper = pathMapper;
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/NodeUtil.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/NodeUtil.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/NodeUtil.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/NodeUtil.java Thu Oct 4 20:22:19 2012
@@ -27,6 +27,7 @@ import javax.jcr.RepositoryException;
import javax.jcr.Value;
import javax.jcr.ValueFactory;
+import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.ContentSession;
@@ -34,6 +35,7 @@ import org.apache.jackrabbit.oak.api.Cor
import org.apache.jackrabbit.oak.api.CoreValueFactory;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.namepath.NameMapper;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
import org.apache.jackrabbit.oak.plugins.memory.MemoryValueFactory;
@@ -48,6 +50,7 @@ import static org.apache.jackrabbit.oak.
import static org.apache.jackrabbit.oak.api.Type.NAME;
import static org.apache.jackrabbit.oak.api.Type.NAMES;
import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
/**
* Utility class for accessing and writing typed content of a tree.
@@ -138,7 +141,7 @@ public class NodeUtil {
public String getString(String name, String defaultValue) {
PropertyState property = tree.getProperty(name);
if (property != null && !property.isArray()) {
- return property.getValue().getString();
+ return property.getValue(Type.STRING);
} else {
return defaultValue;
}
@@ -154,12 +157,7 @@ public class NodeUtil {
return null;
}
- List<CoreValue> values = property.getValues();
- String[] strings = new String[values.size()];
- for (int i = 0; i < strings.length; i++) {
- strings[i] = values.get(i).getString();
- }
- return strings;
+ return Iterables.toArray(property.getValue(STRINGS), String.class);
}
public void setStrings(String name, String... values) {
@@ -173,7 +171,7 @@ public class NodeUtil {
public String getName(String name, String defaultValue) {
PropertyState property = tree.getProperty(name);
if (property != null && !property.isArray()) {
- return mapper.getJcrName(property.getValue().getString());
+ return mapper.getJcrName(property.getValue(STRING));
} else {
return defaultValue;
}
@@ -241,20 +239,17 @@ public class NodeUtil {
}
public void setValues(String name, String[] values, int type) {
- List<CoreValue> cvs = Lists.newArrayList();
- for (String value : values) {
- cvs.add(factory.createValue(value, type));
- }
- tree.setProperty(new MultiPropertyState(name, cvs));
+ tree.setProperty(name, Arrays.asList(values), STRINGS);
}
public Value[] getValues(String name, ValueFactory vf) {
PropertyState property = tree.getProperty(name);
if (property != null) {
+ int type = property.getType().tag();
List<Value> values = Lists.newArrayList();
- for (CoreValue value : property.getValues()) {
+ for (String value : property.getValue(STRINGS)) {
try {
- values.add(vf.createValue(value.getString(), value.getType()));
+ values.add(vf.createValue(value, type));
} catch (RepositoryException e) {
log.warn("Unable to convert a default value", e);
}
Modified: jackrabbit/oak/trunk/oak-http/src/main/java/org/apache/jackrabbit/oak/http/TextRepresentation.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-http/src/main/java/org/apache/jackrabbit/oak/http/TextRepresentation.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-http/src/main/java/org/apache/jackrabbit/oak/http/TextRepresentation.java (original)
+++ jackrabbit/oak/trunk/oak-http/src/main/java/org/apache/jackrabbit/oak/http/TextRepresentation.java Thu Oct 4 20:22:19 2012
@@ -21,11 +21,14 @@ import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
-import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.api.Type;
import org.apache.tika.mime.MediaType;
+import static org.apache.jackrabbit.oak.api.Type.STRING;
+import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+
class TextRepresentation implements Representation {
@Override
@@ -41,12 +44,12 @@ class TextRepresentation implements Repr
writer.print(property.getName());
writer.print(": ");
if (property.isArray()) {
- for (CoreValue value : property.getValues()) {
- writer.print(value.getString());
+ for (String value : property.getValue(STRINGS)) {
+ writer.print(value);
writer.print(", ");
}
} else {
- writer.print(property.getValue().getString());
+ writer.print(property.getValue(STRING));
}
writer.print('\n');
}
@@ -64,12 +67,12 @@ class TextRepresentation implements Repr
throws IOException {
PrintWriter writer = startResponse(response);
if (property.isArray()) {
- for (CoreValue value : property.getValues()) {
- writer.print(value.getString());
+ for (String value : property.getValue(Type.STRINGS)) {
+ writer.print(value);
writer.print('\n');
}
} else {
- writer.print(property.getValue().getString());
+ writer.print(property.getValue(STRING));
}
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java?rev=1394245&r1=1394244&r2=1394245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java Thu Oct 4 20:22:19 2012
@@ -42,6 +42,8 @@ import org.apache.jackrabbit.oak.api.Tre
import org.apache.jackrabbit.oak.plugins.memory.MultiPropertyState;
import org.apache.jackrabbit.oak.plugins.memory.SinglePropertyState;
+import static org.apache.jackrabbit.oak.api.Type.STRINGS;
+
/**
* {@code NodeDelegate} serve as internal representations of {@code Node}s.
* Most methods of this class throw an {@code InvalidItemStateException}
@@ -172,8 +174,7 @@ public class NodeDelegate extends ItemDe
final Map<String, NodeDelegate> ordered =
new LinkedHashMap<String, NodeDelegate>();
- for (CoreValue value : order.getValues()) {
- String name = value.getString();
+ for (String name : order.getValue(STRINGS)) {
Tree child = tree.getChild(name);
if (child != null && !name.startsWith(":")) {
ordered.put(name, new NodeDelegate(sessionDelegate, child));
@@ -219,8 +220,7 @@ public class NodeDelegate extends ItemDe
PropertyState property = tree.getProperty(PropertyState.OAK_CHILD_ORDER);
if (property != null) {
- for (CoreValue value : property.getValues()) {
- String name = value.getString();
+ for (String name : property.getValue(STRINGS)) {
if (!name.equals(source) && !added.contains(property)
&& !name.startsWith(":")) {
if (name.equals(target)) {