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 =