You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/12/23 22:05:13 UTC
svn commit: r729113 - in
/maven/mercury/trunk/mercury-repo/mercury-repo-map/src:
main/java/org/apache/maven/mercury/repository/local/map/
test/java/org/apache/maven/mercury/repository/local/map/
Author: ogusakov
Date: Tue Dec 23 13:05:10 2008
New Revision: 729113
URL: http://svn.apache.org/viewvc?rev=729113&view=rev
Log:
[MERCURY-65] adding mapped repo implementation
Added:
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java (contents, props changed)
- copied, changed from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java (contents, props changed)
- copied, changed from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java (contents, props changed)
- copied, changed from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlatFactory.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java (contents, props changed)
- copied, changed from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlatTest.java
Removed:
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlat.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlatFactory.java
maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlatTest.java
Copied: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java (from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlat.java)
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java?p2=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java&p1=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlat.java&r1=729085&r2=729113&rev=729113&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlat.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java Tue Dec 23 13:05:10 2008
@@ -19,101 +19,95 @@
package org.apache.maven.mercury.repository.local.map;
import java.io.File;
+import java.util.Map;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.repository.api.AbstractRepository;
import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.NonExistentProtocolException;
import org.apache.maven.mercury.repository.api.RepositoryReader;
import org.apache.maven.mercury.repository.api.RepositoryWriter;
-public class LocalRepositoryFlat
+/**
+ * in-memory only repository for processing POMs on-the-fly
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class LocalRepositoryMap
extends AbstractRepository
implements LocalRepository
{
- public static final String FLAT_REPOSITORY_TYPE = "flat";
-
- public static final String METADATA_FILE_NAME = "maven-metadata-local.xml";
-
- private File directory;
-
- private boolean createPoms = false;
- private boolean createGroupFolders = false;
+ public static final String FLAT_REPOSITORY_TYPE = "map";
- //----------------------------------------------------------------------------------
- public LocalRepositoryFlat( String id, File directory, boolean createGroupFolders, boolean createPoms )
+ // ----------------------------------------------------------------------------------
+ public LocalRepositoryMap( String id, DependencyProcessor dp, Map<ArtifactBasicMetadata,File> files )
{
super( id, FLAT_REPOSITORY_TYPE );
- this.directory = directory;
- this.createGroupFolders = createGroupFolders;
- this.createPoms = createPoms;
+ setDependencyProcessor( dp );
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public File getDirectory()
{
- return directory;
+ return null;
}
- //----------------------------------------------------------------------------------
- public RepositoryReader getReader()
+
+ // ----------------------------------------------------------------------------------
+ public RepositoryReader getReader()
{
- return RepositoryReader.NULL_READER;
+ return RepositoryReader.NULL_READER;
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public RepositoryReader getReader( String protocol )
{
- return RepositoryReader.NULL_READER;
+ return new LocalRepositoryReaderMap( this, getDependencyProcessor() );
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public RepositoryWriter getWriter()
{
- return new LocalRepositoryWriterFlat(this);
+ return RepositoryWriter.NULL_WRITER;
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public RepositoryWriter getWriter( String protocol )
throws NonExistentProtocolException
{
- return getWriter();
+ return getWriter();
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public boolean isLocal()
{
- return true;
+ return true;
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public boolean isReadable()
{
- return false;
+ return true;
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public boolean isWriteable()
{
- return true;
+ return false;
}
- //----------------------------------------------------------------------------------
+
+ // ----------------------------------------------------------------------------------
public String getType()
{
- return DEFAULT_REPOSITORY_TYPE;
- }
- //----------------------------------------------------------------------------------
- public boolean isCreatePoms()
- {
- return createPoms;
- }
- public void setCreatePoms( boolean createPoms )
- {
- this.createPoms = createPoms;
- }
- public boolean isCreateGroupFolders()
- {
- return createGroupFolders;
- }
- public void setCreateGroupFolders( boolean createGroupFolders )
- {
- this.createGroupFolders = createGroupFolders;
+ return FLAT_REPOSITORY_TYPE;
}
+
+ // ----------------------------------------------------------------------------------
public String getMetadataName()
{
- return METADATA_FILE_NAME;
+ return null;
}
- //----------------------------------------------------------------------------------
- //----------------------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------
}
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMap.java
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java (from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlat.java)
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java?p2=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java&p1=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlat.java&r1=729085&r2=729113&rev=729113&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlat.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java Tue Dec 23 13:05:10 2008
@@ -28,14 +28,21 @@
import java.util.Set;
import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
+import org.apache.maven.mercury.repository.api.AbstracRepositoryReader;
import org.apache.maven.mercury.repository.api.AbstractRepository;
import org.apache.maven.mercury.repository.api.AbstractRepositoryWriter;
+import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
+import org.apache.maven.mercury.repository.api.ArtifactResults;
import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.RepositoryException;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
import org.apache.maven.mercury.repository.api.RepositoryWriter;
import org.apache.maven.mercury.transport.api.Server;
import org.apache.maven.mercury.util.FileLockBundle;
@@ -44,53 +51,27 @@
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
-public class LocalRepositoryWriterFlat
-extends AbstractRepositoryWriter
-implements RepositoryWriter
+public class LocalRepositoryReaderMap
+extends AbstracRepositoryReader
+implements RepositoryReader
{
- public static final String SYSTEM_PROPERTY_PARALLEL_WORKERS = "mercury.local.repo.workers";
- public static final int PARALLEL_WORKERS = Integer.parseInt( System.getProperty( SYSTEM_PROPERTY_PARALLEL_WORKERS, "4" ) );
-
- public static final long SLEEP_FOR_WORKERS_TICK = 20l;
-
- public static final String SYSTEM_PROPERTY_SLEEP_FOR_LOCK = "mercury.local.lock.wait.millis";
- public static final long SLEEP_FOR_LOCK = Long.parseLong( System.getProperty( SYSTEM_PROPERTY_SLEEP_FOR_LOCK, "5000" ) );
-
- public static final long SLEEP_FOR_LOCK_TICK = 5l;
-
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( LocalRepositoryWriterFlat.class );
- private static final Language LANG = new DefaultLanguage( LocalRepositoryWriterFlat.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryReaderMap.class );
+ private static final Language _lang = new DefaultLanguage( LocalRepositoryReaderMap.class );
//---------------------------------------------------------------------------------------------------------------
- private static final String [] _protocols = new String [] { "file" };
+ private static final String [] _protocols = new String [] { "map" };
private final LocalRepository _repo;
- private final File _repoDir;
- private final ArtifactQueue _aq;
-
- private static final ArifactWriteData LAST_ARTIFACT = new ArifactWriteData( null, null );
-
//---------------------------------------------------------------------------------------------------------------
- public LocalRepositoryWriterFlat( LocalRepository repo )
+ public LocalRepositoryReaderMap( Repository repo, DependencyProcessor dp )
{
- if( repo == null )
- throw new IllegalArgumentException("localRepo cannot be null");
-
- _repoDir = repo.getDirectory();
- if( _repoDir == null )
- throw new IllegalArgumentException("localRepo directory cannot be null");
-
- if( !_repoDir.exists() )
- throw new IllegalArgumentException("localRepo directory \""+_repoDir.getAbsolutePath()+"\" should exist");
-
- _repo = repo;
- _aq = null;
- }
- //---------------------------------------------------------------------------------------------------------------
- private LocalRepositoryWriterFlat( LocalRepository repo, File repoDir, ArtifactQueue aq )
- {
- _repo = repo;
- _repoDir = repoDir;
- _aq = aq;
+ if( repo == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ if( dp == null )
+ throw new IllegalArgumentException("localRepo cannot be null");
+
+ _mdProcessor = dp;
+ _repo = (LocalRepository) repo;
}
//---------------------------------------------------------------------------------------------------------------
public Repository getRepository()
@@ -108,221 +89,58 @@
return _protocols;
}
//---------------------------------------------------------------------------------------------------------------
- public void close()
- {
- }
- //---------------------------------------------------------------------------------------------------------------
- public void writeArtifacts( Collection<Artifact> artifacts )
- throws RepositoryException
- {
- if( artifacts == null || artifacts.size() < 1 )
- return;
-
- int nWorkers = PARALLEL_WORKERS;
- if( artifacts.size() < nWorkers )
- nWorkers = artifacts.size();
-
- ArtifactQueue aq = new ArtifactQueue();
- LocalRepositoryWriterFlat [] workers = new LocalRepositoryWriterFlat[ nWorkers ];
-
- for( int i=0; i<nWorkers; i++ )
- workers[ i ] = new LocalRepositoryWriterFlat( _repo, _repoDir, aq );
-
- for( Artifact artifact : artifacts )
- {
- Set<StreamVerifierFactory> vFacs = null;
- Server server = _repo.getServer();
- if( server != null && server.hasWriterStreamVerifierFactories() )
- vFacs = server.getWriterStreamVerifierFactories();
-
- if( vFacs == null ) // let it be empty, but not null
- vFacs = new HashSet<StreamVerifierFactory>(1);
-
- aq.addArtifact( new ArifactWriteData( artifact, vFacs ) );
- }
- aq.addArtifact( LAST_ARTIFACT );
-
- for( int i=0; i<nWorkers; i++ )
- workers[ i ].start();
-
- boolean alive = true;
- while( alive )
- {
- alive = false;
- for( int i=0; i<nWorkers; i++ )
- if( workers[ i ].isAlive() )
- {
- alive = true;
- try { sleep( SLEEP_FOR_WORKERS_TICK ); } catch( InterruptedException ie ) {}
- }
- }
- }
- //---------------------------------------------------------------------------------------------------------------
- /* (non-Javadoc)
- * @see java.lang.Thread#run()
- */
- @Override
- public void run()
- {
- try
- {
- for(;;)
- {
- ArifactWriteData awd = _aq.getArtifact();
-
- if( awd == null || awd.artifact == null )
- break;
-
- writeArtifact( awd.artifact, awd.vFacs );
- }
- }
- catch (InterruptedException e)
- {
- }
- catch( RepositoryException e )
- {
- throw new RuntimeException(e);
- }
- }
- //---------------------------------------------------------------------------------------------------------------
- public void writeArtifact( final Artifact artifact, final Set<StreamVerifierFactory> vFacs )
- throws RepositoryException
- {
- if( artifact == null )
- return;
-
- boolean isPom = "pom".equals( artifact.getType() );
-
- byte [] pomBlob = artifact.getPomBlob();
- boolean hasPomBlob = pomBlob != null && pomBlob.length > 0;
-
- InputStream in = artifact.getStream();
- if( in == null )
- {
- File aFile = artifact.getFile();
- if( aFile == null && !isPom )
- {
- throw new RepositoryException( LANG.getMessage( "artifact.no.stream", artifact.toString() ) );
- }
-
- try
- {
- in = new FileInputStream( aFile );
- }
- catch( FileNotFoundException e )
- {
- if( !isPom )
- throw new RepositoryException( e );
- }
- }
-
- String relGroupPath = ((LocalRepositoryFlat)_repo).isCreateGroupFolders() ? artifact.getGroupId() : "";
- String versionPath = _repoDir.getAbsolutePath() + (Util.isEmpty( relGroupPath ) ? "" : "/"+relGroupPath);
-
- String lockDir = null;
- FileLockBundle fLock = null;
-
- try
- {
-
- if( isPom )
- {
- if( in == null && !hasPomBlob )
- throw new RepositoryException( LANG.getMessage( "pom.artifact.no.stream", artifact.toString() ) );
-
- if( in != null )
- {
- byte [] pomBlobBytes = FileUtil.readRawData( in );
- hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0;
- if( hasPomBlob )
- pomBlob = pomBlobBytes;
- }
- }
-
- // create folders
- lockDir = versionPath;
-
- File gav = new File( lockDir );
- gav.mkdirs();
-
- fLock = FileUtil.lockDir( lockDir, SLEEP_FOR_LOCK, SLEEP_FOR_LOCK_TICK );
- if( fLock == null )
- throw new RepositoryException( LANG.getMessage( "cannot.lock.gav", lockDir, ""+SLEEP_FOR_LOCK ) );
-
- String fName = versionPath+'/'+artifact.getBaseName()+'.'+artifact.getType();
-
- if( !isPom ) // first - take care of the binary
- FileUtil.writeAndSign( fName, in, vFacs );
-
- // if classier - nothing else to do :)
- if( artifact.hasClassifier() )
- return;
-
- if( ((LocalRepositoryFlat)_repo).isCreatePoms() && hasPomBlob )
- {
- FileUtil.writeAndSign( versionPath
- +'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom", pomBlob, vFacs
- );
- }
-
- }
- catch( Exception e )
- {
- throw new RepositoryException( e );
- }
- finally
- {
- if( fLock != null )
- fLock.release();
- }
-
- }
- //---------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.repository.api.RepositoryReader#readArtifacts(java.util.Collection)
+ */
+public ArtifactResults readArtifacts( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+{
+ // TODO Auto-generated method stub
+ return null;
}
-//=================================================================================================================
-class ArifactWriteData
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.repository.api.RepositoryReader#readDependencies(java.util.Collection)
+ */
+public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
{
- Artifact artifact;
- Set<StreamVerifierFactory> vFacs;
-
- public ArifactWriteData(Artifact artifact, Set<StreamVerifierFactory> vFacs)
- {
- this.artifact = artifact;
- this.vFacs = vFacs;
- }
+ // TODO Auto-generated method stub
+ return null;
}
-//=================================================================================================================
-class ArtifactQueue
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.repository.api.RepositoryReader#readRawData(java.lang.String)
+ */
+public byte[] readRawData( String path )
+ throws MetadataReaderException
{
- LinkedList<ArifactWriteData> queue = new LinkedList<ArifactWriteData>();
- boolean empty = false;
-
- public synchronized void addArtifact( ArifactWriteData awd )
- {
- queue.addLast( awd );
- empty = false;
- notify();
- }
-
- public synchronized ArifactWriteData getArtifact()
- throws InterruptedException
- {
- if( empty )
- return null;
-
- while( queue.isEmpty() )
- wait();
-
- ArifactWriteData res = queue.removeFirst();
+ // TODO Auto-generated method stub
+ return null;
+}
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.repository.api.RepositoryReader#readVersions(java.util.Collection)
+ */
+public ArtifactBasicResults readVersions( Collection<ArtifactBasicMetadata> query )
+ throws RepositoryException
+{
+ // TODO Auto-generated method stub
+ return null;
+}
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.repository.api.RepositoryOperator#close()
+ */
+public void close()
+{
+ // TODO Auto-generated method stub
- if( res.artifact == null )
- {
- empty = true;
- return null;
- }
-
- return res;
- }
}
-//=================================================================================================================
+/* (non-Javadoc)
+ * @see org.apache.maven.mercury.builder.api.MetadataReader#readRawData(org.apache.maven.mercury.artifact.ArtifactBasicMetadata, java.lang.String, java.lang.String)
+ */
+public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+ throws MetadataReaderException
+{
+ // TODO Auto-generated method stub
+ return null;
+}
+}
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java (from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlatFactory.java)
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java?p2=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java&p1=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlatFactory.java&r1=729085&r2=729113&rev=729113&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryWriterFlatFactory.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java Tue Dec 23 13:05:10 2008
@@ -18,33 +18,31 @@
*/
package org.apache.maven.mercury.repository.local.map;
+import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.repository.api.AbstractRepository;
-import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.RepositoryException;
-import org.apache.maven.mercury.repository.api.RepositoryWriter;
-import org.apache.maven.mercury.repository.api.RepositoryWriterFactory;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryReaderFactory;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
-public class LocalRepositoryWriterFlatFactory
-implements RepositoryWriterFactory
+public class LocalRepositoryreaderMapFactory
+ implements RepositoryReaderFactory
{
- private static final Language LANG = new DefaultLanguage( LocalRepositoryWriterFlatFactory.class );
- private static final LocalRepositoryWriterFlatFactory FACTORY = new LocalRepositoryWriterFlatFactory();
-
- static
- {
- AbstractRepository.register( LocalRepositoryFlat.FLAT_REPOSITORY_TYPE, FACTORY );
- }
-
- public RepositoryWriter getWriter( Repository repo )
- throws RepositoryException
- {
- if( repo == null || !(repo instanceof LocalRepository) )
- throw new RepositoryException( LANG.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) );
-
- return new LocalRepositoryWriterFlat( (LocalRepository)repo );
- }
+ private static final Language _lang = new DefaultLanguage( LocalRepositoryreaderMapFactory.class );
+
+ private static final LocalRepositoryreaderMapFactory FACTORY = new LocalRepositoryreaderMapFactory();
+
+ static
+ {
+ AbstractRepository.register( LocalRepositoryMap.FLAT_REPOSITORY_TYPE, FACTORY );
+ }
+
+ public RepositoryReader getReader( Repository repo, DependencyProcessor mdProcessor )
+ throws RepositoryException
+ {
+ return new LocalRepositoryReaderMap( repo, mdProcessor );
+ }
}
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryreaderMapFactory.java
------------------------------------------------------------------------------
svn:mergeinfo =
Copied: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java (from r729085, maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlatTest.java)
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java?p2=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java&p1=maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlatTest.java&r1=729085&r2=729113&rev=729113&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryFlatTest.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java Tue Dec 23 13:05:10 2008
@@ -40,13 +40,13 @@
* @version $Id$
*
*/
-public class LocalRepositoryFlatTest
+public class LocalRepositoryMapTest
extends TestCase
{
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( LocalRepositoryFlatTest.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( LocalRepositoryMapTest.class );
File _dir;
- LocalRepositoryFlat _repo;
+ LocalRepositoryMap _repo;
String repoUrl = "http://repo1.sonatype.org";
// String repoUrl = "http://repository.sonatype.org/content/groups/public";
@@ -61,146 +61,11 @@
_dir = File.createTempFile( "test-flat-", "-repo" );
_dir.delete();
_dir.mkdirs();
-
- _repo = new LocalRepositoryFlat("testFlatRepo", _dir, false, false );
-
- byte [] pomBlob = "pomblob".getBytes();
-
- a = new DefaultArtifact( new ArtifactBasicMetadata("a:a:1.0.0") );
-
- File ant = File.createTempFile( "test-flat", "-repo" );
- InputStream in = LocalRepositoryFlatTest.class.getResourceAsStream( "/ant-1.6.5.jar" );
- FileUtil.writeRawData( ant, in );
- a.setFile( ant );
- a.setPomBlob( pomBlob );
-
- b = new DefaultArtifact( new ArtifactBasicMetadata("b:b:1.0.0") );
-
- File antlr = File.createTempFile( "test-flat", "-repo" );
- in = LocalRepositoryFlatTest.class.getResourceAsStream( "/antlr-2.7.7.jar" );
- FileUtil.writeRawData( antlr, in );
- b.setFile( antlr );
- b.setPomBlob( pomBlob );
}
- public void testWriteFlat()
+ public void testReadMap()
throws Exception
{
- String test = "testWriteFlat()";
-
- System.out.println(test+": test repo is in "+_repo.getDirectory());
-
- List<Artifact> artifacts = new ArrayList<Artifact>();
- artifacts.add( a );
- artifacts.add( b );
-
- RepositoryWriter rw = _repo.getWriter();
- rw.writeArtifacts( artifacts );
-
- File af = new File ( _dir, "a-1.0.0.jar" );
-
- assertTrue( af.exists() );
- assertEquals( 1034049L, af.length() );
-
- File bf = new File ( _dir, "b-1.0.0.jar" );
-
- assertTrue( bf.exists() );
- assertEquals( 445288L, bf.length() );
- }
-
-
- public void testWriteFlatWithPom()
- throws Exception
- {
- String test = "testWriteFlatWithPom()";
-
- _repo.setCreatePoms( true );
-
- System.out.println(test+": test repo is in "+_repo.getDirectory());
-
- List<Artifact> artifacts = new ArrayList<Artifact>();
- artifacts.add( a );
- artifacts.add( b );
-
- RepositoryWriter rw = _repo.getWriter();
- rw.writeArtifacts( artifacts );
-
- File af = new File ( _dir, "a-1.0.0.jar" );
-
- assertTrue( af.exists() );
- assertEquals( 1034049L, af.length() );
-
- File ap = new File ( _dir, "a-1.0.0.pom" );
- assertTrue( ap.exists() );
-
- File bf = new File ( _dir, "b-1.0.0.jar" );
-
- assertTrue( bf.exists() );
- assertEquals( 445288L, bf.length() );
-
- File bp = new File ( _dir, "b-1.0.0.pom" );
- assertTrue( bp.exists() );
- }
-
- public void testWriteFlatWithGroup()
- throws Exception
- {
- String test = "testWriteFlatWithGroup()";
-
- _repo.setCreateGroupFolders( true );
-
- System.out.println(test+": test repo is in "+_repo.getDirectory());
-
- List<Artifact> artifacts = new ArrayList<Artifact>();
- artifacts.add( a );
- artifacts.add( b );
-
- RepositoryWriter rw = _repo.getWriter();
- rw.writeArtifacts( artifacts );
-
- File af = new File ( _dir, "a/a-1.0.0.jar" );
-
- assertTrue( af.exists() );
- assertEquals( 1034049L, af.length() );
-
- File bf = new File ( _dir, "b/b-1.0.0.jar" );
-
- assertTrue( bf.exists() );
- assertEquals( 445288L, bf.length() );
- }
-
- public void testWriteFlatWithGroupAndPom()
- throws Exception
- {
- String test = "testWriteFlatWithGroupAndPom()";
-
- _repo.setCreateGroupFolders( true );
- _repo.setCreatePoms( true );
-
- System.out.println(test+": test repo is in "+_repo.getDirectory());
-
- List<Artifact> artifacts = new ArrayList<Artifact>();
- artifacts.add( a );
- artifacts.add( b );
-
- RepositoryWriter rw = _repo.getWriter();
- rw.writeArtifacts( artifacts );
-
- File af = new File ( _dir, "a/a-1.0.0.jar" );
-
- assertTrue( af.exists() );
- assertEquals( 1034049L, af.length() );
-
- File ap = new File ( _dir, "a/a-1.0.0.pom" );
- assertTrue( ap.exists() );
-
- File bf = new File ( _dir, "b/b-1.0.0.jar" );
-
- assertTrue( bf.exists() );
- assertEquals( 445288L, bf.length() );
-
- File bp = new File ( _dir, "b/b-1.0.0.pom" );
- assertTrue( bp.exists() );
}
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/mercury/trunk/mercury-repo/mercury-repo-map/src/test/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryMapTest.java
------------------------------------------------------------------------------
svn:mergeinfo =