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 2009/03/10 15:06:34 UTC
svn commit: r752115 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java
test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java
Author: angela
Date: Tue Mar 10 14:06:33 2009
New Revision: 752115
URL: http://svn.apache.org/viewvc?rev=752115&view=rev
Log:
JCR-1589: JSR 283 Retention & Hold Management
- replace public constructor by static create
- replace spi-commons dependency from create method by usage of Session
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java?rev=752115&r1=752114&r2=752115&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionPolicyImpl.java Tue Mar 10 14:06:33 2009
@@ -21,9 +21,11 @@
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.commons.conversion.NameResolver;
import org.apache.jackrabbit.spi.commons.conversion.IllegalNameException;
+import org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver;
import javax.jcr.RepositoryException;
import javax.jcr.NamespaceException;
+import javax.jcr.Session;
/**
* Basic implementation of the <code>RetentionPolicy</code> interface.
@@ -35,9 +37,26 @@
private final NameResolver resolver;
private int hashCode = 0;
-
- public RetentionPolicyImpl(String jcrName, NameResolver resolver) throws IllegalNameException, NamespaceException {
- this(resolver.getQName(jcrName), null, resolver);
+
+ /**
+ * Creates a new <code>RetentionPolicy</code> that can be applied to a
+ * <code>Node</code> using {@link org.apache.jackrabbit.api.jsr283.retention.RetentionManager#setRetentionPolicy(String, org.apache.jackrabbit.api.jsr283.retention.RetentionPolicy)}.
+ *
+ * @param jcrName The name of the policy. It must be a valid JCR name.
+ * @param session The editing <code>Session</code> from which the retention
+ * manager will be obtained.
+ * @return a new <code>RetentionPolicy</code>
+ * @throws RepositoryException If the jcr name isn't valid or if same other
+ * error occurs.
+ */
+ public static RetentionPolicy createRetentionPolicy(String jcrName, Session session) throws RepositoryException {
+ NameResolver resolver;
+ if (session instanceof NameResolver) {
+ resolver = (NameResolver) session;
+ } else {
+ resolver = new DefaultNamePathResolver(session);
+ }
+ return new RetentionPolicyImpl(jcrName, null, resolver);
}
RetentionPolicyImpl(String jcrName, NodeId nodeId, NameResolver resolver) throws IllegalNameException, NamespaceException {
@@ -53,7 +72,7 @@
NodeId getNodeId() {
return nodeId;
}
-
+
//----------------------------------------------------< RetentionPolicy >---
/**
* @see org.apache.jackrabbit.api.jsr283.retention.RetentionPolicy#getName()
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java?rev=752115&r1=752114&r2=752115&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java Tue Mar 10 14:06:33 2009
@@ -58,7 +58,7 @@
protected RetentionPolicy getApplicableRetentionPolicy(String jcrName) throws NotExecutableException, RepositoryException {
// TODO: move to repositoryStub/helper and adjust accordingly
- return new RetentionPolicyImpl(jcrName, (SessionImpl)superuser);
+ return RetentionPolicyImpl.createRetentionPolicy(jcrName, superuser);
}
protected static RetentionManager getRetentionManager(Session s) throws RepositoryException, NotExecutableException {
@@ -83,4 +83,4 @@
throw new NotExecutableException();
}
}
-}
+}
\ No newline at end of file