You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/07/30 16:44:53 UTC
svn commit: r1508473 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
Author: mduerig
Date: Tue Jul 30 14:44:52 2013
New Revision: 1508473
URL: http://svn.apache.org/r1508473
Log:
OAK-803: Backwards compatibility of long-lived sessions
OAK-935: Implement JackrabbitRepository
- remove noisy logging
- implement JackrabbitRepository
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java?rev=1508473&r1=1508472&r2=1508473&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java Tue Jul 30 14:44:52 2013
@@ -17,7 +17,6 @@
package org.apache.jackrabbit.oak.jcr;
import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.Collections.singletonMap;
import static java.util.concurrent.TimeUnit.SECONDS;
import java.util.Collections;
@@ -34,6 +33,7 @@ import javax.jcr.SimpleCredentials;
import javax.jcr.Value;
import javax.security.auth.login.LoginException;
+import org.apache.jackrabbit.api.JackrabbitRepository;
import org.apache.jackrabbit.api.security.authentication.token.TokenCredentials;
import org.apache.jackrabbit.commons.SimpleValueFactory;
import org.apache.jackrabbit.oak.api.ContentRepository;
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
/**
* TODO document
*/
-public class RepositoryImpl implements Repository {
+public class RepositoryImpl implements JackrabbitRepository {
/**
* logger instance
@@ -137,35 +137,6 @@ public class RepositoryImpl implements R
return descriptors.isSingleValueDescriptor(key);
}
- // TODO make this method available through JackrabbitRepository. See OAK-803, JCR-3634
- public Session login(@CheckForNull Credentials credentials, @CheckForNull String workspaceName,
- @CheckForNull Map<String, Object> attributes) throws RepositoryException {
- try {
- if (attributes == null) {
- attributes = Collections.emptyMap();
- }
- Long refreshInterval = getRefreshInterval(credentials);
- if (refreshInterval == null) {
- refreshInterval = getLong(attributes, REFRESH_INTERVAL);
- }
- if (refreshInterval == null) {
- log.info("Setting " + REFRESH_INTERVAL + " to default value of '" +
- DEFAULT_REFRESH_INTERVAL + "' seconds.");
- refreshInterval = DEFAULT_REFRESH_INTERVAL;
- } else {
- log.info("Setting " + REFRESH_INTERVAL + " to '" + refreshInterval + "' seconds.");
- }
-
- ContentSession contentSession = contentRepository.login(credentials, workspaceName);
- SessionContext context = new SessionContext(this, whiteboard,
- Collections.<String, Object>singletonMap(REFRESH_INTERVAL, refreshInterval),
- new SessionDelegate(contentSession, refreshInterval));
- return context.getSession();
- } catch (LoginException e) {
- throw new javax.jcr.LoginException(e.getMessage(), e);
- }
- }
-
/**
* @see javax.jcr.Repository#login(javax.jcr.Credentials, String)
*/
@@ -213,6 +184,38 @@ public class RepositoryImpl implements R
return login(null, workspace, null);
}
+ //------------------------------------------------------------< JackrabbitRepository >---
+
+ @Override
+ public Session login(@CheckForNull Credentials credentials, @CheckForNull String workspaceName,
+ @CheckForNull Map<String, Object> attributes) throws RepositoryException {
+ try {
+ if (attributes == null) {
+ attributes = Collections.emptyMap();
+ }
+ Long refreshInterval = getRefreshInterval(credentials);
+ if (refreshInterval == null) {
+ refreshInterval = getLong(attributes, REFRESH_INTERVAL);
+ }
+ if (refreshInterval == null) {
+ refreshInterval = DEFAULT_REFRESH_INTERVAL;
+ }
+
+ ContentSession contentSession = contentRepository.login(credentials, workspaceName);
+ SessionContext context = new SessionContext(this, whiteboard,
+ Collections.<String, Object>singletonMap(REFRESH_INTERVAL, refreshInterval),
+ new SessionDelegate(contentSession, refreshInterval));
+ return context.getSession();
+ } catch (LoginException e) {
+ throw new javax.jcr.LoginException(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void shutdown() {
+ // empty
+ }
+
//------------------------------------------------------------< internal >---
SecurityProvider getSecurityProvider() {