You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2007/10/30 11:02:57 UTC
svn commit: r590014 [10/11] - in /jackrabbit/trunk: jackrabbit-core/
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/jo...
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/AbstractSAXEventGenerator.java Tue Oct 30 03:02:41 2007
@@ -19,11 +19,12 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.jackrabbit.name.NameException;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.SessionNamespaceResolver;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.NameFormat;
+import org.apache.jackrabbit.conversion.NamePathResolver;
+import org.apache.jackrabbit.conversion.DefaultNamePathResolver;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.namespace.SessionNamespaceResolver;
+import org.apache.jackrabbit.namespace.NamespaceResolver;
+import org.apache.jackrabbit.name.NameConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.ContentHandler;
@@ -36,6 +37,7 @@
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.NamespaceException;
/**
* <code>AbstractSAXEventGenerator</code> serves as the base class for
@@ -66,6 +68,8 @@
*/
protected final NamespaceResolver nsResolver;
+ protected final NamePathResolver resolver;
+
/**
* the content handler to feed the SAX events to
*/
@@ -130,16 +134,18 @@
// start with an empty set of known prefixes
this.namespaces = new NamespaceStack(null);
+ resolver = new DefaultNamePathResolver(nsResolver);
+
// resolve the names of some wellknown properties
// allowing for session-local prefix mappings
try {
- jcrPrimaryType = NameFormat.format(QName.JCR_PRIMARYTYPE, nsResolver);
- jcrMixinTypes = NameFormat.format(QName.JCR_MIXINTYPES, nsResolver);
- jcrUUID = NameFormat.format(QName.JCR_UUID, nsResolver);
- jcrRoot = NameFormat.format(QName.JCR_ROOT, nsResolver);
- jcrXMLText = NameFormat.format(QName.JCR_XMLTEXT, nsResolver);
- jcrXMLCharacters = NameFormat.format(QName.JCR_XMLCHARACTERS, nsResolver);
- } catch (NameException e) {
+ jcrPrimaryType = resolver.getJCRName(NameConstants.JCR_PRIMARYTYPE);
+ jcrMixinTypes = resolver.getJCRName(NameConstants.JCR_MIXINTYPES);
+ jcrUUID = resolver.getJCRName(NameConstants.JCR_UUID);
+ jcrRoot = resolver.getJCRName(NameConstants.JCR_ROOT);
+ jcrXMLText = resolver.getJCRName(NameConstants.JCR_XMLTEXT);
+ jcrXMLCharacters = resolver.getJCRName(NameConstants.JCR_XMLCHARACTERS);
+ } catch (NamespaceException e) {
// should never get here...
String msg = "internal error: failed to resolve namespace mappings";
log.error(msg, e);
@@ -177,7 +183,7 @@
String[] prefixes = session.getNamespacePrefixes();
for (int i = 0; i < prefixes.length; i++) {
String prefix = prefixes[i];
- if (QName.NS_XML_PREFIX.equals(prefix)) {
+ if (Name.NS_XML_PREFIX.equals(prefix)) {
// skip 'xml' prefix as this would be an illegal namespace declaration
continue;
}
@@ -196,7 +202,7 @@
String[] prefixes = session.getNamespacePrefixes();
for (int i = 0; i < prefixes.length; i++) {
String prefix = prefixes[i];
- if (QName.NS_XML_PREFIX.equals(prefix)) {
+ if (Name.NS_XML_PREFIX.equals(prefix)) {
// skip 'xml' prefix as this would be an illegal namespace declaration
continue;
}
@@ -224,7 +230,7 @@
String prefix = prefixes[i];
if (prefix.length() > 0
- && !QName.NS_XML_PREFIX.equals(prefix)) {
+ && !Name.NS_XML_PREFIX.equals(prefix)) {
String uri = session.getNamespaceURI(prefix);
// get the matching namespace from previous declarations
@@ -233,9 +239,9 @@
if (!uri.equals(mappedToNs)) {
// when not the same, add a declaration
attributes.addAttribute(
- QName.NS_XMLNS_URI,
+ Name.NS_XMLNS_URI,
prefix,
- QName.NS_XMLNS_PREFIX + ":" + prefix,
+ Name.NS_XMLNS_PREFIX + ":" + prefix,
"CDATA",
uri);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/BufferedStringValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/BufferedStringValue.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/BufferedStringValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/BufferedStringValue.java Tue Oct 30 03:02:41 2007
@@ -17,11 +17,11 @@
package org.apache.jackrabbit.core.xml;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.NamespaceResolver;
import org.apache.jackrabbit.util.Base64;
import org.apache.jackrabbit.util.TransientFileFactory;
import org.apache.jackrabbit.value.ValueHelper;
import org.apache.jackrabbit.value.ValueFactoryImpl;
+import org.apache.jackrabbit.conversion.NamePathResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -81,12 +81,13 @@
*/
private Writer writer;
- private final NamespaceResolver nsContext;
+ private final NamePathResolver nsContext;
/**
* Constructs a new empty <code>BufferedStringValue</code>.
+ * @param nsContext
*/
- protected BufferedStringValue(NamespaceResolver nsContext) {
+ protected BufferedStringValue(NamePathResolver nsContext) {
buffer = new char[0x2000];
bufferPos = 0;
tmpFile = null;
@@ -229,7 +230,7 @@
//--------------------------------------------------------< TextValue >
- public Value getValue(int targetType, NamespaceResolver resolver)
+ public Value getValue(int targetType, NamePathResolver resolver)
throws ValueFormatException, RepositoryException {
try {
if (targetType == PropertyType.NAME
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewImportHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewImportHandler.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewImportHandler.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewImportHandler.java Tue Oct 30 03:02:41 2007
@@ -17,10 +17,12 @@
package org.apache.jackrabbit.core.xml;
import org.apache.jackrabbit.core.NodeId;
-import org.apache.jackrabbit.name.NameException;
-import org.apache.jackrabbit.name.NameFormat;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.IllegalNameException;
+import org.apache.jackrabbit.conversion.NameException;
+import org.apache.jackrabbit.conversion.NameParser;
+import org.apache.jackrabbit.conversion.IllegalNameException;
+import org.apache.jackrabbit.name.NameConstants;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.util.ISO9075;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,6 +31,7 @@
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.NamespaceException;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
@@ -70,14 +73,16 @@
* @return the parsed names
* @throws SAXException if an invalid name was encountered
*/
- private QName[] parseNames(String value) throws SAXException {
+ private Name[] parseNames(String value) throws SAXException {
String[] names = value.split("\\p{Space}+");
- QName[] qnames = new QName[names.length];
+ Name[] qnames = new Name[names.length];
for (int i = 0; i < names.length; i++) {
try {
- qnames[i] = NameFormat.parse(names[i], nsContext);
+ qnames[i] = resolver.getQName(names[i]);
} catch (NameException ne) {
throw new SAXException("Invalid name: " + names[i], ne);
+ } catch (NamespaceException e) {
+ throw new SAXException("Invalid name: " + names[i], e);
}
}
return qnames;
@@ -97,7 +102,7 @@
private void appendCharacters(char[] ch, int start, int length)
throws SAXException {
if (textHandler == null) {
- textHandler = new BufferedStringValue(nsContext);
+ textHandler = new BufferedStringValue(resolver);
}
try {
textHandler.append(ch, start, length);
@@ -147,12 +152,12 @@
}
NodeInfo node =
- new NodeInfo(QName.JCR_XMLTEXT, null, null, null);
+ new NodeInfo(NameConstants.JCR_XMLTEXT, null, null, null);
TextValue[] values =
new TextValue[]{textHandler};
ArrayList props = new ArrayList();
PropInfo prop = new PropInfo(
- QName.JCR_XMLCHARACTERS, PropertyType.STRING, values);
+ NameConstants.JCR_XMLCHARACTERS, PropertyType.STRING, values);
props.add(prop);
// call Importer
importer.startNode(node, props);
@@ -179,14 +184,15 @@
* @return the decoded and valid jcr name or the original name if it is
* not encoded or if the resulting decoded name would be illegal.
*/
- private QName processName(QName name) {
- QName decoded = ISO9075.decode(name);
- if (decoded != name) {
+ private Name processName(Name name) {
+ String decodedLocalName = ISO9075.decode(name.getLocalName());
+ Name decoded = NameFactoryImpl.getInstance().create(name.getNamespaceURI(), decodedLocalName);
+ if (!decoded.equals(name)) {
// only need to check format of decoded name since
// an xml name is always a legal jcr name
// (http://issues.apache.org/jira/browse/JCR-821)
try {
- NameFormat.checkFormat(decoded.getLocalName());
+ NameParser.checkFormat(decoded.getLocalName());
return decoded;
} catch (IllegalNameException ine) {
// decoded name would be illegal according to jsr 170,
@@ -214,23 +220,23 @@
processCharacters();
try {
- QName nodeName = new QName(namespaceURI, localName);
+ Name nodeName = NameFactoryImpl.getInstance().create(namespaceURI, localName);
// process node name
nodeName = processName(nodeName);
// properties
NodeId id = null;
- QName nodeTypeName = null;
- QName[] mixinTypes = null;
+ Name nodeTypeName = null;
+ Name[] mixinTypes = null;
ArrayList props = new ArrayList(atts.getLength());
for (int i = 0; i < atts.getLength(); i++) {
- if (atts.getURI(i).equals(QName.NS_XMLNS_URI)) {
+ if (atts.getURI(i).equals(Name.NS_XMLNS_URI)) {
// skip namespace declarations reported as attributes
// see http://issues.apache.org/jira/browse/JCR-620#action_12448164
continue;
}
- QName propName = new QName(atts.getURI(i), atts.getLocalName(i));
+ Name propName = NameFactoryImpl.getInstance().create(atts.getURI(i), atts.getLocalName(i));
// process property name
propName = processName(propName);
@@ -244,22 +250,22 @@
// see also DocViewSAXEventGenerator#leavingProperties(Node, int)
// todo proper multi-value serialization support
propValues = new TextValue[1];
- propValues[0] = new StringValue(attrValue, nsContext);
+ propValues[0] = new StringValue(attrValue, resolver);
- if (propName.equals(QName.JCR_PRIMARYTYPE)) {
+ if (propName.equals(NameConstants.JCR_PRIMARYTYPE)) {
// jcr:primaryType
if (attrValue.length() > 0) {
try {
- nodeTypeName = NameFormat.parse(attrValue, nsContext);
+ nodeTypeName = resolver.getQName(attrValue);
} catch (NameException ne) {
throw new SAXException("illegal jcr:primaryType value: "
+ attrValue, ne);
}
}
- } else if (propName.equals(QName.JCR_MIXINTYPES)) {
+ } else if (propName.equals(NameConstants.JCR_MIXINTYPES)) {
// jcr:mixinTypes
mixinTypes = parseNames(attrValue);
- } else if (propName.equals(QName.JCR_UUID)) {
+ } else if (propName.equals(NameConstants.JCR_UUID)) {
// jcr:uuid
if (attrValue.length() > 0) {
id = NodeId.valueOf(attrValue);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewSAXEventGenerator.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewSAXEventGenerator.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewSAXEventGenerator.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/DocViewSAXEventGenerator.java Tue Oct 30 03:02:41 2007
@@ -16,9 +16,8 @@
*/
package org.apache.jackrabbit.core.xml;
-import org.apache.jackrabbit.name.NameException;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.NameFormat;
+import org.apache.jackrabbit.conversion.NameException;
+import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.util.ISO9075;
import org.apache.jackrabbit.value.ValueHelper;
import org.slf4j.Logger;
@@ -69,9 +68,9 @@
props = new ArrayList();
}
- private QName getQName(String rawName) throws RepositoryException {
+ private Name getQName(String rawName) throws RepositoryException {
try {
- return NameFormat.parse(rawName, nsResolver);
+ return resolver.getQName(rawName);
} catch (NameException e) {
// should never get here...
String msg = "internal error: failed to resolve namespace mappings";
@@ -154,7 +153,7 @@
// attribute name (encode property name to make sure it's a valid xml name)
String attrName = ISO9075.encode(propName);
- QName qName = getQName(attrName);
+ Name qName = getQName(attrName);
// attribute value
if (prop.getType() == PropertyType.BINARY && skipBinary) {
@@ -172,7 +171,7 @@
}
// start element (node)
- QName qName = getQName(elemName);
+ Name qName = getQName(elemName);
contentHandler.startElement(qName.getNamespaceURI(),
qName.getLocalName(), elemName, attrs);
}
@@ -200,7 +199,7 @@
}
// end element (node)
- QName qName = getQName(elemName);
+ Name qName = getQName(elemName);
contentHandler.endElement(qName.getNamespaceURI(), qName.getLocalName(),
elemName);
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/ImportHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/ImportHandler.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/ImportHandler.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/ImportHandler.java Tue Oct 30 03:02:41 2007
@@ -22,8 +22,8 @@
import javax.jcr.RepositoryException;
import org.apache.jackrabbit.core.NamespaceRegistryImpl;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.namespace.NamespaceResolver;
+import org.apache.jackrabbit.spi.Name;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.Attributes;
@@ -175,7 +175,7 @@
if (targetHandler == null) {
// the namespace of the first element determines the type of XML
// (system view/document view)
- if (QName.NS_SV_URI.equals(namespaceURI)) {
+ if (Name.NS_SV_URI.equals(namespaceURI)) {
targetHandler = new SysViewImportHandler(importer);
} else {
targetHandler = new DocViewImportHandler(importer);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java Tue Oct 30 03:02:41 2007
@@ -16,12 +16,7 @@
*/
package org.apache.jackrabbit.core.xml;
-import org.apache.jackrabbit.name.IllegalNameException;
-import org.apache.jackrabbit.name.NameFormat;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.NoPrefixDeclaredException;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.UnknownPrefixException;
+import org.apache.jackrabbit.namespace.NamespaceResolver;
import javax.jcr.NamespaceException;
import java.util.HashMap;
@@ -122,16 +117,4 @@
throw new NamespaceException("Unknown URI: " + uri);
}
}
-
- /** {@inheritDoc} */
- public String getJCRName(QName name) throws NoPrefixDeclaredException {
- return NameFormat.format(name, this);
- }
-
- /** {@inheritDoc} */
- public QName getQName(String name)
- throws IllegalNameException, UnknownPrefixException {
- return NameFormat.parse(name, this);
- }
-
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NodeInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NodeInfo.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NodeInfo.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/NodeInfo.java Tue Oct 30 03:02:41 2007
@@ -17,7 +17,7 @@
package org.apache.jackrabbit.core.xml;
import org.apache.jackrabbit.core.NodeId;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.spi.Name;
/**
* Information about a node being imported. This class is used
@@ -33,17 +33,17 @@
/**
* Name of the node being imported.
*/
- private final QName name;
+ private final Name name;
/**
* Name of the primary type of the node being imported.
*/
- private final QName nodeTypeName;
+ private final Name nodeTypeName;
/**
* Names of the mixin types of the node being imported.
*/
- private final QName[] mixinNames;
+ private final Name[] mixinNames;
/**
* Identifier of the node being imported.
@@ -58,7 +58,7 @@
* @param mixinNames names of the mixin types of the node being imported
* @param id identifier of the node being imported
*/
- public NodeInfo(QName name, QName nodeTypeName, QName[] mixinNames,
+ public NodeInfo(Name name, Name nodeTypeName, Name[] mixinNames,
NodeId id) {
this.name = name;
this.nodeTypeName = nodeTypeName;
@@ -71,7 +71,7 @@
*
* @return node name
*/
- public QName getName() {
+ public Name getName() {
return name;
}
@@ -80,7 +80,7 @@
*
* @return primary type name
*/
- public QName getNodeTypeName() {
+ public Name getNodeTypeName() {
return nodeTypeName;
}
@@ -89,7 +89,7 @@
*
* @return mixin type names
*/
- public QName[] getMixinNames() {
+ public Name[] getMixinNames() {
return mixinNames;
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/PropInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/PropInfo.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/PropInfo.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/PropInfo.java Tue Oct 30 03:02:41 2007
@@ -33,8 +33,8 @@
import org.apache.jackrabbit.core.state.PropertyState;
import org.apache.jackrabbit.core.util.ReferenceChangeTracker;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.conversion.NamePathResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,7 +58,7 @@
/**
* Name of the property being imported.
*/
- private final QName name;
+ private final Name name;
/**
* Type of the property being imported.
@@ -77,7 +77,7 @@
* @param type type of the property being imported
* @param values value(s) of the property being imported
*/
- public PropInfo(QName name, int type, TextValue[] values) {
+ public PropInfo(Name name, int type, TextValue[] values) {
this.name = name;
this.type = type;
this.values = values;
@@ -115,7 +115,7 @@
}
public void apply(
- NodeImpl node, NamespaceResolver resolver,
+ NodeImpl node, NamePathResolver resolver,
ReferenceChangeTracker refTracker) throws RepositoryException {
// find applicable definition
PropDef def = getApplicablePropertyDef(node.getEffectiveNodeType());
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SessionImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SessionImporter.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SessionImporter.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SessionImporter.java Tue Oct 30 03:02:41 2007
@@ -20,9 +20,11 @@
import org.apache.jackrabbit.core.SessionImpl;
import org.apache.jackrabbit.core.NodeId;
import org.apache.jackrabbit.core.util.ReferenceChangeTracker;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.value.ReferenceValue;
import org.apache.jackrabbit.uuid.UUID;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.name.NameConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -81,9 +83,9 @@
}
protected NodeImpl createNode(NodeImpl parent,
- QName nodeName,
- QName nodeTypeName,
- QName[] mixinNames,
+ Name nodeName,
+ Name nodeTypeName,
+ Name[] mixinNames,
NodeId id)
throws RepositoryException {
NodeImpl node;
@@ -102,9 +104,9 @@
// assume this property has been imported as well;
// rename conflicting property
// @todo use better reversible escaping scheme to create unique name
- QName newName = new QName(nodeName.getNamespaceURI(), nodeName.getLocalName() + "_");
+ Name newName = NameFactoryImpl.getInstance().create(nodeName.getNamespaceURI(), nodeName.getLocalName() + "_");
if (parent.hasProperty(newName)) {
- newName = new QName(newName.getNamespaceURI(), newName.getLocalName() + "_");
+ newName = NameFactoryImpl.getInstance().create(newName.getNamespaceURI(), newName.getLocalName() + "_");
}
if (conflicting.getDefinition().isMultiple()) {
@@ -138,7 +140,7 @@
node = createNode(parent, nodeInfo.getName(),
nodeInfo.getNodeTypeName(), nodeInfo.getMixinNames(), null);
// remember uuid mapping
- if (node.isNodeType(QName.MIX_REFERENCEABLE)) {
+ if (node.isNodeType(NameConstants.MIX_REFERENCEABLE)) {
refTracker.mappedUUID(nodeInfo.getId().getUUID(), node.getNodeId().getUUID());
}
} else if (uuidBehavior == ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW) {
@@ -197,9 +199,9 @@
NodeImpl node = null;
NodeId id = nodeInfo.getId();
- QName nodeName = nodeInfo.getName();
- QName ntName = nodeInfo.getNodeTypeName();
- QName[] mixins = nodeInfo.getMixinNames();
+ Name nodeName = nodeInfo.getName();
+ Name ntName = nodeInfo.getNodeTypeName();
+ Name[] mixins = nodeInfo.getMixinNames();
if (parent == null) {
// parent node was skipped, skip this child node too
@@ -264,7 +266,7 @@
Iterator iter = propInfos.iterator();
while (iter.hasNext()) {
PropInfo pi = (PropInfo) iter.next();
- pi.apply(node, session.getNamespaceResolver(), refTracker);
+ pi.apply(node, session.getNamePathResolver(), refTracker);
}
parents.push(node);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/StringValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/StringValue.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/StringValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/StringValue.java Tue Oct 30 03:02:41 2007
@@ -17,10 +17,10 @@
package org.apache.jackrabbit.core.xml;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.NamespaceResolver;
import org.apache.jackrabbit.util.Base64;
import org.apache.jackrabbit.value.ValueHelper;
import org.apache.jackrabbit.value.ValueFactoryImpl;
+import org.apache.jackrabbit.conversion.NamePathResolver;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
@@ -36,7 +36,7 @@
private final String value;
- private final NamespaceResolver nsContext;
+ private final NamePathResolver nsContext;
/**
* Constructs a new <code>StringValue</code> representing the given
@@ -44,14 +44,14 @@
*
* @param value
*/
- protected StringValue(String value, NamespaceResolver nsContext) {
+ protected StringValue(String value, NamePathResolver nsContext) {
this.value = value;
this.nsContext = nsContext;
}
//--------------------------------------------------------< TextValue >
- public Value getValue(int type, NamespaceResolver resolver)
+ public Value getValue(int type, NamePathResolver resolver)
throws ValueFormatException, RepositoryException {
if (type == PropertyType.NAME || type == PropertyType.PATH) {
// NAME and PATH require special treatment because
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewImportHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewImportHandler.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewImportHandler.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewImportHandler.java Tue Oct 30 03:02:41 2007
@@ -16,9 +16,10 @@
*/
package org.apache.jackrabbit.core.xml;
-import org.apache.jackrabbit.name.NameException;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.NameFormat;
+import org.apache.jackrabbit.conversion.NameException;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.name.NameConstants;
import org.apache.jackrabbit.core.NodeId;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -26,6 +27,7 @@
import javax.jcr.InvalidSerializedDataException;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.NamespaceException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
@@ -47,7 +49,7 @@
/**
* fields used temporarily while processing sv:property and sv:value elements
*/
- private QName currentPropName;
+ private Name currentPropName;
private int currentPropType = PropertyType.UNDEFINED;
// list of AppendableValue objects
private ArrayList currentPropValues = new ArrayList();
@@ -57,7 +59,6 @@
* Constructs a new <code>SysViewImportHandler</code>.
*
* @param importer
- * @param nsContext
*/
SysViewImportHandler(Importer importer) {
super(importer);
@@ -68,10 +69,10 @@
if (!start && !end) {
return;
}
- QName[] mixinNames = null;
+ Name[] mixinNames = null;
if (state.mixinNames != null) {
- mixinNames = (QName[]) state.mixinNames.toArray(
- new QName[state.mixinNames.size()]);
+ mixinNames = (Name[]) state.mixinNames.toArray(
+ new Name[state.mixinNames.size()]);
}
NodeId id = null;
if (state.uuid != null) {
@@ -106,13 +107,13 @@
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts)
throws SAXException {
- QName name = new QName(namespaceURI, localName);
+ Name name = NameFactoryImpl.getInstance().create(namespaceURI, localName);
// check element name
- if (name.equals(QName.SV_NODE)) {
+ if (name.equals(NameConstants.SV_NODE)) {
// sv:node element
// node name (value of sv:name attribute)
- String svName = getAttribute(atts, QName.SV_NAME);
+ String svName = getAttribute(atts, NameConstants.SV_NAME);
if (name == null) {
throw new SAXException(new InvalidSerializedDataException(
"missing mandatory sv:name attribute of element sv:node"));
@@ -131,30 +132,34 @@
// push new ImportState instance onto the stack
ImportState state = new ImportState();
try {
- state.nodeName = NameFormat.parse(svName, nsContext);
+ state.nodeName = resolver.getQName(svName);
} catch (NameException e) {
throw new SAXException(new InvalidSerializedDataException("illegal node name: " + name, e));
+ } catch (NamespaceException e) {
+ throw new SAXException(new InvalidSerializedDataException("illegal node name: " + name, e));
}
stack.push(state);
- } else if (name.equals(QName.SV_PROPERTY)) {
+ } else if (name.equals(NameConstants.SV_PROPERTY)) {
// sv:property element
// reset temp fields
currentPropValues.clear();
// property name (value of sv:name attribute)
- String svName = getAttribute(atts, QName.SV_NAME);
+ String svName = getAttribute(atts, NameConstants.SV_NAME);
if (name == null) {
throw new SAXException(new InvalidSerializedDataException(
"missing mandatory sv:name attribute of element sv:property"));
}
try {
- currentPropName = NameFormat.parse(svName, nsContext);
+ currentPropName = resolver.getQName(svName);
} catch (NameException e) {
throw new SAXException(new InvalidSerializedDataException("illegal property name: " + name, e));
+ } catch (NamespaceException e) {
+ throw new SAXException(new InvalidSerializedDataException("illegal property name: " + name, e));
}
// property type (sv:type attribute)
- String type = getAttribute(atts, QName.SV_TYPE);
+ String type = getAttribute(atts, NameConstants.SV_TYPE);
if (type == null) {
throw new SAXException(new InvalidSerializedDataException(
"missing mandatory sv:type attribute of element sv:property"));
@@ -165,11 +170,11 @@
throw new SAXException(new InvalidSerializedDataException(
"Unknown property type: " + type, e));
}
- } else if (name.equals(QName.SV_VALUE)) {
+ } else if (name.equals(NameConstants.SV_VALUE)) {
// sv:value element
// reset temp fields
- currentPropValue = new BufferedStringValue(nsContext);
+ currentPropValue = new BufferedStringValue(resolver);
} else {
throw new SAXException(new InvalidSerializedDataException(
"Unexpected element in system view xml document: " + name));
@@ -216,10 +221,10 @@
*/
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
- QName name = new QName(namespaceURI, localName);
+ Name name = NameFactoryImpl.getInstance().create(namespaceURI, localName);
// check element name
ImportState state = (ImportState) stack.peek();
- if (name.equals(QName.SV_NODE)) {
+ if (name.equals(NameConstants.SV_NODE)) {
// sv:node element
if (!state.started) {
// need to start & end current node
@@ -231,23 +236,25 @@
}
// pop current state from stack
stack.pop();
- } else if (name.equals(QName.SV_PROPERTY)) {
+ } else if (name.equals(NameConstants.SV_PROPERTY)) {
// sv:property element
// check if all system properties (jcr:primaryType, jcr:uuid etc.)
// have been collected and create node as necessary
- if (currentPropName.equals(QName.JCR_PRIMARYTYPE)) {
+ if (currentPropName.equals(NameConstants.JCR_PRIMARYTYPE)) {
BufferedStringValue val = (BufferedStringValue) currentPropValues.get(0);
String s = null;
try {
s = val.retrieve();
- state.nodeTypeName = NameFormat.parse(s, nsContext);
+ state.nodeTypeName = resolver.getQName(s);
} catch (IOException ioe) {
throw new SAXException("error while retrieving value", ioe);
} catch (NameException e) {
throw new SAXException(new InvalidSerializedDataException("illegal node type name: " + s, e));
+ } catch (NamespaceException e) {
+ throw new SAXException(new InvalidSerializedDataException("illegal node type name: " + s, e));
}
- } else if (currentPropName.equals(QName.JCR_MIXINTYPES)) {
+ } else if (currentPropName.equals(NameConstants.JCR_MIXINTYPES)) {
if (state.mixinNames == null) {
state.mixinNames = new ArrayList(currentPropValues.size());
}
@@ -257,15 +264,17 @@
String s = null;
try {
s = val.retrieve();
- QName mixin = NameFormat.parse(s, nsContext);
+ Name mixin = resolver.getQName(s);
state.mixinNames.add(mixin);
} catch (IOException ioe) {
throw new SAXException("error while retrieving value", ioe);
} catch (NameException e) {
throw new SAXException(new InvalidSerializedDataException("illegal mixin type name: " + s, e));
+ } catch (NamespaceException e) {
+ throw new SAXException(new InvalidSerializedDataException("illegal mixin type name: " + s, e));
}
}
- } else if (currentPropName.equals(QName.JCR_UUID)) {
+ } else if (currentPropName.equals(NameConstants.JCR_UUID)) {
BufferedStringValue val = (BufferedStringValue) currentPropValues.get(0);
try {
state.uuid = val.retrieve();
@@ -281,7 +290,7 @@
}
// reset temp fields
currentPropValues.clear();
- } else if (name.equals(QName.SV_VALUE)) {
+ } else if (name.equals(NameConstants.SV_VALUE)) {
// sv:value element
currentPropValues.add(currentPropValue);
// reset temp fields
@@ -296,11 +305,11 @@
/**
* name of current node
*/
- QName nodeName;
+ Name nodeName;
/**
* primary type of current node
*/
- QName nodeTypeName;
+ Name nodeTypeName;
/**
* list of mixin types of current node
*/
@@ -331,7 +340,7 @@
* @return attribute value,
* or <code>null</code> if the named attribute is not found
*/
- private static String getAttribute(Attributes attributes, QName name) {
+ private static String getAttribute(Attributes attributes, Name name) {
return attributes.getValue(name.getNamespaceURI(), name.getLocalName());
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewSAXEventGenerator.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewSAXEventGenerator.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewSAXEventGenerator.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/SysViewSAXEventGenerator.java Tue Oct 30 03:02:41 2007
@@ -16,10 +16,12 @@
*/
package org.apache.jackrabbit.core.xml;
-import org.apache.jackrabbit.name.NameResolver;
-import org.apache.jackrabbit.name.ParsingNameResolver;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.conversion.NameResolver;
+import org.apache.jackrabbit.conversion.ParsingNameResolver;
+import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.value.ValueHelper;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.name.NameConstants;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -52,8 +54,8 @@
private static final Attributes ATTRS_BINARY_ENCODED_VALUE;
static {
AttributesImpl attrs = new AttributesImpl();
- attrs.addAttribute(QName.NS_XMLNS_URI, NS_XMLSCHEMA_INSTANCE_PREFIX, "xmlns:" + NS_XMLSCHEMA_INSTANCE_PREFIX, CDATA_TYPE, NS_XMLSCHEMA_INSTANCE_URI);
- attrs.addAttribute(QName.NS_XMLNS_URI, NS_XMLSCHEMA_PREFIX, "xmlns:" + NS_XMLSCHEMA_PREFIX, CDATA_TYPE, NS_XMLSCHEMA_URI);
+ attrs.addAttribute(Name.NS_XMLNS_URI, NS_XMLSCHEMA_INSTANCE_PREFIX, "xmlns:" + NS_XMLSCHEMA_INSTANCE_PREFIX, CDATA_TYPE, NS_XMLSCHEMA_INSTANCE_URI);
+ attrs.addAttribute(Name.NS_XMLNS_URI, NS_XMLSCHEMA_PREFIX, "xmlns:" + NS_XMLSCHEMA_PREFIX, CDATA_TYPE, NS_XMLSCHEMA_URI);
attrs.addAttribute(NS_XMLSCHEMA_INSTANCE_URI, "type", NS_XMLSCHEMA_INSTANCE_PREFIX + ":type", "CDATA", NS_XMLSCHEMA_PREFIX + ":base64Binary");
ATTRS_BINARY_ENCODED_VALUE = attrs;
}
@@ -79,7 +81,7 @@
ContentHandler contentHandler)
throws RepositoryException {
super(node, noRecurse, skipBinary, contentHandler);
- resolver = new ParsingNameResolver(nsResolver);
+ resolver = new ParsingNameResolver(NameFactoryImpl.getInstance(), nsResolver);
}
/**
@@ -99,9 +101,9 @@
nodeName = node.getName();
}
- addAttribute(attrs, QName.SV_NAME, CDATA_TYPE, nodeName);
+ addAttribute(attrs, NameConstants.SV_NAME, CDATA_TYPE, nodeName);
// start node element
- startElement(QName.SV_NODE, attrs);
+ startElement(NameConstants.SV_NODE, attrs);
}
/**
@@ -126,7 +128,7 @@
protected void leaving(Node node, int level)
throws RepositoryException, SAXException {
// end node element
- endElement(QName.SV_NODE);
+ endElement(NameConstants.SV_NODE);
}
/**
@@ -136,11 +138,11 @@
throws RepositoryException, SAXException {
AttributesImpl attrs = new AttributesImpl();
// name attribute
- addAttribute(attrs, QName.SV_NAME, CDATA_TYPE, prop.getName());
+ addAttribute(attrs, NameConstants.SV_NAME, CDATA_TYPE, prop.getName());
// type attribute
try {
String typeName = PropertyType.nameFromValue(prop.getType());
- addAttribute(attrs, QName.SV_TYPE, ENUMERATION_TYPE, typeName);
+ addAttribute(attrs, NameConstants.SV_TYPE, ENUMERATION_TYPE, typeName);
} catch (IllegalArgumentException e) {
// should never be getting here
throw new RepositoryException(
@@ -148,13 +150,13 @@
}
// start property element
- startElement(QName.SV_PROPERTY, attrs);
+ startElement(NameConstants.SV_PROPERTY, attrs);
// values
if (prop.getType() == PropertyType.BINARY && skipBinary) {
// empty value element
- startElement(QName.SV_VALUE, new AttributesImpl());
- endElement(QName.SV_VALUE);
+ startElement(NameConstants.SV_VALUE, new AttributesImpl());
+ endElement(NameConstants.SV_VALUE);
} else {
boolean multiValued = prop.getDefinition().isMultiple();
Value[] vals;
@@ -186,7 +188,7 @@
}
// start value element
- startElement(QName.SV_VALUE, attributes);
+ startElement(NameConstants.SV_VALUE, attributes);
// characters
Writer writer = new Writer() {
@@ -220,7 +222,7 @@
}
// end value element
- endElement(QName.SV_VALUE);
+ endElement(NameConstants.SV_VALUE);
if (mustSendBinary) {
contentHandler.endPrefixMapping(NS_XMLSCHEMA_INSTANCE_PREFIX);
@@ -235,14 +237,14 @@
*/
protected void leaving(Property prop, int level)
throws RepositoryException, SAXException {
- endElement(QName.SV_PROPERTY);
+ endElement(NameConstants.SV_PROPERTY);
}
//-------------------------------------------------------------< private >
/**
* Adds an attribute to the given XML attribute set. The local part of
- * the given {@link QName} is assumed to be a valid XML NCName, i.e. it
+ * the given {@link Name} is assumed to be a valid XML NCName, i.e. it
* won't be encoded.
*
* @param attributes the XML attribute set
@@ -252,7 +254,7 @@
* @throws NamespaceException if the namespace of the attribute is not found
*/
private void addAttribute(
- AttributesImpl attributes, QName name, String type, String value)
+ AttributesImpl attributes, Name name, String type, String value)
throws NamespaceException {
attributes.addAttribute(
name.getNamespaceURI(), name.getLocalName(),
@@ -260,14 +262,14 @@
}
/**
- * Starts an XML element. The local part of the given {@link QName} is
+ * Starts an XML element. The local part of the given {@link Name} is
* assumed to be a valid XML NCName, i.e. it won't be encoded.
*
* @param name name of the element
* @param attributes XML attributes
* @throws NamespaceException if the namespace of the element is not found
*/
- private void startElement(QName name, Attributes attributes)
+ private void startElement(Name name, Attributes attributes)
throws NamespaceException, SAXException {
contentHandler.startElement(
name.getNamespaceURI(), name.getLocalName(),
@@ -275,13 +277,13 @@
}
/**
- * Ends an XML element. The local part of the given {@link QName} is
+ * Ends an XML element. The local part of the given {@link Name} is
* assumed to be a valid XML NCName, i.e. it won't be encoded.
*
* @param name name of the element
* @throws NamespaceException if the namespace of the element is not found
*/
- private void endElement(QName name)
+ private void endElement(Name name)
throws NamespaceException, SAXException {
contentHandler.endElement(
name.getNamespaceURI(), name.getLocalName(),
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TargetImportHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TargetImportHandler.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TargetImportHandler.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TargetImportHandler.java Tue Oct 30 03:02:41 2007
@@ -18,6 +18,8 @@
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
+import org.apache.jackrabbit.conversion.NamePathResolver;
+import org.apache.jackrabbit.conversion.DefaultNamePathResolver;
import java.util.Map;
@@ -41,6 +43,8 @@
*/
protected NamespaceContext nsContext;
+ protected NamePathResolver resolver;
+
protected TargetImportHandler(Importer importer) {
this.importer = importer;
}
@@ -87,6 +91,7 @@
*/
public final void startNamespaceContext(Map mappings) {
nsContext = new NamespaceContext(nsContext, mappings);
+ resolver = new DefaultNamePathResolver(nsContext);
}
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TextValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TextValue.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TextValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/TextValue.java Tue Oct 30 03:02:41 2007
@@ -21,7 +21,7 @@
import javax.jcr.ValueFormatException;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.NamespaceResolver;
+import org.apache.jackrabbit.conversion.NamePathResolver;
/**
* <code>TextValue</code> represents a serialized property value read
@@ -29,7 +29,7 @@
*/
public interface TextValue {
- Value getValue(int type, NamespaceResolver resolver)
+ Value getValue(int type, NamePathResolver resolver)
throws ValueFormatException, RepositoryException;
InternalValue getInternalValue(int type)
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/WorkspaceImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/WorkspaceImporter.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/WorkspaceImporter.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/xml/WorkspaceImporter.java Tue Oct 30 03:02:41 2007
@@ -32,10 +32,12 @@
import org.apache.jackrabbit.core.util.ReferenceChangeTracker;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.core.version.VersionManager;
-import org.apache.jackrabbit.name.MalformedPathException;
-import org.apache.jackrabbit.name.Path;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.conversion.MalformedPathException;
+import org.apache.jackrabbit.spi.Path;
+import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.uuid.UUID;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.name.NameConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -156,7 +158,7 @@
nodeInfo.getNodeTypeName(), nodeInfo.getMixinNames(), null);
// remember uuid mapping
EffectiveNodeType ent = itemOps.getEffectiveNodeType(node);
- if (ent.includesNodeType(QName.MIX_REFERENCEABLE)) {
+ if (ent.includesNodeType(NameConstants.MIX_REFERENCEABLE)) {
refTracker.mappedUUID(nodeInfo.getId().getUUID(), node.getNodeId().getUUID());
}
} else if (uuidBehavior == ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW) {
@@ -293,7 +295,7 @@
* todo FIXME delegate to 'node type instance handler'
*/
EffectiveNodeType ent = itemOps.getEffectiveNodeType(node);
- if (ent.includesNodeType(QName.MIX_VERSIONABLE)) {
+ if (ent.includesNodeType(NameConstants.MIX_VERSIONABLE)) {
/**
* check if there's already a version history for that
* node; this would e.g. be the case if a versionable node
@@ -310,22 +312,22 @@
// jcr:versionHistory
conditionalAddProperty(
- node, QName.JCR_VERSIONHISTORY, PropertyType.REFERENCE, false,
+ node, NameConstants.JCR_VERSIONHISTORY, PropertyType.REFERENCE, false,
InternalValue.create(new UUID(history.getUUID())));
// jcr:baseVersion
conditionalAddProperty(
- node, QName.JCR_BASEVERSION, PropertyType.REFERENCE, false,
+ node, NameConstants.JCR_BASEVERSION, PropertyType.REFERENCE, false,
InternalValue.create(new UUID(rootVersion.getUUID())));
// jcr:predecessors
conditionalAddProperty(
- node, QName.JCR_PREDECESSORS, PropertyType.REFERENCE, true,
+ node, NameConstants.JCR_PREDECESSORS, PropertyType.REFERENCE, true,
InternalValue.create(new UUID(rootVersion.getUUID())));
// jcr:isCheckedOut
conditionalAddProperty(
- node, QName.JCR_ISCHECKEDOUT, PropertyType.BOOLEAN, false,
+ node, NameConstants.JCR_ISCHECKEDOUT, PropertyType.BOOLEAN, false,
InternalValue.create(true));
}
}
@@ -342,7 +344,7 @@
* @throws RepositoryException if the property could not be added
*/
private void conditionalAddProperty(
- NodeState node, QName name, int type, boolean multiple,
+ NodeState node, Name name, int type, boolean multiple,
InternalValue value)
throws RepositoryException {
if (!node.hasPropertyName(name)) {
@@ -392,9 +394,9 @@
NodeState node = null;
NodeId id = nodeInfo.getId();
- QName nodeName = nodeInfo.getName();
- QName ntName = nodeInfo.getNodeTypeName();
- QName[] mixins = nodeInfo.getMixinNames();
+ Name nodeName = nodeInfo.getName();
+ Name ntName = nodeInfo.getNodeTypeName();
+ Name[] mixins = nodeInfo.getMixinNames();
if (parent == null) {
// parent node was skipped, skip this child node too
@@ -534,7 +536,7 @@
* @param name name of the node being imported
* @throws RepositoryException
*/
- private void resolvePropertyNameConflict(NodeState parent, QName name)
+ private void resolvePropertyNameConflict(NodeState parent, Name name)
throws RepositoryException {
PropertyId propId = new PropertyId(parent.getNodeId(), name);
PropertyState conflicting = itemOps.getPropertyState(propId);
@@ -542,9 +544,9 @@
// assume this property has been imported as well;
// rename conflicting property
// @todo use better reversible escaping scheme to create unique name
- QName newName = new QName(name.getNamespaceURI(), name.getLocalName() + "_");
+ Name newName = NameFactoryImpl.getInstance().create(name.getNamespaceURI(), name.getLocalName() + "_");
while (parent.hasPropertyName(newName)) {
- newName = new QName(newName.getNamespaceURI(), newName.getLocalName() + "_");
+ newName = NameFactoryImpl.getInstance().create(newName.getNamespaceURI(), newName.getLocalName() + "_");
}
InternalValue[] values = conflicting.getValues();
PropertyState newProp = itemOps.createPropertyState(
Modified: jackrabbit/trunk/jackrabbit-core/src/main/javacc/sql/JCRSQL.jjt
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/javacc/sql/JCRSQL.jjt?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/javacc/sql/JCRSQL.jjt (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/javacc/sql/JCRSQL.jjt Tue Oct 30 03:02:41 2007
@@ -41,31 +41,33 @@
*/
package org.apache.jackrabbit.core.query.sql;
-import org.apache.jackrabbit.name.NameException;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.name.NameFormat;
+import org.apache.jackrabbit.conversion.NameException;
+import org.apache.jackrabbit.conversion.NameResolver;
import org.apache.jackrabbit.core.query.QueryConstants;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.spi.Name;
+
+import javax.jcr.NamespaceException;
public class JCRSQLParser {
private String statement;
- private NamespaceResolver resolver;
+ private NameResolver resolver;
public static void main(String args[]) throws ParseException {
JCRSQLParser parser = new JCRSQLParser(System.in);
parser.Query().dump("");
}
- public static ASTQuery parse(String statement, NamespaceResolver resolver) throws ParseException {
+ public static ASTQuery parse(String statement, NameResolver resolver) throws ParseException {
java.io.StringReader sReader = new java.io.StringReader(statement);
JCRSQLParser parser = new JCRSQLParser(sReader);
- parser.setNamespaceResolver(resolver);
+ parser.setNameResolver(resolver);
return parser.Query();
}
- void setNamespaceResolver(NamespaceResolver resolver) {
+ void setNameResolver(NameResolver resolver) {
this.resolver = resolver;
}
@@ -307,7 +309,7 @@
void Predicate() :
{
int operationType;
- QName identifier;
+ Name identifier;
String value;
String escapeString;
}
@@ -394,9 +396,9 @@
)
}
-QName PropertyFunction() #void :
+Name PropertyFunction() #void :
{
- QName identifier;
+ Name identifier;
}
{
(
@@ -408,9 +410,9 @@
}
}
-QName LowerFunction() :
+Name LowerFunction() :
{
- QName identifier;
+ Name identifier;
}
{
(
@@ -421,9 +423,9 @@
}
}
-QName UpperFunction() :
+Name UpperFunction() :
{
- QName identifier;
+ Name identifier;
}
{
(
@@ -513,7 +515,7 @@
void ContainsExpression() :
{
Token t = null;
- QName name = null;
+ Name name = null;
}
{
<CONTAINS>
@@ -585,10 +587,10 @@
}
}
-QName Identifier() :
+Name Identifier() :
{
Token t = null;
- QName name = null;
+ Name name = null;
boolean pseudoProperty = false;
}
{
@@ -600,18 +602,22 @@
if (pseudoProperty) {
jcrName += "()";
}
- jjtThis.setName(NameFormat.parse(jcrName, resolver));
+ jjtThis.setName(resolver.getQName(jcrName));
} catch (NameException e) {
throw new ParseException(e.getMessage());
+ } catch (NamespaceException e) {
+ throw new ParseException(e.getMessage());
}
}
|
t = <DELIMITED_IDENTIFIER>
{
try {
- jjtThis.setName(NameFormat.parse(t.image.substring(1, t.image.length()-1), resolver));
+ jjtThis.setName(resolver.getQName(t.image.substring(1, t.image.length()-1)));
} catch (NameException e) {
throw new ParseException(e.getMessage());
+ } catch (NamespaceException e) {
+ throw new ParseException(e.getMessage());
}
}
|
@@ -634,9 +640,11 @@
)
{
try {
- jjtThis.setName(NameFormat.parse(t.image, resolver));
+ jjtThis.setName(resolver.getQName(t.image));
} catch (NameException e) {
throw new ParseException(e.getMessage());
+ } catch (NamespaceException e) {
+ throw new ParseException(e.getMessage());
}
}
)
@@ -646,12 +654,12 @@
}
}
-QName ExcerptFunction() :
+Name ExcerptFunction() :
{}
{
<EXCERPT> "(" <PERIOD> ")"
{
- return new QName(QName.NS_REP_URI, "excerpt(.)");
+ return NameFactoryImpl.getInstance().create(Name.NS_REP_URI, "excerpt(.)");
}
}
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java Tue Oct 30 03:02:41 2007
@@ -109,6 +109,7 @@
repository = (Repository) ctx.lookup(repName);
} catch (Exception e) {
+ e.printStackTrace();
throw new RepositoryStubException(e.toString());
}
}
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/NamespaceRegistryImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/NamespaceRegistryImplTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/NamespaceRegistryImplTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/NamespaceRegistryImplTest.java Tue Oct 30 03:02:41 2007
@@ -20,7 +20,7 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.spi.Name;
import junit.framework.TestCase;
@@ -96,7 +96,7 @@
fail("safeRegisterNamespace() fails to reregister a namespace");
}
try {
- registry.safeRegisterNamespace(QName.NS_XML_PREFIX, URI3);
+ registry.safeRegisterNamespace(Name.NS_XML_PREFIX, URI3);
} catch (NamespaceException e) {
fail("safeRegisterNamespace() fails to handle a reserved prefix");
}
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java Tue Oct 30 03:02:41 2007
@@ -19,8 +19,8 @@
import org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl;
import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
import org.apache.jackrabbit.core.nodetype.compact.CompactNodeTypeDefReader;
-import org.apache.jackrabbit.name.QName;
import org.apache.jackrabbit.test.AbstractJCRTest;
+import org.apache.jackrabbit.name.NameFactoryImpl;
import java.io.InputStream;
import java.io.Reader;
@@ -63,7 +63,7 @@
List ntdList = cndReader.getNodeTypeDefs();
NodeTypeManagerImpl ntmgr = (NodeTypeManagerImpl) ws.getNodeTypeManager();
NodeTypeRegistry ntreg = ntmgr.getNodeTypeRegistry();
- if (!ntreg.isRegistered(new QName("http://namespace.com/ns", "foo" + len))) {
+ if (!ntreg.isRegistered(NameFactoryImpl.getInstance().create("http://namespace.com/ns", "foo" + len))) {
ntreg.registerNodeTypes(ntdList);
}
Node root = session.getRootNode();
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/CyclicNodeTypeRegistrationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/CyclicNodeTypeRegistrationTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/CyclicNodeTypeRegistrationTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/CyclicNodeTypeRegistrationTest.java Tue Oct 30 03:02:41 2007
@@ -16,8 +16,11 @@
*/
package org.apache.jackrabbit.core.nodetype;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.name.NameConstants;
import org.apache.jackrabbit.test.AbstractJCRTest;
+import org.apache.jackrabbit.spi.NameFactory;
+import org.apache.jackrabbit.spi.Name;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
@@ -54,6 +57,11 @@
private Collection ntDefCollection;
/**
+ * The name factory
+ */
+ private NameFactory nameFactory;
+
+ /**
* Sets up the fixture for the test cases.
*/
protected void setUp() throws Exception {
@@ -62,6 +70,7 @@
session = helper.getReadOnlySession();
manager = session.getWorkspace().getNodeTypeManager();
+ nameFactory = NameFactoryImpl.getInstance();
// Get the NodeTypeManager from the Workspace.
// Note that it must be cast from the generic JCR NodeTypeManager to the
@@ -98,21 +107,21 @@
* + myFooInBar (foo)
*/
final NodeTypeDef foo = new NodeTypeDef();
- foo.setName(new QName("", "foo"));
- foo.setSupertypes(new QName[]{QName.NT_BASE});
+ foo.setName(nameFactory.create("", "foo"));
+ foo.setSupertypes(new Name[]{NameConstants.NT_BASE});
final NodeTypeDef bar = new NodeTypeDef();
- bar.setName(new QName("", "bar"));
- bar.setSupertypes(new QName[]{QName.NT_BASE});
+ bar.setName(nameFactory.create("", "bar"));
+ bar.setSupertypes(new Name[]{NameConstants.NT_BASE});
NodeDefImpl myBarInFoo = new NodeDefImpl();
- myBarInFoo.setRequiredPrimaryTypes(new QName[]{bar.getName()});
- myBarInFoo.setName(new QName("", "myBarInFoo"));
+ myBarInFoo.setRequiredPrimaryTypes(new Name[]{bar.getName()});
+ myBarInFoo.setName(nameFactory.create("", "myBarInFoo"));
myBarInFoo.setDeclaringNodeType(foo.getName());
NodeDefImpl myFooInBar = new NodeDefImpl();
- myFooInBar.setRequiredPrimaryTypes(new QName[]{foo.getName()});
- myFooInBar.setName(new QName("", "myFooInBar"));
+ myFooInBar.setRequiredPrimaryTypes(new Name[]{foo.getName()});
+ myFooInBar.setName(nameFactory.create("", "myFooInBar"));
myFooInBar.setDeclaringNodeType(bar.getName());
foo.setChildNodeDefs(new NodeDefImpl[]{myBarInFoo});
@@ -146,13 +155,13 @@
*
*/
final NodeTypeDef foo = new NodeTypeDef();
- foo.setName(new QName("", "foo"));
- foo.setSupertypes(new QName[]{QName.NT_BASE});
+ foo.setName(nameFactory.create("", "foo"));
+ foo.setSupertypes(new Name[]{NameConstants.NT_BASE});
NodeDefImpl myBarInFoo = new NodeDefImpl();
- myBarInFoo.setRequiredPrimaryTypes(new QName[]{new QName("", "I_am_an_invalid_required_primary_type")});
- myBarInFoo.setName(new QName("", "myNTInFoo"));
+ myBarInFoo.setRequiredPrimaryTypes(new Name[]{nameFactory.create("", "I_am_an_invalid_required_primary_type")});
+ myBarInFoo.setName(nameFactory.create("", "myNTInFoo"));
myBarInFoo.setDeclaringNodeType(foo.getName());
foo.setChildNodeDefs(new NodeDefImpl[]{myBarInFoo});
@@ -190,38 +199,38 @@
*/
final NodeTypeDef folder = new NodeTypeDef();
- folder.setName(new QName("", "Folder"));
+ folder.setName(nameFactory.create("", "Folder"));
final NodeTypeDef cmsObject = new NodeTypeDef();
- cmsObject.setName(new QName("", "CmsObject"));
- cmsObject.setSupertypes(new QName[]{QName.NT_BASE});
+ cmsObject.setName(nameFactory.create("", "CmsObject"));
+ cmsObject.setSupertypes(new Name[]{NameConstants.NT_BASE});
NodeDefImpl parentFolder = new NodeDefImpl();
- parentFolder.setRequiredPrimaryTypes(new QName[]{folder.getName()});
- parentFolder.setName(new QName("", "parentFolder"));
+ parentFolder.setRequiredPrimaryTypes(new Name[]{folder.getName()});
+ parentFolder.setName(nameFactory.create("", "parentFolder"));
parentFolder.setDeclaringNodeType(cmsObject.getName());
cmsObject.setChildNodeDefs(new NodeDefImpl[]{parentFolder});
final NodeTypeDef document = new NodeTypeDef();
- document.setName(new QName("", "Document"));
- document.setSupertypes(new QName[]{cmsObject.getName()});
+ document.setName(nameFactory.create("", "Document"));
+ document.setSupertypes(new Name[]{cmsObject.getName()});
PropDefImpl sizeProp = new PropDefImpl();
- sizeProp.setName(new QName("", "size"));
+ sizeProp.setName(nameFactory.create("", "size"));
sizeProp.setRequiredType(PropertyType.LONG);
sizeProp.setDeclaringNodeType(document.getName());
document.setPropertyDefs(new PropDef[]{sizeProp});
- folder.setSupertypes(new QName[]{cmsObject.getName()});
+ folder.setSupertypes(new Name[]{cmsObject.getName()});
NodeDefImpl folders = new NodeDefImpl();
- folders.setRequiredPrimaryTypes(new QName[]{folder.getName()});
- folders.setName(new QName("", "folders"));
+ folders.setRequiredPrimaryTypes(new Name[]{folder.getName()});
+ folders.setName(nameFactory.create("", "folders"));
folders.setDeclaringNodeType(folder.getName());
NodeDefImpl documents = new NodeDefImpl();
- documents.setRequiredPrimaryTypes(new QName[]{document.getName()});
- documents.setName(new QName("", "documents"));
+ documents.setRequiredPrimaryTypes(new Name[]{document.getName()});
+ documents.setName(nameFactory.create("", "documents"));
documents.setDeclaringNodeType(folder.getName());
folder.setChildNodeDefs(new NodeDefImpl[]{folders, documents});
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java Tue Oct 30 03:02:41 2007
@@ -25,8 +25,12 @@
import org.apache.jackrabbit.core.nodetype.PropDefImpl;
import org.apache.jackrabbit.core.nodetype.ValueConstraint;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.util.name.NamespaceMapping;
+import org.apache.jackrabbit.name.NameFactoryImpl;
+import org.apache.jackrabbit.namespace.NamespaceMapping;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.spi.NameFactory;
+import org.apache.jackrabbit.conversion.NamePathResolver;
+import org.apache.jackrabbit.conversion.DefaultNamePathResolver;
import javax.jcr.PropertyType;
import javax.jcr.version.OnParentVersionAction;
@@ -40,21 +44,22 @@
private static final String TEST_FILE = "cnd-reader-test-input.cnd";
private static final String NS_PREFIX = "ex";
private static final String NS_URI = "http://example.org/jackrabbit/example";
+ private static final NameFactory FACTORY = NameFactoryImpl.getInstance();
- private static final QName NODE_TYPE_NAME = new QName(NS_URI, "NodeType");
- private static final QName PARENT_NODE_TYPE_1 = new QName(NS_URI, "ParentNodeType1");
- private static final QName PARENT_NODE_TYPE_2 = new QName(NS_URI, "ParentNodeType2");
- private static final QName[] SUPERTYPES = new QName[]{PARENT_NODE_TYPE_1, PARENT_NODE_TYPE_2};
+ private static final Name NODE_TYPE_NAME = FACTORY.create(NS_URI, "NodeType");
+ private static final Name PARENT_NODE_TYPE_1 = FACTORY.create(NS_URI, "ParentNodeType1");
+ private static final Name PARENT_NODE_TYPE_2 = FACTORY.create(NS_URI, "ParentNodeType2");
+ private static final Name[] SUPERTYPES = new Name[]{PARENT_NODE_TYPE_1, PARENT_NODE_TYPE_2};
- private static final QName PROPERTY_NAME = new QName(NS_URI, "property");
+ private static final Name PROPERTY_NAME = FACTORY.create(NS_URI, "property");
private static final long DEFAULT_VALUE_1 = 1;
private static final long DEFAULT_VALUE_2 = 2;
private static final String VALUE_CONSTRAINT = "[1,10]";
- private static final QName CHILD_NODE_NAME = new QName(NS_URI, "node");
- private static final QName REQUIRED_NODE_TYPE_1 = new QName(NS_URI, "RequiredNodeType1");
- private static final QName REQUIRED_NODE_TYPE_2 = new QName(NS_URI, "RequiredNodeType2");
- private static final QName[] REQUIRED_NODE_TYPES = new QName[]{REQUIRED_NODE_TYPE_1, REQUIRED_NODE_TYPE_2};
+ private static final Name CHILD_NODE_NAME = FACTORY.create(NS_URI, "node");
+ private static final Name REQUIRED_NODE_TYPE_1 = FACTORY.create(NS_URI, "RequiredNodeType1");
+ private static final Name REQUIRED_NODE_TYPE_2 = FACTORY.create(NS_URI, "RequiredNodeType2");
+ private static final Name[] REQUIRED_NODE_TYPES = new Name[]{REQUIRED_NODE_TYPE_1, REQUIRED_NODE_TYPE_2};
private NodeTypeDef modelNodeTypeDef;
@@ -63,7 +68,9 @@
namespaceMapping.setMapping(NS_PREFIX, NS_URI);
InternalValue dv1 = InternalValue.create(DEFAULT_VALUE_1);
InternalValue dv2 = InternalValue.create(DEFAULT_VALUE_2);
- ValueConstraint vc = ValueConstraint.create(PropertyType.LONG, VALUE_CONSTRAINT, namespaceMapping);
+
+ NamePathResolver resolver = new DefaultNamePathResolver(namespaceMapping);
+ ValueConstraint vc = ValueConstraint.create(PropertyType.LONG, VALUE_CONSTRAINT, resolver);
InternalValue[] defaultValues = new InternalValue[]{dv1, dv2};
ValueConstraint[] valueConstraints = new ValueConstraint[]{vc};
@@ -109,6 +116,7 @@
new CompactNodeTypeDefReader(reader, TEST_FILE);
List ntdList = cndReader.getNodeTypeDefs();
NamespaceMapping nsm = cndReader.getNamespaceMapping();
+ NamePathResolver resolver = new DefaultNamePathResolver(nsm);
NodeTypeDef ntd = (NodeTypeDef)ntdList.get(0);
// Test CND Reader by comparing imported NTD with model NTD.
@@ -119,7 +127,7 @@
// Put imported node type def back into CND form with CND writer
StringWriter sw = new StringWriter();
- CompactNodeTypeDefWriter.write(ntdList, nsm, sw);
+ CompactNodeTypeDefWriter.write(ntdList, nsm, resolver, sw);
// Rerun the reader on the product of the writer
cndReader = new CompactNodeTypeDefReader(new StringReader(sw.toString()), TEST_FILE);
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/SimpleNamespaceRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/SimpleNamespaceRegistry.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/SimpleNamespaceRegistry.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/SimpleNamespaceRegistry.java Tue Oct 30 03:02:41 2007
@@ -20,7 +20,7 @@
import javax.jcr.NamespaceRegistry;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.spi.Name;
/**
* Simple utility implementation of the NamespaceRegistry interface.
@@ -38,11 +38,11 @@
* Creates a simple namespace registry.
*/
public SimpleNamespaceRegistry() {
- registerNamespace(QName.NS_JCR_PREFIX, QName.NS_JCR_URI);
- registerNamespace(QName.NS_MIX_PREFIX, QName.NS_MIX_URI);
- registerNamespace(QName.NS_NT_PREFIX, QName.NS_NT_URI);
- registerNamespace(QName.NS_REP_PREFIX, QName.NS_REP_URI);
- registerNamespace(QName.NS_EMPTY_PREFIX, QName.NS_EMPTY_PREFIX);
+ registerNamespace(Name.NS_JCR_PREFIX, Name.NS_JCR_URI);
+ registerNamespace(Name.NS_MIX_PREFIX, Name.NS_MIX_URI);
+ registerNamespace(Name.NS_NT_PREFIX, Name.NS_NT_URI);
+ registerNamespace(Name.NS_REP_PREFIX, Name.NS_REP_URI);
+ registerNamespace(Name.NS_EMPTY_PREFIX, Name.NS_EMPTY_PREFIX);
}
/** {@inheritDoc} */
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/TestAll.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/TestAll.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/TestAll.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/xml/TestAll.java Tue Oct 30 03:02:41 2007
@@ -26,8 +26,12 @@
import org.apache.jackrabbit.core.nodetype.NodeTypeDef;
import org.apache.jackrabbit.core.nodetype.PropDef;
import org.apache.jackrabbit.core.value.InternalValue;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.namespace.NamespaceResolver;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.spi.NameFactory;
+import org.apache.jackrabbit.conversion.DefaultNamePathResolver;
+import org.apache.jackrabbit.conversion.NamePathResolver;
+import org.apache.jackrabbit.name.NameFactoryImpl;
import javax.jcr.NamespaceException;
import javax.jcr.NamespaceRegistry;
@@ -61,6 +65,8 @@
private static final String TEST_NS_CND_NODETYPES =
"test_ns_cnd_nodetypes.cnd";
+ private static final NameFactory FACTORY = NameFactoryImpl.getInstance();
+
/** Test node types definitions. */
private NodeTypeDef[] types;
@@ -90,7 +96,7 @@
* @return node type definition
*/
private NodeTypeDef getNodeType(String name) {
- QName qname = new QName(TEST_NAMESPACE, name);
+ Name qname = FACTORY.create(TEST_NAMESPACE, name);
for (int i = 0; i < types.length; i++) {
if (qname.equals(types[i].getName())) {
return types[i];
@@ -112,9 +118,9 @@
* @return property definition
*/
private PropDef getProperty(String typeName, String propertyName) {
- QName name;
+ Name name;
if (propertyName != null) {
- name = new QName(TEST_NAMESPACE, propertyName);
+ name = FACTORY.create(TEST_NAMESPACE, propertyName);
} else {
name = PropDef.ANY_NAME;
}
@@ -141,7 +147,8 @@
private String getDefaultValue(PropDef def, int index) {
try {
InternalValue[] values = def.getDefaultValues();
- NamespaceResolver resolver = new AdditionalNamespaceResolver(registry);
+ NamespaceResolver nsResolver = new AdditionalNamespaceResolver(registry);
+ NamePathResolver resolver = new DefaultNamePathResolver(nsResolver);
return values[index].toJCRValue(resolver).getString();
} catch (RepositoryException e) {
throw new AssertionFailedError(e.getMessage());
@@ -158,7 +165,7 @@
* @return child node definition
*/
private NodeDef getChildNode(String typeName, String nodeName) {
- QName name = new QName(TEST_NAMESPACE, nodeName);
+ Name name = FACTORY.create(TEST_NAMESPACE, nodeName);
NodeTypeDef def = getNodeType(typeName);
NodeDef[] defs = def.getChildNodeDefs();
@@ -215,7 +222,7 @@
public void testItemNodeType() {
NodeTypeDef def = getNodeType("itemNodeType");
assertEquals("itemNodeType primaryItemName",
- new QName(TEST_NAMESPACE, "emptyItem"),
+ FACTORY.create(TEST_NAMESPACE, "emptyItem"),
def.getPrimaryItemName());
assertEquals("itemNodeType propertyDefs",
10, def.getPropertyDefs().length);
@@ -537,7 +544,7 @@
public void testDefaultTypeNode() {
NodeDef def = getChildNode("childNodeType", "defaultTypeNode");
assertEquals("defaultTypeNode defaultPrimaryType",
- new QName(TEST_NAMESPACE, "testType"),
+ FACTORY.create(TEST_NAMESPACE, "testType"),
def.getDefaultPrimaryType());
}
@@ -546,12 +553,12 @@
NodeDef def = getChildNode("childNodeType", "requiredTypeNode");
assertEquals("requiredTypeNode requiredPrimaryTypes",
2, def.getRequiredPrimaryTypes().length);
- QName[] types = def.getRequiredPrimaryTypes();
+ Name[] types = def.getRequiredPrimaryTypes();
Arrays.sort(types);
assertEquals("requiredTypeNode requiredPrimaryTypes[0]",
- new QName(TEST_NAMESPACE, "baseType"), types[0]);
+ FACTORY.create(TEST_NAMESPACE, "baseType"), types[0]);
assertEquals("requiredTypeNode requiredPrimaryTypes[1]",
- new QName(TEST_NAMESPACE, "testType"), types[1]);
+ FACTORY.create(TEST_NAMESPACE, "testType"), types[1]);
}
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/PathQueryNodeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/PathQueryNodeTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/PathQueryNodeTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/PathQueryNodeTest.java Tue Oct 30 03:02:41 2007
@@ -21,36 +21,32 @@
import junit.framework.TestCase;
import org.apache.jackrabbit.core.query.xpath.XPathQueryBuilder;
-import org.apache.jackrabbit.name.NamespaceResolver;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.namespace.NamespaceResolver;
+import org.apache.jackrabbit.name.NameConstants;
+import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.conversion.NameResolver;
+import org.apache.jackrabbit.conversion.DefaultNamePathResolver;
public class PathQueryNodeTest extends TestCase {
private static final DefaultQueryNodeFactory QUERY_NODE_FACTORY = new DefaultQueryNodeFactory(
- Arrays.asList(new QName[] { QName.NT_NODETYPE }));
-
- private static final NamespaceResolver JCR_RESOLVER = new NamespaceResolver() {
- public String getJCRName(QName qName) {
- throw new UnsupportedOperationException();
- }
+ Arrays.asList(new Name[] { NameConstants.NT_NODETYPE }));
- public String getPrefix(String uri) {
- throw new UnsupportedOperationException();
- }
+ private static final NameResolver JCR_RESOLVER = new DefaultNamePathResolver(new NamespaceResolver() {
- public QName getQName(String jcrName) {
+ public String getPrefix(String uri) {
throw new UnsupportedOperationException();
}
-
+
public String getURI(String prefix) {
- if (QName.NS_JCR_PREFIX.equals(prefix))
- return QName.NS_JCR_URI;
- if (QName.NS_NT_PREFIX.equals(prefix))
- return QName.NS_NT_URI;
+ if (Name.NS_JCR_PREFIX.equals(prefix))
+ return Name.NS_JCR_URI;
+ if (Name.NS_NT_PREFIX.equals(prefix))
+ return Name.NS_NT_URI;
return "";
}
- };
-
+ });
+
public void testNeedsSystemTree() throws Exception {
QueryRootNode queryRootNode = XPathQueryBuilder.createQuery("/jcr:root/*", JCR_RESOLVER, QUERY_NODE_FACTORY);
assertTrue(queryRootNode.needsSystemTree());
@@ -66,11 +62,11 @@
queryRootNode = XPathQueryBuilder.createQuery("test//*", JCR_RESOLVER, QUERY_NODE_FACTORY);
assertFalse(queryRootNode.needsSystemTree());
-
+
queryRootNode = XPathQueryBuilder.createQuery("//test/*", JCR_RESOLVER, QUERY_NODE_FACTORY);
- assertTrue(queryRootNode.needsSystemTree());
+ assertTrue(queryRootNode.needsSystemTree());
}
-
+
public void testNeedsSystemTreeForAllNodesByNodeType() throws Exception {
QueryRootNode queryRootNode = XPathQueryBuilder.createQuery("//element(*, nt:resource)", JCR_RESOLVER, QUERY_NODE_FACTORY);
assertFalse(queryRootNode.needsSystemTree());
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/state/ChangeLogTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/state/ChangeLogTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/state/ChangeLogTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/state/ChangeLogTest.java Tue Oct 30 03:02:41 2007
@@ -17,10 +17,11 @@
package org.apache.jackrabbit.core.state;
import org.apache.jackrabbit.test.AbstractJCRTest;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.name.NameFactoryImpl;
import org.apache.jackrabbit.core.PropertyId;
import org.apache.jackrabbit.core.NodeId;
import org.apache.jackrabbit.uuid.UUID;
+import org.apache.jackrabbit.spi.NameFactory;
import java.util.Iterator;
@@ -30,13 +31,20 @@
*/
public class ChangeLogTest extends AbstractJCRTest {
+ private NameFactory factory;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ factory = NameFactoryImpl.getInstance();
+ }
+
/**
* Add an item state and then delete it. Make sure there is no
* entry in either the added nor the removed states
*/
public void testAddDelete() throws Exception {
PropertyId id = new PropertyId(
- new NodeId(UUID.randomUUID()), new QName("", "a"));
+ new NodeId(UUID.randomUUID()), factory.create("", "a"));
ItemState state = new PropertyState(id, ItemState.STATUS_NEW, false);
ChangeLog log = new ChangeLog();
@@ -56,7 +64,7 @@
*/
public void testAddModify() throws Exception {
PropertyId id = new PropertyId(
- new NodeId(UUID.randomUUID()), new QName("", "a"));
+ new NodeId(UUID.randomUUID()), factory.create("", "a"));
ItemState state = new PropertyState(id, ItemState.STATUS_NEW, false);
ChangeLog log = new ChangeLog();
@@ -78,7 +86,7 @@
ItemState[] states = new ItemState[10];
for (int i = 0; i < states.length; i++) {
PropertyId id = new PropertyId(
- new NodeId(UUID.randomUUID()), new QName("", "a" + i));
+ new NodeId(UUID.randomUUID()), factory.create("", "a" + i));
states[i] = new PropertyState(id, ItemState.STATUS_NEW, false);
}
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/util/RepositoryLockTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/util/RepositoryLockTest.java?rev=590014&r1=590013&r2=590014&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/util/RepositoryLockTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/util/RepositoryLockTest.java Tue Oct 30 03:02:41 2007
@@ -21,8 +21,6 @@
import javax.jcr.RepositoryException;
-import org.apache.jackrabbit.core.util.RepositoryLock;
-
import junit.framework.TestCase;
/**