You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2004/12/10 16:40:36 UTC
svn commit: r111514 - in incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core: . nodetype state version
Author: stefan
Date: Fri Dec 10 07:40:34 2004
New Revision: 111514
URL: http://svn.apache.org/viewcvs?view=rev&rev=111514
Log:
adding internal namespace prefix: rep
adding internal node type for root node: rep:root
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/ItemImpl.java Fri Dec 10 07:40:34 2004
@@ -801,15 +801,19 @@
}
private void removeTransientItems(Iterator iter) throws RepositoryException {
- // walk through list of transient items marked 'removed'
- // and definitively remove each one
+ /**
+ * walk through list of transient items marked 'removed' and
+ * definitively remove each one
+ */
while (iter.hasNext()) {
ItemState transientState = (ItemState) iter.next();
PersistableItemState persistentState = (PersistableItemState) transientState.getOverlayedState();
- // remove persistent state (incl. descendents, if there are any)
-
- // this will indirectly (through stateDestroyed listener method)
- // permanently invalidate all Item instances wrapping it
+ /**
+ * remove persistent state (incl. descendents, if there are any)
+ *
+ * this will indirectly (through stateDestroyed listener method)
+ * permanently invalidate all Item instances wrapping it
+ */
try {
persistentState.destroy();
} catch (ItemStateException ise) {
@@ -842,8 +846,7 @@
*/
private boolean initVersionHistories(Iterator iter) throws RepositoryException {
// todo consolidate version history creation code (currently in NodeImpl.addMixin & ItemImpl.initVersionHistories
- // walk through list of transient items and
- // search for new versionable nodes
+ // walk through list of transient items and search for new versionable nodes
boolean createdTransientState = false;
while (iter.hasNext()) {
ItemState itemState = (ItemState) iter.next();
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/NamespaceRegistryImpl.java Fri Dec 10 07:40:34 2004
@@ -40,7 +40,11 @@
public static final String NS_EMPTY_PREFIX = "";
public static final String NS_DEFAULT_URI = "";
- // reserved namespace for items defined within built-in node types
+ // reserved namespace for repository internal node types
+ public static final String NS_REP_PREFIX = "rep";
+ public static final String NS_REP_URI = "internal";
+
+ // reserved namespace for items defined by built-in node types
public static final String NS_JCR_PREFIX = "jcr";
public static final String NS_JCR_URI = "http://www.jcp.org/jcr/1.0";
@@ -52,10 +56,6 @@
public static final String NS_MIX_PREFIX = "mix";
public static final String NS_MIX_URI = "http://www.jcp.org/jcr/mix/1.0";
- // reserved namespace for the names of property types
- public static final String NS_PT_PREFIX = "pt";
- public static final String NS_PT_URI = "http://www.jcp.org/jcr/pt/1.0";
-
// reserved namespace used in the system view XML serialization format
public static final String NS_SV_PREFIX = "sv";
public static final String NS_SV_URI = "http://www.jcp.org/jcr/sv/1.0";
@@ -76,19 +76,19 @@
reservedPrefixes.add(NS_XML_PREFIX);
reservedPrefixes.add(NS_XMLNS_PREFIX);
// predefined (e.g. built-in) prefixes
+ reservedPrefixes.add(NS_REP_PREFIX);
reservedPrefixes.add(NS_JCR_PREFIX);
reservedPrefixes.add(NS_NT_PREFIX);
reservedPrefixes.add(NS_MIX_PREFIX);
- reservedPrefixes.add(NS_PT_PREFIX);
reservedPrefixes.add(NS_SV_PREFIX);
// reserved namespace URI's
reservedURIs.add(NS_XML_URI);
reservedURIs.add(NS_XMLNS_URI);
// predefined (e.g. built-in) namespace URI's
+ reservedURIs.add(NS_REP_URI);
reservedURIs.add(NS_JCR_URI);
reservedURIs.add(NS_NT_URI);
reservedURIs.add(NS_MIX_URI);
- reservedURIs.add(NS_PT_URI);
reservedURIs.add(NS_SV_URI);
}
@@ -120,6 +120,9 @@
prefixToURI.put(NS_EMPTY_PREFIX, NS_DEFAULT_URI);
uriToPrefix.put(NS_DEFAULT_URI, NS_EMPTY_PREFIX);
// declare the predefined mappings
+ // rep:
+ prefixToURI.put(NS_REP_PREFIX, NS_REP_URI);
+ uriToPrefix.put(NS_REP_URI, NS_REP_PREFIX);
// jcr:
prefixToURI.put(NS_JCR_PREFIX, NS_JCR_URI);
uriToPrefix.put(NS_JCR_URI, NS_JCR_PREFIX);
@@ -129,9 +132,6 @@
// mix:
prefixToURI.put(NS_MIX_PREFIX, NS_MIX_URI);
uriToPrefix.put(NS_MIX_URI, NS_MIX_PREFIX);
- // pt:
- prefixToURI.put(NS_PT_PREFIX, NS_PT_URI);
- uriToPrefix.put(NS_PT_URI, NS_PT_PREFIX);
// sv:
prefixToURI.put(NS_SV_PREFIX, NS_SV_URI);
uriToPrefix.put(NS_SV_URI, NS_SV_PREFIX);
@@ -230,17 +230,20 @@
throw new NamespaceException("default namespace is reserved and can not be changed");
}
if (reservedURIs.contains(uri)) {
- throw new NamespaceException("failed to register namespace " + prefix + " -> " + uri + ": reserved URI");
+ throw new NamespaceException("failed to register namespace "
+ + prefix + " -> " + uri + ": reserved URI");
}
if (reservedPrefixes.contains(prefix)) {
- throw new NamespaceException("failed to register namespace " + prefix + " -> " + uri + ": reserved prefix");
+ throw new NamespaceException("failed to register namespace "
+ + prefix + " -> " + uri + ": reserved prefix");
}
String oldPrefix = (String) uriToPrefix.get(uri);
if (oldPrefix != null) {
// existing namespace
if (oldPrefix.equals(prefix)) {
- throw new NamespaceException("failed to register namespace " + prefix + " -> " + uri + ": mapping already exists");
+ throw new NamespaceException("failed to register namespace "
+ + prefix + " -> " + uri + ": mapping already exists");
}
// remove old prefix
prefixToURI.remove(oldPrefix);
@@ -252,7 +255,8 @@
// remove the previously assigned namespace;
// as we can't guarantee that there are no references to this namespace
// (in names of nodes/properties/node types etc.) we simply don't allow it.
- throw new NamespaceException("failed to register namespace " + prefix + " -> " + uri + ": remapping existing prefixes is not supported.");
+ throw new NamespaceException("failed to register namespace "
+ + prefix + " -> " + uri + ": remapping existing prefixes is not supported.");
}
prefixToURI.put(prefix, uri);
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/RepositoryImpl.java Fri Dec 10 07:40:34 2004
@@ -274,7 +274,7 @@
String wspName = (String) wspNames.next();
NodeImpl rootNode = (NodeImpl) getSystemSession(wspName).getRootNode();
if (!rootNode.hasNode(SYSTEM_ROOT_NAME)) {
- rootNode.addNode(SYSTEM_ROOT_NAME, NodeTypeRegistry.NT_UNSTRUCTURED);
+ rootNode.addNode(SYSTEM_ROOT_NAME, NodeTypeRegistry.REP_SYSTEM);
rootNode.save();
}
}
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java Fri Dec 10 07:40:34 2004
@@ -42,6 +42,12 @@
private static Logger log = Logger.getLogger(NodeTypeRegistry.class);
// some well known node type names
+ // rep:root
+ public static final QName REP_ROOT =
+ new QName(NamespaceRegistryImpl.NS_REP_URI, "root");
+ // rep:system
+ public static final QName REP_SYSTEM =
+ new QName(NamespaceRegistryImpl.NS_REP_URI, "system");
// nt:unstructured
public static final QName NT_UNSTRUCTURED =
new QName(NamespaceRegistryImpl.NS_NT_URI, "unstructured");
@@ -255,8 +261,8 @@
// FIXME need a fake declaring node type
def.setDeclaringNodeType(new QName(NamespaceRegistryImpl.NS_DEFAULT_URI, ""));
- def.setRequiredPrimaryTypes(new QName[]{NT_BASE});
- def.setDefaultPrimaryType(NT_UNSTRUCTURED);
+ def.setRequiredPrimaryTypes(new QName[]{REP_ROOT});
+ def.setDefaultPrimaryType(REP_ROOT);
def.setMandatory(true);
def.setProtected(false);
def.setOnParentVersion(OnParentVersionAction.VERSION);
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml Fri Dec 10 07:40:34 2004
@@ -59,6 +59,7 @@
<!ELEMENT requiredPrimaryType (CDATA)>
]>
<nodeTypes
+ xmlns:rep="internal"
xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
xmlns:jcr="http://www.jcp.org/jcr/1.0">
@@ -273,4 +274,27 @@
</valueConstraints>
</propertyDef>
</nodeType>
+
+ <!-- internal node types -->
+ <nodeType name="rep:root" mixin="false" orderableChildNodes="true">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <childNodeDef name="jcr:system" defaultPrimaryType="rep:system" autoCreate="false" mandatory="false" onParentVersion="COPY" protected="true" primaryItem="false" sameNameSibs="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>rep:system</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDef>
+ </nodeType>
+ <nodeType name="rep:system" mixin="false" orderableChildNodes="true">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <childNodeDef name="jcr:versionStorage" defaultPrimaryType="nt:unstructured" autoCreate="false" mandatory="false" onParentVersion="COPY" protected="true" primaryItem="false" sameNameSibs="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDef>
+ </nodeType>
+
</nodeTypes>
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/state/PersistentItemStateManager.java Fri Dec 10 07:40:34 2004
@@ -72,16 +72,15 @@
private PersistentNodeState createPersistentRootNodeState(String rootNodeUUID,
NodeTypeRegistry ntReg)
throws ItemStateException {
- PersistentNodeState rootState = createNodeState(rootNodeUUID, NodeTypeRegistry.NT_UNSTRUCTURED, null);
+ PersistentNodeState rootState = createNodeState(rootNodeUUID, NodeTypeRegistry.REP_ROOT, null);
// @todo FIXME need to manually setup root node by creating mandatory jcr:primaryType property
NodeDefId nodeDefId = null;
PropDefId propDefId = null;
try {
- // FIXME relies on definition of nt:unstructured and nt:base:
- // first (and only) child node definition in nt:unstructured is applied to root node
- nodeDefId = new NodeDefId(ntReg.getNodeTypeDef(NodeTypeRegistry.NT_UNSTRUCTURED).getChildNodeDefs()[0]);
+ nodeDefId = new NodeDefId(ntReg.getRootNodeDef());
+ // FIXME relies on definition of nt:base:
// first property definition in nt:base is jcr:primaryType
propDefId = new PropDefId(ntReg.getNodeTypeDef(NodeTypeRegistry.NT_BASE).getPropertyDefs()[0]);
} catch (NoSuchNodeTypeException nsnte) {
@@ -95,7 +94,7 @@
rootState.addPropertyEntry(propName);
PersistentPropertyState prop = createPropertyState(rootNodeUUID, propName);
- prop.setValues(new InternalValue[]{InternalValue.create(NodeTypeRegistry.NT_UNSTRUCTURED)});
+ prop.setValues(new InternalValue[]{InternalValue.create(NodeTypeRegistry.REP_ROOT)});
prop.setType(PropertyType.NAME);
prop.setMultiValued(false);
prop.setDefinitionId(propDefId);
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java?view=diff&rev=111514&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java&r1=111513&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java&r2=111514
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/PersistentVersionManager.java Fri Dec 10 07:40:34 2004
@@ -142,7 +142,7 @@
}
/**
- * Creates a new Version History..
+ * Creates a new Version History.
*
* @param node the node for which the version history is to be initialized
* @return the newly created version history.