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