Skip to content
chouette is a Java program for validating and exchanging Public Transport datas. Comes with a ruby web app : https://github.com/afimb/chouette2
Branch: rutebanken_dev…
Clone or download
Pull request Compare This branch is 2611 commits ahead, 46 commits behind afimb:master.
CircleCI Bot
Latest commit 399fb43 May 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Revert "Update Dockerfile, dependencies in docker lib folder" Feb 6, 2019
chouette_iev Disabled modules we do not need May 29, 2017
doc update changelog Sep 27, 2016
docker Renamed a postgresql library name. Mar 1, 2019
mobi.chouette.command Merge branch 'rutebanken_netex_exchange' into rutebanken_develop Mar 27, 2017
mobi.chouette.common ROR-621 Add a timestamp for dataset update in NeTEx export (#25) May 7, 2019
mobi.chouette.dao.iev Merge branch 'rutebanken_google_cloud_storage' into rutebanken_develop Oct 12, 2017
mobi.chouette.dao ROR-621 Add a timestamp for dataset update in NeTEx export (#25) May 7, 2019
mobi.chouette.exchange.converter NRP-1975 Allowing file extensions (zip/xml) regardless of casing Aug 14, 2017
mobi.chouette.exchange.geojson Speed up data space transfer by introducing separate ObjectReference … Oct 2, 2017
mobi.chouette.exchange.gtfs Use trip.headSign as first destinationDisplay on journeypattern unles… May 13, 2019
mobi.chouette.exchange.hub Merge branch 'rutebanken_netex_exchange' into rutebanken_develop Aug 11, 2017
mobi.chouette.exchange.kml NRP-1935 Replaced java.sql.Date & Time with jodatime data types (merg… Aug 11, 2017
mobi.chouette.exchange.neptune Speed up data space transfer by introducing separate ObjectReference … Oct 2, 2017
mobi.chouette.exchange.netex Disabled failing tests that have been excluded until latest upgrade o… Nov 6, 2018
mobi.chouette.exchange.netexprofile ROR-621 Add a timestamp for dataset update in NeTEx export (#25) May 7, 2019
mobi.chouette.exchange.regtopp ROR-366 Config which modalities service links shall be generated for Jun 6, 2018
mobi.chouette.exchange.sig
mobi.chouette.exchange.stopplace Set ConcurrencyManagement to BEAN to avoid exceptions for parallel ac… Aug 16, 2018
mobi.chouette.exchange.transfer ROR-621 Add a timestamp for dataset update in NeTEx export (#25) May 7, 2019
mobi.chouette.exchange.validator Check of opposite routes must check route points not stop points - Fi… Apr 8, 2019
mobi.chouette.exchange Respect MAX_WARNINGS / MAX_INFOS for check point reports May 7, 2019
mobi.chouette.model.iev Merge branch 'rutebanken_google_cloud_storage' into rutebanken_develop Oct 12, 2017
mobi.chouette.model ROR-621 Add a timestamp for dataset update in NeTEx export (#25) May 7, 2019
mobi.chouette.persistence.hibernate Updated version number to 3.4.RB-SNAPSHOT to avoid pulling snapshots/… Sep 21, 2016
mobi.chouette.schema.checker Merge branch 'master' into rutebanken_develop Dec 15, 2016
mobi.chouette.service Made time to live for hazelcast locks configurable Apr 3, 2019
mobi.chouette.ws Ror 612 (#24) Mar 25, 2019
src
.gitignore Removing test-output folder mistakenly added Apr 19, 2016
.travis.yml adapt sql to travis Dec 22, 2015
CHANGELOG.md set version 3.4.2 Dec 1, 2016
Dockerfile
LICENSE.md update readme and add working directory parameter May 18, 2015
README.md Trigger build Sep 25, 2018
chouette_schema.sql Journey Frequency : Neptune Import Nov 30, 2015
pom.xml Reverted useSystemClassLoader parameter Nov 6, 2018

README.md

Chouette

Chouette is a java project for handling public transport (PT) data in different formats: Neptune, NeTEx, GTFS and provides 3 main services:

  • Import PT data files from Neptune, NeTEx and GTFS formats
  • Export PT data to Neptune, NeTEx, GTFS, KML and GeoJson formats
  • Validate PT data

The Import, Export and Validation services are provided as Web Services and performed asynchronously.

The Chouette Web Service API is specified here :

  • [Interface Specification Document](./doc/interface/Chouette-API serveur IEV-1.0.pdf)
  • inputs and outputs data structures Jobs, Reports

Chouette is used by :

  • Chouette2 , a standard-based PT planned data management web application.
  • CVDTC , a web platform for PT planned data conversion and validation

Format documentations are available for:

The Chouette java project is split into modules :

  • chouette-iev : REST server (ear)
  • mobi.chouette.command : Command mode standalone program (Conversion and Validation actions)
  • mobi.chouette.common : common classes and interfaces
  • mobi.chouette.dao : Dao implementation for model persistence (EJB)
  • mobi.chouette.dao.iev : Dao implementation for iev persistence (EJB)
  • mobi.chouette.exchange : Common classes, interfaces and commands for data exchange
  • mobi.chouette.exchange.converter : Specific commands for conversion
  • mobi.chouette.exchange.geojson : Specific commands for GeoJson data export
  • mobi.chouette.exchange.gtfs : Specific commands for GTFS data exchange and validation
  • mobi.chouette.exchange.hub : Specific commands for HUB data exchange
  • mobi.chouette.exchange.kml : Specific commands for KML data export
  • mobi.chouette.exchange.neptune : Specific commands for Neptune data exchange and validation
  • mobi.chouette.exchange.netex : Specific commands for NeTEx data exchange (experimental local agreement)
  • mobi.chouette.exchange.sig : Specific commands for GeoJson and kml data export at same time
  • mobi.chouette.exchange.validator : Specific commands for common data validation
  • mobi.chouette.model : JPA entities modelisation for public transport model
  • mobi.chouette.model.iev : JPA entities modelisation for iev jobs
  • mobi.chouette.persistence.hibernate : Hibernate specific tools
  • mobi.chouette.service : Job and tasks managment
  • mobi.chouette.schema.checker : Access control implementation for Chouette GUI
  • mobi.chouette.ws : REST API implementation

For more information see the Architecture Documentation , in French.

Installation instructions for the command line standalone program are available here

Release Notes

The Chouette release notes (in French) can be found in CHANGELOG file

Requirements

This code has been run and tested on Travis with :

  • oraclejdk7
  • oraclejdk8
  • openjdk7
  • openjdk8
  • postgres 9.3 + postgis 2.1
  • wildfly 8.2.0

Chouette External Dependencies

Chouette V3.x requires Postgresql V9.3 or above

On Debian/Ubuntu/Kubuntu OS :

sudo apt-get install postgresql-9.3
sudo apt-get install postgresql-9.3-postgis-2.1
sudo apt-get install openjdk-7-jdk 

For installation from sources :

sudo apt-get install git
sudo add-apt-repository ppa:natecarlson/maven3
sudo apt-get update 
sudo apt-get install maven3
sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/mvn

if apt-get update fails, modify file : /etc/apt/sources.list.d/natecarlson-maven3-trusty.list and replace trusty by precise

Chouette Installation

On Debian, Chouette can also be installed as a package : see debian packages

Prerequisite

Create Postgres user and databases

Installation from sources

Get git repository :

git clone -b Vx_y git://github.com/afimb/chouette
cd chouette

Test :

mvn test -DskipWildfly

Deployment :

change the data storage directory (USER_HOME by default) : copy properties file iev.properties in /etc/chouette/iev/ directory change property iev.directory value to desired directory change property iev.started.jobs.max value to limit parallel jobs processing (default = 5) change property iev.copy.by.import.max value to limit parallel single line import by import job (default = 5)

Install and configure Wildfly

For existing chouette_iev deployment : update postgres / wildfly configuration

deploy ear (wildfly must be running)

mvn -DskipTests install

Installation from the binaries

download chouette_iev.x.y.z.zip from maven repository

change the data storage directory (USER_HOME by default) copy the properties file iev.properties into /etc/chouette/iev/ directory change the iev.directory value to the desired directory change the iev.started.jobs.max value in order to limit the max number of parallel jobs (default = 5)

Install and configure Wildfly

. For an existing chouette_iev deployment prior to 3.2 : update the postgres / wildfly configuration

in the wildfly installation repository :

bin/jboss-cli.sh --connect --command="deploy (path to ...)/chouette.ear"

More Information

An exhaustive technical documentation in French is avalailable here

License

Chouette is licensed under the CeCILL-B license, a copy of which can be found in the LICENSE file.

Support

Users looking for support should file an issue on the GitHub issue tracking page, or file a pull request if you have a fix available.

You can’t perform that action at this time.