Introduce org.argeo.slc.server.jcr.repo.derby
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 29 Apr 2010 14:22:06 +0000 (14:22 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 29 Apr 2010 14:22:06 +0000 (14:22 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@3532 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

modules/server/org.argeo.slc.server.jcr.repo.derby/.project [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/.settings/org.eclipse.pde.core.prefs [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/MANIFEST.MF [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository-osgi.xml [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository.xml [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/build.properties [new file with mode: 0644]
modules/server/org.argeo.slc.server.jcr.repo.derby/repository.xml [new file with mode: 0644]

diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/.project b/modules/server/org.argeo.slc.server.jcr.repo.derby/.project
new file mode 100644 (file)
index 0000000..2723a1c
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.argeo.slc.server.jcr.repo.derby</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+       </natures>
+</projectDescription>
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/.settings/org.eclipse.pde.core.prefs b/modules/server/org.argeo.slc.server.jcr.repo.derby/.settings/org.eclipse.pde.core.prefs
new file mode 100644 (file)
index 0000000..5f0e898
--- /dev/null
@@ -0,0 +1,4 @@
+#Thu Apr 29 16:19:34 CEST 2010
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/MANIFEST.MF b/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..15858f3
--- /dev/null
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JCR Repository Derby
+Bundle-SymbolicName: org.argeo.slc.server.jcr.repo.derby
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Argeo
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository-osgi.xml b/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository-osgi.xml
new file mode 100644 (file)
index 0000000..84164f1
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
+       xsi:schemaLocation="http://www.springframework.org/schema/osgi  \r
+       http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
+       http://www.springframework.org/schema/beans   \r
+       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+       <service interface="javax.jcr.repository" ref="jcrRepository" />\r
+</beans:beans>
\ No newline at end of file
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository.xml b/modules/server/org.argeo.slc.server.jcr.repo.derby/META-INF/spring/jcrrepository.xml
new file mode 100644 (file)
index 0000000..28d76d8
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+\r
+       <bean id="jcrRepository" class="org.argeo.server.jackrabbit.JackrabbitContainer">\r
+               <property name="homeDirectory" value="${argeo.osgi.data.dir}/jackrabbit" />\r
+               <property name="configuration" value="osgibundle:/repository.xml" />\r
+       </bean>\r
+\r
+</beans>
\ No newline at end of file
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/build.properties b/modules/server/org.argeo.slc.server.jcr.repo.derby/build.properties
new file mode 100644 (file)
index 0000000..5f22cdd
--- /dev/null
@@ -0,0 +1 @@
+bin.includes = META-INF/
diff --git a/modules/server/org.argeo.slc.server.jcr.repo.derby/repository.xml b/modules/server/org.argeo.slc.server.jcr.repo.derby/repository.xml
new file mode 100644 (file)
index 0000000..fad0835
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+       <!--
+               Licensed to the Apache Software Foundation (ASF) under one or more
+               contributor license agreements. See the NOTICE file distributed with
+               this work for additional information regarding copyright ownership.
+               The ASF licenses this file to You under the Apache License, Version
+               2.0 (the "License"); you may not use this file except in compliance
+               with the License. You may obtain a copy of the License at
+
+               http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+               applicable law or agreed to in writing, software distributed under the
+               License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+               CONDITIONS OF ANY KIND, either express or implied. See the License for
+               the specific language governing permissions and limitations under the
+               License.
+       -->
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
+                            "http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
+       <!--
+               Example Repository Configuration File Used by -
+               org.apache.jackrabbit.core.config.RepositoryConfigTest.java -
+       -->
+<Repository>
+       <!--
+               virtual file system where the repository stores global state (e.g.
+               registered namespaces, custom node types, etc.)
+       -->
+       <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+               <param name="path" value="${rep.home}/repository" />
+       </FileSystem>
+
+       <!--
+        security configuration
+    -->
+       <Security appName="Jackrabbit">
+               <!--
+                       security manager: class: FQN of class implementing the
+                       JackrabbitSecurityManager interface
+               -->
+               <SecurityManager
+                       class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
+                       workspaceName="security">
+                       <!--
+                               workspace access: class: FQN of class implementing the
+                               WorkspaceAccessManager interface
+                       -->
+                       <!-- <WorkspaceAccessManager class="..."/> -->
+                       <!-- <param name="config" value="${rep.home}/security.xml"/> -->
+               </SecurityManager>
+
+               <!--
+                       access manager: class: FQN of class implementing the AccessManager
+                       interface
+               -->
+               <AccessManager
+                       class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
+                       <!-- <param name="config" value="${rep.home}/access.xml"/> -->
+               </AccessManager>
+
+               <LoginModule
+                       class="org.springframework.security.providers.jaas.SecurityContextLoginModule">
+                       <!--
+                               anonymous user name ('anonymous' is the default value)
+                       <param name="anonymousId" value="anonymous" />
+                               administrator user id (default value if param is missing is 'admin')
+                       <param name="adminId" value="admin" />
+                       -->
+               </LoginModule>
+       </Security>
+
+       <!--
+               location of workspaces root directory and name of default workspace
+       -->
+       <Workspaces rootPath="${rep.home}/workspaces"
+               defaultWorkspace="default" />
+       <!--
+               workspace configuration template: used to create the initial workspace
+               if there's no workspace yet
+       -->
+       <Workspace name="${wsp.name}">
+               <!--
+                       virtual file system of the workspace: class: FQN of class
+                       implementing the FileSystem interface
+               -->
+               <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+                       <param name="path" value="${wsp.home}" />
+               </FileSystem>
+               <!--
+                       persistence manager of the workspace: class: FQN of class
+                       implementing the PersistenceManager interface
+               -->
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
+                       <!--
+                               <param name="url" value="jdbc:derby:memory:db;create=true" />
+                       -->
+                       <param name="url" value="jdbc:derby:${wsp.home}/db;create=true" />
+                       <param name="driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
+                       <param name="schemaObjectPrefix" value="${wsp.name}_" />
+               </PersistenceManager>
+               <!--
+                       Search index and the file system it uses. class: FQN of class
+                       implementing the QueryHandler interface
+               -->
+               <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+                       <param name="path" value="${wsp.home}/index" />
+                       <param name="extractorPoolSize" value="2" />
+                       <param name="supportHighlighting" value="true" />
+               </SearchIndex>
+       </Workspace>
+
+       <!--
+        Configures the versioning
+    -->
+       <Versioning rootPath="${rep.home}/version">
+               <!--
+                       Configures the filesystem to use for versioning for the respective
+                       persistence manager
+               -->
+               <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+                       <param name="path" value="${rep.home}/version" />
+               </FileSystem>
+
+               <!--
+                       Configures the persistence manager to be used for persisting version
+                       state. Please note that the current versioning implementation is
+                       based on a 'normal' persistence manager, but this could change in
+                       future implementations.
+               -->
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
+                       <!--
+                               <param name="url" value="jdbc:derby:memory:version;create=true" />
+                       -->
+                       <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true" />
+                       <param name="driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
+                       <param name="schemaObjectPrefix" value="version_" />
+               </PersistenceManager>
+       </Versioning>
+
+       <!--
+               Search index for content that is shared repository wide (/jcr:system
+               tree, contains mainly versions)
+       -->
+       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+               <param name="path" value="${rep.home}/repository/index" />
+               <param name="extractorPoolSize" value="2" />
+               <param name="supportHighlighting" value="true" />
+       </SearchIndex>
+</Repository>