Author: brett
Date: Sat Mar 26 11:13:50 2011
New Revision: 1085693
URL: http://svn.apache.org/viewvc?rev=1085693&view=rev
Log:
make some changes to the sandbox repository metadata population app to help
assess the efficiency of several variants
Modified:
archiva/sandbox/populate-jcr-repo/pom.xml
archiva/sandbox/populate-jcr-repo/src/main/java/org/apache/archiva/metadata/repository/jcr/PopulateRepoApp.java
archiva/sandbox/populate-jcr-repo/src/main/repository.xml
Modified: archiva/sandbox/populate-jcr-repo/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/sandbox/populate-jcr-repo/pom.xml?rev=1085693&r1=1085692&r2=1085693&view=diff
==============================================================================
--- archiva/sandbox/populate-jcr-repo/pom.xml (original)
+++ archiva/sandbox/populate-jcr-repo/pom.xml Sat Mar 26 11:13:50 2011
@@ -25,13 +25,18 @@
</dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
+ <artifactId>metadata-repository-file</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
<artifactId>maven2-repository</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
- <version>2.2.1</version>
+ <version>2.2.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@@ -54,5 +59,11 @@
<artifactId>npanday-support</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.3.153</version>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
</project>
Modified:
archiva/sandbox/populate-jcr-repo/src/main/java/org/apache/archiva/metadata/repository/jcr/PopulateRepoApp.java
URL:
http://svn.apache.org/viewvc/archiva/sandbox/populate-jcr-repo/src/main/java/org/apache/archiva/metadata/repository/jcr/PopulateRepoApp.java?rev=1085693&r1=1085692&r2=1085693&view=diff
==============================================================================
---
archiva/sandbox/populate-jcr-repo/src/main/java/org/apache/archiva/metadata/repository/jcr/PopulateRepoApp.java
(original)
+++
archiva/sandbox/populate-jcr-repo/src/main/java/org/apache/archiva/metadata/repository/jcr/PopulateRepoApp.java
Sat Mar 26 11:13:50 2011
@@ -3,7 +3,9 @@ package org.apache.archiva.metadata.repo
import org.apache.archiva.metadata.model.ArtifactMetadata;
import org.apache.archiva.metadata.model.MetadataFacetFactory;
import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+import org.apache.archiva.metadata.repository.file.FileMetadataRepository;
import
org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataInvalidException;
import
org.apache.archiva.metadata.repository.storage.RepositoryStorageMetadataNotFoundException;
import
org.apache.archiva.metadata.repository.storage.maven2.Maven2RepositoryPathTranslator;
@@ -16,6 +18,7 @@ import org.apache.commons.io.filefilter.
import org.apache.commons.io.filefilter.WildcardFileFilter;
import org.apache.jackrabbit.core.TransientRepository;
import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.codehaus.plexus.spring.PlexusClassPathXmlApplicationContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,20 +49,15 @@ public class PopulateRepoApp
throws RepositoryException, MetadataRepositoryException,
RepositoryStorageMetadataNotFoundException,
RepositoryStorageMetadataInvalidException
{
- RepositoryConfig config = RepositoryConfig.create(
"src/main/repository.xml", "jcr" );
- Repository repository = new TransientRepository( config );
-
MavenArtifactFacetFactory factory = new MavenArtifactFacetFactory();
Map<String, MetadataFacetFactory> metadataFacetFactories =
Collections.<String, MetadataFacetFactory>singletonMap(
MavenArtifactFacet.FACET_ID, factory );
- JcrMetadataRepository jcrMetadataRepository = new
JcrMetadataRepository( metadataFacetFactories, repository );
-
- JcrMetadataRepository.initialize(
jcrMetadataRepository.getJcrSession() );
ConfigurableApplicationContext applicationContext = new
PlexusClassPathXmlApplicationContext(
CONFIG_LOCATIONS );
+ MetadataRepository metadataRepository = null;
try
{
File basedir;
@@ -77,14 +75,17 @@ public class PopulateRepoApp
"archivaConfiguration" );
archivaConfig.addManagedRepo( REPO_ID, basedir );
+ metadataRepository = createJcrMetadataRepository(
metadataFacetFactories );
+// metadataRepository = createFileMetadataRepository(
metadataFacetFactories, archivaConfig );
+
Maven2RepositoryPathTranslator translator =
(Maven2RepositoryPathTranslator) applicationContext.getBean(
"repositoryPathTranslator#maven2" );
Maven2RepositoryStorage storage = (Maven2RepositoryStorage)
applicationContext.getBean(
"repositoryStorage#maven2" );
- File dir = basedir;
-// File dir = new File( basedir, "org/apache/archiva" );
+// File dir = basedir;
+ File dir = new File( basedir, "org/apache/archiva" );
IOFileFilter dirFilter = new NotFileFilter( new
WildcardFileFilter( new String[]{".index*", ".archiva"} ) );
IOFileFilter fileFilter = new NotFileFilter( new
WildcardFileFilter(
@@ -114,29 +115,52 @@ public class PopulateRepoApp
artifact.getProject(),
artifact.getProjectVersion() );
- jcrMetadataRepository.updateProjectVersion( REPO_ID,
artifact.getNamespace(), artifact.getProject(),
- metadata );
+ metadataRepository.updateProjectVersion( REPO_ID,
artifact.getNamespace(), artifact.getProject(),
+ metadata );
}
catch ( Exception e )
{
log.warn( "Unable to read POM, skipping: " +
e.getMessage() );
}
- jcrMetadataRepository.updateArtifact( REPO_ID,
artifact.getNamespace(), artifact.getProject(),
-
artifact.getProjectVersion(), artifact );
+ metadataRepository.updateArtifact( REPO_ID,
artifact.getNamespace(), artifact.getProject(),
+
artifact.getProjectVersion(), artifact );
if ( ++count % 500 == 0 )
{
System.out.println( "saving " + ( count * 100 / total ) +
"%" );
- jcrMetadataRepository.save();
+ metadataRepository.save();
}
}
- jcrMetadataRepository.save();
+ metadataRepository.save();
}
finally
{
- jcrMetadataRepository.close();
+ if ( metadataRepository != null )
+ {
+ metadataRepository.close();
+ }
applicationContext.close();
}
}
+
+ private static MetadataRepository createJcrMetadataRepository(
+ Map<String, MetadataFacetFactory> metadataFacetFactories )
+ throws RepositoryException
+ {
+ RepositoryConfig config = RepositoryConfig.create(
"src/main/repository.xml", "jcr" );
+ Repository repository = new TransientRepository( config );
+
+ JcrMetadataRepository jcrMetadataRepository = new
JcrMetadataRepository( metadataFacetFactories, repository );
+
+ JcrMetadataRepository.initialize(
jcrMetadataRepository.getJcrSession() );
+ return jcrMetadataRepository;
+ }
+
+ private static MetadataRepository createFileMetadataRepository(
+ Map<String, MetadataFacetFactory> metadataFacetFactories,
ArchivaConfiguration archivaConfig )
+ throws RepositoryException
+ {
+ return new FileMetadataRepository( metadataFacetFactories,
archivaConfig );
+ }
}
Modified: archiva/sandbox/populate-jcr-repo/src/main/repository.xml
URL:
http://svn.apache.org/viewvc/archiva/sandbox/populate-jcr-repo/src/main/repository.xml?rev=1085693&r1=1085692&r2=1085693&view=diff
==============================================================================
--- archiva/sandbox/populate-jcr-repo/src/main/repository.xml (original)
+++ archiva/sandbox/populate-jcr-repo/src/main/repository.xml Sat Mar 26
11:13:50 2011
@@ -34,7 +34,8 @@
<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"/>
+ <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.H2PersistenceManager"/>
+ <!--<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"/>-->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
@@ -43,6 +44,7 @@
<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"/>
+ <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.H2PersistenceManager"/>
+ <!--<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"/>-->
</Versioning>
</Repository>