You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/12/19 15:15:58 UTC
svn commit: r1775119 - in /sling/trunk/bundles/jcr/resource/src:
main/java/org/apache/sling/jcr/resource/internal/
test/java/org/apache/sling/jcr/resource/internal/
Author: cziegeler
Date: Mon Dec 19 15:15:58 2016
New Revision: 1775119
URL: http://svn.apache.org/viewvc?rev=1775119&view=rev
Log:
SLING-6403 : Remove getAdministrativeResourceResolver() and loginAdministrative() usage from jcr.resource
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrSystemUserValidator.java
sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java?rev=1775119&r1=1775118&r2=1775119&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java Mon Dec 19 15:15:58 2016
@@ -64,7 +64,7 @@ public class JcrListenerBaseConfig imple
this.pathMapper = pathMapper;
this.reporter = reporter;
// The session should have read access on the whole repository
- this.session = repository.loginAdministrative(repository.getDefaultWorkspace());
+ this.session = repository.loginService("observation", repository.getDefaultWorkspace());
}
/**
Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrSystemUserValidator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrSystemUserValidator.java?rev=1775119&r1=1775118&r2=1775119&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrSystemUserValidator.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrSystemUserValidator.java Mon Dec 19 15:15:58 2016
@@ -114,7 +114,10 @@ public class JcrSystemUserValidator impl
* method, this bundle could be configured with an appropriate
* user for service authentication and do:
* tmpSession = repository.loginService(null, workspace);
- * For now, we keep loginAdministrative
+ * For now, we keep loginAdministrative as switching to a service user
+ * will result in a endless recursion (this method checks if
+ * a service user is allowed, so using a service user here
+ * calls this method again...and again...and again)
*/
administrativeSession = repository.loginAdministrative(null);
if (administrativeSession instanceof JackrabbitSession) {
Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java?rev=1775119&r1=1775118&r2=1775119&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerTest.java Mon Dec 19 15:15:58 2016
@@ -29,14 +29,19 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import javax.jcr.Credentials;
+import javax.jcr.LoginException;
+import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.Value;
import org.apache.sling.api.resource.observation.ResourceChange;
import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
import org.apache.sling.api.resource.path.PathSet;
import org.apache.sling.commons.testing.jcr.RepositoryUtil;
+import org.apache.sling.jcr.api.SlingRepository;
import org.apache.sling.spi.resource.provider.ObservationReporter;
import org.apache.sling.spi.resource.provider.ObserverConfiguration;
import org.junit.After;
@@ -68,9 +73,78 @@ public class JcrResourceListenerTest {
RepositoryUtil.startRepository();
this.adminSession = RepositoryUtil.getRepository().loginAdministrative(null);
RepositoryUtil.registerSlingNodeTypes(adminSession);
+ final SlingRepository repo = RepositoryUtil.getRepository();
this.config = new JcrListenerBaseConfig(getObservationReporter(),
new PathMapperImpl(),
- RepositoryUtil.getRepository());
+ new SlingRepository() {
+
+ @Override
+ public Session login(Credentials credentials, String workspaceName)
+ throws LoginException, NoSuchWorkspaceException, RepositoryException {
+ return repo.login(credentials, workspaceName);
+ }
+
+ @Override
+ public Session login(String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException {
+ return repo.login(workspaceName);
+ }
+
+ @Override
+ public Session login(Credentials credentials) throws LoginException, RepositoryException {
+ return repo.login(credentials);
+ }
+
+ @Override
+ public Session login() throws LoginException, RepositoryException {
+ return repo.login();
+ }
+
+ @Override
+ public boolean isStandardDescriptor(String key) {
+ return repo.isStandardDescriptor(key);
+ }
+
+ @Override
+ public boolean isSingleValueDescriptor(String key) {
+ return repo.isSingleValueDescriptor(key);
+ }
+
+ @Override
+ public Value[] getDescriptorValues(String key) {
+ return repo.getDescriptorValues(key);
+ }
+
+ @Override
+ public Value getDescriptorValue(String key) {
+ return repo.getDescriptorValue(key);
+ }
+
+ @Override
+ public String[] getDescriptorKeys() {
+ return repo.getDescriptorKeys();
+ }
+
+ @Override
+ public String getDescriptor(String key) {
+ return repo.getDescriptor(key);
+ }
+
+ @Override
+ public Session loginService(String subServiceName, String workspace) throws LoginException, RepositoryException {
+ return repo.loginAdministrative(workspace);
+ }
+
+ @Override
+ public Session loginAdministrative(String workspace) throws LoginException, RepositoryException {
+ return repo.loginAdministrative(workspace);
+ }
+
+ @Override
+ public String getDefaultWorkspace() {
+ // TODO Auto-generated method stub
+ return repo.getDefaultWorkspace();
+ }
+ });
this.listener = new JcrResourceListener(this.config,
getObservationReporter().getObserverConfigurations().get(0));
}