This Guide is work in progress.
Proximity is made up from the following components:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
=================================================================================
Infrastructure, Spring convenience stuff, not Proximity beans.
-->
<!--
- Message source
-->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>flavour-messages</value>
<value>messages</value>
</list>
</property>
</bean>
<!--
- Property configurer, see proximity.properties
-->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName"
value="SYSTEM_PROPERTIES_MODE_FALLBACK" />
<property name="locations">
<list>
<value>/WEB-INF/proximity.properties</value>
</list>
</property>
</bean>
<!--
=================================================================================
Proximity
-->
<!--
- Central proximity bean with list of repos and it's helpers.
-->
<bean id="proximity"
class="org.abstracthorizon.proximity.impl.LogicDrivenProximityImpl">
<property name="accessManager" ref="proximity.accessManager" />
<property name="proximityLogic" ref="proximity.logic" />
<property name="emergeRepositoryGroups" value="true" />
<property name="repositories">
<list>
<ref bean="extFree" />
<ref bean="extNonFree" />
<ref bean="central" />
<ref bean="codehaus" />
<ref bean="apache.snapshot" />
<ref bean="codehaus.snapshot" />
<ref bean="inhouse" />
<ref bean="inhouse.snapshot" />
</list>
</property>
</bean>
<!--
- AccessManagers. With OpenAccessManager Proximity is wide open.
-->
<bean id="proximity.accessManager"
class="org.abstracthorizon.proximity.access.OpenAccessManager" />
<!--
- "Mavenized" logic for Proximity.
- It does inter-repository merging of M2 metadatas.
-->
<bean id="proximity.logic"
class="org.abstracthorizon.proximity.maven.MavenProximityLogic" />
<!--
- Indexer, used to speed up searches ONLY.
-->
<bean id="proximity.indexer"
class="org.abstracthorizon.proximity.indexer.LuceneIndexer"
init-method="initialize">
<property name="proximity" ref="proximity"/>
<!-- Where to store indexes? -->
<property name="indexDirectory" value="${indexer.dir}" />
<!-- On webapp start should i recreate Lucene indexes? -->
<property name="recreateIndexes" value="true" />
<!-- After how much of item insertion should i optimize indexes? -->
<property name="dirtyItemTreshold" value="100" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
- WebDav storage adapter, using proximity itself as storage.
-->
<bean id="proximity.webdavstorage"
class="org.abstracthorizon.proximity.webapp.webdav.ProximityWebdavStorageAdapter">
<property name="proximity" ref="proximity" />
</bean>
<!--
- StatisticsGatherer, gathers statistics. Simple in-memory implementation.
-->
<bean id="proximity.statisticsGatherer"
class="org.abstracthorizon.proximity.stats.SimpleStatisticsGathererImpl" />
<!--
- ItemPropertiesFactory, creates "extra" metadata about files.
-->
<bean id="proximity.itemPropertiesFactory"
class="org.abstracthorizon.proximity.metadata.InspectorListProcessingProxiedItemPropertiesFactory">
<property name="itemInspectorList">
<list>
<bean
class="org.abstracthorizon.proximity.maven.MavenItemInspector" />
<bean
class="org.abstracthorizon.proximity.metadata.inspectors.ZipFileInspector" />
<bean
class="org.abstracthorizon.proximity.metadata.inspectors.JarFileInspector" />
</list>
</property>
</bean>
<!--
- AccessManagers. With OpenAccessManager Proximity is wide open.
-->
<bean id="proximity.openAccessManager"
class="org.abstracthorizon.proximity.access.OpenAccessManager" />
<!--
- AccessManagers. With AffirmativeAccessManager, we will have access if all defined
- voters vote AFFIRMATIVE.
- We have currently ONE voter, that tries to resemble Apache HTTPD2 Basic Access Control.
- We should suppply the allowFrom and denyFrom Java REGEX patterns and a boolean
- TRUE for "Order allow,deny" or FALSE for "Order deny,allow" (a la Apache httpd)
- Using these settings below, we have AccessManager that allows access for our
- 192.168.0.x LAN only. Requests from outer network will be REJECTED, thus
- Px is safe to sit on DMZ machine.
- Please note, that this settings will REJECT LOCALHOST TOO! 127.0.0.1
- If configured on Proximity bean level: the browse link will be inaccessible
- If configured on Repository level: the browse will show top-level items but the
- restricted repos will not allow download.
- Play with differenct combinations!
- And don't forget: you may have as much voter and accessManager beans as you love!
-->
<bean id="proximity.internalLanOnlyAccessManager"
class="org.abstracthorizon.proximity.access.AffirmativeAccessManager">
<property name="voters">
<list>
<bean
class="org.abstracthorizon.proximity.webapp.access.IpAddressAccessDecisionVoter">
<property name="allowDeny" value="true" />
<property name="allowFromPattern"
value="192\.168\.0\..*" />
<property name="denyFromPattern" value=".*" />
</bean>
</list>
</property>
</bean>
<!--
=================================================================================
-->
<!--
- Logic used for Maven2 repositories.
- Use seconds for setting timeout.
- x > 0 - the expiration in seconds
- x = 0 - the expiration flag is set to now, thus it will expire initially and be refetched always
- x = -1 - turn off for the group expiration handling.
-->
<!-- A release (stable) repository logic, never expires nothing -->
<bean id="proximity.maven2ReleaseRepoLogic"
class="org.abstracthorizon.proximity.maven.MavenProxyRepositoryLogic">
<!-- SNAPSHOTSs expires after NEVER -->
<property name="snapshotExpirationPeriodInSeconds" value="-1" />
<!-- Maven2 POMs expires after NEVER -->
<property name="pomExpirationPeriodInSeconds" value="-1" />
<!-- Maven2 metadatas (maven-metadata.xml and *.sha1 and *.md5) expires after NEVER -->
<property name="metadataExpirationPeriodInSeconds" value="-1" />
<!-- everything else will never expire once downloaded -->
<property name="itemExpirationPeriodInSeconds" value="-1" />
<!-- Should repository driven by this logic serve snapshots? -->
<property name="shouldServeSnapshots" value="false" />
<!-- Should repository driven by this logic serve releases? -->
<property name="shouldServeReleases" value="true" />
</bean>
<!-- A snapshot (unstable) repository logic, generally 24h is expiration -->
<bean id="proximity.maven2SnapshotRepoLogic"
class="org.abstracthorizon.proximity.maven.MavenProxyRepositoryLogic">
<!-- SNAPSHOTSs expires after 12h -->
<property name="snapshotExpirationPeriodInSeconds"
value="43200" />
<!-- Maven2 POMs expires after 12h -->
<property name="pomExpirationPeriodInSeconds" value="43200" />
<!-- Maven2 metadatas (maven-metadata.xml and *.sha1 and *.md5) expires after 12h -->
<property name="metadataExpirationPeriodInSeconds"
value="43200" />
<!-- everything else will expire once downloaded after 12h -->
<property name="itemExpirationPeriodInSeconds" value="43200" />
<!-- Should repository driven by this logic serve snapshots? -->
<property name="shouldServeSnapshots" value="true" />
<!-- Should repository driven by this logic serve releases? -->
<property name="shouldServeReleases" value="false" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
- MAVEN2 repository!
- repo1.maven.org Central Repository (with writable cache storage and remote peer)
- A standard maven2 repository.
-->
<bean id="central"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="central" />
<property name="groupId" value="public" />
<property name="rank" value="50" />
<property name="localStorage" ref="centralFSStorage" />
<property name="remoteStorage" ref="centralRemotePeer" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous accessManager declaration to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<property name="repositoryLogic" ref="proximity.maven2ReleaseRepoLogic" />
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="centralFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${centralFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${centralFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<bean id="centralRemotePeer"
class="org.abstracthorizon.proximity.storage.remote.CommonsHttpClientRemotePeer">
<property name="remoteUrl"
value="http://repo1.maven.org/maven2/" />
<!-- The timeout of HTTP connection -->
<property name="connectionTimeout" value="10000" />
<!-- The count of retries (used by DefaultRetryHandler) -->
<property name="retrievalRetryCount" value="3" />
<!-- Should HttpClient follow redirections? (preferred!) -->
<property name="followRedirection" value="true" />
<!-- Fix query string appended to URL, used for ProximityPiping "repositoryId=central" -->
<property name="queryString" value="" />
<!-- Proxy setup, uncomment if needed
<property name="proxyHost" value="myproxyhost.company.com" />
<property name="proxyPort" value="8080" />
-->
<!-- Proxy authentication setup, uncomment if proxy needs this
<property name="proxyUsername" value="userOnProxy" />
<property name="proxyPassword" value="bigSecret" />
-->
<!-- Proxy NTLM authentication setup, uncomment if proxy needs this
<property name="proxyNtlmDomain" value="domain to authenticate within" />
<property name="proxyNtlmHost" value="originating hostname" />
<property name="proxyUsername" value="userOnProxyWithoutDomainPrefix" />
<property name="proxyPassword" value="bigSecret" />
-->
</bean>
<!-- FTP remote peer if somebody need it....
<bean id="centralRemotePeer"
class="org.abstracthorizon.proximity.base.remote.CommonsNetFtpRemotePeer">
<property name="remoteUrl"
value="ftp://repo1.maven.org/pub/packages/maven2/" />
<property name="ftpUsername" value="anonymous" />
<property name="ftpPassword" value="someemail@somedomain.com" />
</bean>
-->
<!--
- MAVEN2 repository!
- repo1.maven.org Central Repository (with writable cache storage and remote peer)
- A standard maven2 repository.
-->
<bean id="codehaus"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="codehaus" />
<property name="groupId" value="codehaus" />
<property name="rank" value="60" />
<property name="localStorage" ref="codehausFSStorage" />
<property name="remoteStorage" ref="codehausRemotePeer" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous accessManager declaration to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<property name="repositoryLogic" ref="proximity.maven2ReleaseRepoLogic" />
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="codehausFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${codehausFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${codehausFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<bean id="codehausRemotePeer"
class="org.abstracthorizon.proximity.storage.remote.CommonsHttpClientRemotePeer">
<property name="remoteUrl"
value="http://repository.codehaus.org/" />
<!-- The timeout of HTTP connection -->
<property name="connectionTimeout" value="10000" />
<!-- The count of retries (used by DefaultRetryHandler) -->
<property name="retrievalRetryCount" value="3" />
<!-- Should HttpClient follow redirections? (preferred!) -->
<property name="followRedirection" value="true" />
<!-- Fix query string appended to URL, used for ProximityPiping "repositoryId=central" -->
<property name="queryString" value="" />
<!-- Proxy setup, uncomment if needed
<property name="proxyHost" value="myproxyhost.company.com" />
<property name="proxyPort" value="8080" />
-->
<!-- Proxy authentication setup, uncomment if proxy needs this
<property name="proxyUsername" value="userOnProxy" />
<property name="proxyPassword" value="bigSecret" />
-->
<!-- Proxy NTLM authentication setup, uncomment if proxy needs this
<property name="proxyNtlmDomain" value="domain to authenticate within" />
<property name="proxyNtlmHost" value="originating hostname" />
<property name="proxyUsername" value="userOnProxyWithoutDomainPrefix" />
<property name="proxyPassword" value="bigSecret" />
-->
</bean>
<!--
- MAVEN2 repository!
- "Official" Snapshot Repository (with writable cache storage and remote peer)
- A standard maven2 repository.
-->
<bean id="apache.snapshot"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="apache.snapshot" />
<property name="groupId" value="apache.snapshot" />
<property name="rank" value="80" />
<property name="localStorage" ref="apache.snapshotFSStorage" />
<property name="remoteStorage" ref="apache.snapshotRemotePeer" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous accessManager declaration to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<property name="repositoryLogic" ref="proximity.maven2SnapshotRepoLogic" />
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="apache.snapshotFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${apache.snapshotFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${apache.snapshotFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<bean id="apache.snapshotRemotePeer"
class="org.abstracthorizon.proximity.storage.remote.CommonsHttpClientRemotePeer">
<property name="remoteUrl"
value="http://people.apache.org/maven-snapshot-repository/" />
<!-- The timeout of HTTP connection -->
<property name="connectionTimeout" value="10000" />
<!-- The count of retries (used by DefaultRetryHandler) -->
<property name="retrievalRetryCount" value="3" />
<!-- Should HttpClient follow redirections? (preferred!) -->
<property name="followRedirection" value="true" />
<!-- Fix query string appended to URL, used for ProximityPiping "repositoryId=central" -->
<property name="queryString" value="" />
<!-- Proxy setup, uncomment if needed
<property name="proxyHost" value="myproxyhost.company.com" />
<property name="proxyPort" value="8080" />
-->
<!-- Proxy authentication setup, uncomment if proxy needs this
<property name="proxyUsername" value="userOnProxy" />
<property name="proxyPassword" value="bigSecret" />
-->
<!-- Proxy NTLM authentication setup, uncomment if proxy needs this
<property name="proxyNtlmDomain" value="domain to authenticate within" />
<property name="proxyNtlmHost" value="originating hostname" />
<property name="proxyUsername" value="userOnProxyWithoutDomainPrefix" />
<property name="proxyPassword" value="bigSecret" />
-->
</bean>
<!--
- MAVEN2 repository!
- "Official" Snapshot Repository (with writable cache storage and remote peer)
- A standard maven2 repository.
-->
<bean id="codehaus.snapshot"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="codehaus.snapshot" />
<property name="groupId" value="codehaus.snapshot" />
<property name="rank" value="90" />
<property name="localStorage" ref="codehaus.snapshotFSStorage" />
<property name="remoteStorage"
ref="codehaus.snapshotRemotePeer" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous accessManager declaration to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<property name="repositoryLogic" ref="proximity.maven2SnapshotRepoLogic" />
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="codehaus.snapshotFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${codehaus.snapshotFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${codehaus.snapshotFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<bean id="codehaus.snapshotRemotePeer"
class="org.abstracthorizon.proximity.storage.remote.CommonsHttpClientRemotePeer">
<property name="remoteUrl"
value="http://snapshots.repository.codehaus.org/" />
<!-- The timeout of HTTP connection -->
<property name="connectionTimeout" value="10000" />
<!-- The count of retries (used by DefaultRetryHandler) -->
<property name="retrievalRetryCount" value="3" />
<!-- Should HttpClient follow redirections? (preferred!) -->
<property name="followRedirection" value="true" />
<!-- Fix query string appended to URL, used for ProximityPiping "repositoryId=central" -->
<property name="queryString" value="" />
<!-- Proxy setup, uncomment if needed
<property name="proxyHost" value="myproxyhost.company.com" />
<property name="proxyPort" value="8080" />
-->
<!-- Proxy authentication setup, uncomment if proxy needs this
<property name="proxyUsername" value="userOnProxy" />
<property name="proxyPassword" value="bigSecret" />
-->
<!-- Proxy NTLM authentication setup, uncomment if proxy needs this
<property name="proxyNtlmDomain" value="domain to authenticate within" />
<property name="proxyNtlmHost" value="originating hostname" />
<property name="proxyUsername" value="userOnProxyWithoutDomainPrefix" />
<property name="proxyPassword" value="bigSecret" />
-->
</bean>
<!--
- In-House Repository (with read-only storage and without remote peer)
- A maven repository for publishing in-house artifacts.
-->
<bean id="inhouse"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="inhouse" />
<property name="groupId" value="inhouse" />
<property name="rank" value="10" />
<property name="localStorage" ref="inhouseFSStorage" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="repositoryLogic" ref="proximity.maven2ReleaseRepoLogic" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous row to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="inhouseFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${inhouseFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${inhouseFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<bean id="inhouse.snapshot"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="inhouse.snapshot" />
<property name="groupId" value="inhouse.snapshot" />
<property name="rank" value="15" />
<property name="localStorage" ref="inhouse.snapshotFSStorage" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="repositoryLogic" ref="proximity.maven2SnapshotRepoLogic" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous row to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<property name="indexable" value="true"/>
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="inhouse.snapshotFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${inhouse.snapshotFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${inhouse.snapshotFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<!--
- EXT NonFree Repository (with read-only storage and without remote peer)
- A maven repository for in-house use for publishing released non-free artifacts
- not deployed on standard maven repositories (oracle JDBC, J2EE, etc...).
-->
<bean id="extNonFree"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="extNonFree" />
<property name="groupId" value="public" />
<property name="rank" value="35" />
<property name="localStorage" ref="extNonFreeFSStorage" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="repositoryLogic" ref="proximity.maven2ReleaseRepoLogic" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous row to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="extNonFreeFSStorage"
class="org.abstracthorizon.proximity.storage.local.ReadOnlyFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${extNonFreeFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${extNonFreeFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
<!--
- EXT Free Repository (with read-only storage and without remote peer)
- A maven repository for in-house use for publishing released artifacts
- not deployed on standard maven repositories (dwr, etc...).
-->
<bean id="extFree"
class="org.abstracthorizon.proximity.impl.LogicDrivenRepositoryImpl">
<property name="id" value="extFree" />
<property name="groupId" value="public" />
<property name="rank" value="25" />
<property name="localStorage" ref="extFreeFSStorage" />
<property name="statisticsGatherer" ref="proximity.statisticsGatherer" />
<property name="repositoryLogic" ref="proximity.maven2ReleaseRepoLogic" />
<property name="accessManager" ref="proximity.openAccessManager" />
<!-- Uncomment this and delete previous row to restrict access to this repo
<property name="accessManager" ref="internalLanOnlyAccessManager" />
-->
<!-- Am I listable? -->
<property name="listable" value="true" />
<!-- Am I available? If no, i will refuse all requests -->
<property name="available" value="true" />
<!-- Am I offline? If yes, i will not touch my remote peer, will serve only from localStorage -->
<property name="offline" value="false" />
<!-- Is repo indexable? -->
<property name="indexable" value="true"/>
<!-- Should repo be indexed at startup? (NOT USED?) -->
<property name="reindexAtInitialize" value="true"/>
</bean>
<bean id="extFreeFSStorage"
class="org.abstracthorizon.proximity.storage.local.WritableFileSystemStorage">
<property name="metadataAware" value="true" />
<property name="metadataDirFile"
value="${extFreeFSStorage.metadataDir}" />
<property name="storageDirFile"
value="${extFreeFSStorage.baseDir}" />
<property name="proxiedItemPropertiesFactory"
ref="proximity.itemPropertiesFactory" />
</bean>
</beans>