Lyo/BuildOSLC4JBugzilla

From Eclipsepedia

Jump to: navigation, search

This application is an example of what Eclipse Lyo can be used for, in the form of an OSLC-CM compatible adapter for the Bugzilla bugtracker application. It wraps Bugzilla (interacting with it through Bugzilla's native XMLRPC API) with an OSLC-CM provider server accessible through REST calls.

This application uses the OSLC4J SDK to build up the adapter from Plain Old Java Objects and relatively simple JAX-RS web services.

Contents

Building and Running the Lyo Bugzilla Sample in Eclipse

Prerequisites

  • Eclipse 3.6 or higher IDE
  • EGit team provider for git (recommended) or git command line package. We use Git for source control.
  • m2eclipse for Maven support in the Eclipse IDE. We use Maven for dependency management and builds.
  • OSLC4J - You can download the source here or download a zip of the library and dependencies here.
  • The Lyo OAuth libraries - currently must be built from source (see below)

Clone the Lyo Docs and Server Git repositories

The code resides in the Lyo docs repository since it is part of the Lyo OSLC Workshop.

This example assumes EGit is being used to download the code.

  • Open the Git Repositories view in Eclipse and click the Clone Git Repository icon
  • Use git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.docs.git as the URI (browse it also on line). User/Password are not required.
  • On the Branch Selection page, select the master branch
  • On the Local Destination page, specify a location or accept the default and click Finish

The repositories should now show up in your Git Repositories view.

Import Eclipse projects from the Git repositories

  • In the Git Repositories view, right click org.eclipse.lyo.docs and select Import Projects
  • Select the Import Existing Projects wizard and click Next
  • Import the following projects:
    • org.eclipse.lyo.oslc4j.bugzilla

Edit the Bugzilla configuration

The sample requires Bugzilla 4.0. By default, it uses the Bugzilla Landfill test server, but you can specify your own. If you use Landfill, you will need to [ https://landfill.bugzilla.org/bugzilla-4.2-branch/createaccount.cgi create a userID ] for yourself .

  • Edit org.eclipse.lyo.oslc4j.bugzilla/src/main/resources/bugz.properties.
    • Change the bugzilla_uri property to the URL of your Bugzilla server.
    • Change the admin property to your Bugzilla user ID. This ID has authority to manage OAuth consumers.

Build the projects

  • In the Eclipse Package Explorer view, select all the projects you've imported, right click, and select Maven->Update Project Configuration. Click OK.
  • You'll need to run Maven Install on several projects. To run Maven Install,
    • Expand the project
    • Right click pom.xml and select Run As->Maven install
  • Run Maven Install on each project in this order,
    • org.eclipse.lyo.server.oauth.core
    • org.eclipse.lyo.server.oauth.consumerstore
    • org.eclipse.lyo.server.oauth.webapp
    • org.eclipse.lyo.oslc4j.bugzilla

Run the Bugzilla sample web application

  • Select Run->Run Configurations and double click Maven Build
  • Select the OSLC4JBugzilla launch and click Run

OSLC4JBugzillaLaunch.png

You should now be able to point a local web browser at http://localhost:8080/OSLC4JBugzilla/services/catalog/singleton to see the OSLC Catalog and explore the service providers. OAuth users can be managed at the following URL: http://localhost:8080/OSLC4JBugzilla/services/oauth/admin. Provide your Bugzilla userid/password as configured in bugz.properties when prompted.