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

Difference between revisions of "Lyo/BuildOSLC4JBugzilla"

< Lyo
(Prerequisites)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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 OSLC Bugzilla tutorial have now moved to the [https://oslc.github.io/developing-oslc-applications/tutorials.html OSLC Developer Guide site].
 
+
This application uses the [[Lyo/LyoOSLC4J|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  ==
+
 
+
*[http://eclipse.org/downloads Eclipse 3.6 or higher IDE]
+
*[http://eclipse.org/egit/download/ EGit] team provider for git (recommended) or [http://git-scm.com/download git command line package]. We use Git for source control.
+
*[http://www.eclipse.org/m2e/download/ m2eclipse] for Maven support in the Eclipse IDE. We use Maven for dependency management and builds.
+
*[[Lyo/LyoOSLC4J|OSLC4J]] - You can download the source [[ Lyo/BuildingOSLC4J | here ]] or download a zip of the library and dependencies [http://eclipse.org/lyo/download.php 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/OSLCWorkshop | 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 <tt>git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.docs.git</tt> as the URI (browse it also [http://git.eclipse.org/c/lyo/org.eclipse.lyo.docs.git/ 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
+
 
+
*Repeat the above instructions for the Lyo Server repository.  Use <tt>git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.server.git</tt> as the URI.
+
 
+
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 [http://landfill.bugzilla.org/ 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-&gt;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
+
** org.eclipse.lyo.oslc4j.bugzilla
+
*To run Maven Install,
+
**Expand the project
+
**Right click pom.xml and select Run As-&gt;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:
+
**Download [http://slf4j.org/dist/slf4j-1.6.2.zip slf4j-1.6.2.zip] and extract the zip.
+
**copy slf4j-api-1.6.2.jar from the slf4j distribution to the JAVA_HOME\jre\lib\ext directory
+
**See https://bugs.eclipse.org/bugs/show_bug.cgi?id=338252 if you are interested in the details
+
 
+
* You may need to check [http://git.eclipse.org/c/lyo/org.eclipse.lyo.server.git/tree/org.eclipse.lyo.samples.bugzilla/README.txtorg.eclipse.lyo.server.samples.bugzilla's README.txt] for instructions on how to install the missing <tt>j2bugzilla</tt> dependency in case the Maven install fails for this project.
+
 
+
== Run the Bugzilla sample web application  ==
+
 
+
*Select Run-&gt;Run Configurations and double click Maven Build
+
*Select the '''OSLC4JBugzilla''' launch and click Run
+
 
+
[[Image: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.
+

Latest revision as of 16:38, 23 May 2019

This OSLC Bugzilla tutorial have now moved to the OSLC Developer Guide site.

Back to the top