Add local FS support
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 25 Dec 2015 22:01:22 +0000 (22:01 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 25 Dec 2015 22:01:22 +0000 (22:01 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8761 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitNodeType.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeRepository.java
org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-localfs.xml [new file with mode: 0644]

index 026af09a62fcc5aa4b04a7e251ec714ed70924a1..f737f8aad0596c8cbdb54560bdfe93a9c67bb9a7 100644 (file)
@@ -2,5 +2,5 @@ package org.argeo.cms.internal.kernel;
 
 /** The available Jackrabbit node types */
 public enum JackrabbitNodeType {
-       NOT_CONFIGURED, h2, postgresql, memory;
+       NOT_CONFIGURED, h2, postgresql, memory, localfs;
 }
index 51eddce4d9c0e75788e5bdd8e93a66107a811da2..37ed7babb29a7db5715e1da2cf7677a0577bc975 100644 (file)
@@ -71,6 +71,9 @@ class NodeRepository extends JackrabbitWrapper implements KernelConstants,
                        case memory:
                                in = cl.getResourceAsStream(base + "/repository-memory.xml");
                                break;
+                       case localfs:
+                               in = cl.getResourceAsStream(base + "/repository-localfs.xml");
+                               break;
                        default:
                                throw new CmsException("Unsupported node type " + type);
                        }
@@ -127,6 +130,8 @@ class NodeRepository extends JackrabbitWrapper implements KernelConstants,
                        break;
                case memory:
                        break;
+               case localfs:
+                       break;
                default:
                        throw new CmsException("Unsupported node type " + type);
                }
diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-localfs.xml b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-localfs.xml
new file mode 100644 (file)
index 0000000..3ab8a29
--- /dev/null
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Repository PUBLIC "Jackrabbit 2.6" "http://jackrabbit.apache.org/dtd/repository-2.6.dtd">
+<Repository>
+       <!-- File system and datastore -->
+       <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+               <param name="path" value="${rep.home}/repository" />
+       </FileSystem>
+       <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
+               <param name="path" value="${rep.home}/datastore" />
+       </DataStore>
+
+       <!-- Workspace templates -->
+       <Workspaces rootPath="${rep.home}/workspaces"
+               defaultWorkspace="${argeo.node.repo.defaultWorkspace}" />
+       <Workspace name="${wsp.name}">
+               <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+                       <param name="path" value="${wsp.home}" />
+               </FileSystem>
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
+                       <param name="bundleCacheSize" value="${argeo.node.repo.bundleCacheMB}" />
+               </PersistenceManager>
+               <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+                       <param name="path" value="${wsp.home}/index" />
+                       <param name="extractorPoolSize" value="${argeo.node.repo.extractorPoolSize}" />
+                       <param name="cacheSize" value="${argeo.node.repo.searchCacheSize}" />
+                       <param name="maxVolatileIndexSize" value="${argeo.node.repo.maxVolatileIndexSize}" />
+               </SearchIndex>
+               <WorkspaceSecurity>
+                       <AccessControlProvider
+                               class="org.argeo.security.jackrabbit.ArgeoAccessControlProvider" />
+               </WorkspaceSecurity>
+       </Workspace>
+
+       <!-- Versioning -->
+       <Versioning rootPath="${rep.home}/version">
+               <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+                       <param name="path" value="${rep.home}/version" />
+               </FileSystem>
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
+                       <param name="bundleCacheSize" value="${argeo.node.repo.bundleCacheMB}" />
+               </PersistenceManager>
+       </Versioning>
+
+       <!-- Indexing -->
+       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+               <param name="path" value="${rep.home}/index" />
+               <param name="extractorPoolSize" value="${argeo.node.repo.extractorPoolSize}" />
+               <param name="cacheSize" value="${argeo.node.repo.searchCacheSize}" />
+               <param name="maxVolatileIndexSize" value="${argeo.node.repo.maxVolatileIndexSize}" />
+       </SearchIndex>
+
+       <!-- Security -->
+       <Security appName="Jackrabbit">
+               <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager"
+                       workspaceName="security" />
+               <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager" />
+       </Security>
+</Repository>
\ No newline at end of file