Author: oching
Date: Sun May 24 07:20:59 2009
New Revision: 778106
URL: http://svn.apache.org/viewvc?rev=778106&view=rev
Log:
[MRM-1167]
o fix xmlrpc search service
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml?rev=778106&r1=778105&r2=778106&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml
Sun May 24 07:20:59 2009
@@ -63,10 +63,10 @@
<mainClass>org.apache.archiva.web.xmlrpc.client.SampleClient</mainClass>
<arguments>
<!--
- URL: ex. http://127.0.0.1:9091/xmlrpc
+ URL: ex. http://127.0.0.1:8080/archiva/xmlrpc
USERNAME & PASSWORD: Archiva credentials
-->
- <argument>http://127.0.0.1:9091/xmlrpc</argument>
+ <argument>http://127.0.0.1:8080/archiva/xmlrpc</argument>
<argument>admin</argument>
<argument>${password}</argument>
</arguments>
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java?rev=778106&r1=778105&r2=778106&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
Sun May 24 07:20:59 2009
@@ -40,6 +40,8 @@
import
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* SearchServiceImpl
@@ -49,6 +51,8 @@
public class SearchServiceImpl
implements SearchService
{
+ private Logger log = LoggerFactory.getLogger( SearchServiceImpl.class );
+
private RepositorySearch search;
private XmlRpcUserRepositories xmlRpcUserRepositories;
@@ -89,35 +93,43 @@
SearchResults results = null;
results = search.search( "", observableRepos, queryString, limits,
null );
-
+
List<SearchResultHit> hits = results.getHits();
+
for( SearchResultHit hit : hits )
{
ArtifactDAO artifactDAO = archivaDAO.getArtifactDAO();
- try
+
+ List<String> versions = hit.getVersions();
+ if( versions != null )
{
- ArchivaArtifact pomArtifact = artifactDAO.getArtifact(
- hit.getGroupId(), hit.getArtifactId(),
hit.getVersion(), "", "pom", hit.getRepositoryId() );
-
- if( pomArtifact != null )
- {
- Artifact artifact = new Artifact(
pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(),
pomArtifact.getArtifactId(), pomArtifact.getVersion(),
- pomArtifact.getType() );
- //pomArtifact.getType(),
pomArtifact.getModel().getWhenGathered() );
- artifacts.add( artifact );
+ for( String version : versions )
+ {
+ for( String repo : observableRepos )
+ {
+ try
+ {
+ ArchivaArtifact pomArtifact =
artifactDAO.getArtifact(
+ hit.getGroupId(), hit.getArtifactId(),
version, null, "pom", repo );
+ if( pomArtifact != null )
+ {
+ Artifact artifact = new Artifact(
pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(),
pomArtifact.getArtifactId(), pomArtifact.getVersion(),
+
pomArtifact.getType() );
+
//pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() );
+ artifacts.add( artifact );
+ break;
+ }
+ }
+ catch( ObjectNotFoundException e )
+ {
+ log.debug( "Unable to find pom artifact : " +
e.getMessage() );
+ }
+ catch( ArchivaDatabaseException e )
+ {
+ log.debug( "Error occurred while getting pom
artifact from database : " + e.getMessage() );
+ }
+ }
}
- else
- {
- continue;
- }
- }
- catch ( ObjectNotFoundException e )
- {
- continue;
- }
- catch ( ArchivaDatabaseException e )
- {
- continue;
}
}