Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Lyo/BuildingOSLC4J"
m (→Run the Quality Management sample provider) |
(→Run the Change Management sample provider) |
||
Line 85: | Line 85: | ||
* Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JChangeManagement/services/changeRequests. You should get an OSLC response with some ChangeRequest resources. | * Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JChangeManagement/services/changeRequests. You should get an OSLC response with some ChangeRequest resources. | ||
** The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton | ** The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton | ||
+ | |||
+ | You should now be able to point a local web browser at http://localhost:8080/OSLC4JChangeManagement and start working with the reference implementation. | ||
=== Run the Change Management JUnit tests === | === Run the Change Management JUnit tests === |
Revision as of 14:26, 17 January 2014
Contents
- 1 Building and Running Lyo OSLC4J applications in Eclipse
- 1.1 Prerequisites
- 1.2 OSLC4J Sample Application runtimes
- 1.3 Options for running the OSLC4J Samples
- 1.4 Clone the Lyo Core and RIO (optional, for Change and Quality Management samples) git repositories
- 1.5 Import OSLC4J Eclipse projects from the git repository
- 1.6 Build all projects
- 1.7 Run the StockQuote sample application
- 1.8 Run the Change Management sample provider
- 1.9 Run the Quality Management sample provider
- 1.10 Run the Automation sample provider
- 2 The OSLC4J registry web application
Building and Running Lyo OSLC4J applications in Eclipse
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
- OSLC4J 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.
IBM JVM/JRE Users: There is an issue with older m2eclipse versions and the the IBM JRE. If you have see the error java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder when running a Maven install, you either need to upgrade m2eclipse or copy a newer slf4j api jar into your JRE directory to work around the issue until it is fixed:See https://bugs.eclipse.org/bugs/show_bug.cgi?id=338252 if you are interested in the details
- Download 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
OSLC4J Sample Application runtimes
The OSLC4J sample applications now use a Jetty app server as the default runtime. The samples will also work in an Eclipse IDE using a Tomcat runtime. See the Eclipse documentation for instructions on creating a Tomcat server.
Note: If you're running these examples on Windows, make sure you don't have spaces in your workspace path. The samples might not launch.
Note: By default, these samples each run in a different Jetty instance and use the same ports. You can only run one at a time.
Options for running the OSLC4J Samples
You can develop and run OSLC4J samples one of 2 ways
- Build OSLC4J and samples from source
- Download the OSLC4J package with its dependencies here and add the jars to the classpath of your project
The remainder of this document explains the process for building from source.
Clone the Lyo Core and RIO (optional, for Change and Quality Management samples) git repositories
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 the master branch
- 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
- If you want to load the OSLC4J Change or Quality Management sample providers, repeat the above steps in EGit to clone the Lyo RIO Git repository: git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git
Import OSLC4J Eclipse projects from the 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
- Select all components of OSLC4J core. The org.eclipse.lyo.core.query project is optional and not part of the core of OSLC4J at this point.
Build all projects
To build the core projects,
- Expand the org.eclipse.lyo.oslc4j.build project
- Right click pom.xml -> Run As -> Maven clean
- Right click pom.xml -> Run As -> Maven install
Perform the same steps on the org.eclipse.lyo.oslc4j.test.build project to build the stock quote sample and OSLC4J test projects.
Run the StockQuote sample application
- Go to Run->Run Configurations
- Expand the Maven Build section
- Select Launch OSLC4JStockQuote and click Run
- Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JStockQuote/stockQuotes. You should get an OSLC response with some recent stock quotes (if you have internet connectivity).
- The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton
Run the StockQuote JUnit tests
- Expand the org.eclipse.lyo.oslc4j.stockquote.test project down to the Java source
- Right click AllTests.java -> Run As -> JUnit test
- Results will appear in the JUnit view
Run the Change Management sample provider
Note: the sample UIs for the Change Management sample provider have not yet been committed to Eclipse. The delegated selection and creation dialogs will not work yet
- From the Git Repository view, right click the git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git repository (browse it also on line) and import projects :
- org.eclipse.lyo.oslc4j.changemanagement
- org.eclipse.lyo.oslc4j.changemanagement.common
- org.eclipse.lyo.oslc4j.changemanagement.test
- Build each CM project by right clicking its pom.xml and selecting Run As->Maven install. Build them in this order:
* org.eclipse.lyo.oslc4j.changemanagement.common * org.eclipse.lyo.oslc4j.changemanagement * org.eclipse.lyo.oslc4j.changemanagement.test
- Go to Run->Run Configurations
- Expand the Maven Build section
- Select Launch OSLC4JChangeManagement and click Run
- Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JChangeManagement/services/changeRequests. You should get an OSLC response with some ChangeRequest resources.
- The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton
You should now be able to point a local web browser at http://localhost:8080/OSLC4JChangeManagement and start working with the reference implementation.
Run the Change Management JUnit tests
- Expand the org.eclipse.lyo.oslc4j.changemanagement.test project down to the Java source
- Right click AllTests.java -> Run As -> JUnit test
- Results will appear in the JUnit view
Run the Quality Management sample provider
Note: the sample UIs for the Quality Management sample provider have not yet been committed to Eclipse. The delegated selection and creation dialogs will not work yet
- From the Git Repository view, right click the git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git repository (browse it also on line) and import projects :
- Select the org.eclipse.lyo.oslc4j.qualitymanagement, org.eclipse.lyo.oslc4j.qualitymanagement.common and org.eclipse.lyo.oslc4j.qualitymanagement.test projects. The other projects in the rio repository are unrelated to OSLC4J. See Lyo RIOs for information on these other reference implementations.
- Build each QM project by right clicking its pom.xml and selecting Run As->Maven install. Build them in this order:
* org.eclipse.lyo.oslc4j.qualitymanagement.common * org.eclipse.lyo.oslc4j.qualitymanagement * org.eclipse.lyo.oslc4j.qualitymanagement.test
- Go to Run->Run Configurations
- Expand the Maven Build section
- Select Launch OSLC4JQualityManagement and click Run
- Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JQualityManagement/services/testPlans. You should get an OSLC response with some TestPlan resources.
- The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton
Run the Quality Management JUnit tests
- Expand the org.eclipse.lyo.oslc4j.qualitymanagement.test project down to the Java source
- Right click AllTests.java -> Run As -> JUnit test
- Results will appear in the JUnit view
Run the Automation sample provider
- From the Git Repository view, right click the git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git repository (browse it also on line) and import projects :
- Select the org.eclipse.lyo.oslc4j.automation, org.eclipse.lyo.oslc4j.automation.common, and org.eclipse.lyo.oslc4j.automation.test projects. The other projects in the rio repository are unrelated to OSLC4J. See Lyo RIOs for information on these other reference implementations.
- Build each Automation project by right clicking its pom.xml and selecting Run As->Maven install. Build them in this order:
* org.eclipse.lyo.oslc4j.automation.common * org.eclipse.lyo.oslc4j.automation * org.eclipse.lyo.oslc4j.automation.test
- Go to Run->Run Configurations
- Expand the Maven Build section
- Select Launch OSLC4JAutomation and click Run
- Test that the server is running by going to this URL in the web browser: http://localhost:8080/OSLC4JAutomation/services/autoPlans. You should get an OSLC response with some AutomationPlan resources.
- The OSLC Catalog entry for this application can be found at http://localhost:8080/OSLC4JRegistry/catalog/singleton
Run the Automation JUnit tests
- Expand the org.eclipse.lyo.oslc4j.automation.test project down to the Java source
- Right click AllTests.java -> Run As -> JUnit test
- Results will appear in the JUnit view
The OSLC4J registry web application
The OSLC4J StockQuote, Test, ChangeManagement and QualityManagement all use the OSLC4J registry web application as an OSLC Catalog. When each application starts, it registers its OSLC service provider details with the OSLC4J registry.
The sample applications are currently configured to automatically launch the OSLC4J registry in the same application server as the sample application and register with this local OSLC4J registry instance. If you wish to change this behavior and have the applications register with a remote OSLC4J registry, two changes are required.
- Edit the pom.xml for the sample application and remove the following lines:
<!-- Also start OSLC4JRegistry webApp --> <contextHandlers> <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext"> <war>${basedir}/../../org.eclipse.lyo.core/org.eclipse.lyo.oslc4j.registry/target/oslc4j-registry-<version>-SNAPSHOT.war</war> <contextPath>/OSLC4JRegistry</contextPath> </contextHandler> </contextHandlers>
- Add the following system property to the JVM arguments for the application launch:
- -Dorg.eclipse.lyo.oslc4j.client.registryuri=http://<hostname>:<port>/OSLC4JRegistry/catalog/singleton (assuming a context of OSLC4JRegistry)
The system property can also be set by modifying the application code to set it directly, load it from a properties file, etc.