|
|
(13 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].
| + | |
− | *[http://www.eclipse.org/m2e/download/ m2eclipse] for Maven support in the Eclipse IDE
| + | |
− | *[[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->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->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->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.
| + | |