Jump to: navigation, search

Lyo/TRSSDK

The Tracked Resource Set (TRS) Software Development Kit (SDK) consists of two primary pieces; a toolkit and reference applications.


TRS SDK Prerequisites

  • Eclipse 3.6 or higher IDE
  • EGit team provider for git (recommended) or git command line package.
  • m2eclipse for Maven support in the Eclipse IDE
  • The Lyo projects requires a Java 1.6 compiler and Java 1.6 runtime. The Eclipse project settings have been set appropriately. If you are building outside of Eclipse, please use Java 1.6.


TRS Toolkit

The goal of the TRS toolkit is to provide a simple set of java beans that represent the entities within the TRS specification. Also, a convenient set of string constants that represent the TRS properties is provided. In addition to these code components which can be used to create TRS implementations, a test suite component exists.  The test suite consists of a series of JUnit compliance tests which validate a TRS endpoint conforms to the TRS specification.


Loading the TRS Toolkit

Clone the Lyo Core git repository

This example assumes EGit is being used.

  • Open the Git Repositories view in Eclipse and click the Clone Git Repository icon
  • Use git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.core.git as the URI (browse it also on line). User/Password are not required.
  • On the Branch Selection page, select trs-0.5 for the 0.5 release or the master branch for the latest release.  Master is recommended unless there is a specific need for the 0.5 release.
  • On the Local Destination page, specify a location or accept the default and click Finish

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


Clone the Lyo Testsuite git repository

This should load a second org.eclipse.lyo.testsuite repository into your Git Repositories view.


Import Eclipse projects from the Lyo Core git repository

  • 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:

   OSLC4J

   OSLC4JJenaProvider

   OSLC4JJson4JProvider

   OSLC4JWink

   org.eclipse.lyo.core.utils

   org.eclipse.lyo.core.trs


You may import the other projects if you like, but they are not required for building the TRS Toolkit.

[Optional] Add the projects to a new working set.


Import the TRS compliance test suite from the Lyo Testsuite git repository

  • In the Git Repositories view, right click org.eclipse.lyo.testsuite and select Import Projects
  • Select the Import Existing Projects wizard and click Next
  • Import the org.eclipse.lyo.testsuite.trs projects.


Build all projects

  • Expand the OSLC4J project
  • Right click pom.xml -> Run As -> Maven clean
  • Right click pom.xml -> Run As -> Maven install
  • Repeat these steps for the following projects in the listed order:

    OSLC4JJenaProvider

    OSLC4JJson4JProvider

    OSLC4JWink

    org.eclipse.lyo.core.utils

    org.eclipse.lyo.core.trs

    org.eclipse.lyo.testsuite.trs

   

Mac Users: If build fails with "Unable to find javadoc command", you can get around that by adding the below to your pom.xml files. See this page.

	<properties>
		<javadocExecutable>${java.home}/../bin/javadoc</javadocExecutable>
	</properties>

Exploring the TRS Toolkit

Under most circumstances the best way to learn how to use the TRS Toolkit is through exploring the TRS reference application (continue on to next section).  However, some additional details concerning the TRS Toolkit may be found on the Exploring the TRS Toolkit page.


TRS Reference Application

The reference application is written in Java and demonstrates the implementation of a TRS Provider using change requests as the resources that are being created, modified and deleted.  There are two implementations.  In one implementation, JAX-RS, an annotation based Java RESTful specification, and Apache Wink, a JAX-RS server side component, are used to define and serve up the TRS provider endpoints. In the other implementation, a generic web sevlet approach is used.  Both are described in detail in the guided tour section.

While this reference application depends on certain technlogoies, the core TRS concepts demonstrated within may be applied to other languages, frameworks, and resource domains. 

In addition to this reference application, consider exploring the Bugzilla TRS Reference Application which also makes use of the TRS SDK described previously.


Learning Objectives

By working through the material for the TRS Reference Application, you will learn how to perform the following tasks:

  • Use the TRS toolkit to create a TRS provider using JAX-RS or servlets
  • Configure and use the TRS compliance test suite to verify the validity of a TRS provider


TRS Reference Application Prerequisites

  • The TRS Reference Application saves change requests to c:\temp\ChangeRequests.xml in the 0.5 release.  In the 2.0 release the file, as well as a ChangeEvents.xml file containing persisited change events, is saved to the current working directory.  This is often <local Rio Git repository>\org.eclipse.lyo.rio\org.eclipse.lyo.rio.trs . Ensure that you have write access to this file(s). In the 0.5 release if you want to change the default location, you can open up the org.eclipse.lyo.rio.trs.Constants.java file and change the PATH_FLAT_FILE location to point to a location of your choosing. (Don't forget to do a manual Maven build afterward!).  In the 2.0 release simple alter the ChangeRequestsFile and ChangeEventsFile in the org.eclipse.lyo.rio.trs/src/main/resources folder to controll where the files are generated.  A new maven build is not required for the 2.0 release.
  • Before following the steps in the following sections please make sure the TRS Toolkit from section 2.1 has been loaded into your workspace.


Loading the TRS Reference Application

Clone the Lyo Rio git repository

This example assumes EGit is being used.

  • Open the Git Repositories view in Eclipse and click the Clone Git Repository icon
  • Usegit://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git as the URI (browse it also on line). User/Password are not required.
  • On the Branch Selection page, select trs-0.5 for the 0.5 release or the master branch for the latest release. Master is recommended unless there is a specific need for the 0.5 release.
  • On the Local Destination page, specify a location or accept the default and click Finish

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


Import Eclipse projects from the git repository

  • In the Git Repositories view, right click org.eclipse.lyo.rio and select Import Projects
  • Select the Import Existing Projects wizard and click Next
  • Import the org.eclipse.lyo.rio.trs project

Building and Running the TRS Reference Application

  • Expand the org.eclipse.lyo.rio.trs project
  • Right click pom.xml -> Run As -> Maven clean
  • Right click pom.xml -> Run As -> Maven install

Once the build completes, right-click Launch TRS Reference App.launch and click Run As -> Launch TRS Reference App.

The reference application is launched within an embedded Jetty server and the message "TRS Reference Application launched at http://localhost:8082/org.eclipse.lyo.rio.trs/index.html" is displayed in the Console view. The link in the message opens a web page that describes the various links that are available in the reference application.


TRS Reference Application Guided Tour

For a walkthrough of the TRS reference application and its capabilities please see the TRS reference application guided tour.