You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by mi...@apache.org on 2005/04/04 14:04:11 UTC
svn commit: r160032 - in lenya/sandbox/jcrsitetree/src:
data/pubs/default/repos/repo-sitetree/workspaces/archive/
data/pubs/default/repos/repo-sitetree/workspaces/trash/
java/org/apache/lenya/cms/publication/
Author: michi
Date: Mon Apr 4 05:04:10 2005
New Revision: 160032
URL: http://svn.apache.org/viewcvs?view=rev&rev=160032
Log:
improved version of JCRSiteTree
Added:
lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/
lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/workspace.xml
lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/
lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/workspace.xml
Modified:
lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ClearRepository.java
lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ImportSiteTree.java
lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/JCRSiteTree.java
Added: lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/workspace.xml
URL: http://svn.apache.org/viewcvs/lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/workspace.xml?view=auto&rev=160032
==============================================================================
--- lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/workspace.xml (added)
+++ lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/archive/workspace.xml Mon Apr 4 05:04:10 2005
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace name="archive">
+ <!--
+ virtual file system of the workspace:
+ class: FQN of class implementing FileSystem interface
+ -->
+ <FileSystem class="com.day.jackrabbit.fs.cq.CQFileSystem">
+ <param name="path" value="${wsp.home}/wspStore.dat" />
+ <param name="autoRepair" value="false" />
+ <param name="blockSize" value="128" />
+ <param name="autoSync" value="false" />
+ </FileSystem>
+ <!--
+ persistence of the workspace:
+ class: FQN of class implementing PersistenceManager interface
+ -->
+ <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager" />
+ <!--
+ Search index and the file system it uses.
+ -->
+ <SearchIndex class="org.apache.jackrabbit.core.search.lucene.SearchIndex">
+ <param name="useCompoundFile" value="true" />
+ <param name="minMergeDocs" value="1000" />
+ <param name="maxMergeDocs" value="10000" />
+ <param name="mergeFactor" value="10" />
+ <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+ <param name="path" value="${wsp.home}/index" />
+ </FileSystem>
+ </SearchIndex>
+</Workspace>
+
Added: lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/workspace.xml
URL: http://svn.apache.org/viewcvs/lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/workspace.xml?view=auto&rev=160032
==============================================================================
--- lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/workspace.xml (added)
+++ lenya/sandbox/jcrsitetree/src/data/pubs/default/repos/repo-sitetree/workspaces/trash/workspace.xml Mon Apr 4 05:04:10 2005
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace name="trash">
+ <!--
+ virtual file system of the workspace:
+ class: FQN of class implementing FileSystem interface
+ -->
+ <FileSystem class="com.day.jackrabbit.fs.cq.CQFileSystem">
+ <param name="path" value="${wsp.home}/wspStore.dat" />
+ <param name="autoRepair" value="false" />
+ <param name="blockSize" value="128" />
+ <param name="autoSync" value="false" />
+ </FileSystem>
+ <!--
+ persistence of the workspace:
+ class: FQN of class implementing PersistenceManager interface
+ -->
+ <PersistenceManager class="org.apache.jackrabbit.core.state.obj.ObjectPersistenceManager" />
+ <!--
+ Search index and the file system it uses.
+ -->
+ <SearchIndex class="org.apache.jackrabbit.core.search.lucene.SearchIndex">
+ <param name="useCompoundFile" value="true" />
+ <param name="minMergeDocs" value="1000" />
+ <param name="maxMergeDocs" value="10000" />
+ <param name="mergeFactor" value="10" />
+ <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+ <param name="path" value="${wsp.home}/index" />
+ </FileSystem>
+ </SearchIndex>
+</Workspace>
+
Modified: lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ClearRepository.java
URL: http://svn.apache.org/viewcvs/lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ClearRepository.java?view=diff&r1=160031&r2=160032
==============================================================================
--- lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ClearRepository.java (original)
+++ lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ClearRepository.java Mon Apr 4 05:04:10 2005
@@ -43,32 +43,16 @@
public void clear(String repoHomeDir) {
System.out.println("Clear repository " + repoHomeDir);
-
try {
Repository repo = getRepository(repoHomeDir);
-
- // Clear authoring workspace.
- Session authSession = repo.login(new SimpleCredentials("anonymous", "".toCharArray()), Publication.AUTHORING_AREA);
- authSession.setNamespacePrefix(JCRSiteTree.NS_PREFIX_SYSTEM, JCRSiteTree.NS_URI_SYSTEM);
- NodeIterator iter = authSession.getRootNode().getNodes(JCRSiteTree.NS_PREFIX_SYSTEM + ":*");
- while (iter.hasNext()) {
- iter.nextNode().remove();
- }
- authSession.save();
- authSession.logout();
-
- // Clear live workspace.
- Session liveSession = repo.login(new SimpleCredentials("anonymous", "".toCharArray()), Publication.LIVE_AREA);
- liveSession.setNamespacePrefix(JCRSiteTree.NS_PREFIX_SYSTEM, JCRSiteTree.NS_URI_SYSTEM);
- iter = liveSession.getRootNode().getNodes(JCRSiteTree.NS_PREFIX_SYSTEM + ":*");
- while (iter.hasNext()) {
- iter.nextNode().remove();
- }
- liveSession.save();
- liveSession.logout();
+ clearWorkspace(repo, Publication.AUTHORING_AREA);
+ clearWorkspace(repo, Publication.LIVE_AREA);
+ clearWorkspace(repo, Publication.TRASH_AREA);
+ clearWorkspace(repo, Publication.ARCHIVE_AREA);
} catch (Exception e) {
e.printStackTrace(System.err);
}
+
}
/**
@@ -84,5 +68,23 @@
RegistryHelper.registerRepository(ctx, "repo", configFile, repHomeDir, true);
return (Repository) ctx.lookup("repo");
+ }
+
+ private void clearWorkspace(Repository repo, String workspace) {
+ try {
+
+ // Clear workspace.
+ Session session = repo.login(new SimpleCredentials("anonymous", "".toCharArray()), workspace);
+ session.setNamespacePrefix(JCRSiteTree.NS_PREFIX_SYSTEM, JCRSiteTree.NS_URI_SYSTEM);
+ NodeIterator iter = session.getRootNode().getNodes(JCRSiteTree.NS_PREFIX_SYSTEM + ":*");
+ while (iter.hasNext()) {
+ iter.nextNode().remove();
+ }
+ session.save();
+ session.logout();
+
+ } catch (Exception e) {
+ e.printStackTrace(System.err);
+ }
}
}
Modified: lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ImportSiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ImportSiteTree.java?view=diff&r1=160031&r2=160032
==============================================================================
--- lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ImportSiteTree.java (original)
+++ lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/ImportSiteTree.java Mon Apr 4 05:04:10 2005
@@ -52,6 +52,10 @@
String nsPrefixLiveUser = null;
String nsPrefixDefaultSys = null;
String nsPrefixDefaultUser = null;
+ String nsPrefixTrashSys = null;
+ String nsPrefixTrashUser = null;
+ String nsPrefixArchiveSys = null;
+ String nsPrefixArchiveUser = null;
System.out.println("Import Authoring and Live Sitetree from " + defaultPubDir + " into " + repoHomeDir);
@@ -130,11 +134,53 @@
defaultSession.refresh(false);
// Save changes in live area.
liveSession.save();
+
+ // Creating trash workspace.
+ System.out.println("Creating 'trash' workspace.");
+ Session trashSession = repo.login(new SimpleCredentials("anonymous", "".toCharArray()), Publication.TRASH_AREA);
+ registry = trashSession.getWorkspace().getNamespaceRegistry();
+ try {
+ nsPrefixTrashSys = registry.getPrefix(JCRSiteTree.NS_URI_SYSTEM);
+ nsPrefixTrashUser = registry.getPrefix(JCRSiteTree.NS_URI_USER);
+ } catch (NamespaceException nse) {
+ registry.registerNamespace(JCRSiteTree.NS_PREFIX_USER, JCRSiteTree.NS_URI_USER);
+ registry.registerNamespace(JCRSiteTree.NS_PREFIX_SYSTEM, JCRSiteTree.NS_URI_SYSTEM);
+ }
+
+ trashSession.setNamespacePrefix(nsPrefixTrashSys, JCRSiteTree.NS_URI_SYSTEM);
+ trashSession.setNamespacePrefix(nsPrefixTrashUser, JCRSiteTree.NS_URI_USER);
+
+ // Create sitetree root node.
+ trashSession.getRootNode().addNode(nsPrefixTrashSys + ":site");
+
+ trashSession.save();
+ // Creating archive workspace.
+ System.out.println("Creating 'archive' workspace.");
+ Session archiveSession = repo.login(new SimpleCredentials("anonymous", "".toCharArray()), Publication.ARCHIVE_AREA);
+ registry = archiveSession.getWorkspace().getNamespaceRegistry();
+ try {
+ nsPrefixArchiveSys = registry.getPrefix(JCRSiteTree.NS_URI_SYSTEM);
+ nsPrefixArchiveUser = registry.getPrefix(JCRSiteTree.NS_URI_USER);
+ } catch (NamespaceException nse) {
+ registry.registerNamespace(JCRSiteTree.NS_PREFIX_USER, JCRSiteTree.NS_URI_USER);
+ registry.registerNamespace(JCRSiteTree.NS_PREFIX_SYSTEM, JCRSiteTree.NS_URI_SYSTEM);
+ }
+
+ archiveSession.setNamespacePrefix(nsPrefixTrashSys, JCRSiteTree.NS_URI_SYSTEM);
+ archiveSession.setNamespacePrefix(nsPrefixTrashUser, JCRSiteTree.NS_URI_USER);
+
+ // Create sitetree root node.
+ archiveSession.getRootNode().addNode(nsPrefixTrashSys + ":site");
+
+ archiveSession.save();
+
// Close sessions.
liveSession.logout();
authSession.logout();
defaultSession.logout();
+ trashSession.logout();
+ archiveSession.logout();
} catch (Exception e) {
e.printStackTrace(System.err);
}
Modified: lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/JCRSiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/JCRSiteTree.java?view=diff&r1=160031&r2=160032
==============================================================================
--- lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/JCRSiteTree.java (original)
+++ lenya/sandbox/jcrsitetree/src/java/org/apache/lenya/cms/publication/JCRSiteTree.java Mon Apr 4 05:04:10 2005
@@ -20,7 +20,9 @@
package org.apache.lenya.cms.publication;
import java.io.File;
+import java.util.ArrayList;
import java.util.Hashtable;
+import java.util.List;
import java.util.StringTokenizer;
import javax.jcr.AccessDeniedException;
@@ -294,7 +296,24 @@
* @see org.apache.lenya.cms.publication.SiteTree#getTopNodes()
*/
public SiteTreeNode[] getTopNodes() {
- return null;
+ List topNodes = new ArrayList();
+ Node rootNode = null;
+ try {
+ rootNode = session.getRootNode().getNode(mapDocumentIdToJCRAbsolute("/").substring(1));
+ NodeIterator iter = rootNode.getNodes();
+ while (iter.hasNext()) {
+ topNodes.add(new JCRSiteTreeNodeImpl(iter.nextNode(), this));
+ }
+ } catch (PathNotFoundException e) {
+ log.error("Node not found.", e);
+ } catch (RepositoryException e) {
+ log.error("Repository exception", e);
+ }
+ if (rootNode == null) {
+ return null;
+ }
+ SiteTreeNode[] siteTreeNodes = new SiteTreeNode[topNodes.size()];
+ return (SiteTreeNode[])topNodes.toArray(siteTreeNodes);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org