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
- <bean id="jcrSession" class="org.argeo.security.jcr.SecureThreadBoundSession">\r
- <property name="repository" ref="jcrRepository" />\r
+ <!-- JCR repositories -->\r
+ <bean id="javaRepository" parent="template.jcrRepository">\r
+ <property name="homeDirectory" value="${slc.repo.jcr.reposBase}/java" />\r
+ <property name="configuration" value="${slc.repo.jcr.configuration.java}" />\r
+ </bean>\r
+ <bean id="distRepository" parent="template.jcrRepository">\r
+ <property name="homeDirectory" value="${slc.repo.jcr.reposBase}/dist" />\r
+ <property name="configuration" value="${slc.repo.jcr.configuration.dist}" />\r
+ </bean>\r
+ <bean id="rpmRepository" parent="template.jcrRepository">\r
+ <property name="homeDirectory" value="${slc.repo.jcr.reposBase}/rpm" />\r
+ <property name="configuration" value="${slc.repo.jcr.configuration.rpm}" />\r
+ </bean>\r
+\r
+ <!-- JCR authorizations -->\r
+ <bean parent="template.jcrAuthorizations">\r
+ <property name="repository" ref="javaRepository" />\r
+ </bean>\r
+ <bean parent="template.jcrAuthorizations">\r
+ <property name="repository" ref="distRepository" />\r
+ </bean>\r
+ <bean parent="template.jcrAuthorizations">\r
+ <property name="repository" ref="rpmRepository" />\r
+ </bean>\r
+\r
+ <bean\r
+ class="org.argeo.security.core.AuthenticatedApplicationContextInitialization">\r
+ <property name="authenticationManager" ref="authenticationManager" />\r
</bean>\r
\r
- <bean id="jcrRepository" class="org.argeo.jackrabbit.JackrabbitContainer"\r
- init-method="init" destroy-method="destroy">\r
- <property name="homeDirectory" value="${osgi.instance.area}/repos/java" />\r
- <property name="configuration" value="osgibundle:repository-h2.xml" />\r
+ <!-- Templates -->\r
+ <bean id="template.jcrRepository" abstract="true"\r
+ class="org.argeo.jackrabbit.JackrabbitContainer" init-method="init"\r
+ destroy-method="destroy">\r
<property name="variables" value="osgibundle:/repo.properties" />\r
<property name="cndFiles">\r
<list>\r
</list>\r
</property>\r
<property name="bundleContext" ref="bundleContext" />\r
- <property name="forceCndImport" value="${org.argeo.slc.repo.forceCndImport}" />\r
+ <property name="forceCndImport" value="${slc.repo.jcr.forceCndImport}" />\r
</bean>\r
\r
- <!-- Security -->\r
- <bean class="org.argeo.jackrabbit.JackrabbitAuthorizations"\r
- init-method="run">\r
+ <bean id="template.jcrAuthorizations" abstract="true"\r
+ class="org.argeo.jackrabbit.JackrabbitAuthorizations" init-method="run">\r
<property name="principalPrivileges">\r
<map>\r
<entry key="jcr:all" value="ROLE_SLC" />\r
<entry key="jcr:all" value="ROLE_ADMIN" />\r
</map>\r
</property>\r
- <property name="repository" ref="jcrRepository" />\r
<property name="workspace" value="*" />\r
</bean>\r
\r
- <bean\r
- class="org.argeo.security.core.AuthenticatedApplicationContextInitialization">\r
- <property name="authenticationManager" ref="authenticationManager" />\r
- </bean>\r
+\r
</beans>
\ No newline at end of file
<!-- Proxied repositories -->
<util:list id="defaultMavenRepositories">
- <ref local="argeo-snapshots" />
- <ref local="argeo" />
<ref local="central" />
- <ref local="com.springsource.repository.bundles.external" />
- <ref local="com.springsource.repository.bundles.release" />
</util:list>
-<!-- <bean id="localrepo" p:url="http://localrepo:7080/org.argeo.slc.repo.webapp/maven" -->
-<!-- p:username="root" p:password="demo" -->
-<!-- class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" /> -->
-
<bean id="central" p:url="http://repo1.maven.org/maven2"
class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" />
- <bean id="com.springsource.repository.bundles.release"
- p:url="http://repository.springsource.com/maven/bundles/release"
- class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" />
-
- <bean id="com.springsource.repository.bundles.external"
- p:url="http://repository.springsource.com/maven/bundles/external"
- class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" />
-
- <bean id="argeo" p:url="http://maven.argeo.org/argeo"
- class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" />
-
- <bean id="argeo-snapshots" p:url="http://dev.argeo.org/maven/argeo-snapshots"
- class="org.argeo.slc.aether.spring.RemoteRepositoryFactory" />
-
</beans>
\ No newline at end of file
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">\r
\r
<!-- REFERENCES -->\r
- <!-- Security -->\r
<reference id="authenticationManager"\r
interface="org.springframework.security.AuthenticationManager" />\r
-<!-- <reference id="jcrRepository" interface="javax.jcr.Repository" -->\r
-<!-- filter="(argeo.jcr.repository.alias=slc)" /> -->\r
- <service ref="jcrRepository" interface="javax.jcr.Repository">\r
+\r
+ <!-- SERVICES -->\r
+ <service ref="javaRepository" interface="javax.jcr.Repository">\r
<service-properties>\r
<beans:entry key="argeo.jcr.repository.alias" value="java" />\r
</service-properties>\r
</service>\r
+ <service ref="distRepository" interface="javax.jcr.Repository">\r
+ <service-properties>\r
+ <beans:entry key="argeo.jcr.repository.alias" value="dist" />\r
+ </service-properties>\r
+ </service>\r
+ <service ref="rpmRepository" interface="javax.jcr.Repository">\r
+ <service-properties>\r
+ <beans:entry key="argeo.jcr.repository.alias" value="rpm" />\r
+ </service-properties>\r
+ </service>\r
\r
- <!-- Maven -->\r
-<!-- <reference id="mavenRepositorySystem" interface="org.sonatype.aether.RepositorySystem" -->\r
-<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
-<!-- <reference id="mavenRepositorySystemSession" interface="org.sonatype.aether.RepositorySystemSession" -->\r
-<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
-\r
- <!-- SERVICES -->\r
<service ref="mavenProxyService" interface="org.argeo.slc.repo.maven.proxy.MavenProxyService" />\r
-</beans:beans>
\ No newline at end of file
+</beans:beans>\r
+\r
+<!-- <reference id="mavenRepositorySystem" interface="org.sonatype.aether.RepositorySystem" -->\r
+<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
+<!-- <reference id="mavenRepositorySystemSession" interface="org.sonatype.aether.RepositorySystemSession" -->\r
+<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
+\r
<bean id="repo" class="org.argeo.slc.repo.RepoImpl" init-method="init"
destroy-method="destroy">
- <property name="jcrRepository" ref="jcrRepository" />
+ <property name="jcrRepository" ref="javaRepository" />
<property name="nodeIndexers">
<list>
<bean class="org.argeo.slc.repo.ArtifactIndexer" />
<bean id="mavenProxyService" class="org.argeo.slc.repo.maven.proxy.MavenProxyServiceImpl"
init-method="init" destroy-method="destroy">
- <property name="jcrRepository" ref="jcrRepository" />
+ <property name="jcrRepository" ref="javaRepository" />
<property name="defaultRepositories" ref="defaultMavenRepositories" />
</bean>
-org.argeo.slc.repo.forceCndImport=false
\ No newline at end of file
+slc.repo.jcr.reposBase=${osgi.instance.area}/repos
+slc.repo.jcr.forceCndImport=false
+
+slc.repo.jcr.configuration.java=osgibundle:repository-h2.xml
+slc.repo.jcr.configuration.dist=osgibundle:repository-h2.xml
+slc.repo.jcr.configuration.rpm=osgibundle:repository-h2.xml
+
+slc.repo.jcr.dbuser=sa
+slc.repo.jcr.dbpassword=
+slc.repo.jcr.maxPoolSize=10
\ No newline at end of file
<DataSource name="dataSource">
<param name="driver" value="org.h2.Driver" />
<param name="url" value="jdbc:h2:${rep.home}/h2/repository" />
- <param name="user" value="sa" />
- <param name="password" value="" />
+ <param name="user" value="${slc.repo.jcr.dbuser}" />
+ <param name="password" value="${slc.repo.jcr.dbpassword}" />
<param name="databaseType" value="h2" />
- <param name="maxPoolSize" value="30" />
+ <param name="maxPoolSize" value="${slc.repo.jcr.maxPoolSize}" />
</DataSource>
</DataSources>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
+ "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
+<Repository>
+ <!-- Shared datasource -->
+ <DataSources>
+ <DataSource name="dataSource">
+ <param name="driver" value="org.postgresql.Driver" />
+ <param name="url" value="${slc.repo.jcr.dburl.dist}" />
+ <param name="user" value="${slc.repo.jcr.dbuser}" />
+ <param name="password" value="${slc.repo.jcr.dbpassword}" />
+ <param name="databaseType" value="postgresql" />
+ <param name="maxPoolSize" value="${slc.repo.jcr.maxPoolSize}" />
+ </DataSource>
+ </DataSources>
+
+ <!-- File system and datastore -->
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_" />
+ </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.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_fs_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_pm_" />
+ </PersistenceManager>
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${wsp.home}/index" />
+ </SearchIndex>
+ </Workspace>
+
+ <!-- Versioning -->
+ <Versioning rootPath="${rep.home}/version">
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_ver_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="pm_ver_" />
+ </PersistenceManager>
+ </Versioning>
+
+ <!-- Indexing -->
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${rep.home}/index" />
+ <param name="extractorPoolSize" value="2" />
+ <param name="supportHighlighting" value="true" />
+ </SearchIndex>
+
+ <!-- Security -->
+ <Security appName="Jackrabbit">
+ <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager"
+ workspaceName="security">
+ </SecurityManager>
+ <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager">
+ </AccessManager>
+ <LoginModule class="org.argeo.security.jackrabbit.ArgeoLoginModule">
+ </LoginModule>
+ </Security>
+</Repository>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
+ "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
+<Repository>
+ <!-- Shared datasource -->
+ <DataSources>
+ <DataSource name="dataSource">
+ <param name="driver" value="org.postgresql.Driver" />
+ <param name="url" value="${slc.repo.jcr.dburl.java}" />
+ <param name="user" value="${slc.repo.jcr.dbuser}" />
+ <param name="password" value="${slc.repo.jcr.dbpassword}" />
+ <param name="databaseType" value="postgresql" />
+ <param name="maxPoolSize" value="${slc.repo.jcr.maxPoolSize}" />
+ </DataSource>
+ </DataSources>
+
+ <!-- File system and datastore -->
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_" />
+ </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.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_fs_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_pm_" />
+ </PersistenceManager>
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${wsp.home}/index" />
+ </SearchIndex>
+ </Workspace>
+
+ <!-- Versioning -->
+ <Versioning rootPath="${rep.home}/version">
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_ver_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="pm_ver_" />
+ </PersistenceManager>
+ </Versioning>
+
+ <!-- Indexing -->
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${rep.home}/index" />
+ <param name="extractorPoolSize" value="2" />
+ <param name="supportHighlighting" value="true" />
+ </SearchIndex>
+
+ <!-- Security -->
+ <Security appName="Jackrabbit">
+ <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager"
+ workspaceName="security">
+ </SecurityManager>
+ <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager">
+ </AccessManager>
+ <LoginModule class="org.argeo.security.jackrabbit.ArgeoLoginModule">
+ </LoginModule>
+ </Security>
+</Repository>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
+ "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
+<Repository>
+ <!-- Shared datasource -->
+ <DataSources>
+ <DataSource name="dataSource">
+ <param name="driver" value="org.postgresql.Driver" />
+ <param name="url" value="${slc.repo.jcr.dburl.rpm}" />
+ <param name="user" value="${slc.repo.jcr.dbuser}" />
+ <param name="password" value="${slc.repo.jcr.dbpassword}" />
+ <param name="databaseType" value="postgresql" />
+ <param name="maxPoolSize" value="${slc.repo.jcr.maxPoolSize}" />
+ </DataSource>
+ </DataSources>
+
+ <!-- File system and datastore -->
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_" />
+ </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.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_fs_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="${wsp.name}_pm_" />
+ </PersistenceManager>
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${wsp.home}/index" />
+ </SearchIndex>
+ </Workspace>
+
+ <!-- Versioning -->
+ <Versioning rootPath="${rep.home}/version">
+ <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schema" value="postgresql" />
+ <param name="schemaObjectPrefix" value="fs_ver_" />
+ </FileSystem>
+ <PersistenceManager
+ class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+ <param name="dataSourceName" value="dataSource" />
+ <param name="schemaObjectPrefix" value="pm_ver_" />
+ </PersistenceManager>
+ </Versioning>
+
+ <!-- Indexing -->
+ <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+ <param name="path" value="${rep.home}/index" />
+ <param name="extractorPoolSize" value="2" />
+ <param name="supportHighlighting" value="true" />
+ </SearchIndex>
+
+ <!-- Security -->
+ <Security appName="Jackrabbit">
+ <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager"
+ workspaceName="security">
+ </SecurityManager>
+ <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager">
+ </AccessManager>
+ <LoginModule class="org.argeo.security.jackrabbit.ArgeoLoginModule">
+ </LoginModule>
+ </Security>
+</Repository>
\ No newline at end of file