updated sample client to use the atlassian-xmlrpc-binder instead of apache xmlrpc client

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@711444 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2008-11-04 22:09:47 +00:00
parent 6f3121df84
commit 479e509ecd
3 changed files with 51 additions and 119 deletions

View File

@ -31,14 +31,9 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlrpc</groupId>
<artifactId>xmlrpc-client</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.0</version>
<groupId>com.atlassian.xmlrpc</groupId>
<artifactId>atlassian-xmlrpc-binder</artifactId>
<version>0.8.2</version>
</dependency>
</dependencies>
<build>
@ -55,12 +50,12 @@
USERNAME & PASSWORD: Archiva credentials
-->
<argument>http://127.0.0.1:8080/archiva/xmlrpc</argument>
<argument>admin</argument>
<argument>admin1</argument>
<argument>username</argument>
<argument>password</argument>
</arguments>
</configuration>
</plugin>
<!-- override parent config, commons-logging cannot be excluded from commons-beanutils - NoClassDef error occurs -->
<!-- override parent config, commons-logging cannot be excluded from atlassian-xml-rpc-binder - NoClassDef error occurs -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>

View File

@ -19,23 +19,17 @@
* under the License.
*/
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.archiva.web.xmlrpc.api.AdministrationService;
import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import org.apache.xmlrpc.client.XmlRpcClientRequestImpl;
import org.apache.xmlrpc.client.util.ClientFactory;
import com.atlassian.xmlrpc.AuthenticationInfo;
import com.atlassian.xmlrpc.Binder;
import com.atlassian.xmlrpc.BindingException;
import com.atlassian.xmlrpc.DefaultBinder;
/**
* TestClient
@ -56,138 +50,82 @@ public class SampleClient
{
public static void main( String[] args )
{
Binder binder = new DefaultBinder();
try
{
XmlRpcClient client = new XmlRpcClient();
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL( new URL( args[0] ) );
config.setBasicUserName( args[1] );
config.setBasicPassword( args[2] );
config.setEnabledForExtensions( true );
client.setConfig( config );
/* managed repositories */
Object[] params = new Object[]{};
Object[] managedRepos = (Object[])
client.execute( "AdministrationService.getAllManagedRepositories", params );
AuthenticationInfo authnInfo = new AuthenticationInfo( args[1], args[2] );
AdministrationService adminService = binder.bind( AdministrationService.class, new URL( args[0] ), authnInfo );
List<ManagedRepository> managedRepos = adminService.getAllManagedRepositories();
System.out.println( "\n******** Managed Repositories ********" );
for( int i = 0; i < managedRepos.length; i++ )
for( ManagedRepository managedRepo : managedRepos )
{
System.out.println( "=================================" );
ManagedRepository managedRepo = new ManagedRepository();
try
{
BeanUtils.populate( managedRepo, (Map)managedRepos[i] );
}
catch ( IllegalAccessException e )
{
e.printStackTrace();
}
catch ( InvocationTargetException e )
{
e.printStackTrace();
}
System.out.println( "Id: " + managedRepo.getId() );
System.out.println( "Name: " + managedRepo.getName() );
System.out.println( "Layout: " + managedRepo.getLayout() );
System.out.println( "URL: " + managedRepo.getUrl() );
System.out.println( "Releases: " + managedRepo.isReleases() );
System.out.println( "Snapshots: " + managedRepo.isSnapshots() );
}
/* remote repositories */
params = new Object[]{};
Object[] remoteRepos = (Object[])
client.execute( "AdministrationService.getAllRemoteRepositories", params );
}
System.out.println( "\n******** Remote Repositories ********" );
for( int i = 0; i < remoteRepos.length; i++ )
List<RemoteRepository> remoteRepos = adminService.getAllRemoteRepositories();
for( RemoteRepository remoteRepo : remoteRepos )
{
System.out.println( "=================================" );
RemoteRepository remoteRepo = new RemoteRepository();
try
{
BeanUtils.populate( remoteRepo, (Map) remoteRepos[i] );
}
catch ( IllegalAccessException e )
{
e.printStackTrace();
}
catch ( InvocationTargetException e )
{
e.printStackTrace();
}
System.out.println( "Id: " + remoteRepo.getId() );
System.out.println( "Name: " + remoteRepo.getName() );
System.out.println( "Layout: " + remoteRepo.getLayout() );
System.out.println( "URL: " + remoteRepo.getUrl() );
System.out.println( "URL: " + remoteRepo.getUrl() );
}
/* repo consumers */
params = new Object[]{};
Object[] repoConsumers = (Object[])
client.execute( "AdministrationService.getAllRepositoryConsumers", params );
System.out.println( "\n******** Repository Consumers ********" );
for( int i = 0; i < repoConsumers.length; i++ )
{
System.out.println( repoConsumers[i] );
List<String> repoConsumers = adminService.getAllRepositoryConsumers();
for( String consumer : repoConsumers )
{
System.out.println( consumer );
}
/* db consumers */
params = new Object[]{};
Object[] dbConsumers = (Object[])
client.execute( "AdministrationService.getAllDatabaseConsumers", params );
System.out.println( "\n******** Database Consumers ********" );
for( int i = 0; i < dbConsumers.length; i++ )
{
System.out.println( dbConsumers[i] );
List<String> dbConsumers = adminService.getAllDatabaseConsumers();
for( String consumer : dbConsumers )
{
System.out.println( consumer );
}
/* configure repo consumer */
Object[] configureRepoConsumerParams = new Object[] { "internal", "repository-purge", true };
Object configured = client.execute( "AdministrationService.configureRepositoryConsumer", configureRepoConsumerParams );
System.out.println( "\nConfigured repo consumer 'repository-purge' : " + ( ( Boolean ) configured ).booleanValue() );
Boolean success = adminService.configureRepositoryConsumer( "internal", "repository-purge", true );
System.out.println( "\nConfigured repo consumer 'repository-purge' : " +
( (Boolean) success ).booleanValue() );
success = adminService.configureDatabaseConsumer( "update-db-bytecode-stats", false );
System.out.println( "\nConfigured db consumer 'update-db-bytecode-stats' : " +
( (Boolean) success ).booleanValue() );
/* configure db consumer */
Object[] configureDbConsumerParams = new Object[] { "update-db-bytecode-stats", false };
configured = client.execute( "AdministrationService.configureDatabaseConsumer", configureDbConsumerParams );
System.out.println( "\nConfigured db consumer 'update-db-bytecode-stats' : " + ( ( Boolean ) configured ).booleanValue() );
/* execute repo scanner */
Object[] executeRepoScanParams = new Object[] { "internal" };
configured = client.execute( "AdministrationService.executeRepositoryScanner", executeRepoScanParams );
System.out.println( "\nExecuted repo scanner of repository 'internal' : " + ( ( Boolean ) configured ).booleanValue() );
/* execute db scanner */
Object[] executeDbScanParams = new Object[] {};
configured = client.execute( "AdministrationService.executeDatabaseScanner", executeDbScanParams );
System.out.println( "\nExecuted database scanner : " + ( ( Boolean ) configured ).booleanValue() );
success = adminService.executeRepositoryScanner( "internal" );
System.out.println( "\nExecuted repo scanner of repository 'internal' : " +
( (Boolean) success ).booleanValue() );
success = adminService.executeDatabaseScanner();
System.out.println( "\nExecuted database scanner : " + ( (Boolean) success ).booleanValue() );
/* delete artifact */
/*
* NOTE: before enabling & invoking deleteArtifact, make sure that the repository and artifact exists first!
Object[] deleteArtifactParams = new Object[] { "internal", "javax.activation", "activation", "1.1" };
Object artifactDeleted = client.execute( "AdministrationService.deleteArtifact", deleteArtifactParams );
* NOTE: before enabling & invoking deleteArtifact, make sure that the repository and artifact exists first!
*
success = adminService.deleteArtifact( "internal", "javax.activation", "activation", "1.1" );
System.out.println( "\nDeleted artifact 'javax.activation:activation:1.1' from repository 'internal' : " +
( (Boolean) artifactDeleted ).booleanValue() );
*/
( (Boolean) success ).booleanValue() );
*/
}
catch ( MalformedURLException e )
catch ( BindingException e )
{
e.printStackTrace();
}
catch( Exception e )
{
e.printStackTrace();
}
catch ( XmlRpcException e )
{
e.printStackTrace();
}
}
}

View File

@ -935,7 +935,6 @@
<groupId>com.atlassian.xmlrpc</groupId>
<artifactId>atlassian-xmlrpc-binder</artifactId>
<version>${binder.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atlassian.xmlrpc</groupId>