Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Lyo/BuildOSLC4JBugzilla

< Lyo
Revision as of 15:13, 6 August 2013 by Spadgett.us.ibm.com (Talk | contribs) (Import Eclipse projects from the Git repositories)

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.

Building and Running the Lyo Bugzilla Sample in Eclipse

Prerequisites

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
  • In the Git Repositories view, right click org.eclipse.lyo.server and select Import Projects
  • Select the Import Existing Projects wizard and click Next
  • Import the following projects:
    • org.eclipse.lyo.server.oauth.consumerstore
    • org.eclipse.lyo.server.oauth.core
    • org.eclipse.lyo.server.oauth.webapp
  • [Optional] Add the projects to a new working set.

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.samples.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.
  • 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
    • OSLC4JBugzilla
  • To run Maven Install,
    • Expand the project
    • Right click pom.xml and select Run As->Maven install.
  • IBM JVM/JRE Users: There is an issue with m2eclipse and the the IBM JRE. If you have see the error java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder when running a Maven install, you need to copy a newer slf4j api jar into your JRE directory to work around the issue until it is fixed:
  • You may need to check README.txt for instructions on how to install the missing j2bugzilla dependency in case the Maven install fails for this project.

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.