Author: joakime
Date: Fri Jun 29 11:52:49 2007
New Revision: 551997

URL: http://svn.apache.org/viewvc?view=rev&rev=551997
Log:
* Fixing ArtifactsByChecksumConstraint for null types.
* Adding anonymous type constructor for ArtifactsByChecksumConstraint.
* Removing DatabaseSearch.  (We don't want a repeat of the mess that exists 
within continuum!)


Removed:
    
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/search/
    
maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/search/
Modified:
    
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraint.java
    
maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraintTest.java
    
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java

Modified: 
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraint.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraint.java?view=diff&rev=551997&r1=551996&r2=551997
==============================================================================
--- 
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraint.java
 (original)
+++ 
maven/archiva/trunk/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraint.java
 Fri Jun 29 11:52:49 2007
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.database.Constraint;
 
 /**
@@ -33,19 +34,42 @@
 {
     private String whereClause;
 
-    public static final String SHA1_CONDITION = "SHA1";
+    public static final String SHA1 = "SHA1";
 
-    public static final String MD5_CONDITION = "MD5";
+    public static final String MD5 = "MD5";
+    
+    /**
+     * Create constraint for checksum (without providing type)
+     * 
+     * @param desiredChecksum the checksum (either SHA1 or MD5)
+     */
+    public ArtifactsByChecksumConstraint( String desiredChecksum )
+    {
+        this( desiredChecksum, null );
+    }
 
-    public ArtifactsByChecksumConstraint( String desiredChecksum, String 
condition )
+    /**
+     * Create constraint for specific checksum.
+     * 
+     * @param desiredChecksum the checksum (either SHA1 or MD5)
+     * @param type the type of checksum (either [EMAIL PROTECTED] #SHA1} or 
[EMAIL PROTECTED] #MD5})
+     */
+    public ArtifactsByChecksumConstraint( String desiredChecksum, String type )
     {
-        if ( !condition.equals( SHA1_CONDITION ) && !condition.equals( 
MD5_CONDITION ) )
+        if( StringUtils.isEmpty( type ) )
+        {
+            // default for no specified type.
+            whereClause = "this.checksumSHA1 == desiredChecksum || 
this.checksumMD5 == desiredChecksum";
+        }
+        else if ( !type.equals( SHA1 ) && !type.equals( MD5 ) )
         {
+            // default for type that isn't recognized.
             whereClause = "this.checksumSHA1 == desiredChecksum || 
this.checksumMD5 == desiredChecksum";
         }
-        else if ( condition.equals( SHA1_CONDITION ) || condition.equals( 
MD5_CONDITION ) )
+        else if ( type.equals( SHA1 ) || type.equals( MD5 ) )
         {
-            whereClause = "this.checksum" + condition.trim() + " == 
desiredChecksum";
+            // specific type.
+            whereClause = "this.checksum" + type.trim() + " == 
desiredChecksum";
         }
 
         declParams = new String[]{ "String desiredChecksum" };

Modified: 
maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraintTest.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraintTest.java?view=diff&rev=551997&r1=551996&r2=551997
==============================================================================
--- 
maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraintTest.java
 (original)
+++ 
maven/archiva/trunk/archiva-database/src/test/java/org/apache/maven/archiva/database/constraints/ArtifactsByChecksumConstraintTest.java
 Fri Jun 29 11:52:49 2007
@@ -105,11 +105,11 @@
         artifactDao.saveArtifact( artifact );
 
         assertConstraint( "Artifacts by SHA1 Checksum", 4,
-                          new ArtifactsByChecksumConstraint( SHA1_HASH1, 
ArtifactsByChecksumConstraint.SHA1_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( SHA1_HASH1, 
ArtifactsByChecksumConstraint.SHA1 ) );
         assertConstraint( "Artifacts by SHA1 Checksum", 2,
-                          new ArtifactsByChecksumConstraint( SHA1_HASH2, 
ArtifactsByChecksumConstraint.SHA1_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( SHA1_HASH2, 
ArtifactsByChecksumConstraint.SHA1 ) );
         assertConstraint( "Artifacts by SHA1 Checksum", 1,
-                          new ArtifactsByChecksumConstraint( SHA1_HASH3, 
ArtifactsByChecksumConstraint.SHA1_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( SHA1_HASH3, 
ArtifactsByChecksumConstraint.SHA1 ) );
     }
 
     public void testConstraintMD5()
@@ -146,11 +146,11 @@
         artifactDao.saveArtifact( artifact );
 
         assertConstraint( "Artifacts by MD5 Checksum", 4,
-                          new ArtifactsByChecksumConstraint( MD5_HASH1, 
ArtifactsByChecksumConstraint.MD5_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( MD5_HASH1, 
ArtifactsByChecksumConstraint.MD5 ) );
         assertConstraint( "Artifacts by MD5 Checksum", 2,
-                          new ArtifactsByChecksumConstraint( MD5_HASH2, 
ArtifactsByChecksumConstraint.MD5_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( MD5_HASH2, 
ArtifactsByChecksumConstraint.MD5 ) );
         assertConstraint( "Artifacts by MD5 Checksum", 1,
-                          new ArtifactsByChecksumConstraint( MD5_HASH3, 
ArtifactsByChecksumConstraint.MD5_CONDITION ) );
+                          new ArtifactsByChecksumConstraint( MD5_HASH3, 
ArtifactsByChecksumConstraint.MD5 ) );
     }
 
     public void testConstraintOR()
@@ -186,9 +186,9 @@
         artifact.getModel().setChecksumMD5( MD5_HASH2 );
         artifactDao.saveArtifact( artifact );
 
-        assertConstraint( "Artifacts by MD5 Checksum", 4, new 
ArtifactsByChecksumConstraint( MD5_HASH1, "" ) );
-        assertConstraint( "Artifacts by MD5 Checksum", 2, new 
ArtifactsByChecksumConstraint( MD5_HASH2, "" ) );
-        assertConstraint( "Artifacts by MD5 Checksum", 1, new 
ArtifactsByChecksumConstraint( MD5_HASH3, "" ) );
+        assertConstraint( "Artifacts by MD5 Checksum", 4, new 
ArtifactsByChecksumConstraint( MD5_HASH1 ) );
+        assertConstraint( "Artifacts by MD5 Checksum", 2, new 
ArtifactsByChecksumConstraint( MD5_HASH2 ) );
+        assertConstraint( "Artifacts by MD5 Checksum", 1, new 
ArtifactsByChecksumConstraint( MD5_HASH3 ) );
     }
 
 

Modified: 
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java?view=diff&rev=551997&r1=551996&r2=551997
==============================================================================
--- 
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 (original)
+++ 
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 Fri Jun 29 11:52:49 2007
@@ -20,12 +20,14 @@
  */
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.database.ArchivaDAO;
+import org.apache.maven.archiva.database.Constraint;
+import 
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
 import org.apache.maven.archiva.indexer.RepositoryIndexException;
 import org.apache.maven.archiva.indexer.RepositoryIndexSearchException;
 import org.apache.maven.archiva.indexer.search.CrossRepositorySearch;
 import org.apache.maven.archiva.indexer.search.SearchResultLimits;
 import org.apache.maven.archiva.indexer.search.SearchResults;
-import org.apache.maven.archiva.database.search.DatabaseSearch;
 import org.codehaus.plexus.xwork.action.PlexusActionSupport;
 
 import java.net.MalformedURLException;
@@ -45,6 +47,11 @@
     private String q;
 
     /**
+     * @plexus.requirement role-hint="jdo"
+     */
+    private ArchivaDAO dao;
+
+    /**
      * The Search Results.
      */
     private SearchResults results;
@@ -60,11 +67,6 @@
 
     private List databaseResults;
 
-    /**
-     * @plexus.requirement role-hint="default"
-     */
-    private DatabaseSearch databaseSearch;
-
     public String quickSearch()
         throws MalformedURLException, RepositoryIndexException, 
RepositoryIndexSearchException
     {
@@ -109,7 +111,8 @@
             return INPUT;
         }
 
-        databaseResults = databaseSearch.searchArtifactsByChecksum( q );
+        Constraint constraint = new ArtifactsByChecksumConstraint( q );
+        databaseResults = dao.getArtifactDAO().queryArtifacts( constraint );
 
         if ( databaseResults.isEmpty() )
         {
@@ -119,7 +122,7 @@
 
         if ( databaseResults.size() == 1 )
         {
-           // 1 hit? return it's information directly!            
+            // 1 hit? return it's information directly!            
             return ARTIFACT;
         }
         else


Reply via email to