You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/02/08 18:17:04 UTC
svn commit: r376002 - in /lenya/trunk/src/modules:
jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/
jcr/java/src/org/apache/lenya/cms/jcr/
repository/java/src/org/apache/lenya/cms/repo/
repository/java/test/org/apache/lenya/cms/jcr/
Author: andreas
Date: Wed Feb 8 09:17:02 2006
New Revision: 376002
URL: http://svn.apache.org/viewcvs?rev=376002&view=rev
Log:
Remove references to jackrabbit from jcr module. Shut down repository properly after test is completed.
Modified:
lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java
lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java
lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java
lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java
lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java
Modified: lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java (original)
+++ lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java Wed Feb 8 09:17:02 2006
@@ -20,7 +20,6 @@
import org.apache.jackrabbit.core.RepositoryImpl;
import org.apache.jackrabbit.core.config.RepositoryConfig;
-import org.apache.lenya.cms.jcr.JCRRepository;
import org.apache.lenya.cms.repo.Repository;
import org.apache.lenya.cms.repo.RepositoryException;
import org.apache.lenya.cms.repo.RepositoryFactory;
@@ -42,9 +41,7 @@
File configFile = new File(repoDirectory, configFilePath);
RepositoryConfig repoConfig = RepositoryConfig.create(configFile.getAbsolutePath(),
repoDirectory.getAbsolutePath());
- JCRRepository repo = new JCRRepository(RepositoryImpl.create(repoConfig));
-
- return repo;
+ return new JackrabbitRepository(RepositoryImpl.create(repoConfig));
} catch (Exception e) {
throw new RepositoryException(e);
}
Modified: lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java (original)
+++ lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java Wed Feb 8 09:17:02 2006
@@ -16,14 +16,9 @@
*/
package org.apache.lenya.cms.jcr;
-import java.util.Arrays;
-
import javax.jcr.Repository;
import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
-import org.apache.jackrabbit.core.RepositoryImpl;
-import org.apache.jackrabbit.core.WorkspaceImpl;
import org.apache.lenya.cms.jcr.metadata.JCRMetaDataRegistry;
import org.apache.lenya.cms.repo.AssetTypeResolver;
import org.apache.lenya.cms.repo.RepositoryException;
@@ -32,7 +27,7 @@
/**
* Facade to the JCR repository, providing Lenya-specific access.
*/
-public class JCRRepository implements org.apache.lenya.cms.repo.Repository {
+public abstract class JCRRepository implements org.apache.lenya.cms.repo.Repository {
/**
* The workspace to store internal data.
@@ -66,12 +61,13 @@
throws org.apache.lenya.cms.repo.RepositoryException {
return this.typeResolver;
}
-
+
public void setAssetTypeResolver(AssetTypeResolver resolver) {
this.typeResolver = resolver;
}
private MetaDataRegistry metaDataRegistry;
+ protected Session internalSession;
public MetaDataRegistry getMetaDataRegistry() throws RepositoryException {
if (this.metaDataRegistry == null) {
@@ -80,35 +76,12 @@
return this.metaDataRegistry;
}
- private Session internalSession;
+ protected abstract Session getSession(String workspaceName) throws RepositoryException;
protected Session getInternalSession() throws RepositoryException {
if (this.internalSession == null) {
- try {
- Session defaultWorkspaceSession = getRepository().login(new SimpleCredentials("john",
- "".toCharArray()));
- WorkspaceImpl defaultWorkspace = (WorkspaceImpl) defaultWorkspaceSession.getWorkspace();
- String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
- if (!Arrays.asList(workspaces).contains(INTERNAL_WORKSPACE)) {
- defaultWorkspace.createWorkspace(INTERNAL_WORKSPACE);
- // create = true;
- }
-
- this.internalSession = getRepository().login(new SimpleCredentials("john",
- "".toCharArray()),
- INTERNAL_WORKSPACE);
- } catch (javax.jcr.RepositoryException e) {
- throw new RepositoryException(e);
- }
+ this.internalSession = getSession(INTERNAL_WORKSPACE);
}
return this.internalSession;
}
-
- public void shutdown() throws RepositoryException {
- if (this.internalSession != null) {
- this.internalSession.logout();
- }
- ((RepositoryImpl) this.repository).shutdown();
- }
-
}
Modified: lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java (original)
+++ lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java Wed Feb 8 09:17:02 2006
@@ -24,14 +24,11 @@
import java.util.Map;
import java.util.Set;
-import javax.jcr.LoginException;
import javax.jcr.NamespaceRegistry;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
-import org.apache.jackrabbit.core.WorkspaceImpl;
import org.apache.lenya.cms.jcr.mapping.Path;
import org.apache.lenya.cms.jcr.mapping.RepositoryFacade;
import org.apache.lenya.cms.repo.Publication;
@@ -70,15 +67,7 @@
try {
// boolean create = false;
- WorkspaceImpl defaultWorkspace = getDefaultWorkspace();
- String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
- if (!Arrays.asList(workspaces).contains(area)) {
- defaultWorkspace.createWorkspace(area);
- // create = true;
- }
-
- Session session = getJcrRepository().getRepository()
- .login(new SimpleCredentials("john", "".toCharArray()), area);
+ Session session = getJcrRepository().getSession(area);
facade = new RepositoryFacade(this,
session,
getRepository().getAssetTypeResolver(),
@@ -104,19 +93,6 @@
return facade;
}
- protected WorkspaceImpl getDefaultWorkspace() throws LoginException, RepositoryException {
- WorkspaceImpl defaultWorkspace;
- try {
- Session defaultWorkspaceSession = getJcrRepository().getRepository()
- .login(new SimpleCredentials("john", "".toCharArray()));
- defaultWorkspace = (WorkspaceImpl) defaultWorkspaceSession.getWorkspace();
- } catch (javax.jcr.RepositoryException e) {
- throw new RepositoryException(e);
- }
-
- return defaultWorkspace;
- }
-
public void save() throws org.apache.lenya.cms.repo.RepositoryException {
try {
for (Iterator i = this.area2facade.keySet().iterator(); i.hasNext();) {
@@ -136,8 +112,8 @@
try {
Set pubIds = new HashSet();
- WorkspaceImpl defaultWorkspace = getDefaultWorkspace();
- String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
+ Session defaultSession = getJcrRepository().getInternalSession();
+ String[] workspaces = defaultSession.getWorkspace().getAccessibleWorkspaceNames();
for (int i = 0; i < workspaces.length; i++) {
@@ -206,7 +182,8 @@
Set areas = new HashSet();
String[] workspaces;
try {
- workspaces = getDefaultWorkspace().getAccessibleWorkspaceNames();
+ Session defaultSession = getJcrRepository().getInternalSession();
+ workspaces = defaultSession.getWorkspace().getAccessibleWorkspaceNames();
} catch (javax.jcr.RepositoryException e) {
throw new RepositoryException(e);
}
Modified: lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java (original)
+++ lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java Wed Feb 8 09:17:02 2006
@@ -50,8 +50,8 @@
void setAssetTypeResolver(AssetTypeResolver resolver) throws RepositoryException;
/**
- * @return The asset type resolver.
- * @throws RepositoryException if no asset type resolver is registered.
+ * @return The asset type resolver or <code>null</code> if no resolver is registered.
+ * @throws RepositoryException if an error occurs.
*/
AssetTypeResolver getAssetTypeResolver() throws RepositoryException;
}
Modified: lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java (original)
+++ lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java Wed Feb 8 09:17:02 2006
@@ -144,6 +144,9 @@
doTestTranslation(asset2);
doTestUrlMapping(child);
+
+ session.logout();
+ this.repo.shutdown();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org