ION Capability Container and base classes for Java
Fetching latest commit…
Cannot retrieve the latest commit at this time
================================================== ION-CORE - OOI CI Integrated Observatory Network Core Libraries (Java) ================================================== February 2011 This project contains the Java core libraries for the OOI CI Integrated Observatory Network (ION). This library provides the core classes for interfacing with the common OOI message Exchange, for interacting with OOI services and OOI data objects. See: http://www.oceanobservatories.org/spaces/display/CIDev/IONCore+Java This library follows the architecture and design defined by the LCAarch project. This python based system with its core libraries represents the ION reference implementation. For more information, please see: http://www.oceanobservatories.org/spaces/display/CIDev/LCAARCH+Development+Project Source ====== Obtain the eoi-agents project by running: :: git clone firstname.lastname@example.org:ooici/ioncore-java NOTE: Unless otherwise noted - all commands should be run from the "ioncore-java" directory :: cd ioncore-java Dependencies ============ Dependencies are managed using Apache Ivy. If you haven't installed Ivy, please refer to the "Installing Ivy" section below. Ivy Installation* ================ 1. Download Apache Ivy (OOICI hosted) from: http://ooici.net/packages/ivy.jar 2. Copy/move the ivy.jar to the "lib" directory of your ant installation: ac OSX: you can place the .jar in your user ant configuration --> ~/.ant/lib/ or in the root ant installation, usually --> /usr/share/ant/lib/ Linux/Windows: wherever you have ant installed (check "%ANT_HOME%" if you're not sure) 3. To verify the installation run (from eoi-agents directory): :: ant resolve * Full install instructions: http://ant.apache.org/ivy/history/2.2.0-rc1/install.html ********************************** ********************************** Compiling ========= To resolve (process and download) dependencies run: :: ant resolve Compile the project by running: :: ant compile Unit Test ========= The TestApplicationIntegrationService junit test requires that a capability container be up and running with pre-loaded data sets. You can point the junit class to the capability container by defining an ooici-conn.properties file in your home directory. Example content is shown below: ion.sysname=<sys name used when starting the CC> ion.host=<host running RabbitMQ> ion.username=guest ion.password=guest Once the CC is up and running and the ooici-conn.properties file has been defined, you can runn the junit test cases with: :: ant test To investigate junit failures, first look in the "report/*.xml file(s) for lines like the following: <failure message...> The TestAppIntegrationService junit test attempts to dump out helpful failure messages received from the CC into the JSONFormatExamples.txt file. This file can be found at the root level in the ioncore-java repository. Build.xml ======== All tasks are performed with ant, and are run with: :: ant <target> Tasks can be viewed with the following command: :: ant -p Main targets: clean --> Clean the project clean-ivy-cache --> Clean the ivy cache clean-more --> Called at the end of 'clean' - empty by default, override in build.xml to use clean-ooici-cache --> Clean the ivy cache of the ooici dependencies only compile --> Compile the project deep-clean --> Cleans both this directory and the ivy cache dist --> Package Distribution javadoc --> Generate Javadoc ooici_base.post-compile --> Called after javac compilation - empty by default, override in build.xml to use post-dist --> Called after all actions in the dist target - empty by default, override in build.xml to use pre-compile --> Called before javac compilation - empty by default, override in build.xml to use pre-dist --> Called before all actions in the dist target - empty by default, override in build.xml to use report-deps --> Generates a report of dependencies resolve --> Retreive dependencies with ivy runex --> Run Example test-all --> Runs JUnit tests for all classes ending in 'Test.java') Default target: dist IDE Setup ========= 1. Run: ant resolve 2. Make a "existing source" (or similar) project in your IDE of choice and select the src directory of the project. 3. Put all of the jar files in the "lib" directory on the project classpath in your IDE. ** Note - when you "ant clean" the lib directory is wiped out. If you discover your project not compiling, make sure there's a lib directory!