Sonatype Nexus RRB Plugin API

Introduction

The following items are available for download:

C Client Library

Created Oct 30, 2012 12:05:33 PM.

Introduction

The C module generates the source code for the ANSI-C-compatible data structures and (de)serialization functions that can be used in conjunction with libxml2 to (de)serialize the REST resources as they are represented as XML data.

The generated C source code depends on the XML Reader API and the XML Writer API as well as the <time.h>, <string.h>, and <stdlib.h> C standard libraries.

REST XML Example

#include <nexus-rrb-plugin.c> //... xmlTextReaderPtr reader = ...; //set up the reader to the url. nexus_rrb_plugin_ns0_mavenRepositoryReaderResponse *response_element = ...; response_element = xml_read_nexus_rrb_plugin_ns0_mavenRepositoryReaderResponse(reader); //handle the response as needed... //free the nexus_rrb_plugin_ns0_mavenRepositoryReaderResponse free_nexus_rrb_plugin_ns0_mavenRepositoryReaderResponse(response_element);

file size
nexus-rrb-plugin.c 69.51K

.NET Client Library

Created Oct 30, 2012 12:05:33 PM for .NET 2.0.

Introduction

The .NET client-side library defines the classes that can be (de)serialized to/from XML. This is useful for accessing the REST endpoints that are published by this application.

REST Example

//read a resource from a REST url Uri uri = new Uri(...); XmlSerializer s = new XmlSerializer( typeof( MavenRepositoryReaderResponse ) ); //Create the request object WebRequest req = WebRequest.Create(uri); WebResponse resp = req.GetResponse(); Stream stream = resp.GetResponseStream(); TextReader r = new StreamReader( stream ); MavenRepositoryReaderResponse order = (MavenRepositoryReaderResponse) s.Deserialize( r ); //handle the result as needed...

This bundle contains C# source code.

file size
nexus-rrb-plugin-dotnet.zip 843.00bytes

JAX-WS Client Library (Java 5+)

Created Oct 30, 2012 12:05:33 PM for Java (Version 5+).

Introduction

The JAX-WS client-side library is used to provide the set of Java objects that can be serialized to/from XML using JAXB. This is useful for accessing the REST endpoints that are published by this application.

REST Example (Raw JAXB)

java.net.URL url = new java.net.URL(baseURL + "/repositories/{repositoryId}/remotebrowser"); JAXBContext context = JAXBContext.newInstance( MavenRepositoryReaderResponse.class ); java.net.URLConnection connection = url.openConnection(); connection.connect(); Unmarshaller unmarshaller = context.createUnmarshaller(); MavenRepositoryReaderResponse result = (MavenRepositoryReaderResponse) unmarshaller.unmarshal( connection.getInputStream() ); //handle the result as needed...

REST Example (Jersey client)

com.sun.jersey.api.client.Client client = com.sun.jersey.api.client.Client.create(); MavenRepositoryReaderResponse result = client.resource(baseUrl + "/repositories/{repositoryId}/remotebrowser") .get(MavenRepositoryReaderResponse.class); //handle the result as needed...

Files

file size description
nexus-rrb-plugin-client.jar 2.72K The binaries for the JAX-WS client library.
nexus-rrb-plugin-client-sources.jar 1.28K The sources for the JAX-WS client library.

Objective C Client Library

Created Oct 30, 2012 12:05:33 PM.

Introduction

The Objective C module generates the source code for the Objective C classes and (de)serialization functions that can be used in conjunction with libxml2 to (de)serialize the REST resources as they are represented as XML data.

The generated Objective C source code depends on the XML Reader API and the XML Writer API as well as the base OpenStep foundation classes.

REST XML Example

#include <nexus-rrb-plugin.h> //... NEXUS_RRB_PLUGINNS0MavenRepositoryReaderResponse *responseElement; NSData *responseData; //data holding the XML from the response. NSURL *baseURL = ...; //the base url including the host and subpath. NSURL *url = [NSURL URLWithString: @"/repositories/{repositoryId}/remotebrowser" relativeToURL: baseURL]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; NSURLResponse *response = nil; NSError *error = NULL; [request setHTTPMethod: @"GET"]; //this example uses a synchronous request, //but you'll probably want to use an asynchronous call responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NEXUS_RRB_PLUGINNS0MavenRepositoryReaderResponse *responseElement = [NEXUS_RRB_PLUGINNS0MavenRepositoryReaderResponse readFromXML: responseData]; [responseElement retain]; //handle the response as needed...

Files

file size description
nexus-rrb-plugin.h 4.79K
nexus-rrb-plugin.m 65.33K