You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/06/16 17:08:45 UTC

svn commit: r1136476 - in /jackrabbit/sandbox/spi2microkernel/src: main/java/org/apache/jackrabbit/spi2microkernel/ main/java/org/apache/jackrabbit/spi2microkernel/util/ test/java/org/apache/jackrabbit/spi2microkernel/

Author: mduerig
Date: Thu Jun 16 15:08:44 2011
New Revision: 1136476

URL: http://svn.apache.org/viewvc?rev=1136476&view=rev
Log:
spi2microkernel prototype (WIP)
cleanup, minor refactor

Modified:
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/ItemInfos.java
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Paths.java
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java
    jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java?rev=1136476&r1=1136475&r2=1136476&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java Thu Jun 16 15:08:44 2011
@@ -40,8 +40,6 @@ import org.apache.jackrabbit.spi.Session
 import org.apache.jackrabbit.spi.commons.AbstractRepositoryService;
 import org.apache.jackrabbit.spi.commons.ItemInfoCacheImpl;
 import org.apache.jackrabbit.spi.commons.batch.ConsolidatingChangeLog;
-import org.apache.jackrabbit.spi.commons.name.NameConstants;
-import org.apache.jackrabbit.spi2microkernel.util.ItemInfos;
 import org.apache.jackrabbit.spi2microkernel.util.JsonHandlerBase;
 import org.apache.jackrabbit.spi2microkernel.util.NodeTypes;
 import org.apache.jackrabbit.spi2microkernel.util.Paths;
@@ -52,7 +50,6 @@ import org.json.simple.parser.ParseExcep
 import javax.jcr.Credentials;
 import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.PathNotFoundException;
-import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.UnsupportedRepositoryOperationException;
 import java.io.IOException;
@@ -63,16 +60,19 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import static javax.jcr.Repository.*;
+import static org.apache.jackrabbit.spi.commons.name.NameConstants.*;
 import static org.apache.jackrabbit.spi2microkernel.util.Arrays.contains;
+import static org.apache.jackrabbit.spi2microkernel.util.ItemInfos.*;
 
 public class RepositoryServiceImpl extends AbstractRepositoryService {
     private static final Map<String, QValue[]> DESCRIPTORS = new HashMap<String, QValue[]>() {{
         QValue[] FALSE = new QValue[]{Values.FALSE};
         QValue[] TRUE = new QValue[]{Values.TRUE};
 
-        put(Repository.NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, FALSE);
-        put(Repository.OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, TRUE);
-        put(Repository.LEVEL_2_SUPPORTED, TRUE);
+        put(NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, FALSE);
+        put(OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, TRUE);
+        put(LEVEL_2_SUPPORTED, TRUE);
     }};
 
     private static final Map<String, String> NAMESPACES = Collections.emptyMap();
@@ -192,12 +192,12 @@ public class RepositoryServiceImpl exten
         try {
             String wspName = sessionInfo.getWorkspaceName();
             Path path = nodeId.getPath();
-            String mkPath = Paths.translateQPath(wspName, path);
+            String mkPath = Paths.pathToString(wspName, path);
             String rev = getRevision(sessionInfo);
 
             if (microKernel.nodeExists(mkPath, rev)) {
                 String json = microKernel.getNodes(mkPath, rev);
-                return ItemInfos.buildItemInfos(path, json);
+                return buildItemInfos(path, json);
             }
             else {
                 throw new PathNotFoundException(path.toString());
@@ -212,13 +212,13 @@ public class RepositoryServiceImpl exten
         try {
             String wspName = sessionInfo.getWorkspaceName();
             Path path = nodeId.getPath();
-            String mkPath = Paths.translateQPath(wspName, path);
+            String mkPath = Paths.pathToString(wspName, path);
             String rev = getRevision(sessionInfo);
 
             NodeInfo info = null;
             if (microKernel.nodeExists(mkPath, rev)) {
                 String json = microKernel.getNodes(mkPath, rev);
-                info = ItemInfos.buildNodeInfo(path, json);
+                info = buildNodeInfo(path, json);
             }
 
             if (info == null) {
@@ -237,13 +237,13 @@ public class RepositoryServiceImpl exten
         try {
             String wspName = sessionInfo.getWorkspaceName();
             Path path = propertyId.getPath();
-            String mkPath = Paths.translateQPath(wspName, path.getAncestor(1));
+            String mkPath = Paths.pathToString(wspName, path.getAncestor(1));
             String rev = getRevision(sessionInfo);
 
             PropertyInfo info = null;
             if (microKernel.nodeExists(mkPath, rev)) {
                 String json = microKernel.getNodes(mkPath, rev);
-                info = ItemInfos.buildPropertyInfo(path, json);
+                info = buildPropertyInfo(path, json);
             }
 
             if (info == null) {
@@ -402,7 +402,7 @@ public class RepositoryServiceImpl exten
             try {
                 StringBuilder sb = new StringBuilder();
                 JsonBuilder.create(sb)
-                    .value(Paths.translateQName(NameConstants.JCR_PRIMARYTYPE), nodetypeName.toString())
+                    .value(Paths.nameToString(JCR_PRIMARYTYPE), nodetypeName.toString())
                     .build();
 
                 jsop.append('+').append(target(parentId, nodeName)).append(" : ").append(sb.toString()).append('\n');
@@ -413,19 +413,19 @@ public class RepositoryServiceImpl exten
         }
 
         public void addProperty(NodeId parentId, Name propertyName, QValue value) throws RepositoryException {
-            setProperty(parentId, propertyName, Values.create(value));
+            setProperty(parentId, propertyName, Values.valueToString(value));
         }
 
         public void addProperty(NodeId parentId, Name propertyName, QValue[] values) throws RepositoryException {
-            setProperty(parentId, propertyName, Values.create(values));
+            setProperty(parentId, propertyName, Values.valuesToString(values));
         }
 
         public void setValue(PropertyId propertyId, QValue value) throws RepositoryException {
-            setProperty(propertyId.getParentId(), propertyId.getName(), Values.create(value));
+            setProperty(propertyId.getParentId(), propertyId.getName(), Values.valueToString(value));
         }
 
         public void setValue(PropertyId propertyId, QValue[] values) throws RepositoryException {
-            setProperty(propertyId.getParentId(), propertyId.getName(), Values.create(values));
+            setProperty(propertyId.getParentId(), propertyId.getName(), Values.valuesToString(values));
         }
 
         public void remove(ItemId itemId) throws RepositoryException {
@@ -451,20 +451,20 @@ public class RepositoryServiceImpl exten
 
         public void setMixins(NodeId nodeId, Name[] mixinNodeTypeNames) throws RepositoryException {
             if (mixinNodeTypeNames.length == 0) {
-                setProperty(nodeId, NameConstants.JCR_MIXINTYPES, "null");
+                setProperty(nodeId, JCR_MIXINTYPES, "null");
             }
             else {
-                setProperty(nodeId, NameConstants.JCR_MIXINTYPES, Values.create(mixinNodeTypeNames));
+                setProperty(nodeId, JCR_MIXINTYPES, Values.namesToString(mixinNodeTypeNames));
             }
 
-            if (contains(mixinNodeTypeNames, NameConstants.MIX_REFERENCEABLE)) {
+            if (contains(mixinNodeTypeNames, MIX_REFERENCEABLE)) {
                 // todo uuid is not stable across move operations
-                setProperty(nodeId, NameConstants.JCR_UUID, Values.create(nodeId.getPath()));
+                setProperty(nodeId, JCR_UUID, Values.pathToString(nodeId.getPath()));
             }
         }
 
         public void setPrimaryType(NodeId nodeId, Name primaryNodeTypeName) throws RepositoryException {
-            setProperty(nodeId, NameConstants.JCR_PRIMARYTYPE, Values.create(primaryNodeTypeName));
+            setProperty(nodeId, JCR_PRIMARYTYPE, Values.nameToString(primaryNodeTypeName));
         }
 
         public void move(NodeId srcNodeId, NodeId destParentNodeId, Name destName) throws RepositoryException {
@@ -480,12 +480,12 @@ public class RepositoryServiceImpl exten
 
         private String target(NodeId nodeId) throws RepositoryException {
             return '\"' + JsonBuilder.escape(
-                PathUtil.relativize("/", Paths.translateQPath(sessionInfo.getWorkspaceName(), nodeId.getPath()))) + '\"';
+                PathUtil.relativize("/", Paths.pathToString(sessionInfo.getWorkspaceName(), nodeId.getPath()))) + '\"';
         }
 
         private String target(NodeId parentId, Name itemName) throws RepositoryException {
-            String path = Paths.translateQPath(sessionInfo.getWorkspaceName(), parentId.getPath());
-            String name = Paths.translateQName(itemName);
+            String path = Paths.pathToString(sessionInfo.getWorkspaceName(), parentId.getPath());
+            String name = Paths.nameToString(itemName);
             return '\"' + JsonBuilder.escape(PathUtil.concat(PathUtil.relativize("/", path), name)) + '\"';
         }
 

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/ItemInfos.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/ItemInfos.java?rev=1136476&r1=1136475&r2=1136476&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/ItemInfos.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/ItemInfos.java Thu Jun 16 15:08:44 2011
@@ -30,7 +30,6 @@ import org.apache.jackrabbit.spi.commons
 import org.apache.jackrabbit.spi.commons.ItemInfoBuilder.Listener;
 import org.apache.jackrabbit.spi.commons.ItemInfoBuilder.NodeInfoBuilder;
 import org.apache.jackrabbit.spi.commons.ItemInfoBuilder.PropertyInfoBuilder;
-import org.apache.jackrabbit.spi.commons.name.NameConstants;
 import org.json.simple.parser.JSONParser;
 import org.json.simple.parser.ParseException;
 
@@ -39,7 +38,9 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.LinkedList;
 
+import static org.apache.jackrabbit.spi.commons.name.NameConstants.*;
 import static org.apache.jackrabbit.spi2microkernel.util.Exceptions.setCause;
+import static org.json.simple.parser.ParseException.ERROR_UNEXPECTED_EXCEPTION;
 
 public final class ItemInfos {
     private ItemInfos() {}
@@ -171,7 +172,7 @@ public final class ItemInfos {
                 nodeInfoBuilder = nodeInfoBuilder.createNodeInfo();
             }
             if (currentKey != null) {
-                name = Paths.translateName(currentKey);
+                name = Paths.stringToName(currentKey);
             }
             nodeInfoBuilder.setName(name);
 
@@ -190,7 +191,7 @@ public final class ItemInfos {
                 return !infoListener.done();
             }
             catch (RepositoryException e) {
-                throw setCause(new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION), e);
+                throw setCause(new ParseException(ERROR_UNEXPECTED_EXCEPTION), e);
             }
         }
 
@@ -210,14 +211,14 @@ public final class ItemInfos {
         @Override
         public boolean primitive(Object value) throws ParseException, IOException {
             try {
-                if (Paths.translateQName(NameConstants.JCR_PRIMARYTYPE).equals(currentKey)) {
-                    nodeInfoBuilder.setPrimaryType(Values.create(value).getName());
+                if (Paths.nameToString(JCR_PRIMARYTYPE).equals(currentKey)) {
+                    nodeInfoBuilder.setPrimaryType(Values.objectToValue(value).getName());
                 }
-                else if (Paths.translateQName(NameConstants.JCR_MIXINTYPES).equals(currentKey)) {
-                    nodeInfoBuilder.addMixin(Values.create(value).getName());
+                else if (Paths.nameToString(JCR_MIXINTYPES).equals(currentKey)) {
+                    nodeInfoBuilder.addMixin(Values.objectToValue(value).getName());
                 }
-                else if (Paths.translateQName(NameConstants.JCR_UUID).equals(currentKey)) {
-                    nodeInfoBuilder.setUUID(Values.create(value).getString());
+                else if (Paths.nameToString(JCR_UUID).equals(currentKey)) {
+                    nodeInfoBuilder.setUUID(Values.objectToValue(value).getString());
                 }
                 else if (currentKey.startsWith(":")) {  // ignore other internal values
                     return !infoListener.done();
@@ -225,26 +226,26 @@ public final class ItemInfos {
 
                 if (propertyInfoBuilder == null) {
                     nodeInfoBuilder.createPropertyInfo()
-                        .setName(Paths.translateName(currentKey))
-                        .addValue(Values.create(value))
+                        .setName(Paths.stringToName(currentKey))
+                        .addValue(Values.objectToValue(value))
                         .build();
 
                     return !infoListener.done();
                 }
                 else {
-                    propertyInfoBuilder.addValue(Values.create(value));
+                    propertyInfoBuilder.addValue(Values.objectToValue(value));
                     return true;
                 }
             }
             catch (RepositoryException e) {
-                throw setCause(new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION), e);
+                throw setCause(new ParseException(ERROR_UNEXPECTED_EXCEPTION), e);
             }
         }
 
         @Override
         public boolean startArray() throws ParseException, IOException {
             propertyInfoBuilder = nodeInfoBuilder.createPropertyInfo()
-                .setName(Paths.translateName(currentKey))
+                .setName(Paths.stringToName(currentKey))
                 .setMultivalued(true);
             
             return true;
@@ -258,7 +259,7 @@ public final class ItemInfos {
                 return !infoListener.done();
             }
             catch (RepositoryException e) {
-                throw setCause(new ParseException(ParseException.ERROR_UNEXPECTED_EXCEPTION), e);
+                throw setCause(new ParseException(ERROR_UNEXPECTED_EXCEPTION), e);
             }
         }
 

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Paths.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Paths.java?rev=1136476&r1=1136475&r2=1136476&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Paths.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Paths.java Thu Jun 16 15:08:44 2011
@@ -27,6 +27,8 @@ import org.apache.jackrabbit.spi.commons
 import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.RepositoryException;
 
+import static org.apache.jackrabbit.spi.Name.*;
+
 public final class Paths {
     public static final String DEFAULT_WORKSPACE = "default";
     public static final String SYSTEM_WORKSPACE = "system";
@@ -35,7 +37,7 @@ public final class Paths {
 
     private Paths() {}
 
-    public static Name translateName(String name) {
+    public static Name stringToName(String name) {
         if (name.startsWith("{")) {
             int i = name.indexOf('}');
             if (i == -1 || i == name.length() - 1) {
@@ -47,16 +49,16 @@ public final class Paths {
             return NAME_FACTORY.create(ns, localName);
         }
         else {
-            return NAME_FACTORY.create(Name.NS_DEFAULT_URI, name);
+            return NAME_FACTORY.create(NS_DEFAULT_URI, name);
         }
     }
 
-    public static String translateQName(Name name) {
+    public static String nameToString(Name name) {
         String nameSpaceURI = name.getNamespaceURI();
         return '{' + escapeNameSpaceURI(nameSpaceURI) + '}' + name.getLocalName();
     }
 
-    public static String translateQPath(String wspName, Path path) throws RepositoryException {
+    public static String pathToString(String wspName, Path path) throws RepositoryException {
         return cat('/' + getWorkspaceName(wspName), translateQPath(path));
     }
 
@@ -95,7 +97,7 @@ public final class Paths {
     private static String translateQPath(Path path) throws RepositoryException {
         return path.denotesRoot()
             ? ""
-            : cat(translateQPath(path.getAncestor(1)), translateQName(path.getName()));
+            : cat(translateQPath(path.getAncestor(1)), nameToString(path.getName()));
     }
 
 }

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java?rev=1136476&r1=1136475&r2=1136476&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java Thu Jun 16 15:08:44 2011
@@ -26,28 +26,18 @@ import org.apache.jackrabbit.spi.QValue;
 import org.apache.jackrabbit.spi.QValueFactory;
 import org.apache.jackrabbit.spi.commons.value.QValueFactoryImpl;
 
-import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import java.util.HashMap;
 import java.util.Map;
 
+import static javax.jcr.PropertyType.*;
+
 public final class Values {
     private static final QValueFactory FACTORY = QValueFactoryImpl.getInstance();
 
     private static final Character[] TYPES = {
-        toHex(PropertyType.UNDEFINED),
-            toHex(PropertyType.STRING),
-            toHex(PropertyType.BINARY),
-            toHex(PropertyType.LONG),
-            toHex(PropertyType.DOUBLE),
-            toHex(PropertyType.DATE),
-            toHex(PropertyType.BOOLEAN),
-            toHex(PropertyType.NAME),
-            toHex(PropertyType.PATH),
-            toHex(PropertyType.REFERENCE),
-            toHex(PropertyType.WEAKREFERENCE),
-            toHex(PropertyType.URI),
-            toHex(PropertyType.DECIMAL),
+        toHex(UNDEFINED), toHex(STRING), toHex(BINARY), toHex(LONG), toHex(DOUBLE), toHex(DATE), toHex(BOOLEAN),
+        toHex(NAME), toHex(PATH), toHex(REFERENCE), toHex(WEAKREFERENCE), toHex(URI), toHex(DECIMAL),
     };
 
     public static final QValue FALSE = create(false);
@@ -60,11 +50,11 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.STRING);
+                return FACTORY.create(value, STRING);
             }
         };
         put(String.class, valueFactory);
-        put(TYPES[PropertyType.STRING], valueFactory);
+        put(TYPES[STRING], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -72,11 +62,11 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.LONG);
+                return FACTORY.create(value, LONG);
             }
         };
         put(Long.class, valueFactory);
-        put(TYPES[PropertyType.LONG], valueFactory);
+        put(TYPES[LONG], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -84,11 +74,11 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.DOUBLE);
+                return FACTORY.create(value, DOUBLE);
             }
         };
         put(Double.class, valueFactory);
-        put(TYPES[PropertyType.DOUBLE], valueFactory);
+        put(TYPES[DOUBLE], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -96,11 +86,11 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.BOOLEAN);
+                return FACTORY.create(value, BOOLEAN);
             }
         };
         put(Boolean.class, valueFactory);
-        put(TYPES[PropertyType.BOOLEAN], valueFactory);
+        put(TYPES[BOOLEAN], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -108,10 +98,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.DECIMAL);
+                return FACTORY.create(value, DECIMAL);
             }
         };
-        put(TYPES[PropertyType.DECIMAL], valueFactory);
+        put(TYPES[DECIMAL], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -119,10 +109,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.DATE);
+                return FACTORY.create(value, DATE);
             }
         };
-        put(TYPES[PropertyType.DATE], valueFactory);
+        put(TYPES[DATE], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -130,10 +120,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.URI);
+                return FACTORY.create(value, URI);
             }
         };
-        put(TYPES[PropertyType.URI], valueFactory);
+        put(TYPES[URI], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -141,10 +131,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.NAME);
+                return FACTORY.create(value, NAME);
             }
         };
-        put(TYPES[PropertyType.NAME], valueFactory);
+        put(TYPES[NAME], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -152,10 +142,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.PATH);
+                return FACTORY.create(value, PATH);
             }
         };
-        put(TYPES[PropertyType.PATH], valueFactory);
+        put(TYPES[PATH], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -163,10 +153,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.BINARY);
+                return FACTORY.create(value, BINARY);
             }
         };
-        put(TYPES[PropertyType.BINARY], valueFactory);
+        put(TYPES[BINARY], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -174,10 +164,10 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.REFERENCE);
+                return FACTORY.create(value, REFERENCE);
             }
         };
-        put(TYPES[PropertyType.REFERENCE], valueFactory);
+        put(TYPES[REFERENCE], valueFactory);
 
         valueFactory = new ValueFactory() {
             public QValue create(Object value) throws RepositoryException {
@@ -185,13 +175,15 @@ public final class Values {
             }
 
             public QValue create(String value) throws RepositoryException {
-                return FACTORY.create(value, PropertyType.WEAKREFERENCE);
+                return FACTORY.create(value, WEAKREFERENCE);
             }
         };
-        put(TYPES[PropertyType.WEAKREFERENCE], valueFactory);
+        put(TYPES[WEAKREFERENCE], valueFactory);
     }};
 
-    public static QValue create(Object value) throws RepositoryException {
+    private Values() {}
+
+    public static QValue objectToValue(Object value) throws RepositoryException {
         // Type encoded value
         if (value instanceof String) {
             String val = (String) value;
@@ -216,24 +208,24 @@ public final class Values {
         }
     }
 
-    public static String create(Path path) {
-        return typeEncode(PropertyType.PATH, JsonBuilder.escape(path.getString()));
+    public static String pathToString(Path path) {
+        return typeEncode(PATH, JsonBuilder.escape(path.getString()));
     }
 
-    public static String create(Name name) {
-        return typeEncode(PropertyType.NAME, JsonBuilder.escape(name.toString()));
+    public static String nameToString(Name name) {
+        return typeEncode(NAME, JsonBuilder.escape(name.toString()));
     }
 
-    public static String create(Name[] names) {
+    public static String namesToString(Name[] names) {
         if (names.length == 0) {
             return "[]";
         }
         else {
             StringBuilder sb = new StringBuilder("[");
-            sb.append(create(names[0]));
+            sb.append(nameToString(names[0]));
 
             for (int k = 1; k < names.length; k++) {
-                sb.append(',').append(create(names[k]));
+                sb.append(',').append(nameToString(names[k]));
             }
             sb.append(']');
 
@@ -242,57 +234,57 @@ public final class Values {
         }
     }
 
-    public static String create(QValue value) throws RepositoryException {
+    public static String valueToString(QValue value) throws RepositoryException {
         int type = value.getType();
         
         switch(type) {
-            case PropertyType.STRING:
+            case STRING:
                 String s = value.getString();
                 return s.length() >= 2 && s.charAt(1) == ':'
                     ? typeEncode(type, JsonBuilder.escape(s))
                     : JsonBuilder.quote(JsonBuilder.escape(s));
 
-            case PropertyType.DOUBLE:
+            case DOUBLE:
                 return Double.isNaN(value.getDouble())
                     ? typeEncode(type, "NaN")
                     : value.getString();
 
-            case PropertyType.LONG:
-            case PropertyType.BOOLEAN:
+            case LONG:
+            case BOOLEAN:
                 return value.getString();
             
-            case PropertyType.DECIMAL:
-            case PropertyType.DATE:
+            case DECIMAL:
+            case DATE:
                 return typeEncode(type, value.getString());
 
-            case PropertyType.URI:
-            case PropertyType.NAME:
-            case PropertyType.PATH:
+            case URI:
+            case NAME:
+            case PATH:
                 return typeEncode(type, JsonBuilder.escape(value.getString()));
             
-            case PropertyType.BINARY:
+            case BINARY:
                 return typeEncode(type, JsonBuilder.escape(value.getString()));  // todo improve handling of binary values
 
-            case PropertyType.REFERENCE:
-            case PropertyType.WEAKREFERENCE:
+            case REFERENCE:
+            case WEAKREFERENCE:
                 return typeEncode(type, JsonBuilder.escape(value.getString()));
             
             default:
                 throw new RepositoryException("Cannot handle value of type " +
-                        PropertyType.nameFromValue(value.getType()));
+                        nameFromValue(value.getType()));
         }
     }
 
-    public static String create(QValue[] values) throws RepositoryException {
+    public static String valuesToString(QValue[] values) throws RepositoryException {
         if (values.length == 0) {
             return "[]";
         }
 
         StringBuilder sb = new StringBuilder("[");
-        sb.append(create(values[0]));
+        sb.append(valueToString(values[0]));
 
         for (int k = 1; k < values.length; k++) {
-            sb.append(',').append(create(values[k]));
+            sb.append(',').append(valueToString(values[k]));
         }
         sb.append(']');
 

Modified: jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java?rev=1136476&r1=1136475&r2=1136476&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java Thu Jun 16 15:08:44 2011
@@ -70,7 +70,7 @@ public class RepositoryTest {
         MicroKernel mk = MicroKernelFactory.getInstance(URL + ";clean");
         String head = mk.getHeadRevision();
 
-        String ptUnstructured = '\"' + JsonBuilder.escape(Paths.translateQName(NameConstants.JCR_PRIMARYTYPE)) + "\":" +
+        String ptUnstructured = '\"' + JsonBuilder.escape(Paths.nameToString(NameConstants.JCR_PRIMARYTYPE)) + "\":" +
                 "\"7:" + NodeType.NT_UNSTRUCTURED + '\"';
 
         if (!mk.nodeExists("/default", head)) {