Author: ogusakov
Date: Fri Mar  6 22:14:31 2009
New Revision: 751105

URL: http://svn.apache.org/viewvc?rev=751105&view=rev
Log:
[MNG-3849] simplifying mercury

Added:
    
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
   (with props)
    
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
   (with props)
Modified:
    
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
    
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
    
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
    
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
    
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
    
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
    
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java

Modified: 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
 (original)
+++ 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
 Fri Mar  6 22:14:31 2009
@@ -20,14 +20,6 @@
 import java.util.regex.Pattern;
 
 
-/*
- * Description of an artifact.
- * 
- * @todo do we really need an interface here?
- * 
- * @todo get rid of the multiple states we can have (project, parent, etc 
artifacts, file == null,
- * snapshot, etc) - construct subclasses and use accordingly?
- */
 public interface Artifact
 extends Comparable<Artifact>
 {
@@ -99,8 +91,4 @@
     void setGroupId( String groupId );
 
     void setArtifactId( String artifactId );
-    
-    boolean isResolved();
-    
-    void setResolved( boolean resolved );
 }
\ No newline at end of file

Modified: 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
 (original)
+++ 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
 Fri Mar  6 22:14:31 2009
@@ -304,6 +304,11 @@
         return groupId + ":" + artifactId;
     }
 
+    public String toManagementString()
+    {
+        return groupId + ":" + artifactId + ":" + type + ( classifier != null 
? ":" + classifier : "" );
+    }
+
     public String getBaseName()
     {
         return artifactId + "-" + version + ( classifier == null ? "" : "-" + 
classifier );

Modified: 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
 (original)
+++ 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactCoordinates.java
 Fri Mar  6 22:14:31 2009
@@ -33,11 +33,10 @@
 
     protected String version;
 
-    /**
-     * @param groupId
-     * @param artifactId
-     * @param version
-     */
+    protected String classifier;
+
+    protected String type;
+
     public ArtifactCoordinates( String groupId, String artifactId, String 
version )
     {
         this.groupId = groupId;
@@ -45,6 +44,18 @@
         this.version = version;
     }
 
+    public ArtifactCoordinates( String groupId, String artifactId, String 
version, String type )
+    {
+        this( groupId, artifactId, version );
+        this.type = type;
+    }
+
+    public ArtifactCoordinates( String groupId, String artifactId, String 
version, String type, String classifier )
+    {
+        this( groupId, artifactId, version, type );
+        this.classifier = classifier;
+    }
+
     public String getGroupId()
     {
         return groupId;
@@ -74,11 +85,27 @@
     {
         this.version = version;
     }
+    
+    public String getClassifier()
+    {
+        return classifier;
+    }
+
+    public void setClassifier( String classifier )
+    {
+        this.classifier = classifier;
+    }
+
+    public String getType()
+    {
+        return type;
+    }
+
+    public void setType( String type )
+    {
+        this.type = type;
+    }
 
-    /*
-     * (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
     @Override
     public String toString()
     {

Modified: 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
 (original)
+++ 
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
 Fri Mar  6 22:14:31 2009
@@ -30,30 +30,12 @@
 public class ArtifactMetadata
     extends ArtifactBasicMetadata
 {
-    // in addition to basic coordinates
-
-    private boolean release;
-
-    /**
-     * explanation: why this MD was chosen over it's siblings in the resulting 
structure (classpath for now)
-     */
-    protected String why;
-
     /** dependencies of the artifact behind this metadata */
     protected List<ArtifactBasicMetadata> dependencies;
 
-    /** is metadata found anywhere */
-    protected boolean resolved = false;
-
-    /** does the actual artifact for this metadata exists */
-    protected boolean artifactExists = false;
-
     /** artifact URI */
     protected String artifactUri;
 
-    /** error message */
-    private String error;
-
     /**
      * for testing - required for mock MetadataSource
      */
@@ -74,9 +56,6 @@
         this.artifactScope = artifactScope;
         this.classifier = classifier;
         this.artifactUri = artifactUri;
-        this.why = why;
-        this.resolved = resolved;
-        this.error = error;
         this.attributes = attributes;
     }
 
@@ -95,26 +74,6 @@
         this( new ArtifactBasicMetadata( gav ) );
     }
 
-    public boolean isResolved()
-    {
-        return resolved;
-    }
-
-    public void setResolved( boolean resolved )
-    {
-        this.resolved = resolved;
-    }
-
-    public boolean isArtifactExists()
-    {
-        return artifactExists;
-    }
-
-    public void setArtifactExists( boolean artifactExists )
-    {
-        this.artifactExists = artifactExists;
-    }
-
     public List<ArtifactBasicMetadata> getDependencies()
     {
         return dependencies;
@@ -135,39 +94,4 @@
         this.artifactUri = artifactUri;
     }
 
-    public String getWhy()
-    {
-        return why;
-    }
-
-    public void setWhy( String why )
-    {
-        this.why = why;
-    }
-
-    public String getError()
-    {
-        return error;
-    }
-
-    public void setError( String error )
-    {
-        this.error = error;
-    }
-
-    public boolean isError()
-    {
-        return error == null;
-    }
-
-    public void setRelease( boolean release )
-    {
-        this.release = release;
-    }
-
-    public boolean isRelease()
-    {
-        return release;
-    }
-
 }

Added: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java?rev=751105&view=auto
==============================================================================
--- 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
 (added)
+++ 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
 Fri Mar  6 22:14:31 2009
@@ -0,0 +1,52 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+package org.apache.maven.mercury.metadata;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.mercury.util.Util;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactFilterList
+{
+    List<MetadataTreeArtifactFilter> _filters = new 
ArrayList<MetadataTreeArtifactFilter>(4);
+
+    public ArtifactFilterList()
+    {
+    }
+
+    public ArtifactFilterList( Map<String, Collection<String>> filter )
+    {
+        if( Util.isEmpty( filter ) )
+            return;
+        
+        _filters.add( new MetadataTreeArtifactFilterMap(filter) );
+    }
+
+}

Propchange: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ArtifactFilterList.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
 (original)
+++ 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
 Fri Mar  6 22:14:31 2009
@@ -88,7 +88,7 @@
         for ( ArtifactMetadata md : classpath )
         {
           // TODO Oleg: is null for query good here ??
-            node = new MetadataTreeNode( md, parent, null, md.isResolved() );
+            node = new MetadataTreeNode( md, parent, null );
             
             if ( tree == null )
             {

Added: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java?rev=751105&view=auto
==============================================================================
--- 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
 (added)
+++ 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
 Fri Mar  6 22:14:31 2009
@@ -0,0 +1,57 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+package org.apache.maven.mercury.metadata;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.util.Util;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class MetadataTreeArtifactFilterMap
+    implements MetadataTreeArtifactFilter
+{
+    Map<String, Collection<String>> _vetos;
+    
+    public MetadataTreeArtifactFilterMap(Map<String, Collection<String>> vetos)
+    {
+        _vetos = vetos;
+    }
+    
+    public boolean veto( ArtifactBasicMetadata md )
+    {
+        String key = md.toManagementString();
+        
+        Collection<String> ver = _vetos.get( key );
+        
+        if( Util.isEmpty( ver ) )
+            return false;
+        
+        return ver.contains( md.getVersion() );
+    }
+
+}

Propchange: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilterMap.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
 (original)
+++ 
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
 Fri Mar  6 22:14:31 2009
@@ -136,13 +136,11 @@
   public MetadataTreeNode( ArtifactMetadata md
                            , MetadataTreeNode parent
                            , ArtifactBasicMetadata query
-                           , boolean resolved
                          )
   {
         if ( md != null )
         {
             md.setArtifactScope( 
ArtifactScopeEnum.checkScope(md.getArtifactScope()) );
-            md.setResolved(resolved);
         }
 
         this.md = md;
@@ -150,11 +148,6 @@
         this.query = query;
   }
   //------------------------------------------------------------------------
-  public MetadataTreeNode( ArtifactMetadata md, MetadataTreeNode parent, 
ArtifactBasicMetadata query )
-  {
-    this( md, parent, query, true );
-  }
-  //------------------------------------------------------------------------
   /**
    * dependencies are ordered in the POM - they should be added in the POM 
order
    */
@@ -278,7 +271,6 @@
       MetadataTreeNode res = new MetadataTreeNode( node.getMd()
                                                   , node.getParent()
                                                   , node.getQuery()
-                                                  , true
                                                   );
       res.setId( node.getId() );
       

Modified: 
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java?rev=751105&r1=751104&r2=751105&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
 (original)
+++ 
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
 Fri Mar  6 22:14:31 2009
@@ -260,9 +260,12 @@
     }
 
     // ---------------------------------------------------------------
-    public List<ArtifactMetadata> resolve( List<Repository> repos, 
ArtifactScopeEnum scope,
-                                           ArtifactQueryList artifacts, 
ArtifactInclusionList inclusions,
-                                           ArtifactExclusionList exclusions )
+    public List<ArtifactMetadata> resolve( List<Repository> repos
+                                           , ArtifactScopeEnum scope
+                                           , ArtifactQueryList artifacts
+                                           , ArtifactInclusionList inclusions
+                                           , ArtifactExclusionList exclusions
+                                           )
         throws RepositoryException
     {
         if ( Util.isEmpty( artifacts ) || artifacts.isEmpty() )
@@ -271,7 +274,7 @@
         try
         {
             DependencyBuilder depBuilder =
-                DependencyBuilderFactory.create( 
DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos );
+                DependencyBuilderFactory.create( 
DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos, null, null, null );
 
             List<ArtifactMetadata> res = depBuilder.resolveConflicts( scope, 
artifacts, inclusions, exclusions );
 


Reply via email to