# Overview This package holds the core functionality of FDA. # Usage use -Djava.util.logging.config.file=logging.properties` to configure logging ## Server The FDA server is started as follows: ``` ./bin/server -h usage: fda -h Help -p Server port (default: 8080) -s Server address (default: localhost) ``` Start new scan: ``` curl -X PUT -d @scan1d.xml -H 'Content-Type:application/xml' http://localhost:8080/fda/scan ``` ## Viewer ``` ./bin/viewer -h usage: viewer -h Help -p Server port (default: 10000) -s Server address (default: localhost) ``` # Development When checking out the project from the repository there is the `target/generated-sources/xjc` folder missing. After checking out the project execute `mvn compile` to create the folder and the required classes. To build project use `mvn clean install`. To upload the latest version to the central artifact repository use `mvn clean deploy`. Create Zip file via `mvn clean compile assembly:assembly` To use the FDA libary in an other project (like the GUI project) use: ``` ch.psi fda x.x.x ``` ## REST FDA offers a rest service to execute scans. There are 3 distinct service for fda scan, fdaq and cdump. ### FDA Service Submit scan ``` PUT fda/{trackingId} Content-Type: application/xml ... 204 - Success ``` Stop/cancel scan ``` DELETE fda/{trackingId} 204 - Success ``` Stop all scans ``` DELETE fda 204 - Success ``` Check if scan is running ``` GET fda/{trackingId}/running 200 - true/false ``` Wait for scan done (blocks until scan is done) ``` GET fda/{trackingId}/done 204 - Success ``` # Notes ## Upgrade FDA 1.x to 2.x In existing fda.properties file the following property need to be added: `ch.psi.fda.aq.data.dir=../data`