diff --git a/.gitignore b/.gitignore
index b54d2c7..fa54bc3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,8 @@ buildNumber.properties
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar
+
+## IntelliJ IDEA ##
+.idea/
+*.iws
+*.iml
diff --git a/distro/configs/eip-odoo-openmrs/properties/application.properties b/distro/configs/eip-odoo-openmrs/properties/application.properties
deleted file mode 100644
index 5fa4ad6..0000000
--- a/distro/configs/eip-odoo-openmrs/properties/application.properties
+++ /dev/null
@@ -1,223 +0,0 @@
-#
-# *********************** Service-specific properties ****************************************************************
-#
-#
-# The base URL to the Odoo instance
-odoo.baseUrl=${ODOO_URL}
-
-# The database name to use to log into the Odoo instance
-odoo.database=${ODOO_DATABASE}
-
-# The username for the account to use to log into the Odoo instance
-odoo.username=${ODOO_USER}
-
-# The password for the account to use to log into the Odoo instance
-odoo.password=${ODOO_PASSWORD}
-
-# The address type to use for customer addresses in Odoo
-odoo.customer.address.type=contact
-
-odoo.handler.route=odoo-order-handler
-
-create.customer.if.not.exist=${CREATE_CUSTOMER_IF_NOT_EXIST}
-
-# ************************ Properties to enable syncing of additional customer details *************************
-
-# UUID for concept that is used to record a patient's weight. It is usually 5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-emr.weight.concept=${EMR_WEIGHT_CONCEPT}
-
-# Custom property for the res.partner model in odoo
-odoo.emr.id.field=${ODOO_CUSTOMER_EXTERNAL_ID}
-
-# Custom property for the res.partner model in odoo to capture customer's date of birth
-odoo.dob.field=${ODOO_CUSTOMER_DOB_FIELD}
-
-# Custom property for the res.partner model in odoo to capture customer's weight
-odoo.weight.field=${ODOO_CUSTOMER_WEIGHT_FIELD}
-
-# Used to turn on or off the route that allows to sync extra patient details like weight and/or date of birth
-odoo.enable.extra.customer.details.route=${ODOO_ENABLE_EXTRA_CUSTOMER_FIELDS_ROUTE}
-
-# Used to turn on or off the route that allows to sync extra patient details like weight as part of the customer quotation
-odoo.enable.extra.quotation.details.route=${ODOO_ENABLE_EXTRA_QUOTATION_FIELDS_ROUTE}
-
-#
-# *********************** Properties needed by the 'orders' routes ****************************************************************
-#
-
-# Custom table to OpenMRS REST resource name mappings
-odoo.custom.table.resource.mappings=orders:order,test_order:order,drug_order:order
-#
-
-#
-# *********************** EIP Client shared properties ****************************************************************
-#
-# TODO: Should probably be part of the Docker image
-#
-
-camel.springboot.xml-routes=classpath*:camel/*.xml,file:routes/*.xml,file:routes/*/*.xml,file:routes/*/*/*.xml
-openmrs.db.host=${OPENMRS_DB_HOST}
-
-# The OpenMRS MySQL database port
-openmrs.db.port=${OPENMRS_DB_PORT}
-
-# The OpenMRS MySQL database name
-openmrs.db.name=${OPENMRS_DB_NAME}
-# *********************** General EIP sender properties ****************************************************************
-#
-
-# Maximum size of each batch of source records to be read by debezium from the binlog files, maps to the
-## debezium MySQL connector property named max.batch.size
-#https://debezium.io/documentation/reference/1.6/connectors/mysql.html#mysql-property-max-batch-size
-debezium.reader.maxBatchSize=2048
-
-#Enabled Oauth when set to true
-oauth.enabled=${OAUTH_ENABLED}
-
-#The client Id of the account
-oauth.access.token.uri=${OAUTH_ACCESS_TOKEN_URI}
-
-#The client Id of the account to use to authenticate
-oauth.client.id=${OAUTH_CLIENT_ID}
-
-#The client secret of the account to use to authenticate
-oauth.client.secret=${OAUTH_CLIENT_SECRET}
-#Authentication scope, can be multiple values separated by commas
-oauth.client.scope=email
-
-eip.home=/eip-home
-
-# Camel endpoints that need to be notified of DB events
-db-event.destinations=${DB_EVENT_DESTINATIONS_ODOO}
-
-# A comma separated list of database tables names to watch for changes
-eip.watchedTables=patient,person_name,person_address,patient_identifier,orders,test_order,drug_order
-
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Logging Configuration ************************************************************************
-#
-# Uncomment this to use console logging otherwise defaults to the logback.xml file located on the classpath which is
-# configured to log to ${eip.home}/logs/openmrs-eip.log
-logging.config=classpath:logback-console.xml
-
-# Logging level for the application loggers (all built-in routes and classes)
-openmrs.eip.log.level=INFO
-
-# Logging level for ONLY application class loggers
-logging.level.org.openmrs.eip=${openmrs.eip.log.level}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Tomcat Configuration *************************************************************************
-#
-# Server HTTP port.
-server.port=8083
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** H2 configuration *****************************************************************************
-#
-# Whether to enable the console
-#spring.h2.console.enabled=false
-
-# Path at which the console is available, defaults to /h2-console
-# spring.h2.console.path=
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Configuration of the OpenMRS Web App *********************************************************
-#
-# OpenMRS user credentials
-openmrs.username=${OPENMRS_USER}
-openmrs.password=${OPENMRS_PASSWORD}
-
-# OpenMRS base url
-openmrs.baseUrl=${OPENMRS_URL}/openmrs
-
-# The results encounter type for all patient result observations
-results.encounterType.uuid=${RESULTS_ENCOUNTER_TYPE_UUID}
-
-concept.complex.uuid=${CONCEPT_COMPLEX_UUID}
-
-# ----------------------------------------------------------------------------------------------------------------------
-openmrs.identifier.type.uuid=${OPENMRS_IDENTIFIER_TYPE_UUD}
-
-
-# *********************** OpenMRS Datasource config ********************************************************************
-#
-# Driver class of the openMRS datasource (should not be changed in a usual use)
-spring.openmrs-datasource.driverClassName=com.mysql.jdbc.Driver
-#
-# Dialect of the openMRS datasource (should not be changed in a usual use)
-spring.openmrs-datasource.dialect=org.hibernate.dialect.MySQLDialect
-
-# Url of the openMRS datasource, you don't have to change this value as long you've set the placeholder property values
-spring.openmrs-datasource.jdbcUrl=jdbc:mysql://${openmrs.db.host}:${openmrs.db.port}/${openmrs.db.name}
-
-# User name of the openMRS datasource
-spring.openmrs-datasource.username=${OPENMRS_DB_USER}
-
-# Password of the openMRS datasource
-spring.openmrs-datasource.password=${OPENMRS_DB_PASSWORD}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Configuration of the Management database *****************************************************
-#
-# Driver class of the management datasource (should not be changed in a usual use)
-spring.mngt-datasource.driverClassName=com.mysql.jdbc.Driver
-
-# Dialect of the management datasource (should not be changed in a usual use)
-spring.mngt-datasource.dialect=org.hibernate.dialect.MySQLDialect
-
-# Url of the management datasource
-# spring.mngt-datasource.jdbcUrl=jdbc:h2:mem:test;DB_CLOSE_DELAY=30;LOCK_TIMEOUT=10000
-spring.mngt-datasource.jdbcUrl=jdbc:mysql://${openmrs.db.host}:${openmrs.db.port}/${EIP_DB_NAME}
-
-# User name of the management datasource
-spring.mngt-datasource.username=${EIP_DB_USER}
-
-# Password of the management datasource
-spring.mngt-datasource.password=${EIP_DB_PASSWORD}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Debezium Config ******************************************************************************
-#
-# For details explanations of this properties, please refer to
-# https://debezium.io/documentation/reference/connectors/mysql.html#mysql-connector-properties
-# Maps to the connect property named database.server.id, MUST match the server-id value in your my.cnf file when you
-# enabled mysql binlog, DO NOT change after setting it
-debezium.db.serverId=27002
-
-# Unique logical name of the MySQL database server, maps to the debezium MySQL connector property named
-# database.server.name, DO NOT change after setting it
-debezium.db.serverName=${openmrs.db.name}
-
-# Database username for debezium user account you created to access the MySQL binlog, maps to the debezium MySQL
-# connector property named database.user, it's highly recommended to create separate user account as described at
-# https://debezium.io/documentation/reference/connectors/mysql.html#setting-up-mysql
-debezium.db.user=${MYSQL_ADMIN_USER}
-
-# Database password for debezium user account you created to access the MySQL binlog, maps to the debezium MySQL
-# connector property named database.password
-debezium.db.password=${MYSQL_ADMIN_USER_PASSWORD}
-
-# Specifies the criteria for running a snapshot when the connector starts, DO NOT change after setting it, maps to the
-# debezium MySQL connector property named snapshot.mode
-debezium.snapshotMode=schema_only
-
-# The 2 properties below are debezium engine specific and are documented at
-# https://debezium.io/documentation/reference/development/engine.html#engine-properties
-#
-# Path to file where offsets are to be stored, maps to property named offset.storage.file.filename, DO NOT change after
-# setting it
-debezium.offsetFilename=offsets.txt
-
-# Path to file where offsets are to be stored, maps to property named database.history.file.filename, DO NOT change
-# after setting it
-debezium.historyFilename=dbhistory.txt
-# ----------------------------------------------------------------------------------------------------------------------
-debezium.snapshotLockingMode=extended
\ No newline at end of file
diff --git a/distro/configs/eip-openmrs-senaite/properties/application.properties b/distro/configs/eip-openmrs-senaite/properties/application.properties
deleted file mode 100644
index b0e6a50..0000000
--- a/distro/configs/eip-openmrs-senaite/properties/application.properties
+++ /dev/null
@@ -1,189 +0,0 @@
-#
-# *********************** Service-specific properties ****************************************************************
-#
-#
-# URL to connect to the SENAITE REST API
-senaite.baseUrl=${SENAITE_URL}/senaite
-
-# SENAITE username
-senaite.username=${SENAITE_USERNAME}
-
-# SENAITE password
-senaite.password=${SENAITE_PASSWORD}
-
-# FHIR configuration
-fhirR4.baseUrl=${openmrs.baseUrl}/ws/fhir2/R4
-
-
-#
-# *********************** EIP Client shared properties ****************************************************************
-#
-# TODO: Should probably be part of the Docker image
-#
-
-camel.springboot.xml-routes=classpath*:camel/*.xml,file:routes/*.xml,file:routes/*/*.xml,file:routes/*/*/*.xml
-openmrs.db.host=${OPENMRS_DB_HOST}
-
-# The OpenMRS MySQL database port
-openmrs.db.port=${OPENMRS_DB_PORT}
-
-# The OpenMRS MySQL database name
-openmrs.db.name=${OPENMRS_DB_NAME}
-# *********************** General EIP sender properties ****************************************************************
-#
-
-# Maximum size of each batch of source records to be read by debezium from the binlog files, maps to the
-## debezium MySQL connector property named max.batch.size
-#https://debezium.io/documentation/reference/1.6/connectors/mysql.html#mysql-property-max-batch-size
-debezium.reader.maxBatchSize=2048
-
-#Enabled Oauth when set to true
-oauth.enabled=${OAUTH_ENABLED}
-
-#The client Id of the account
-oauth.access.token.uri=${OAUTH_ACCESS_TOKEN_URI}
-
-#The client Id of the account to use to authenticate
-oauth.client.id=${OAUTH_CLIENT_ID}
-
-#The client secret of the account to use to authenticate
-oauth.client.secret=${OAUTH_CLIENT_SECRET}
-#Authentication scope, can be multiple values separated by commas
-oauth.client.scope=email
-
-eip.home=/eip-home
-
-# Camel endpoints that need to be notified of DB events
-db-event.destinations=${DB_EVENT_DESTINATIONS}
-
-# A comma separated list of database tables names to watch for changes
-eip.watchedTables=patient,person_name,person_address,patient_identifier,orders,test_order
-
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Logging Configuration ************************************************************************
-#
-# Uncomment this to use console logging otherwise defaults to the logback.xml file located on the classpath which is
-# configured to log to ${eip.home}/logs/openmrs-eip.log
-logging.config=classpath:logback-console.xml
-
-# Logging level for the application loggers (all built-in routes and classes)
-openmrs.eip.log.level=INFO
-
-# Logging level for ONLY application class loggers
-logging.level.org.openmrs.eip=${openmrs.eip.log.level}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Tomcat Configuration *************************************************************************
-#
-# Server HTTP port.
-server.port=8083
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** H2 configuration *****************************************************************************
-#
-# Whether to enable the console
-#spring.h2.console.enabled=false
-
-# Path at which the console is available, defaults to /h2-console
-# spring.h2.console.path=
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Configuration of the OpenMRS Web App *********************************************************
-#
-# OpenMRS user credentials
-openmrs.username=${OPENMRS_USER}
-openmrs.password=${OPENMRS_PASSWORD}
-
-# OpenMRS base url
-openmrs.baseUrl=${OPENMRS_URL}/openmrs
-
-# The results encounter type for all patient result observations
-results.encounterType.uuid=${RESULTS_ENCOUNTER_TYPE_UUID}
-
-
-concept.complex.uuid=${CONCEPT_COMPLEX_UUID}
-# ----------------------------------------------------------------------------------------------------------------------
-openmrs.identifier.type.uuid=${OPENMRS_IDENTIFIER_TYPE_UUD}
-
-
-# *********************** OpenMRS Datasource config ********************************************************************
-#
-# Driver class of the openMRS datasource (should not be changed in a usual use)
-spring.openmrs-datasource.driverClassName=com.mysql.jdbc.Driver
-#
-# Dialect of the openMRS datasource (should not be changed in a usual use)
-spring.openmrs-datasource.dialect=org.hibernate.dialect.MySQLDialect
-
-# Url of the openMRS datasource, you don't have to change this value as long you've set the placeholder property values
-spring.openmrs-datasource.jdbcUrl=jdbc:mysql://${openmrs.db.host}:${openmrs.db.port}/${openmrs.db.name}
-
-# User name of the openMRS datasource
-spring.openmrs-datasource.username=${OPENMRS_DB_USER}
-
-# Password of the openMRS datasource
-spring.openmrs-datasource.password=${OPENMRS_DB_PASSWORD}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Configuration of the Management database *****************************************************
-#
-# Driver class of the management datasource (should not be changed in a usual use)
-spring.mngt-datasource.driverClassName=com.mysql.jdbc.Driver
-
-# Dialect of the management datasource (should not be changed in a usual use)
-spring.mngt-datasource.dialect=org.hibernate.dialect.MySQLDialect
-
-# Url of the management datasource
-# spring.mngt-datasource.jdbcUrl=jdbc:h2:mem:test;DB_CLOSE_DELAY=30;LOCK_TIMEOUT=10000
-spring.mngt-datasource.jdbcUrl=jdbc:mysql://${openmrs.db.host}:${openmrs.db.port}/${EIP_DB_NAME}
-
-# User name of the management datasource
-spring.mngt-datasource.username=${EIP_DB_USER}
-
-# Password of the management datasource
-spring.mngt-datasource.password=${EIP_DB_PASSWORD}
-# ----------------------------------------------------------------------------------------------------------------------
-
-
-# *********************** Debezium Config ******************************************************************************
-#
-# For details explanations of this properties, please refer to
-# https://debezium.io/documentation/reference/connectors/mysql.html#mysql-connector-properties
-# Maps to the connect property named database.server.id, MUST match the server-id value in your my.cnf file when you
-# enabled mysql binlog, DO NOT change after setting it
-debezium.db.serverId=27001
-
-# Unique logical name of the MySQL database server, maps to the debezium MySQL connector property named
-# database.server.name, DO NOT change after setting it
-debezium.db.serverName=${openmrs.db.name}
-
-# Database username for debezium user account you created to access the MySQL binlog, maps to the debezium MySQL
-# connector property named database.user, it's highly recommended to create separate user account as described at
-# https://debezium.io/documentation/reference/connectors/mysql.html#setting-up-mysql
-debezium.db.user=${MYSQL_ADMIN_USER}
-
-# Database password for debezium user account you created to access the MySQL binlog, maps to the debezium MySQL
-# connector property named database.password
-debezium.db.password=${MYSQL_ADMIN_USER_PASSWORD}
-
-# Specifies the criteria for running a snapshot when the connector starts, DO NOT change after setting it, maps to the
-# debezium MySQL connector property named snapshot.mode
-debezium.snapshotMode=schema_only
-
-# The 2 properties below are debezium engine specific and are documented at
-# https://debezium.io/documentation/reference/development/engine.html#engine-properties
-#
-# Path to file where offsets are to be stored, maps to property named offset.storage.file.filename, DO NOT change after
-# setting it
-debezium.offsetFilename=offsets.txt
-
-# Path to file where offsets are to be stored, maps to property named database.history.file.filename, DO NOT change
-# after setting it
-debezium.historyFilename=dbhistory.txt
-# ----------------------------------------------------------------------------------------------------------------------
-debezium.snapshotLockingMode=extended
\ No newline at end of file
diff --git a/distro/pom.xml b/distro/pom.xml
index b27dafe..367a6e2 100644
--- a/distro/pom.xml
+++ b/distro/pom.xml
@@ -34,10 +34,10 @@
2.1.0
1.4.0-SNAPSHOT
2.2.0
- 1.4.0-SNAPSHOT
- 1.4.0-SNAPSHOT
+ 2.0.0-SNAPSHOT
+ 2.0.0-SNAPSHOT
-
+
eip-openmrs-senaite
eip-odoo-openmrs
@@ -81,13 +81,13 @@
com.ozonehis
${eipOpenMRSSenaiteArtifactId}
${eipOpenMRSSenaiteVersion}
- zip
+ jar
com.ozonehis
${eipOdooOpenMRSArtifactId}
${eipOdooOpenMRSVersion}
- zip
+ jar
@@ -98,6 +98,7 @@
org.apache.maven.plugins
maven-dependency-plugin
+ 3.2.0
Copy Odoo Initializer add-on
@@ -129,28 +130,43 @@
- Unpack EIP OpenMRS SENAITE routes to a temporary location
- generate-resources
+ Copy EIP OpenMRS SENAITE JAR
+ prepare-package
- unpack-dependencies
+ copy
- true
- ${project.build.directory}/${eipOpenMRSSenaiteArtifactId}
- ${eipOpenMRSSenaiteArtifactId}
+
+
+ com.ozonehis
+ ${eipOpenMRSSenaiteArtifactId}
+ ${eipOpenMRSSenaiteVersion}
+ jar
+ true
+ ${project.build.directory}/${project.artifactId}-${project.version}/binaries/${eipOpenMRSSenaiteArtifactId}
+
+
+ true
- Unpack EIP Odoo OpenMRS routes in a temporary location
- generate-resources
+ Copy EIP Odoo OpenMRS JAR
+ prepare-package
- unpack-dependencies
+ copy
- true
- ${project.build.directory}/${eipOdooOpenMRSArtifactId}
- ${eipOdooOpenMRSArtifactId}
+
+
+ com.ozonehis
+ ${eipOdooOpenMRSArtifactId}
+ ${eipOdooOpenMRSVersion}
+ jar
+ true
+ ${project.build.directory}/${project.artifactId}-${project.version}/binaries/${eipOdooOpenMRSArtifactId}
+
+
@@ -231,46 +247,6 @@
-
-
- Copy EIP OpenMRS SENAITE routes
- prepare-package
-
- copy-resources
-
-
-
- ${project.build.directory}/${project.artifactId}-${project.version}/binaries/eip-openmrs-senaite/routes
- true
-
-
-
- ${project.build.directory}/${eipOpenMRSSenaiteArtifactId}/routes/senaite
-
-
-
-
-
-
-
- Copy EIP Odoo OpenMRS routes
- prepare-package
-
- copy-resources
-
-
-
- ${project.build.directory}/${project.artifactId}-${project.version}/binaries/eip-odoo-openmrs/routes
- true
-
-
-
- ${project.build.directory}/${eipOdooOpenMRSArtifactId}/${eipOdooOpenMRSArtifactId}-${eipOdooOpenMRSVersion}/routes/
-
-
-
-
-
Copy OpenMRS modules
@@ -367,17 +343,16 @@
+
- Remove unneeded EIP Odoo OpenMRS PRP and Obs routes
- process-resources
+ Copy OpenMRS config for validation
+ pre-integration-test
-
+
-
-
+ dir="${project.build.directory}/${project.artifactId}-${project.version}/configs/openmrs/initializer_config" />
+
@@ -514,4 +489,4 @@
-
\ No newline at end of file
+
diff --git a/pom.xml b/pom.xml
index c2e6e00..a15f3be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -216,6 +216,14 @@
mks-nexus-public
https://nexus.mekomsolutions.net/repository/maven-public/
+
+ mks-nexus-public-snapshots
+ Mekom Solutions Nexus repo for snapshots
+ https://nexus.mekomsolutions.net/repository/maven-snapshots
+
+ true
+
+
openmrs-repo
OpenMRS Nexus Repository
@@ -279,4 +287,4 @@
https://nexus.mekomsolutions.net/repository/maven-snapshots
-
\ No newline at end of file
+