You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/03/05 12:39:02 UTC
svn commit: r633824 -
/incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java
Author: fmeschbe
Date: Wed Mar 5 03:38:52 2008
New Revision: 633824
URL: http://svn.apache.org/viewvc?rev=633824&view=rev
Log:
SLING-132 Adapt to cleaner repository acquisition and cleanup API
Modified:
incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java
Modified: incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java?rev=633824&r1=633823&r2=633824&view=diff
==============================================================================
--- incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java (original)
+++ incubator/sling/trunk/jcr/jackrabbit-client/src/main/java/org/apache/sling/jcr/jackrabbit/client/SlingClientRepository.java Wed Mar 5 03:38:52 2008
@@ -31,7 +31,7 @@
import org.osgi.service.log.LogService;
/**
- * The <code>RepositorySPIImpl</code> TODO
+ * The <code>SlingClientRepository</code> TODO
*
* @scr.component label="%repository.name" description="%repository.description"
* factory="org.apache.sling.jcr.client.SlingClientRepositoryFactory"
@@ -40,17 +40,6 @@
* @scr.property name="service.description"
* value="Factory for non-embedded JCR Repository Instances"
*
- * @scr.service
- *
- * @scr.property value="" name="defaultWorkspace"
- * @scr.property value="anonymous" name="anonymous.name"
- * @scr.property value="anonymous" name="anonymous.password"
- * @scr.property value="admin" name="admin.name"
- * @scr.property value="admin" name="admin.password"
- * @scr.property value="-1" type="Integer" name="pool.maxActive"
- * @scr.property value="10" type="Integer" name="pool.maxIdle"
- * @scr.property value="1" type="Integer" name="pool.maxActiveWait"
- *
* @scr.property name="java.naming.factory.initial"
* value="org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory"
* @scr.property name="java.naming.provider.url" value="http://incubator.apache.org/sling"
@@ -63,61 +52,34 @@
*/
public static final String REPOSITORY_NAME = "name";
- /**
- * @scr.reference
- */
- private LogService log;
-
- private Repository delegatee;
-
- //---------- AbstractSlingRepository methods ------------------------------
+ //---------- Repository Publication ---------------------------------------
- protected Repository getDelegatee() throws RepositoryException {
- if (this.delegatee == null) {
- this.delegatee = this.getRepository();
+ @Override
+ protected Repository acquireRepository() {
+ Repository repository = super.acquireRepository();
+ if (repository != null) {
+ return repository;
}
- return this.delegatee;
- }
-
- protected LogService getLog() {
- return this.log;
- }
-
- //---------- Repository Publication ---------------------------------------
-
- private Repository getRepository() throws RepositoryException {
@SuppressWarnings("unchecked")
Dictionary<String, Object> environment = this.getComponentContext().getProperties();
Repository repo = null;
- // if the environment provides a repository override URL, other settings are ignored (SLING-260)
- final String overrideUrl = (String) environment.get(RepositoryAccessor.REPOSITORY_URL_OVERRIDE_PROPERTY);
-
- if(overrideUrl != null && overrideUrl.length() > 0) {
- log.log(LogService.LOG_INFO,
- "Will not use embedded repository due to property " + RepositoryAccessor.REPOSITORY_URL_OVERRIDE_PROPERTY
- + "=" + overrideUrl
- + ", acquiring repository using that URL"
- );
- repo = new RepositoryAccessor().getRepositoryFromURL(overrideUrl);
-
- } else {
- log.log(LogService.LOG_INFO,
- "Repository URL override property (" + RepositoryAccessor.REPOSITORY_URL_OVERRIDE_PROPERTY
- + ") not set, using name/context settings");
-
- String repoName = (String) environment.get(REPOSITORY_NAME);
- if (repoName == null) {
- throw new RepositoryException("Missing property 'name'");
- }
-
- final Hashtable<String, Object> jndiContext = this.fromDictionary(environment);
- repo = new RepositoryAccessor().getRepository(repoName, jndiContext);
- if(repo == null) {
- throw new RepositoryException("Cannot acquire repository '" + repoName + "'");
- }
+ String repoName = (String) environment.get(REPOSITORY_NAME);
+ if (repoName == null) {
+ log(LogService.LOG_ERROR,
+ "acquireRepository: Missing property 'name'");
+ return null;
}
+
+ final Hashtable<String, Object> jndiContext = this.fromDictionary(environment);
+ repo = new RepositoryAccessor().getRepository(repoName, jndiContext);
+ if (repo == null) {
+ log(LogService.LOG_ERROR,
+ "acquireRepository: Cannot acquire repository '" + repoName
+ + "'");
+ }
+
return repo;
}