Author: ogusakov
Date: Wed Aug 27 10:14:34 2008
New Revision: 689532

URL: http://svn.apache.org/viewvc?rev=689532&view=rev
Log:
intermediate state - repository APIs simplified, all tests good. Bug in 
getVersions - incorrect LATEST, RELEASE or snapshot TS

Added:
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java?rev=689532&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactBasicResults.java
 Wed Aug 27 10:14:34 2008
@@ -0,0 +1,120 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactBasicResults
+extends AbstractRepOpResult
+{
+  Map< ArtifactBasicMetadata, List<ArtifactBasicMetadata>> _result = new 
HashMap<ArtifactBasicMetadata, List<ArtifactBasicMetadata>>(8);
+
+  /**
+   * first result is ready 
+   */
+  public ArtifactBasicResults( ArtifactBasicMetadata query, 
List<ArtifactBasicMetadata> result )
+  {
+    this._result.put( query, result );
+  }
+  
+  /**
+   * optimization opportunity
+   * 
+   * @param size
+   */
+  public ArtifactBasicResults( int size )
+  {
+  }
+
+  private ArtifactBasicResults()
+  {
+  }
+
+  public static ArtifactBasicResults add( final ArtifactBasicResults res, 
final ArtifactBasicMetadata key, final Exception err )
+  {
+    ArtifactBasicResults ret = res;
+    if( res == null )
+      ret = new ArtifactBasicResults();
+    
+    ret.addError( key, err );
+    
+    return ret;
+  }
+
+  public static ArtifactBasicResults add( final ArtifactBasicResults res, 
final ArtifactBasicMetadata key, final List<ArtifactBasicMetadata> result )
+  {
+    ArtifactBasicResults ret = res;
+    if( res == null )
+      ret = new ArtifactBasicResults();
+    
+    ret.add( key, result );
+    
+    return ret;
+  }
+
+  public static ArtifactBasicResults add( final ArtifactBasicResults res, 
final ArtifactBasicMetadata key, final ArtifactBasicMetadata result )
+  {
+    ArtifactBasicResults ret = res;
+    if( res == null )
+      ret = new ArtifactBasicResults();
+    
+    ret.add( key, result );
+    
+    return ret;
+  }
+  
+  private List<ArtifactBasicMetadata> getOrCreate( ArtifactBasicMetadata query 
)
+  {
+    List<ArtifactBasicMetadata> res = _result.get( query );
+    if( res == null )
+    {
+      res = new ArrayList<ArtifactBasicMetadata>(8);
+      _result.put( query, res );
+    }
+    return res;
+  }
+  
+  public void add( ArtifactBasicMetadata query, List<ArtifactBasicMetadata> 
result )
+  {
+    List<ArtifactBasicMetadata> res = getOrCreate( query );
+    res.addAll( result );
+  }
+  
+  public void add( ArtifactBasicMetadata query, ArtifactBasicMetadata result )
+  {
+    List<ArtifactBasicMetadata> res = getOrCreate( query );
+    res.add( result );
+  }
+
+  public Map< ArtifactBasicMetadata, List<ArtifactBasicMetadata>> getResults()
+  {
+    return _result;
+  }
+
+  public List<ArtifactBasicMetadata> getResult( ArtifactBasicMetadata query )
+  {
+    return _result.get( query );
+  }
+
+  @Override
+  public boolean hasResults()
+  {
+    return ! _result.isEmpty();
+  }
+
+  @Override
+  public boolean hasResults( ArtifactBasicMetadata key )
+  {
+    return ! _result.isEmpty() && _result.containsKey( key ) && ! _result.get( 
key ).isEmpty();
+  }
+
+}

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java?rev=689532&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ArtifactResults.java
 Wed Aug 27 10:14:34 2008
@@ -0,0 +1,77 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class ArtifactResults
+extends AbstractRepOpResult
+{
+  Map< ArtifactBasicMetadata, List<Artifact>> _result = new 
HashMap<ArtifactBasicMetadata, List<Artifact>>(8);
+
+  public ArtifactResults()
+  {
+  }
+  
+  public ArtifactResults( ArtifactBasicMetadata query, List<Artifact> result )
+  {
+    this._result.put( query, result );
+  }
+  
+  public void add( ArtifactBasicMetadata query, Artifact result )
+  {
+    List<Artifact> res = _result.get( query );
+    if( res == null )
+    {
+      res = new ArrayList<Artifact>(8);
+      _result.put( query, res );
+    }
+
+    res.add( result );
+  }
+  
+  public void addAll( ArtifactBasicMetadata query, List<Artifact> result )
+  {
+    List<Artifact> res = _result.get( query );
+    if( res == null )
+    {
+      res = new ArrayList<Artifact>(8);
+      _result.put( query, res );
+    }
+
+    res.addAll( result );
+  }
+
+  public Map< ArtifactBasicMetadata, List<Artifact>> getResults()
+  {
+    return _result;
+  }
+
+  public List<Artifact> getResults( ArtifactBasicMetadata query )
+  {
+    return _result.get( query );
+  }
+
+  @Override
+  public boolean hasResults()
+  {
+    return ! _result.isEmpty();
+  }
+
+  @Override
+  public boolean hasResults( ArtifactBasicMetadata key )
+  {
+    return ! _result.isEmpty() && _result.containsKey( key ) && ! _result.get( 
key ).isEmpty();
+  }
+  
+}


Reply via email to