1. Executing Spring-Boot application (WS API)
Source code of all the components can be downloaded from the code repository (Catalog QT2)
> git clone https://YOUR_USER_NAME_AT_GATEWAY@gforge6.eufus.eu/git/catalog_qt_2
If you don't have access yet, make sure to request the access.
1.1. Requirements
Catalog QT ver. 2 requires following components to be installed on the machine where it will be started
Java - openjdk 11.0.2 - you can use JDK from Oracle as well Apache Maven - 3.6.3 - you can use Apache Maven distributed with project as well mysql - 8.0.20 - you can use MariaDB instead (we haven't tested it thoug)
1.2. Creating database
Catalog QT ver. 2 requires access to database that will store all the imported data. You have to create this database. Schema for creating database is located inside project structure: sql/schema/catalog_qt_db.sql.
To create DB schema inside mysql you will need root password for your MySQL installation. Then, you can run following:
# WARNING! This line will drop schema: itm_catalog_qt and create it from the scratch. Make sure you are not destroying things. > mysql -u root -p < sql/schema/catalog_qt_db.sql
This script will create two users: itm_catalog_ro/itm_catalog_ro
and user itm_catalog_rw/itm_catalog_rw
with read-only and read-write privileges, respectively.
It's a good idea to check whether you can access your newly created database. Make sure you can successfully connect there.
> mysql -u itm_catalog_rw -p -h localhost itm_catalog_qt Enter password: ... Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6318 Server version: 8.0.20 MySQL Community Server - GPL ... ... mysql> show tables; +----------------------------+ | Tables_in_itm_catalog_test | +----------------------------+ | annotation | | catalog_parameters | | entry | | entry_data | | experiment | | outcome | | reference | | replace | | request | | tag | | tag_entry | | user | | variable | +----------------------------+ 13 rows in set (0.00 sec) mysql>
1.3. Starting WS API server
In order to run WS API server you have to start Spring-Boot application. Make sure to go inside directory: ws/catalog-ws
> cd ws/catalog-ws > mvn spring-boot:run [INFO] Scanning for projects... [INFO] [INFO] ---------------------< pl.psnc.catalog:catalog-ws >--------------------- [INFO] Building catalog-ws 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- ... ... . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.3.0.RELEASE) 2020-06-05 13:21:31.533 INFO 17919 --- [ main] p.p.c.catalogws.CatalogWsApplication : Starting CatalogWsApplication on catalog.eufus.eu with PID 17919 ... ...
1.4. Running tests
You can run unit tests by changing directory to: ws/catalog-ws
and running
> mvn test