You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2005/04/28 15:02:28 UTC
svn commit: r165134 - in
/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version:
InternalVersionHistory.java VersionHistoryImpl.java
persistence/InternalFrozenNodeImpl.java
persistence/InternalVersionHistoryImpl.java
Author: tripod
Date: Thu Apr 28 06:02:26 2005
New Revision: 165134
URL: http://svn.apache.org/viewcvs?rev=165134&view=rev
Log:
- fixing some javadocs
- fixing checkin behaviour for OPV=Version for non versionable node
- fixing exceptions thrown by version label operations
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/VersionHistoryImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalVersionHistoryImpl.java
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java?rev=165134&r1=165133&r2=165134&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java Thu Apr 28 06:02:26 2005
@@ -28,16 +28,16 @@
public interface InternalVersionHistory extends InternalVersionItem {
/**
- * Equivalalent to {@link VersionHistory#getRootVersion()}.
+ * Equivalalent to {@link javax.jcr.version.VersionHistory#getRootVersion()}.
*
- * @see VersionHistory#getRootVersion()
+ * @see javax.jcr.version.VersionHistory#getRootVersion()
*/
InternalVersion getRootVersion();
/**
- * Equivalalent to {@link VersionHistory#getVersion(java.lang.String)}.
+ * Equivalalent to {@link javax.jcr.version.VersionHistory#getVersion(java.lang.String)}.
*
- * @see VersionHistory#getVersion(java.lang.String)
+ * @see javax.jcr.version.VersionHistory#getVersion(java.lang.String)
*/
InternalVersion getVersion(QName versionName) throws VersionException;
@@ -69,10 +69,10 @@
InternalVersion getVersion(String uuid);
/**
- * Equivalalent to {@link VersionHistory#getVersionByLabel(java.lang.String)}
+ * Equivalalent to {@link javax.jcr.version.VersionHistory#getVersionByLabel(java.lang.String)}
* but returns <code>null</code> if the version does not exists.
*
- * @see VersionHistory#getVersionByLabel(java.lang.String)
+ * @see javax.jcr.version.VersionHistory#getVersionByLabel(java.lang.String)
*/
InternalVersion getVersionByLabel(QName label);
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/VersionHistoryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/VersionHistoryImpl.java?rev=165134&r1=165133&r2=165134&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/VersionHistoryImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/VersionHistoryImpl.java Thu Apr 28 06:02:26 2005
@@ -94,9 +94,9 @@
}
return (Version) session.getNodeByUUID(v.getId());
} catch (IllegalNameException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
} catch (UnknownPrefixException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
}
}
@@ -112,9 +112,9 @@
}
return (Version) session.getNodeByUUID(v.getId());
} catch (IllegalNameException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
} catch (UnknownPrefixException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
}
}
@@ -129,9 +129,9 @@
QName.fromJCRName(label, session.getNamespaceResolver()),
move);
} catch (IllegalNameException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
} catch (UnknownPrefixException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
}
}
@@ -148,9 +148,9 @@
throw new VersionException("No version with label '" + label + "' exists in this version history.");
}
} catch (IllegalNameException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
} catch (UnknownPrefixException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
}
}
@@ -213,9 +213,9 @@
QName qLabel = QName.fromJCRName(label, session.getNamespaceResolver());
return ((VersionImpl) version).getInternalVersion().hasLabel(qLabel);
} catch (IllegalNameException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
} catch (UnknownPrefixException e) {
- throw new RepositoryException(e);
+ throw new VersionException(e);
}
}
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java?rev=165134&r1=165133&r2=165134&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java Thu Apr 28 06:02:26 2005
@@ -49,6 +49,28 @@
implements InternalFrozenNode, Constants {
/**
+ * checkin mode init. specifies, that node is only initialized
+ */
+ public static final int MODE_INIT = 0;
+
+ /**
+ * checkin mode version. specifies, that the OPV value should be used to
+ * determine the checkin behaviour.
+ */
+ public static final int MODE_VERSION = 1;
+
+ /**
+ * checkin mode copy. specifies, that the items are always copied.
+ */
+ private static final int MODE_COPY = 2;
+
+ /**
+ * mode flag specifies, that the mode should be recursed. otherwise i
+ * will be redetermined by the opv.
+ */
+ private static final int MODE_COPY_RECURSIVE = 6;
+
+ /**
* the underlying persistance node
*/
private PersistentNode node;
@@ -245,8 +267,7 @@
* @throws RepositoryException
*/
protected static PersistentNode checkin(PersistentNode parent, QName name,
- NodeImpl src, boolean initOnly,
- boolean forceCopy)
+ NodeImpl src, int mode)
throws RepositoryException {
PersistentNode node;
@@ -270,14 +291,13 @@
}
node.setPropertyValues(JCR_FROZENMIXINTYPES, PropertyType.NAME, ivalues);
}
-
- if (!initOnly) {
+ if (mode != MODE_INIT) {
// add the properties
PropertyIterator piter = src.getProperties();
while (piter.hasNext()) {
PropertyImpl prop = (PropertyImpl) piter.nextProperty();
int opv;
- if (forceCopy) {
+ if ((mode & MODE_COPY) > 0) {
opv = OnParentVersionAction.COPY;
} else {
opv = prop.getDefinition().getOnParentVersion();
@@ -303,7 +323,7 @@
while (niter.hasNext()) {
NodeImpl child = (NodeImpl) niter.nextNode();
int opv;
- if (forceCopy) {
+ if ((mode & MODE_COPY_RECURSIVE) > 0) {
opv = OnParentVersionAction.COPY;
} else {
opv = child.getDefinition().getOnParentVersion();
@@ -325,9 +345,11 @@
InternalValue.create(child.getBaseVersion().getUUID()));
break;
}
- // else copy
+ // else copy but do not recurse
+ checkin(node, child.getQName(), child, MODE_COPY);
+ break;
case OnParentVersionAction.COPY:
- checkin(node, child.getQName(), child, false, true);
+ checkin(node, child.getQName(), child, MODE_COPY_RECURSIVE);
break;
}
}
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalVersionHistoryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalVersionHistoryImpl.java?rev=165134&r1=165133&r2=165134&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalVersionHistoryImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalVersionHistoryImpl.java Thu Apr 28 06:02:26 2005
@@ -383,7 +383,7 @@
vNode.setPropertyValues(JCR_PREDECESSORS, PropertyType.STRING, predecessors);
// checkin source node
- InternalFrozenNodeImpl.checkin(vNode, JCR_FROZENNODE, src, false, false);
+ InternalFrozenNodeImpl.checkin(vNode, JCR_FROZENNODE, src, InternalFrozenNodeImpl.MODE_VERSION);
// and store
node.store();
@@ -478,7 +478,7 @@
vNode.setPropertyValues(JCR_PREDECESSORS, PropertyType.REFERENCE, InternalValue.EMPTY_ARRAY);
// add also an empty frozen node to the root version
- InternalFrozenNodeImpl.checkin(vNode, JCR_FROZENNODE, src, true, false);
+ InternalFrozenNodeImpl.checkin(vNode, JCR_FROZENNODE, src, InternalFrozenNodeImpl.MODE_INIT);
parent.store();
return new InternalVersionHistoryImpl(vMgr, pNode);