mirror of https://github.com/apache/archiva.git
fix some problems in invoking search service
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@732674 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9158c2f5dc
commit
d2190ff6a8
|
@ -27,7 +27,7 @@ import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
|
|||
|
||||
import com.atlassian.xmlrpc.ServiceObject;
|
||||
|
||||
@ServiceObject("Search")
|
||||
@ServiceObject("SearchService")
|
||||
public interface SearchService
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -20,7 +20,6 @@ package org.apache.archiva.web.xmlrpc.api.beans;
|
|||
*/
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.atlassian.xmlrpc.ServiceBean;
|
||||
import com.atlassian.xmlrpc.ServiceBeanField;
|
||||
|
@ -39,22 +38,22 @@ public class Artifact
|
|||
|
||||
private String type;
|
||||
|
||||
private Date whenGathered;
|
||||
//private Date whenGathered;
|
||||
|
||||
public Artifact()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Artifact( String repositoryId, String groupId, String artifactId, String version,
|
||||
String type, Date whenGathered )
|
||||
public Artifact( String repositoryId, String groupId, String artifactId, String version, String type )
|
||||
// String type, Date whenGathered )
|
||||
{
|
||||
this.repositoryId = repositoryId;
|
||||
this.groupId = groupId;
|
||||
this.artifactId = artifactId;
|
||||
this.version = version;
|
||||
this.type = type;
|
||||
this.whenGathered = whenGathered;
|
||||
//this.whenGathered = whenGathered;
|
||||
}
|
||||
|
||||
public String getGroupId()
|
||||
|
@ -77,10 +76,10 @@ public class Artifact
|
|||
return type;
|
||||
}
|
||||
|
||||
public Date getWhenGathered()
|
||||
/*public Date getWhenGathered()
|
||||
{
|
||||
return whenGathered;
|
||||
}
|
||||
}*/
|
||||
|
||||
@ServiceBeanField( "groupId" )
|
||||
public void setGroupId( String groupId )
|
||||
|
@ -106,11 +105,11 @@ public class Artifact
|
|||
this.type = type;
|
||||
}
|
||||
|
||||
@ServiceBeanField( "whenGathered" )
|
||||
/*@ServiceBeanField( "whenGathered" )
|
||||
public void setWhenGathered( Date whenGathered )
|
||||
{
|
||||
this.whenGathered = whenGathered;
|
||||
}
|
||||
}*/
|
||||
|
||||
public String getRepositoryId()
|
||||
{
|
||||
|
|
|
@ -23,6 +23,8 @@ import java.net.URL;
|
|||
import java.util.List;
|
||||
|
||||
import org.apache.archiva.web.xmlrpc.api.AdministrationService;
|
||||
import org.apache.archiva.web.xmlrpc.api.SearchService;
|
||||
import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
|
||||
import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
|
||||
import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
|
||||
|
||||
|
@ -117,6 +119,23 @@ public class SampleClient
|
|||
System.out.println( "\nDeleted artifact 'javax.activation:activation:1.1' from repository 'internal' : " +
|
||||
( (Boolean) success ).booleanValue() );
|
||||
*/
|
||||
|
||||
/* quick search */
|
||||
/*
|
||||
* NOTE: before enabling & invoking search service, make sure that the artifacts you're searching
|
||||
* for has been indexed already in order to get results
|
||||
*
|
||||
SearchService searchService = binder.bind( SearchService.class, new URL( args[0] ), authnInfo );
|
||||
List<Artifact> artifacts = searchService.quickSearch( "org" );
|
||||
|
||||
System.out.println( "\n************ Search Results for 'org' *************" );
|
||||
for( Artifact artifact : artifacts )
|
||||
{
|
||||
System.out.println( "Artifact: " + artifact.getGroupId() + ":" + artifact.getArtifactId() +
|
||||
":" + artifact.getVersion() );
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
catch ( BindingException e )
|
||||
{
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
|
|||
import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
|
||||
import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories;
|
||||
import org.apache.maven.archiva.database.ArchivaDAO;
|
||||
import org.apache.maven.archiva.database.ArchivaDatabaseException;
|
||||
import org.apache.maven.archiva.database.ArtifactDAO;
|
||||
import org.apache.maven.archiva.database.ObjectNotFoundException;
|
||||
import org.apache.maven.archiva.database.browsing.BrowsingResults;
|
||||
|
@ -102,13 +103,16 @@ public class SearchServiceImpl
|
|||
for( SearchResultHit hit : hits )
|
||||
{
|
||||
ArtifactDAO artifactDAO = archivaDAO.getArtifactDAO();
|
||||
try
|
||||
{
|
||||
ArchivaArtifact pomArtifact = artifactDAO.getArtifact(
|
||||
hit.getGroupId(), hit.getArtifactId(), hit.getVersion(), "", "pom" );
|
||||
|
||||
if( pomArtifact != null )
|
||||
{
|
||||
Artifact artifact = new Artifact( pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(), pomArtifact.getArtifactId(), pomArtifact.getVersion(),
|
||||
pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() );
|
||||
pomArtifact.getType() );
|
||||
//pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() );
|
||||
artifacts.add( artifact );
|
||||
}
|
||||
else
|
||||
|
@ -116,6 +120,15 @@ public class SearchServiceImpl
|
|||
continue;
|
||||
}
|
||||
}
|
||||
catch ( ObjectNotFoundException e )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
catch ( ArchivaDatabaseException e )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return artifacts;
|
||||
}
|
||||
|
@ -137,8 +150,8 @@ public class SearchServiceImpl
|
|||
for( ArchivaArtifact archivaArtifact : artifacts )
|
||||
{
|
||||
Artifact artifact = new Artifact( archivaArtifact.getModel().getRepositoryId(), archivaArtifact.getModel().getGroupId(),
|
||||
archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType(),
|
||||
archivaArtifact.getModel().getWhenGathered() );
|
||||
archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType() );
|
||||
//archivaArtifact.getModel().getWhenGathered() );
|
||||
results.add( artifact );
|
||||
}
|
||||
|
||||
|
@ -157,8 +170,8 @@ public class SearchServiceImpl
|
|||
for( String version : results.getVersions() )
|
||||
{
|
||||
ArchivaArtifact pomArtifact = artifactDAO.getArtifact( groupId, artifactId, version, "", "pom" );
|
||||
Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType(),
|
||||
pomArtifact.getModel().getWhenGathered() );
|
||||
Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType() );
|
||||
//pomArtifact.getModel().getWhenGathered() );
|
||||
|
||||
artifacts.add( artifact );
|
||||
}
|
||||
|
@ -222,7 +235,9 @@ public class SearchServiceImpl
|
|||
List<ArchivaProjectModel> dependees = repoBrowsing.getUsedBy( "", observableRepos, "org.apache.archiva", "archiva-test", "1.0" );
|
||||
for( ArchivaProjectModel model : dependees )
|
||||
{
|
||||
Artifact artifact = new Artifact( "", model.getGroupId(), model.getArtifactId(), model.getVersion(), "", model.getWhenIndexed() );
|
||||
Artifact artifact =
|
||||
new Artifact( "", model.getGroupId(), model.getArtifactId(), model.getVersion(), "" );
|
||||
//model.getWhenIndexed() );
|
||||
artifacts.add( artifact );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue