Jump to: navigation, search

Lyo/BuildTRS4JBugzilla

< Lyo

This application is an example of Tracked Resource Set(TRS) provider for the Bugzilla application. It is built on top of OSLC-CM compatible adapter which implements OSLC Change Management provider, so it is recommended to take a look at OSLC-CM compatible adapter as well.

This application uses the OSLC4J SDK as well as TRS 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, Core and Server Git repositories

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.trs
  • org.eclipse.lyo.oslc4j.bugzilla.trs project has Tracked Resource Set Provider for Bugzilla Workshop source code and documentation (TRS-SDK.pdf)
  • 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
  • In the Git Repositories view, right click org.eclipse.lyo.core and select Import Projects
  • Select the Import Existing Projects wizard and click Next
  • Import the following projects:
    • org.eclipse.lyo.core.query
    • org.eclipse.lyo.core.trs
    • org.eclipse.lyo.oslc4j.build
    • org.eclipse.lyo.oslc4j.core
    • org.eclipse.lyo.oslc4j.provider.jena
    • org.eclipse.lyo.oslc4j.provider.json4j
    • org.eclipse.lyo.oslc4j.wink
  • [Optional] Add the projects to a new working set.
  • [Optional] You can download OSLC4JBugzilla project in org.eclipse.lyo.docs repository. When you will compare OSLC4JBugzilla and org.eclipse.lyo.oslc4j.bugzilla.trs projects, you will see what changes are made to implement TRS provider.

Edit the Bugzilla configuration

The sample requires Bugzilla 4.0.10 or later. Also it requires Bugzilla administrator's password, Bugzilla needs to be installed on your PC. The instruction to install Bugzilla and its prerequisite software is available at Bugzilla documentation or this wiki page at MozillaWiki. You will need to ensure that Bugzilla's XML-RPC support is working. The SOAP::Lite and Test::Taint Perl modules must be installed for XML-RPC to work.

  • Edit org.eclipse.lyo.oslc4j.bugzilla.trs/src/main/resources/bugz.properties.
    • Change the bugzilla_uri property to the URL of your Bugzilla server. The trailing slash character is necessary. The full qualified host name is recommended.
    • Change the admin property to your Bugzilla Administrator ID. This ID has authority to manage OAuth consumers.
    • Change the adapter_host property to the URL of the server where this TRS provider runs. The full qualified host name is recommended.
    • Change the admin_password to your Bugzilla Administrator's password.
    • Change the rebuild_interval property to the interval in milliseconds. If the request to Tracked Resource Set is after "rebuild_interval" milliseconds than the previous call, all Base Resources will be rebuilt. If you aren't sure what value is appropriate, please leave it as is. If -1 is specified, Base Resource is built at the only first call.
    • Change the max_number_of_products to the max number of Products TRS Provider will access.
    • Change the max_number_of_bugs to the max number of Bugs TRS provider will access to generate their Change Logs.
    • Change the start_date_year, start_date_month and start_date_day to the date. TRS Provider will access Bugs which were modified after this specified date. The time zone of this date is same as your PC setting.

Note that you can create a test Bugzilla installation at landfill  ( the direct link to create a test Bugzilla installation is this. ) If you will use this test Bugzilla installation, please make sure that :

  • Use the smaller values to "max_number_of_products" and "the max_number_of_bugs" properties in org.eclipse.lyo.oslc4j.bugzilla.trs/src/main/resources/bugz.properties. For example,
    • max_number_of_products=1
    • max_number_of_bugs=3

This is because this test Bugzilla installation has many Bugs already, using their default values could cause the very slow performance.

  • Disable Bugzilla SSL redirect otpion by the following steps
    • Login Bugzilla as an asministrator ID
    • Click "Administration" link
    • Click "Parameters" link
    • Click "off" radio button of "ssl_redirect"
  • Use "http" protocol for bugzilla_uri property in org.eclipse.lyo.oslc4j.bugzilla.trs/src/main/resources/bugz.properties even if the given URL for the created test Bugzilla installation uses "https". For example,

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.oslc4j.build
    • org.eclipse.lyo.core.trs
    • org.eclipse.lyo.server.oauth.core
    • org.eclipse.lyo.server.oauth.consumerstore
    • org.eclipse.lyo.server.oauth.webapp
    • org.eclipse.lyo.oslc4j.bugzilla.trs
  • 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 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 TRS Adapter for Bugzilla web application

  • Make sure that Internet is accessible.
  • Start Bugzilla
  • Select Run->Run Configurations and double click Maven Build
  • Select the Launch TRS Reference App for Bugzilla launch and click Run

TRS4JBugzillaLaunchpng.png

You should now be able to point a local web browser at http://localhost:8085/OSLC4JBugzilla/services/trs/base to make sure that TRS Adapter for Bugzilla is working.