Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c1808d7e9b | |||
|
|
e460b26abb | ||
|
|
353e7d783e | ||
|
|
cd1c7dbf9e | ||
|
|
89c8e6aeea |
88 changed files with 3032 additions and 1028 deletions
31
.github/workflows/main.yml
vendored
31
.github/workflows/main.yml
vendored
|
|
@ -3,19 +3,17 @@
|
||||||
|
|
||||||
name: Maven Package
|
name: Maven Package
|
||||||
|
|
||||||
run-name: Release run ${{ github.run_number }} view
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches:
|
||||||
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
schedule:
|
|
||||||
- cron: "0 3 * * *"
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: self-hosted
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
@ -26,16 +24,19 @@ jobs:
|
||||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||||
|
|
||||||
- name: Cache the Maven packages to speed up build
|
- name: Cache SonarCloud packages
|
||||||
uses: actions/cache@v1
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: ~/.m2
|
path: ~/.sonar/cache
|
||||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
key: ${{ runner.os }}-sonar
|
||||||
restore-keys: ${{ runner.os }}-m2
|
restore-keys: ${{ runner.os }}-sonar
|
||||||
- name: Set up Maven
|
- name: Build and analyze
|
||||||
uses: stCarolas/setup-maven@v4.5
|
env:
|
||||||
with:
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
||||||
maven-version: 3.8.1
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=pymma_pymma-kie-platform
|
||||||
|
- name: Build with Maven
|
||||||
|
run: mvn -B package --file pom.xml
|
||||||
|
|
||||||
- name: Publish to GitHub Packages Apache Maven
|
- name: Publish to GitHub Packages Apache Maven
|
||||||
run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
|
run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
|
||||||
|
|
|
||||||
401
docker-compose-legacy.yaml
Normal file
401
docker-compose-legacy.yaml
Normal file
|
|
@ -0,0 +1,401 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipam:
|
||||||
|
config:
|
||||||
|
- subnet: 172.27.1.0/24
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
kie-wb:
|
||||||
|
image: kie-wb
|
||||||
|
container_name: "businessCentral"
|
||||||
|
volumes:
|
||||||
|
- gitdata:/home/niodir
|
||||||
|
- lucenedata:/home/lucene
|
||||||
|
hostname: kie-wb.pymma
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: " -DconnectionString=mongodb://mongodb:27017 -Dname=businessProxyDB "
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.5
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
- 8001:8001
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
admin-console:
|
||||||
|
image: runtime-admin-console
|
||||||
|
container_name: "admin-console"
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
hostname: admin.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.6
|
||||||
|
ports:
|
||||||
|
- 8200:8200
|
||||||
|
links:
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
swimmingpool-wb:
|
||||||
|
image: swimmingpool-web-ui
|
||||||
|
container_name: "swimmingpool-web-ui"
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: " "
|
||||||
|
hostname: swimmingpool-wb.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.15
|
||||||
|
ports:
|
||||||
|
- 12099:12099
|
||||||
|
links:
|
||||||
|
- runtime-reverse-proxy:reverse-proxy
|
||||||
|
depends_on:
|
||||||
|
- runtime-reverse-proxy
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
#-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=y
|
||||||
|
|
||||||
|
|
||||||
|
runtime-proxy-1:
|
||||||
|
image: runtime-proxy
|
||||||
|
container_name: "runtime-proxy-1"
|
||||||
|
volumes:
|
||||||
|
- kieserverdir:/niodir-kieserver
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: "-Dorg.kie.server.id=server1 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.22
|
||||||
|
ports:
|
||||||
|
- 8090
|
||||||
|
- 9080
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
- kie-wb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
runtime-proxy-2:
|
||||||
|
image: runtime-proxy
|
||||||
|
container_name: "runtime-proxy-2"
|
||||||
|
volumes:
|
||||||
|
- kieserverdir:/niodir-kieserver
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: "-Dorg.kie.server.id=server2 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.32
|
||||||
|
ports:
|
||||||
|
- 8090
|
||||||
|
- 9080
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
- kie-wb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
runtime-proxy-3:
|
||||||
|
image: runtime-proxy
|
||||||
|
container_name: "runtime-proxy-3"
|
||||||
|
volumes:
|
||||||
|
- kieserverdir:/niodir-kieserver
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: "-Dorg.kie.server.id=server3 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.42
|
||||||
|
ports:
|
||||||
|
- 8090
|
||||||
|
- 9080
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
- kie-wb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
runtime-proxy-4:
|
||||||
|
image: runtime-proxy
|
||||||
|
container_name: "runtime-proxy-4"
|
||||||
|
volumes:
|
||||||
|
- kieserverdir:/niodir-kieserver
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: "-Dorg.kie.server.id=server4 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.52
|
||||||
|
ports:
|
||||||
|
- 8090
|
||||||
|
- 9080
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
- kie-wb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
runtime-proxy-5:
|
||||||
|
image: runtime-proxy
|
||||||
|
container_name: "runtime-proxy-5"
|
||||||
|
volumes:
|
||||||
|
- kieserverdir:/niodir-kieserver
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: "-Dorg.kie.server.id=server5 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.62
|
||||||
|
ports:
|
||||||
|
- 8090
|
||||||
|
- 9080
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kie-wb:kie-wb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
- kie-wb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
runtime-indexer:
|
||||||
|
image: runtime-indexer
|
||||||
|
container_name: "runtime-indexer"
|
||||||
|
hostname: indexer.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.23
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
runtime-reverse-proxy:
|
||||||
|
image: runtime-reverse-proxy
|
||||||
|
container_name: "runtime-reverse-proxy"
|
||||||
|
environment:
|
||||||
|
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
||||||
|
hostname: reverse-proxy.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.25
|
||||||
|
links:
|
||||||
|
- businessProxyDB:mongodb
|
||||||
|
- kafka1:kafka1
|
||||||
|
- kafka2:kafka2
|
||||||
|
- kafka3:kafka3
|
||||||
|
depends_on:
|
||||||
|
- businessProxyDB
|
||||||
|
ports:
|
||||||
|
- 9500:9500
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
postgreskie:
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1024M
|
||||||
|
image: postgres:13.4-alpine
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=chti-data
|
||||||
|
- POSTGRES_USER=database_admin
|
||||||
|
- POSTGRES_PASSWORD=
|
||||||
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
|
- MAX_CONNECTIONS=500
|
||||||
|
- MAX_WAL_SENDERS=100
|
||||||
|
volumes:
|
||||||
|
- pgsql-data:/var/lib/postgresql/data
|
||||||
|
- ./backend/docker/pgsql_scripts:/docker-entrypoint-initdb.d
|
||||||
|
ports:
|
||||||
|
- 12432:5432
|
||||||
|
|
||||||
|
|
||||||
|
zoo1:
|
||||||
|
image: zookeeper:3.4.9
|
||||||
|
hostname: zoo1
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.100
|
||||||
|
ports:
|
||||||
|
- "2181:2181"
|
||||||
|
environment:
|
||||||
|
ZOO_MY_ID: 1
|
||||||
|
ZOO_PORT: 2181
|
||||||
|
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
||||||
|
volumes:
|
||||||
|
- zoo1_data:/data
|
||||||
|
- zoo1_data_datalog:/datalog
|
||||||
|
|
||||||
|
zoo2:
|
||||||
|
image: zookeeper:3.4.9
|
||||||
|
hostname: zoo2
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.101
|
||||||
|
ports:
|
||||||
|
- "2182:2182"
|
||||||
|
environment:
|
||||||
|
ZOO_MY_ID: 2
|
||||||
|
ZOO_PORT: 2182
|
||||||
|
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
||||||
|
volumes:
|
||||||
|
- zoo2_data:/data
|
||||||
|
- zoo2_data_datalog:/datalog
|
||||||
|
|
||||||
|
zoo3:
|
||||||
|
image: zookeeper:3.4.9
|
||||||
|
hostname: zoo3
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.102
|
||||||
|
ports:
|
||||||
|
- "2183:2183"
|
||||||
|
environment:
|
||||||
|
ZOO_MY_ID: 3
|
||||||
|
ZOO_PORT: 2183
|
||||||
|
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
||||||
|
volumes:
|
||||||
|
- zoo3_data:/data
|
||||||
|
- zoo3_data_datalog:/datalog
|
||||||
|
|
||||||
|
|
||||||
|
kafka1:
|
||||||
|
image: confluentinc/cp-kafka:5.5.0
|
||||||
|
hostname: kafka1.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.103
|
||||||
|
ports:
|
||||||
|
- "9092:9092"
|
||||||
|
environment:
|
||||||
|
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
|
||||||
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
||||||
|
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
||||||
|
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
||||||
|
KAFKA_BROKER_ID: 1
|
||||||
|
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
||||||
|
KAFKA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
||||||
|
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
volumes:
|
||||||
|
- kafka1_data:/var/lib/kafka/data
|
||||||
|
depends_on:
|
||||||
|
- zoo1
|
||||||
|
- zoo2
|
||||||
|
- zoo3
|
||||||
|
|
||||||
|
kafka2:
|
||||||
|
image: confluentinc/cp-kafka:5.5.0
|
||||||
|
hostname: kafka2.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.104
|
||||||
|
ports:
|
||||||
|
- "9093:9093"
|
||||||
|
environment:
|
||||||
|
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka2:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093
|
||||||
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
||||||
|
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
||||||
|
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
||||||
|
KAFKA_BROKER_ID: 2
|
||||||
|
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
||||||
|
KAFKA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
||||||
|
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
volumes:
|
||||||
|
- kafka2_data:/var/lib/kafka/data
|
||||||
|
depends_on:
|
||||||
|
- zoo1
|
||||||
|
- zoo2
|
||||||
|
- zoo3
|
||||||
|
|
||||||
|
kafka3:
|
||||||
|
image: confluentinc/cp-kafka:5.5.0
|
||||||
|
hostname: kafka3.pymma
|
||||||
|
networks:
|
||||||
|
drools-network-dev:
|
||||||
|
ipv4_address: 172.27.1.105
|
||||||
|
ports:
|
||||||
|
- "9094:9094"
|
||||||
|
environment:
|
||||||
|
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka3:19094,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9094
|
||||||
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
||||||
|
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
||||||
|
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
||||||
|
KAFKA_BROKER_ID: 3
|
||||||
|
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
||||||
|
KAFKA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
||||||
|
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
||||||
|
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
||||||
|
volumes:
|
||||||
|
- kafka3_data:/var/lib/kafka/data
|
||||||
|
depends_on:
|
||||||
|
- zoo1
|
||||||
|
- zoo2
|
||||||
|
- zoo3
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
pgsql-data:
|
||||||
|
|
||||||
|
gitdata:
|
||||||
|
lucenedata:
|
||||||
|
kieserverdir:
|
||||||
|
zoo1_data:
|
||||||
|
zoo2_data:
|
||||||
|
zoo3_data:
|
||||||
|
zoo1_data_datalog:
|
||||||
|
zoo2_data_datalog:
|
||||||
|
zoo3_data_datalog:
|
||||||
|
kafka1_data:
|
||||||
|
kafka2_data:
|
||||||
|
kafka3_data:
|
||||||
|
|
@ -1,414 +1,42 @@
|
||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipam:
|
|
||||||
config:
|
|
||||||
- subnet: 172.27.1.0/24
|
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
kie-wb:
|
|
||||||
image: kie-wb
|
|
||||||
container_name: "businessCentral"
|
postgres-kie:
|
||||||
volumes:
|
deploy:
|
||||||
- gitdata:/home/niodir
|
resources:
|
||||||
- lucenedata:/home/lucene
|
limits:
|
||||||
hostname: kie-wb.pymma
|
memory: 1024M
|
||||||
|
image: postgres:13.4-alpine
|
||||||
environment:
|
environment:
|
||||||
PYMMA_OPTS: " -DconnectionString=mongodb://mongodb:27017 -Dname=businessProxyDB "
|
- POSTGRES_DB=chti-data
|
||||||
links:
|
- POSTGRES_USER=database_admin
|
||||||
- businessProxyDB:mongodb
|
- POSTGRES_PASSWORD=
|
||||||
depends_on:
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
- businessProxyDB
|
- MAX_CONNECTIONS=500
|
||||||
networks:
|
- MAX_WAL_SENDERS=100
|
||||||
drools-network-dev:
|
volumes:
|
||||||
ipv4_address: 172.27.1.5
|
- pgsql-data:/var/lib/postgresql/data
|
||||||
|
- ./docker/database/:/docker-entrypoint-initdb.d
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 12432:5432
|
||||||
- 8001:8001
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
activemq-server:
|
||||||
|
image: webcenter/activemq:5.14.3
|
||||||
|
volumes:
|
||||||
|
- activemqdata:/data
|
||||||
|
ports:
|
||||||
|
- 10162:8161
|
||||||
|
- 1617:61616
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
admin-console:
|
|
||||||
image: runtime-admin-console
|
|
||||||
container_name: "admin-console"
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
hostname: admin.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.6
|
|
||||||
ports:
|
|
||||||
- 8200:8200
|
|
||||||
links:
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
|
|
||||||
swimmingpool-wb:
|
|
||||||
image: swimmingpool-web-ui
|
|
||||||
container_name: "swimmingpool-web-ui"
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: " "
|
|
||||||
hostname: swimmingpool-wb.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.15
|
|
||||||
ports:
|
|
||||||
- 12099:12099
|
|
||||||
links:
|
|
||||||
- runtime-reverse-proxy:reverse-proxy
|
|
||||||
depends_on:
|
|
||||||
- runtime-reverse-proxy
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
|
|
||||||
#-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=y
|
|
||||||
|
|
||||||
|
|
||||||
runtime-proxy-1:
|
|
||||||
image: runtime-proxy
|
|
||||||
container_name: "runtime-proxy-1"
|
|
||||||
volumes:
|
|
||||||
- kieserverdir:/niodir-kieserver
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: "-Dorg.kie.server.id=server1 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.22
|
|
||||||
ports:
|
|
||||||
- 8090
|
|
||||||
- 9080
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
- kie-wb
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
runtime-proxy-2:
|
|
||||||
image: runtime-proxy
|
|
||||||
container_name: "runtime-proxy-2"
|
|
||||||
volumes:
|
|
||||||
- kieserverdir:/niodir-kieserver
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: "-Dorg.kie.server.id=server2 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.32
|
|
||||||
ports:
|
|
||||||
- 8090
|
|
||||||
- 9080
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
- kie-wb
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
runtime-proxy-3:
|
|
||||||
image: runtime-proxy
|
|
||||||
container_name: "runtime-proxy-3"
|
|
||||||
volumes:
|
|
||||||
- kieserverdir:/niodir-kieserver
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: "-Dorg.kie.server.id=server3 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.42
|
|
||||||
ports:
|
|
||||||
- 8090
|
|
||||||
- 9080
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
- kie-wb
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
runtime-proxy-4:
|
|
||||||
image: runtime-proxy
|
|
||||||
container_name: "runtime-proxy-4"
|
|
||||||
volumes:
|
|
||||||
- kieserverdir:/niodir-kieserver
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: "-Dorg.kie.server.id=server4 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.52
|
|
||||||
ports:
|
|
||||||
- 8090
|
|
||||||
- 9080
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
- kie-wb
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
runtime-proxy-5:
|
|
||||||
image: runtime-proxy
|
|
||||||
container_name: "runtime-proxy-5"
|
|
||||||
volumes:
|
|
||||||
- kieserverdir:/niodir-kieserver
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: "-Dorg.kie.server.id=server5 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.62
|
|
||||||
ports:
|
|
||||||
- 8090
|
|
||||||
- 9080
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kie-wb:kie-wb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
- kie-wb
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
|
|
||||||
runtime-indexer:
|
|
||||||
image: runtime-indexer
|
|
||||||
container_name: "runtime-indexer"
|
|
||||||
hostname: indexer.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.23
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
runtime-reverse-proxy:
|
|
||||||
image: runtime-reverse-proxy
|
|
||||||
container_name: "runtime-reverse-proxy"
|
|
||||||
environment:
|
|
||||||
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
|
|
||||||
hostname: reverse-proxy.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.25
|
|
||||||
links:
|
|
||||||
- businessProxyDB:mongodb
|
|
||||||
- kafka1:kafka1
|
|
||||||
- kafka2:kafka2
|
|
||||||
- kafka3:kafka3
|
|
||||||
depends_on:
|
|
||||||
- businessProxyDB
|
|
||||||
ports:
|
|
||||||
- 9500:9500
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
businessProxyDB:
|
|
||||||
image: mongo
|
|
||||||
container_name: "businessProxyDB"
|
|
||||||
volumes:
|
|
||||||
- mongodb:/data/db
|
|
||||||
- mongodb_config:/data/configdb
|
|
||||||
hostname: mongo.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.3
|
|
||||||
ports:
|
|
||||||
- 28017:27017
|
|
||||||
command: mongod
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
kafka_manager:
|
|
||||||
image: hlebalbau/kafka-manager:stable
|
|
||||||
ports:
|
|
||||||
- "9000:9000"
|
|
||||||
hostname: kafka_manager.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.89
|
|
||||||
links:
|
|
||||||
- zoo1:zoo1
|
|
||||||
- zoo2:zoo2
|
|
||||||
- zoo3:zoo3
|
|
||||||
environment:
|
|
||||||
ZK_HOSTS: "zoo1:2181, zoo2:2182, zoo3:2183"
|
|
||||||
KAFKA_MANAGER_AUTH_ENABLED: "true"
|
|
||||||
KAFKA_MANAGER_USERNAME: admin
|
|
||||||
KAFKA_MANAGER_PASSWORD: adminpymma
|
|
||||||
command: -Dpidfile.path=/dev/null
|
|
||||||
|
|
||||||
zoo1:
|
|
||||||
image: zookeeper:3.4.9
|
|
||||||
hostname: zoo1
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.100
|
|
||||||
ports:
|
|
||||||
- "2181:2181"
|
|
||||||
environment:
|
|
||||||
ZOO_MY_ID: 1
|
|
||||||
ZOO_PORT: 2181
|
|
||||||
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
|
||||||
volumes:
|
|
||||||
- zoo1_data:/data
|
|
||||||
- zoo1_data_datalog:/datalog
|
|
||||||
|
|
||||||
zoo2:
|
|
||||||
image: zookeeper:3.4.9
|
|
||||||
hostname: zoo2
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.101
|
|
||||||
ports:
|
|
||||||
- "2182:2182"
|
|
||||||
environment:
|
|
||||||
ZOO_MY_ID: 2
|
|
||||||
ZOO_PORT: 2182
|
|
||||||
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
|
||||||
volumes:
|
|
||||||
- zoo2_data:/data
|
|
||||||
- zoo2_data_datalog:/datalog
|
|
||||||
|
|
||||||
zoo3:
|
|
||||||
image: zookeeper:3.4.9
|
|
||||||
hostname: zoo3
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.102
|
|
||||||
ports:
|
|
||||||
- "2183:2183"
|
|
||||||
environment:
|
|
||||||
ZOO_MY_ID: 3
|
|
||||||
ZOO_PORT: 2183
|
|
||||||
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
|
|
||||||
volumes:
|
|
||||||
- zoo3_data:/data
|
|
||||||
- zoo3_data_datalog:/datalog
|
|
||||||
|
|
||||||
|
|
||||||
kafka1:
|
|
||||||
image: confluentinc/cp-kafka:5.5.0
|
|
||||||
hostname: kafka1.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.103
|
|
||||||
ports:
|
|
||||||
- "9092:9092"
|
|
||||||
environment:
|
|
||||||
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
|
|
||||||
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
|
||||||
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
|
||||||
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
|
||||||
KAFKA_BROKER_ID: 1
|
|
||||||
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
|
||||||
KAFKA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
|
||||||
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
volumes:
|
|
||||||
- kafka1_data:/var/lib/kafka/data
|
|
||||||
depends_on:
|
|
||||||
- zoo1
|
|
||||||
- zoo2
|
|
||||||
- zoo3
|
|
||||||
|
|
||||||
kafka2:
|
|
||||||
image: confluentinc/cp-kafka:5.5.0
|
|
||||||
hostname: kafka2.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.104
|
|
||||||
ports:
|
|
||||||
- "9093:9093"
|
|
||||||
environment:
|
|
||||||
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka2:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093
|
|
||||||
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
|
||||||
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
|
||||||
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
|
||||||
KAFKA_BROKER_ID: 2
|
|
||||||
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
|
||||||
KAFKA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
|
||||||
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
volumes:
|
|
||||||
- kafka2_data:/var/lib/kafka/data
|
|
||||||
depends_on:
|
|
||||||
- zoo1
|
|
||||||
- zoo2
|
|
||||||
- zoo3
|
|
||||||
|
|
||||||
kafka3:
|
|
||||||
image: confluentinc/cp-kafka:5.5.0
|
|
||||||
hostname: kafka3.pymma
|
|
||||||
networks:
|
|
||||||
drools-network-dev:
|
|
||||||
ipv4_address: 172.27.1.105
|
|
||||||
ports:
|
|
||||||
- "9094:9094"
|
|
||||||
environment:
|
|
||||||
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka3:19094,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9094
|
|
||||||
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
|
|
||||||
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
|
|
||||||
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
|
|
||||||
KAFKA_BROKER_ID: 3
|
|
||||||
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
|
||||||
KAFKA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
|
|
||||||
KAFKA_MESSAGE_MAX_BYTES: 5048576
|
|
||||||
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
|
|
||||||
volumes:
|
|
||||||
- kafka3_data:/var/lib/kafka/data
|
|
||||||
depends_on:
|
|
||||||
- zoo1
|
|
||||||
- zoo2
|
|
||||||
- zoo3
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
mongodb:
|
pgsql-data:
|
||||||
mongodb_config:
|
activemqdata:
|
||||||
gitdata:
|
|
||||||
lucenedata:
|
|
||||||
kieserverdir:
|
|
||||||
zoo1_data:
|
|
||||||
zoo2_data:
|
|
||||||
zoo3_data:
|
|
||||||
zoo1_data_datalog:
|
|
||||||
zoo2_data_datalog:
|
|
||||||
zoo3_data_datalog:
|
|
||||||
kafka1_data:
|
|
||||||
kafka2_data:
|
|
||||||
kafka3_data:
|
|
||||||
|
|
|
||||||
3
docker/database/01_init.sql
Normal file
3
docker/database/01_init.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
CREATE USER kiedev WITH PASSWORD 'kiedev';
|
||||||
|
create database kiedev ;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE kiedev to kiedev;
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-admin-console-parent</artifactId>
|
<artifactId>drools-framework-admin-console-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>vaadin-addons</id>
|
<id>vaadin-addons</id>
|
||||||
<url>http://maven.vaadin.com/vaadin-addons</url>
|
<url>https://maven.vaadin.com/vaadin-addons</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
|
|
@ -65,11 +65,7 @@
|
||||||
<artifactId>poi</artifactId>
|
<artifactId>poi</artifactId>
|
||||||
<version>4.0.1</version>
|
<version>4.0.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.kafka</groupId>
|
|
||||||
<artifactId>spring-kafka</artifactId>
|
|
||||||
<version>${kafka.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-security</artifactId>
|
<artifactId>spring-boot-starter-security</artifactId>
|
||||||
|
|
@ -94,6 +90,20 @@
|
||||||
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-jms</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-client</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-broker</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.drools</groupId>
|
<groupId>org.drools</groupId>
|
||||||
<artifactId>drools-workbench-models-guided-template</artifactId>
|
<artifactId>drools-workbench-models-guided-template</artifactId>
|
||||||
|
|
@ -135,6 +145,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.vaadin</groupId>
|
<groupId>com.vaadin</groupId>
|
||||||
<artifactId>vaadin-spring-boot-starter</artifactId>
|
<artifactId>vaadin-spring-boot-starter</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.vaadin.olli</groupId>
|
<groupId>org.vaadin.olli</groupId>
|
||||||
|
|
@ -211,17 +227,11 @@
|
||||||
</exclusion>
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--dependency>
|
<dependency>
|
||||||
<groupId>org.springframework</groupId>
|
|
||||||
<artifactId>spring-context</artifactId>
|
|
||||||
<version>4.3.6.Release</version>
|
|
||||||
</dependency-->
|
|
||||||
|
|
||||||
<!--dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-core</artifactId>
|
||||||
<version>2.9.4</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency-->
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-codec</groupId>
|
<groupId>commons-codec</groupId>
|
||||||
|
|
@ -235,7 +245,7 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
@ -295,7 +305,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>${spring-boot.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jvmArguments>-Dvaadin.productionMode</jvmArguments>
|
<jvmArguments>-Dvaadin.productionMode</jvmArguments>
|
||||||
<executable>true</executable>
|
<executable>true</executable>
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,7 @@ package org.chtijbug.drools.console;
|
||||||
|
|
||||||
|
|
||||||
import com.vaadin.flow.spring.SpringServlet;
|
import com.vaadin.flow.spring.SpringServlet;
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
import org.apache.activemq.ActiveMQXAConnectionFactory;
|
||||||
import org.apache.kafka.clients.admin.AdminClientConfig;
|
|
||||||
import org.apache.kafka.clients.admin.NewTopic;
|
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
|
||||||
import org.apache.kafka.clients.producer.ProducerConfig;
|
|
||||||
import org.apache.kafka.common.config.SslConfigs;
|
|
||||||
import org.apache.kafka.common.security.auth.SecurityProtocol;
|
|
||||||
import org.apache.kafka.common.serialization.StringDeserializer;
|
|
||||||
import org.apache.kafka.common.serialization.StringSerializer;
|
|
||||||
import org.chtijbug.drools.KieContainerResponse;
|
|
||||||
import org.chtijbug.drools.ReverseProxyUpdate;
|
|
||||||
import org.chtijbug.drools.common.KafkaTopicConstants;
|
|
||||||
import org.chtijbug.drools.console.middle.DababaseContentUpdate;
|
import org.chtijbug.drools.console.middle.DababaseContentUpdate;
|
||||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||||
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
|
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
|
||||||
|
|
@ -24,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
import org.springframework.boot.web.servlet.MultipartConfigFactory;
|
import org.springframework.boot.web.servlet.MultipartConfigFactory;
|
||||||
|
|
@ -31,16 +21,15 @@ import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
import org.springframework.kafka.annotation.EnableKafka;
|
import org.springframework.jms.annotation.EnableJms;
|
||||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.kafka.core.*;
|
|
||||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
|
||||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
import org.springframework.util.unit.DataSize;
|
import org.springframework.util.unit.DataSize;
|
||||||
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
@ -51,51 +40,30 @@ import springfox.documentation.spring.web.plugins.Docket;
|
||||||
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||||
|
|
||||||
import javax.servlet.MultipartConfigElement;
|
import javax.servlet.MultipartConfigElement;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Configuration
|
//@Configuration
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableMongoRepositories("org.chtijbug.drools.proxy.persistence.repository")
|
@Configuration
|
||||||
@EnableKafka
|
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||||
|
@ComponentScan({"org.chtijbug"})
|
||||||
|
@EntityScan("org.chtijbug.drools.proxy.persistence.model")
|
||||||
@PropertySource("classpath:application.properties")
|
@PropertySource("classpath:application.properties")
|
||||||
@EnableSwagger2
|
@EnableTransactionManagement
|
||||||
@EnableScheduling
|
@EnableJms
|
||||||
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
|
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${kie-wb.baseurl}")
|
@Value("${kie-wb.baseurl}")
|
||||||
private String kiewbUrl;
|
private String kiewbUrl;
|
||||||
|
|
||||||
@Value(value = "${kafka.bootstrapAddress}")
|
@Value("${almady.jms.url}")
|
||||||
private String bootstrapAddress;
|
private String jmsUrl;
|
||||||
|
private JmsTemplate jmsTemplate;
|
||||||
|
private ActiveMQXAConnectionFactory connectionFactory;
|
||||||
|
|
||||||
@Value("${pymma.kafka.activateSsl:false}")
|
|
||||||
private boolean activateSsl;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststoreLocation:}")
|
//@Autowired
|
||||||
private String sslTruststoreLocation;
|
//private DababaseContentUpdate dababaseContentUpdate;
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststorePassword:}")
|
|
||||||
private String sslTruststorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeyPassword:}")
|
|
||||||
private String sslKeyPassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystorePassword:}")
|
|
||||||
private String sslKeystorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreLocation:}")
|
|
||||||
private String sslKeystoreLocation;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreType:}")
|
|
||||||
private String sslKeystoreType;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DababaseContentUpdate dababaseContentUpdate;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private KieBusinessCentralConnector kieBusinessCentralConnector;
|
private KieBusinessCentralConnector kieBusinessCentralConnector;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -120,7 +88,6 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|
||||||
public MultipartConfigElement multipartConfigElement() {
|
public MultipartConfigElement multipartConfigElement() {
|
||||||
|
|
||||||
MultipartConfigFactory factory = new MultipartConfigFactory();
|
MultipartConfigFactory factory = new MultipartConfigFactory();
|
||||||
|
|
@ -148,75 +115,6 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public KafkaAdmin kafkaAdmin() {
|
|
||||||
Map<String, Object> configs = new HashMap<>();
|
|
||||||
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
|
|
||||||
if (activateSsl) {
|
|
||||||
configs.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
configs.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
configs.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
return new KafkaAdmin(configs);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public NewTopic loggingTopic() {
|
|
||||||
return new NewTopic(KafkaTopicConstants.REVERSE_PROXY, 1, (short) 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ProducerFactory<String, ReverseProxyUpdate> producerFactory() {
|
|
||||||
Map<String, Object> configProps = new HashMap<>();
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
|
|
||||||
bootstrapAddress);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
|
|
||||||
StringSerializer.class);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
|
|
||||||
JsonSerializer.class);
|
|
||||||
if (activateSsl) {
|
|
||||||
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
return new DefaultKafkaProducerFactory<>(configProps);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplate() {
|
|
||||||
return new KafkaTemplate<>(producerFactory());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ConsumerFactory<String, KieContainerResponse> greetingConsumerFactory() {
|
|
||||||
Map<String, Object> props = new HashMap<>();
|
|
||||||
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
|
|
||||||
props.put(ConsumerConfig.GROUP_ID_CONFIG,"Console");
|
|
||||||
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(KieContainerResponse.class));
|
|
||||||
}
|
|
||||||
@Bean
|
|
||||||
public ConcurrentKafkaListenerContainerFactory<String, KieContainerResponse>
|
|
||||||
ruleKafkaListenerKieContainerUpdateFactory() {
|
|
||||||
|
|
||||||
ConcurrentKafkaListenerContainerFactory<String, KieContainerResponse> factory =
|
|
||||||
new ConcurrentKafkaListenerContainerFactory<>();
|
|
||||||
factory.setConsumerFactory(greetingConsumerFactory());
|
|
||||||
return factory;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ServletRegistrationBean<SpringServlet> springServlet(ApplicationContext context) {
|
public ServletRegistrationBean<SpringServlet> springServlet(ApplicationContext context) {
|
||||||
|
|
@ -228,59 +126,17 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
SpringApplication.run(DroolsSpringBootConsoleApplication.class, args);
|
SpringApplication.run(DroolsSpringBootConsoleApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean(name = "jmsTemplate")
|
||||||
@EventListener(ApplicationReadyEvent.class)
|
JmsTemplate createJmsTemplate() {
|
||||||
public void initPlatform(){
|
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||||
dababaseContentUpdate.initDatabaseIfNecessary();
|
connectionFactory.setTrustAllPackages(true);
|
||||||
/**
|
connectionFactory.setAlwaysSyncSend(true);
|
||||||
for (KieWorkbench kieWorkbench: kieWorkbenchRepository.findAll()) {
|
connectionFactory.setProducerWindowSize(1024000);
|
||||||
Map<String, KieContainerResource> kies = new HashMap<>();
|
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||||
KieServerSetup kieServerSetup = kieBusinessCentralConnector.connectToBusinessCentral("nheron", "adminnheron00@", kieWorkbench.getName(),kieWorkbench.getExternalUrl());
|
return jmsTemplate;
|
||||||
if (kieServerSetup != null && kieServerSetup.getContainers() != null) {
|
|
||||||
for (KieContainerResource kieContainerResource : kieServerSetup.getContainers()) {
|
|
||||||
kies.put(kieContainerResource.getContainerId(), kieContainerResource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
List<ProjectPersist> projectRepositories = projectRepository.findByKieWorkbench(kieWorkbench);
|
|
||||||
if (!projectRepositories.isEmpty()){
|
|
||||||
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
|
||||||
if (projectPersist.getServerNames().size() > 0) {
|
|
||||||
if (!kies.containsKey(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion())) {
|
|
||||||
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist,kieWorkbench.getExternalUrl());
|
|
||||||
} else {
|
|
||||||
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion()),kieWorkbench.getExternalUrl());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
|
||||||
if (projectPersist.getServerNames().size() > 0) {
|
|
||||||
if (!kies.containsKey(projectPersist.getContainerID())) {
|
|
||||||
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist);
|
|
||||||
} else {
|
|
||||||
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getContainerID()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerInstanceKeyList serverInstanceKeyList = kieBusinessCentralConnector.getListInstances("nheron", "adminnheron00@");
|
|
||||||
if (serverInstanceKeyList != null) {
|
|
||||||
for (ServerInstanceKey serverInstanceKey : serverInstanceKeyList.getServerInstanceKeys()) {
|
|
||||||
String serverInstanceId = serverInstanceKey.getServerInstanceId();
|
|
||||||
ContainerList containerList = kieBusinessCentralConnector.getListContainers("nheron", "adminnheron00@", serverInstanceId);
|
|
||||||
System.out.println("coucou");
|
|
||||||
for (Container container : containerList.getContainers()) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.out.println("coucou");
|
|
||||||
}
|
|
||||||
System.out.println("coucou");
|
|
||||||
|
|
||||||
}
|
|
||||||
**/
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Docket api() {
|
public Docket api() {
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLP
|
||||||
import org.drools.workbench.models.guided.template.shared.TemplateModel;
|
import org.drools.workbench.models.guided.template.shared.TemplateModel;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -84,35 +86,35 @@ public class DababaseContentUpdate {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initDatabase() {
|
private void initDatabase() {
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "process-admin"));
|
userRolesRepository.save(new UserRoles( "process-admin"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "manager"));
|
userRolesRepository.save(new UserRoles( "manager"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "admin"));
|
userRolesRepository.save(new UserRoles( "admin"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "analyst"));
|
userRolesRepository.save(new UserRoles( "analyst"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-all"));
|
userRolesRepository.save(new UserRoles( "rest-all"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "developer"));
|
userRolesRepository.save(new UserRoles( "developer"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-project"));
|
userRolesRepository.save(new UserRoles( "rest-project"));
|
||||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "user"));
|
userRolesRepository.save(new UserRoles( "user"));
|
||||||
|
|
||||||
|
|
||||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "kiemgmt"));
|
userGroupsRepository.save(new UserGroups( "kiemgmt"));
|
||||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "admingroup"));
|
userGroupsRepository.save(new UserGroups( "admingroup"));
|
||||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "demogroup"));
|
userGroupsRepository.save(new UserGroups( "demogroup"));
|
||||||
|
|
||||||
User adminUser = new User(UUID.randomUUID().toString(), "admin", "adminadmin99#");
|
User adminUser = new User( "admin", "adminadmin99#");
|
||||||
// adminUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
// adminUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
||||||
// adminUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
// adminUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
||||||
adminUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
adminUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
||||||
adminUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
adminUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||||
userRepository.save(adminUser);
|
userRepository.save(adminUser);
|
||||||
|
|
||||||
User nheronUser = new User(UUID.randomUUID().toString(), "nheron", "adminnheron00@");
|
User nheronUser = new User( "nheron", "adminnheron00@");
|
||||||
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
||||||
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
||||||
nheronUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
nheronUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
||||||
nheronUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
nheronUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||||
userRepository.save(nheronUser);
|
userRepository.save(nheronUser);
|
||||||
|
|
||||||
User apiUser = new User(UUID.randomUUID().toString(), "api-user", "api-user");
|
User apiUser = new User( "api-user", "api-user");
|
||||||
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
|
||||||
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
|
||||||
|
|
||||||
|
|
@ -120,7 +122,6 @@ public class DababaseContentUpdate {
|
||||||
userRepository.save(apiUser);
|
userRepository.save(apiUser);
|
||||||
|
|
||||||
KieWorkbench mainWorkbench = new KieWorkbench();
|
KieWorkbench mainWorkbench = new KieWorkbench();
|
||||||
mainWorkbench.setID(UUID.randomUUID().toString());
|
|
||||||
mainWorkbench.setName("demo");
|
mainWorkbench.setName("demo");
|
||||||
mainWorkbench.setExternalUrl(mainwbExtern);
|
mainWorkbench.setExternalUrl(mainwbExtern);
|
||||||
mainWorkbench.setInternalUrl(mainwbUrlIntern);
|
mainWorkbench.setInternalUrl(mainwbUrlIntern);
|
||||||
|
|
@ -144,9 +145,8 @@ public class DababaseContentUpdate {
|
||||||
Customer demCustomer = new Customer();
|
Customer demCustomer = new Customer();
|
||||||
demCustomer.setKieWorkbench(mainWorkbench);
|
demCustomer.setKieWorkbench(mainWorkbench);
|
||||||
demCustomer.setName("demoCustomer");
|
demCustomer.setName("demoCustomer");
|
||||||
demCustomer.setID(UUID.randomUUID().toString());
|
|
||||||
customerRepository.save(demCustomer);
|
customerRepository.save(demCustomer);
|
||||||
User demoUser = new User(UUID.randomUUID().toString(), "demo", "demo");
|
User demoUser = new User( "demo", "demo");
|
||||||
demoUser.getUserGroups().add(userGroupsRepository.findByName("demogroup"));
|
demoUser.getUserGroups().add(userGroupsRepository.findByName("demogroup"));
|
||||||
demoUser.getUserRoles().add(userRolesRepository.findByName("user"));
|
demoUser.getUserRoles().add(userRolesRepository.findByName("user"));
|
||||||
demoUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
demoUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||||
|
|
@ -250,5 +250,56 @@ public class DababaseContentUpdate {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@EventListener(ApplicationReadyEvent.class)
|
||||||
|
public void initPlatform(){
|
||||||
|
this.initDatabaseIfNecessary();
|
||||||
|
/**
|
||||||
|
for (KieWorkbench kieWorkbench: kieWorkbenchRepository.findAll()) {
|
||||||
|
Map<String, KieContainerResource> kies = new HashMap<>();
|
||||||
|
KieServerSetup kieServerSetup = kieBusinessCentralConnector.connectToBusinessCentral("nheron", "adminnheron00@", kieWorkbench.getName(),kieWorkbench.getExternalUrl());
|
||||||
|
if (kieServerSetup != null && kieServerSetup.getContainers() != null) {
|
||||||
|
for (KieContainerResource kieContainerResource : kieServerSetup.getContainers()) {
|
||||||
|
kies.put(kieContainerResource.getContainerId(), kieContainerResource);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<ProjectPersist> projectRepositories = projectRepository.findByKieWorkbench(kieWorkbench);
|
||||||
|
if (!projectRepositories.isEmpty()){
|
||||||
|
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
||||||
|
if (projectPersist.getServerNames().size() > 0) {
|
||||||
|
if (!kies.containsKey(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion())) {
|
||||||
|
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist,kieWorkbench.getExternalUrl());
|
||||||
|
} else {
|
||||||
|
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion()),kieWorkbench.getExternalUrl());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
||||||
|
if (projectPersist.getServerNames().size() > 0) {
|
||||||
|
if (!kies.containsKey(projectPersist.getContainerID())) {
|
||||||
|
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist);
|
||||||
|
} else {
|
||||||
|
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getContainerID()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ServerInstanceKeyList serverInstanceKeyList = kieBusinessCentralConnector.getListInstances("nheron", "adminnheron00@");
|
||||||
|
if (serverInstanceKeyList != null) {
|
||||||
|
for (ServerInstanceKey serverInstanceKey : serverInstanceKeyList.getServerInstanceKeys()) {
|
||||||
|
String serverInstanceId = serverInstanceKey.getServerInstanceId();
|
||||||
|
ContainerList containerList = kieBusinessCentralConnector.getListContainers("nheron", "adminnheron00@", serverInstanceId);
|
||||||
|
System.out.println("coucou");
|
||||||
|
for (Container container : containerList.getContainers()) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("coucou");
|
||||||
|
}
|
||||||
|
System.out.println("coucou");
|
||||||
|
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@ import org.chtijbug.guvnor.server.jaxrs.model.WorkspaceAuthData;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
import org.springframework.context.annotation.DependsOn;
|
import org.springframework.context.annotation.DependsOn;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import org.chtijbug.drools.console.service.model.UserConnected;
|
||||||
import org.chtijbug.drools.console.service.model.kie.JobStatus;
|
import org.chtijbug.drools.console.service.model.kie.JobStatus;
|
||||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||||
import org.chtijbug.drools.console.service.util.AppContext;
|
import org.chtijbug.drools.console.service.util.AppContext;
|
||||||
|
import org.chtijbug.drools.jms.ReverseProxyMessageCreator;
|
||||||
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.*;
|
import org.chtijbug.drools.proxy.persistence.model.*;
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.*;
|
import org.chtijbug.drools.proxy.persistence.repository.*;
|
||||||
|
|
@ -16,7 +17,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.DependsOn;
|
import org.springframework.context.annotation.DependsOn;
|
||||||
import org.springframework.kafka.core.KafkaTemplate;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -63,7 +64,7 @@ public class ProjectPersistService {
|
||||||
private KieWorkbenchRepository workbenchRepository;
|
private KieWorkbenchRepository workbenchRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplateProxyUpdate;
|
private JmsTemplate jmsTemplate;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserGroupsRepository userGroupsRepository;
|
private UserGroupsRepository userGroupsRepository;
|
||||||
|
|
@ -109,13 +110,13 @@ public class ProjectPersistService {
|
||||||
public UserGroups createProjectGroupIfNeeded(String projectName, KieWorkbench kieWorkbench, ProjectPersist projectPersist, UserGroups workspaceUserGroup) {
|
public UserGroups createProjectGroupIfNeeded(String projectName, KieWorkbench kieWorkbench, ProjectPersist projectPersist, UserGroups workspaceUserGroup) {
|
||||||
UserGroups userGroups = userGroupsRepository.findByName("prj_" + projectName);
|
UserGroups userGroups = userGroupsRepository.findByName("prj_" + projectName);
|
||||||
if (userGroups == null) {
|
if (userGroups == null) {
|
||||||
UserGroups projectGroup = new UserGroups(UUID.randomUUID().toString(), "prj_" + projectName);
|
UserGroups projectGroup = new UserGroups( "prj_" + projectName);
|
||||||
projectGroup.setKieWorkbench(kieWorkbench);
|
projectGroup.setKieWorkbench(kieWorkbench);
|
||||||
projectGroup.setProjectName(projectName);
|
projectGroup.setProjectName(projectName);
|
||||||
projectGroup.setProjectPersist(projectPersist);
|
projectGroup.setProjectPersist(projectPersist);
|
||||||
projectGroup.setWorkspaceUserGroup(workspaceUserGroup);
|
projectGroup.setWorkspaceUserGroup(workspaceUserGroup);
|
||||||
projectGroup = userGroupsRepository.save(projectGroup);
|
projectGroup = userGroupsRepository.save(projectGroup);
|
||||||
User groupUser = new User(UUID.randomUUID().toString(), "prj_user_" + projectName, "adminadmin99#");
|
User groupUser = new User( "prj_user_" + projectName, "adminadmin99#");
|
||||||
groupUser.getUserGroups().add(projectGroup);
|
groupUser.getUserGroups().add(projectGroup);
|
||||||
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
||||||
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||||
|
|
@ -130,11 +131,11 @@ public class ProjectPersistService {
|
||||||
public UserGroups createWorkSpaceGroupIfNeeded(String workSpaceName, KieWorkbench kieWorkbench) {
|
public UserGroups createWorkSpaceGroupIfNeeded(String workSpaceName, KieWorkbench kieWorkbench) {
|
||||||
UserGroups userGroupsWorkSpace = userGroupsRepository.findByName("wrk_" + workSpaceName);
|
UserGroups userGroupsWorkSpace = userGroupsRepository.findByName("wrk_" + workSpaceName);
|
||||||
if (userGroupsWorkSpace == null) {
|
if (userGroupsWorkSpace == null) {
|
||||||
userGroupsWorkSpace = new UserGroups(UUID.randomUUID().toString(), "wrk_" + workSpaceName);
|
userGroupsWorkSpace = new UserGroups( "wrk_" + workSpaceName);
|
||||||
userGroupsWorkSpace.setKieWorkbench(kieWorkbench);
|
userGroupsWorkSpace.setKieWorkbench(kieWorkbench);
|
||||||
userGroupsWorkSpace.setSpaceName(workSpaceName);
|
userGroupsWorkSpace.setSpaceName(workSpaceName);
|
||||||
userGroupsRepository.save(userGroupsWorkSpace);
|
userGroupsRepository.save(userGroupsWorkSpace);
|
||||||
User groupUser = new User(UUID.randomUUID().toString(), "wrk_user_" + workSpaceName, "pymma#");
|
User groupUser = new User( "wrk_user_" + workSpaceName, "pymma#");
|
||||||
groupUser.getUserGroups().add(userGroupsWorkSpace);
|
groupUser.getUserGroups().add(userGroupsWorkSpace);
|
||||||
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
||||||
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||||
|
|
@ -238,7 +239,8 @@ public class ProjectPersistService {
|
||||||
reverseProxyUpdate.getServerNames().add(hostName);
|
reverseProxyUpdate.getServerNames().add(hostName);
|
||||||
}
|
}
|
||||||
projectRepository.save(projectPersist);
|
projectRepository.save(projectPersist);
|
||||||
kafkaTemplateProxyUpdate.send(KafkaTopicConstants.REVERSE_PROXY, reverseProxyUpdate);
|
jmsTemplate.send(KafkaTopicConstants.REVERSE_PROXY, new ReverseProxyMessageCreator(reverseProxyUpdate));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,17 +49,17 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
|
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
|
||||||
dialogPerso.getClose().setVisible(false);
|
dialogPerso.getClose().setVisible(false);
|
||||||
this.uniqueID = businessTransactionPersistence.getTransactionId();
|
this.uniqueID = businessTransactionPersistence.getTransactionId();
|
||||||
this.dbID = businessTransactionPersistence.getId();
|
this.dbID = businessTransactionPersistence.getUniqueId().toString();
|
||||||
if (this.uniqueID==null){
|
if (this.uniqueID==null){
|
||||||
this.uniqueID=this.dbID;
|
this.uniqueID=this.dbID;
|
||||||
}
|
}
|
||||||
title = new Label("TransactionID : " + businessTransactionPersistence.getTransactionId() + "--" + businessTransactionPersistence.getId());
|
title = new Label("TransactionID : " + businessTransactionPersistence.getTransactionId() + "--" + businessTransactionPersistence.getUniqueId());
|
||||||
title.setClassName("creation-runtime-title");
|
title.setClassName("creation-runtime-title");
|
||||||
|
|
||||||
add(title);
|
add(title);
|
||||||
|
|
||||||
|
|
||||||
gridActionLogging = new GridActionLogging(businessTransactionPersistence.getId());
|
gridActionLogging = new GridActionLogging(businessTransactionPersistence.getUniqueId().toString());
|
||||||
Anchor anchor = new Anchor(new StreamResource(uniqueID.trim().toLowerCase()+".csv", this::getInputStream), "Export as CSV");
|
Anchor anchor = new Anchor(new StreamResource(uniqueID.trim().toLowerCase()+".csv", this::getInputStream), "Export as CSV");
|
||||||
anchor.getElement().setAttribute("download", true);
|
anchor.getElement().setAttribute("download", true);
|
||||||
add(gridActionLogging, anchor);
|
add(gridActionLogging, anchor);
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,14 @@ adminConsole.tmpdir=/tmp
|
||||||
org.kie.server.controller=${PYMMA_KIE_CONTROLLER:http://localhost:18080/kie-wb/rest}
|
org.kie.server.controller=${PYMMA_KIE_CONTROLLER:http://localhost:18080/kie-wb/rest}
|
||||||
org.kie.server.location=${PYMMA_KIE_LOCATION:http://localhost:8200/api/server}
|
org.kie.server.location=${PYMMA_KIE_LOCATION:http://localhost:8200/api/server}
|
||||||
org.kie.server.id=${PYMMA_KIE_SERVER_ID:pymmaConsole2}
|
org.kie.server.id=${PYMMA_KIE_SERVER_ID:pymmaConsole2}
|
||||||
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
|
|
||||||
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
|
|
||||||
|
|
||||||
|
|
||||||
|
almady.jms.url=tcp://localhost:1617
|
||||||
|
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||||
|
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
|
||||||
|
spring.jpa.properties.hibernate.dialect= org.chtijbug.drools.proxy.persistence.dialect.JSONBPostgreSQLDialect
|
||||||
|
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
|
||||||
|
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
|
||||||
|
spring.jpa.hibernate.ddl-auto=update
|
||||||
spring.servlet.multipart.enabled=false
|
spring.servlet.multipart.enabled=false
|
||||||
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
||||||
|
|
||||||
|
|
@ -32,6 +36,6 @@ spring.servlet.multipart.max-request-size=100MB
|
||||||
# Server properties
|
# Server properties
|
||||||
server.tomcat.max-http-post-size=100000000
|
server.tomcat.max-http-post-size=100000000
|
||||||
server.tomcat.max-swallow-size=100MB
|
server.tomcat.max-swallow-size=100MB
|
||||||
|
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
|
||||||
|
springfox.documentation.auto-startup= false
|
||||||
secretkey=eRaYY7Wo24sDqKSX3IM9ASGmdGPmkTd9jo1QTy4b7P9Ze5_9hKolVX8xNrQDcNRfVEdTZNOuOyqEGhXEbdJI-ZQ19k_o9MI0y3eZN2lp9jow55FfXMiINEdt1XR85VipRLSOkT6kSpzs2x-jbLDiz9iFVzkd81YKxMgPA7VfZeQUm4n-mOmnWMaVX30zGFU4L3oPBctYKkl4dYfqYWqRNfrgPJVi5DGFjywgxx0ASEiJHtV72paI3fDR2XwlSkyhhmY-ICjCRmsJN4fX1pdoL8a18-aQrvyu4j0Os6dVPYIoPvvY0SAZtWYKHfM15g7A3HD4cVREf9cUsprCRK93w
|
secretkey=eRaYY7Wo24sDqKSX3IM9ASGmdGPmkTd9jo1QTy4b7P9Ze5_9hKolVX8xNrQDcNRfVEdTZNOuOyqEGhXEbdJI-ZQ19k_o9MI0y3eZN2lp9jow55FfXMiINEdt1XR85VipRLSOkT6kSpzs2x-jbLDiz9iFVzkd81YKxMgPA7VfZeQUm4n-mOmnWMaVX30zGFU4L3oPBctYKkl4dYfqYWqRNfrgPJVi5DGFjywgxx0ASEiJHtV72paI3fDR2XwlSkyhhmY-ICjCRmsJN4fX1pdoL8a18-aQrvyu4j0Os6dVPYIoPvvY0SAZtWYKHfM15g7A3HD4cVREf9cUsprCRK93w
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-admin-console-parent</artifactId>
|
<artifactId>drools-framework-admin-console-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.chtijbug.drools.console.dto;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class VariableDataList {
|
||||||
|
private List<VariableData> rows = new ArrayList<>();
|
||||||
|
|
||||||
|
public List<VariableData> getRows() {
|
||||||
|
return rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRows(List<VariableData> rows) {
|
||||||
|
this.rows = rows;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package org.chtijbug.drools.console.dto;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class VariableDefinitionList {
|
||||||
|
private List<VariableDefinition> variables = new ArrayList<>();
|
||||||
|
|
||||||
|
public List<VariableDefinition> getVariables() {
|
||||||
|
return variables;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVariables(List<VariableDefinition> variables) {
|
||||||
|
this.variables = variables;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
@ -80,6 +80,7 @@
|
||||||
<target>${pymma.java.version}</target>
|
<target>${pymma.java.version}</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -38,6 +38,11 @@
|
||||||
<artifactId>joda-time</artifactId>
|
<artifactId>joda-time</artifactId>
|
||||||
<version>1.6.2</version>
|
<version>1.6.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.xml.bind</groupId>
|
||||||
|
<artifactId>jaxb-api</artifactId>
|
||||||
|
<version>${jaxb.api.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-examples</artifactId>
|
<artifactId>drools-framework-examples</artifactId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-examples</artifactId>
|
<artifactId>drools-framework-examples</artifactId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>drools-framework-swimmingpool-web-ui</artifactId>
|
<artifactId>drools-framework-swimmingpool-web-ui</artifactId>
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
<version>2.9.8</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>kie-drools-framework-rest-backend</artifactId>
|
<artifactId>kie-drools-framework-rest-backend</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>kie-wb</artifactId>
|
<artifactId>kie-wb</artifactId>
|
||||||
|
|
||||||
|
|
@ -151,6 +151,7 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ public class DummyFact {
|
||||||
private DummyFact property;
|
private DummyFact property;
|
||||||
private List<DummyFact> listOfFacts;
|
private List<DummyFact> listOfFacts;
|
||||||
|
|
||||||
|
public DummyFact() {
|
||||||
|
}
|
||||||
|
|
||||||
DummyFact(String name) {
|
DummyFact(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>drools-framework-runtime-entity</artifactId>
|
<artifactId>drools-framework-runtime-entity</artifactId>
|
||||||
|
|
@ -100,5 +100,15 @@
|
||||||
<version>1.3.2</version>
|
<version>1.3.2</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-jms</artifactId>
|
||||||
|
<version>${spring.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.jms</groupId>
|
||||||
|
<artifactId>javax.jms-api</artifactId>
|
||||||
|
<version>2.0.1</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
package org.chtijbug.drools;
|
package org.chtijbug.drools;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by nheron on 07/07/2016.
|
* Created by nheron on 07/07/2016.
|
||||||
*/
|
*/
|
||||||
public class ChtijbugObjectRequest {
|
public class ChtijbugObjectRequest implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
private String transactionID;
|
private String transactionID;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package org.chtijbug.drools;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ReverseProxyUpdate {
|
public class ReverseProxyUpdate implements java.io.Serializable{
|
||||||
private String path;
|
private String path;
|
||||||
|
|
||||||
private String tokenUUID;
|
private String tokenUUID;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.chtijbug.drools.jms;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.ChtijbugObjectRequest;
|
||||||
|
import org.springframework.jms.core.MessageCreator;
|
||||||
|
|
||||||
|
import javax.jms.JMSException;
|
||||||
|
import javax.jms.Message;
|
||||||
|
import javax.jms.ObjectMessage;
|
||||||
|
import javax.jms.Session;
|
||||||
|
|
||||||
|
public class ChtijbugObjectRequestMessageCreator implements MessageCreator {
|
||||||
|
|
||||||
|
private ChtijbugObjectRequest chtijbugObjectRequest;
|
||||||
|
|
||||||
|
public ChtijbugObjectRequestMessageCreator(ChtijbugObjectRequest chtijbugObjectRequest) {
|
||||||
|
this.chtijbugObjectRequest = chtijbugObjectRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Message createMessage(Session session) throws JMSException {
|
||||||
|
ObjectMessage objectMessage = session.createObjectMessage();
|
||||||
|
objectMessage.setObject(chtijbugObjectRequest);
|
||||||
|
return objectMessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.chtijbug.drools.jms;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.ReverseProxyUpdate;
|
||||||
|
import org.springframework.jms.core.MessageCreator;
|
||||||
|
import javax.jms.JMSException;
|
||||||
|
import javax.jms.Message;
|
||||||
|
import javax.jms.ObjectMessage;
|
||||||
|
import javax.jms.Session;
|
||||||
|
|
||||||
|
public class ReverseProxyMessageCreator implements MessageCreator {
|
||||||
|
|
||||||
|
|
||||||
|
private ReverseProxyUpdate reverseProxyUpdate;
|
||||||
|
|
||||||
|
public ReverseProxyMessageCreator(ReverseProxyUpdate reverseProxyUpdate) {
|
||||||
|
this.reverseProxyUpdate = reverseProxyUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Message createMessage(Session session) throws JMSException {
|
||||||
|
ObjectMessage objectMessage = session.createObjectMessage();
|
||||||
|
objectMessage.setObject(reverseProxyUpdate);
|
||||||
|
return objectMessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
@ -145,6 +145,11 @@
|
||||||
<target>${pymma.java.version}</target>
|
<target>${pymma.java.version}</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-war-plugin</artifactId>
|
||||||
|
<version>3.3.2</version>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
@ -90,17 +90,17 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
<version>2.8.9</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
<version>2.8.9</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.module</groupId>
|
<groupId>com.fasterxml.jackson.module</groupId>
|
||||||
<artifactId>jackson-module-jaxb-annotations</artifactId>
|
<artifactId>jackson-module-jaxb-annotations</artifactId>
|
||||||
<version>2.10.4</version>
|
<version>${jackson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ch.qos.logback</groupId>
|
<groupId>ch.qos.logback</groupId>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
@ -27,28 +27,26 @@
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-jms</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.kafka</groupId>
|
<groupId>org.apache.activemq</groupId>
|
||||||
<artifactId>spring-kafka</artifactId>
|
<artifactId>activemq-client</artifactId>
|
||||||
<version>${kafka.version}</version>
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-broker</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- kie-server -->
|
|
||||||
<!--dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
|
||||||
<artifactId>jackson-databind</artifactId>
|
|
||||||
<version>2.9.7</version>
|
|
||||||
</dependency-->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -16,95 +16,63 @@
|
||||||
*/
|
*/
|
||||||
package org.chtijbug.drools.indexer;
|
package org.chtijbug.drools.indexer;
|
||||||
|
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
import org.apache.activemq.ActiveMQXAConnectionFactory;;
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
|
||||||
import org.apache.kafka.common.config.SslConfigs;
|
|
||||||
import org.apache.kafka.common.security.auth.SecurityProtocol;
|
|
||||||
import org.apache.kafka.common.serialization.StringDeserializer;
|
|
||||||
import org.chtijbug.drools.ChtijbugObjectRequest;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
import org.springframework.kafka.annotation.EnableKafka;
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
import org.springframework.jms.annotation.EnableJms;
|
||||||
import org.springframework.kafka.core.ConsumerFactory;
|
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||||
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
// CHECKSTYLE:OFF
|
// CHECKSTYLE:OFF
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||||
@EnableKafka
|
@ComponentScan({"org.chtijbug"})
|
||||||
|
@EntityScan("org.chtijbug.drools.proxy.persistence.model")
|
||||||
|
@PropertySource("classpath:application.properties")
|
||||||
|
@EnableTransactionManagement
|
||||||
|
@EnableJms
|
||||||
public class DroolsBusinessIndexerServer {
|
public class DroolsBusinessIndexerServer {
|
||||||
public final static String LOGING_TOPIC ="logging";
|
public final static String LOGING_TOPIC ="logging";
|
||||||
@Value(value = "${kafka.bootstrapAddress}")
|
|
||||||
private String bootstrapAddress;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.activateSsl:false}")
|
@Value("${almady.jms.url}")
|
||||||
private boolean activateSsl;
|
private String jmsUrl;
|
||||||
|
private JmsTemplate jmsTemplate;
|
||||||
|
private ActiveMQXAConnectionFactory connectionFactory;
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststoreLocation:}")
|
|
||||||
private String sslTruststoreLocation;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststorePassword:}")
|
|
||||||
private String sslTruststorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeyPassword:}")
|
|
||||||
private String sslKeyPassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystorePassword:}")
|
|
||||||
private String sslKeystorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreLocation:}")
|
|
||||||
private String sslKeystoreLocation;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreType:}")
|
|
||||||
private String sslKeystoreType;
|
|
||||||
|
|
||||||
@Value(value = "${kafka.index.groupid})")
|
|
||||||
private String groupID;
|
|
||||||
|
|
||||||
public ConsumerFactory<String, ChtijbugObjectRequest> greetingConsumerFactory() {
|
|
||||||
Map<String, Object> props = new HashMap<>();
|
|
||||||
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
|
|
||||||
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupID);
|
|
||||||
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
|
|
||||||
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
|
|
||||||
props.put(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, 4655826);
|
|
||||||
if (activateSsl) {
|
|
||||||
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(ChtijbugObjectRequest.class));
|
|
||||||
}
|
|
||||||
@Bean
|
@Bean
|
||||||
public ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest>
|
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||||
ruleKafkaListenerContainerFactory() {
|
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||||
|
connectionFactory.setTrustAllPackages(true);
|
||||||
ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest> factory =
|
connectionFactory.setAlwaysSyncSend(true);
|
||||||
new ConcurrentKafkaListenerContainerFactory<>();
|
connectionFactory.setProducerWindowSize(1024000);
|
||||||
factory.setConsumerFactory(greetingConsumerFactory());
|
DefaultJmsListenerContainerFactory factory
|
||||||
|
= new DefaultJmsListenerContainerFactory();
|
||||||
|
factory.setConnectionFactory(connectionFactory);
|
||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
@Bean(name = "jmsTemplate")
|
||||||
|
JmsTemplate createJmsTemplate() {
|
||||||
|
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||||
|
connectionFactory.setTrustAllPackages(true);
|
||||||
|
connectionFactory.setAlwaysSyncSend(true);
|
||||||
|
connectionFactory.setProducerWindowSize(1024000);
|
||||||
|
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||||
|
return jmsTemplate;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Main method to start the application.
|
* Main method to start the application.
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.setProperty(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "41943040");
|
|
||||||
SpringApplication.run(DroolsBusinessIndexerServer.class, args);
|
SpringApplication.run(DroolsBusinessIndexerServer.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import org.chtijbug.drools.proxy.persistence.repository.BusinessTransactionPersi
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.kafka.annotation.KafkaListener;
|
import org.springframework.jms.annotation.JmsListener;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -29,9 +29,7 @@ public class StoreLoggingService {
|
||||||
private BusinessTransactionActionRepository actionRepository;
|
private BusinessTransactionActionRepository actionRepository;
|
||||||
|
|
||||||
|
|
||||||
@KafkaListener(
|
@JmsListener(destination = KafkaTopicConstants.LOGING_TOPIC,containerFactory = "jmsListenerContainerFactory")
|
||||||
topics = KafkaTopicConstants.LOGING_TOPIC, groupId = "${kafka.index.groupid}",
|
|
||||||
containerFactory = "ruleKafkaListenerContainerFactory")
|
|
||||||
public void store(ChtijbugObjectRequest result) {
|
public void store(ChtijbugObjectRequest result) {
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
|
|
||||||
|
|
@ -52,7 +50,7 @@ public class StoreLoggingService {
|
||||||
item.setSecond(second);
|
item.setSecond(second);
|
||||||
item.setMillis(millis);
|
item.setMillis(millis);
|
||||||
item.setTransactionId(id);
|
item.setTransactionId(id);
|
||||||
item.setId(UUID.randomUUID().toString());
|
|
||||||
long ii = 1;
|
long ii = 1;
|
||||||
|
|
||||||
SessionContext sessionContext = result.getSessionLogging();
|
SessionContext sessionContext = result.getSessionLogging();
|
||||||
|
|
@ -68,8 +66,8 @@ public class StoreLoggingService {
|
||||||
BusinessTransactionAction businessTransactionoutput = null;
|
BusinessTransactionAction businessTransactionoutput = null;
|
||||||
for (Fact fact : sessionExecution.getFacts()) {
|
for (Fact fact : sessionExecution.getFacts()) {
|
||||||
BusinessTransactionAction businessTransactionAction = new BusinessTransactionAction();
|
BusinessTransactionAction businessTransactionAction = new BusinessTransactionAction();
|
||||||
businessTransactionAction.setId(UUID.randomUUID().toString());
|
|
||||||
businessTransactionAction.setBusinessTransactionId(item.getId());
|
businessTransactionAction.setBusinessTransactionId(item.getTransactionId());
|
||||||
if (fact.getFactType().equals(FactType.INPUTDATA)) {
|
if (fact.getFactType().equals(FactType.INPUTDATA)) {
|
||||||
businessTransactionAction.setEventType(EventType.INPUT);
|
businessTransactionAction.setEventType(EventType.INPUT);
|
||||||
businessTransactionAction.setInputData(fact);
|
businessTransactionAction.setInputData(fact);
|
||||||
|
|
@ -108,18 +106,18 @@ public class StoreLoggingService {
|
||||||
businessTransactionActionStart.setEventType(EventType.STARTPROCESS);
|
businessTransactionActionStart.setEventType(EventType.STARTPROCESS);
|
||||||
businessTransactionActionStart.setProcessID(processExecution.getProcessId());
|
businessTransactionActionStart.setProcessID(processExecution.getProcessId());
|
||||||
|
|
||||||
businessTransactionActionStart.setBusinessTransactionId(item.getId());
|
businessTransactionActionStart.setBusinessTransactionId(item.getTransactionId());
|
||||||
businessTransactionActionStart.setEventNumber(ii++);
|
businessTransactionActionStart.setEventNumber(ii++);
|
||||||
businessTransactionActionStart.setId(UUID.randomUUID().toString());
|
|
||||||
actions.put(businessTransactionActionStart.getEventNumber(), businessTransactionActionStart);
|
actions.put(businessTransactionActionStart.getEventNumber(), businessTransactionActionStart);
|
||||||
for (RuleflowGroup rfg : processExecution.getRuleflowGroups()) {
|
for (RuleflowGroup rfg : processExecution.getRuleflowGroups()) {
|
||||||
BusinessTransactionAction businessTransactionActionStartRFG = new BusinessTransactionAction();
|
BusinessTransactionAction businessTransactionActionStartRFG = new BusinessTransactionAction();
|
||||||
|
|
||||||
businessTransactionActionStartRFG.setBusinessTransactionId(item.getId());
|
businessTransactionActionStartRFG.setBusinessTransactionId(item.getTransactionId());
|
||||||
businessTransactionActionStartRFG.setEventType(EventType.STARTRULEFLOWGROUP);
|
businessTransactionActionStartRFG.setEventType(EventType.STARTRULEFLOWGROUP);
|
||||||
businessTransactionActionStartRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
businessTransactionActionStartRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||||
businessTransactionActionStartRFG.setEventNumber(ii++);
|
businessTransactionActionStartRFG.setEventNumber(ii++);
|
||||||
businessTransactionActionStartRFG.setId(UUID.randomUUID().toString());
|
|
||||||
actions.put(businessTransactionActionStartRFG.getEventNumber(), businessTransactionActionStartRFG);
|
actions.put(businessTransactionActionStartRFG.getEventNumber(), businessTransactionActionStartRFG);
|
||||||
for (RuleExecution ruleExecution : rfg.getRuleExecutionList()) {
|
for (RuleExecution ruleExecution : rfg.getRuleExecutionList()) {
|
||||||
BusinessTransactionAction businessTransactionActionRule = new BusinessTransactionAction();
|
BusinessTransactionAction businessTransactionActionRule = new BusinessTransactionAction();
|
||||||
|
|
@ -127,27 +125,27 @@ public class StoreLoggingService {
|
||||||
businessTransactionActionRule.setEventType(EventType.RULE);
|
businessTransactionActionRule.setEventType(EventType.RULE);
|
||||||
businessTransactionActionRule.setRuleflowGroupName(rfg.getRuleflowGroup());
|
businessTransactionActionRule.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||||
businessTransactionActionRule.setRuleExecution(ruleExecution);
|
businessTransactionActionRule.setRuleExecution(ruleExecution);
|
||||||
businessTransactionActionRule.setBusinessTransactionId(item.getId());
|
businessTransactionActionRule.setBusinessTransactionId(item.getTransactionId());
|
||||||
businessTransactionActionRule.setProcessID(processExecution.getProcessId());
|
businessTransactionActionRule.setProcessID(processExecution.getProcessId());
|
||||||
businessTransactionActionRule.setEventNumber(ii++);
|
businessTransactionActionRule.setEventNumber(ii++);
|
||||||
businessTransactionActionRule.setId(UUID.randomUUID().toString());
|
|
||||||
actions.put(businessTransactionActionRule.getEventNumber(), businessTransactionActionRule);
|
actions.put(businessTransactionActionRule.getEventNumber(), businessTransactionActionRule);
|
||||||
}
|
}
|
||||||
BusinessTransactionAction businessTransactionActionSTOPRFG = new BusinessTransactionAction();
|
BusinessTransactionAction businessTransactionActionSTOPRFG = new BusinessTransactionAction();
|
||||||
|
|
||||||
businessTransactionActionSTOPRFG.setEventType(EventType.STOPTRULEFLOWGROUP);
|
businessTransactionActionSTOPRFG.setEventType(EventType.STOPTRULEFLOWGROUP);
|
||||||
businessTransactionActionSTOPRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
businessTransactionActionSTOPRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||||
businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getId());
|
businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getTransactionId());
|
||||||
businessTransactionActionSTOPRFG.setEventNumber(ii++);
|
businessTransactionActionSTOPRFG.setEventNumber(ii++);
|
||||||
businessTransactionActionSTOPRFG.setId(UUID.randomUUID().toString());
|
|
||||||
actions.put(businessTransactionActionSTOPRFG.getEventNumber(), businessTransactionActionSTOPRFG);
|
actions.put(businessTransactionActionSTOPRFG.getEventNumber(), businessTransactionActionSTOPRFG);
|
||||||
}
|
}
|
||||||
BusinessTransactionAction businessTransactionActionEnd = new BusinessTransactionAction();
|
BusinessTransactionAction businessTransactionActionEnd = new BusinessTransactionAction();
|
||||||
businessTransactionActionEnd.setEventType(EventType.STOPPROCESS);
|
businessTransactionActionEnd.setEventType(EventType.STOPPROCESS);
|
||||||
businessTransactionActionEnd.setProcessID(processExecution.getProcessId());
|
businessTransactionActionEnd.setProcessID(processExecution.getProcessId());
|
||||||
businessTransactionActionEnd.setBusinessTransactionId(item.getId());
|
businessTransactionActionEnd.setBusinessTransactionId(item.getTransactionId());
|
||||||
businessTransactionActionEnd.setEventNumber(ii++);
|
businessTransactionActionEnd.setEventNumber(ii++);
|
||||||
businessTransactionActionEnd.setId(UUID.randomUUID().toString());
|
|
||||||
|
|
||||||
actions.put(businessTransactionActionEnd.getEventNumber(), businessTransactionActionEnd);
|
actions.put(businessTransactionActionEnd.getEventNumber(), businessTransactionActionEnd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,14 @@
|
||||||
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
server.port=${port:5547}
|
||||||
|
|
||||||
kieserver.login=${PYMMA_KIE_SERVEUR_LOGIN:kieserver}
|
kieserver.login=${PYMMA_KIE_SERVEUR_LOGIN:kieserver}
|
||||||
kieserver.password=${PYMMA_KIE_SERVEUR_PASSWORD:kieserver1}
|
kieserver.password=${PYMMA_KIE_SERVEUR_PASSWORD:kieserver1}
|
||||||
kafka.index.groupid=${PYMMA_KIE_SERVEUR_GROUPID:index1}
|
|
||||||
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
|
|
||||||
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
|
|
||||||
|
|
||||||
server.port=${port:5547}
|
almady.jms.url=tcp://localhost:1617
|
||||||
|
|
||||||
|
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
|
||||||
|
|
||||||
|
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
|
||||||
|
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
|
||||||
|
spring.jpa.properties.hibernate.dialect= org.chtijbug.drools.proxy.persistence.dialect.JSONBPostgreSQLDialect
|
||||||
|
spring.jpa.hibernate.ddl-auto=update
|
||||||
|
|
||||||
|
|
||||||
pymma.kafka.activateSsl=${PYMMA_KAFKA_ACTIVATE_SSL:false}
|
|
||||||
pymma.kafka.sslTruststoreLocation=${PYMMA_KAFKA_SSL_TRUSTSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslTruststorePassword=${PYMMA_KAFKA_SSL_TRUSTSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeyPassword=${PYMMA_KAFKA_KEY_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystorePassword=${PYMMA_KAFKA_SSL_KEYSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystoreLocation=${PYMMA_KAFKA_SSL_KEYSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslKeystoreType=${PYMMA_KAFKA_SSL_KEYSTORE_TYPE:}
|
|
||||||
|
|
@ -19,12 +19,13 @@
|
||||||
-->
|
-->
|
||||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>drools-framework-business-proxy-app</artifactId>
|
<artifactId>drools-framework-business-proxy-app</artifactId>
|
||||||
|
|
@ -54,7 +55,7 @@
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Spring Boot -->
|
<!-- Spring Boot -->
|
||||||
|
|
@ -114,12 +115,21 @@
|
||||||
<artifactId>camel-test</artifactId>
|
<artifactId>camel-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.kafka</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-kafka</artifactId>
|
<artifactId>spring-jms</artifactId>
|
||||||
<version>${kafka.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-client</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-broker</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- kie-server -->
|
<!-- kie-server -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
|
|
|
||||||
|
|
@ -16,164 +16,52 @@
|
||||||
*/
|
*/
|
||||||
package org.chtijbug.drools.proxy;
|
package org.chtijbug.drools.proxy;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import org.apache.activemq.ActiveMQXAConnectionFactory;
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
|
||||||
import org.apache.kafka.clients.admin.AdminClientConfig;
|
|
||||||
import org.apache.kafka.clients.admin.NewTopic;
|
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
|
||||||
import org.apache.kafka.clients.producer.ProducerConfig;
|
|
||||||
import org.apache.kafka.common.config.SslConfigs;
|
|
||||||
import org.apache.kafka.common.security.auth.SecurityProtocol;
|
|
||||||
import org.apache.kafka.common.serialization.StringSerializer;
|
|
||||||
import org.chtijbug.drools.ChtijbugObjectRequest;
|
|
||||||
import org.chtijbug.drools.KieContainerResponse;
|
|
||||||
import org.chtijbug.drools.common.KafkaTopicConstants;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.kafka.annotation.EnableKafka;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
import org.springframework.kafka.core.KafkaAdmin;
|
import org.springframework.jms.annotation.EnableJms;
|
||||||
import org.springframework.kafka.core.KafkaTemplate;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.kafka.core.ProducerFactory;
|
|
||||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
// CHECKSTYLE:OFF
|
// CHECKSTYLE:OFF
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableKafka
|
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
|
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||||
|
@ComponentScan({"org.chtijbug"})
|
||||||
|
@EntityScan("org.chtijbug.drools.proxy.persistence.model")
|
||||||
|
@PropertySource("classpath:application.properties")
|
||||||
|
@EnableTransactionManagement
|
||||||
|
@EnableJms
|
||||||
public class DroolsBusinessProxyServer {
|
public class DroolsBusinessProxyServer {
|
||||||
|
|
||||||
@Value(value = "${org.kie.server.id}")
|
|
||||||
private String groupID;
|
|
||||||
|
|
||||||
@Value(value = "${kafka.bootstrapAddress}")
|
|
||||||
private String bootstrapAddress;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.activateSsl:false}")
|
|
||||||
private boolean activateSsl;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststoreLocation:}")
|
|
||||||
private String sslTruststoreLocation;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststorePassword:}")
|
|
||||||
private String sslTruststorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeyPassword:}")
|
|
||||||
private String sslKeyPassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystorePassword:}")
|
|
||||||
private String sslKeystorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreLocation:}")
|
|
||||||
private String sslKeystoreLocation;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreType:}")
|
|
||||||
private String sslKeystoreType;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public KafkaAdmin kafkaAdmin() {
|
|
||||||
Map<String, Object> configs = new HashMap<>();
|
|
||||||
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
|
|
||||||
if (activateSsl) {
|
|
||||||
configs.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
configs.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
configs.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
configs.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
return new KafkaAdmin(configs);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public NewTopic loggingTopic() {
|
|
||||||
return new NewTopic(KafkaTopicConstants.LOGING_TOPIC, 1, (short) 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@Value("${almady.jms.url}")
|
||||||
@Bean
|
private String jmsUrl;
|
||||||
public ProducerFactory<String, ChtijbugObjectRequest> producerFactory() {
|
private JmsTemplate jmsTemplate;
|
||||||
Map<String, Object> configProps = new HashMap<>();
|
private ActiveMQXAConnectionFactory connectionFactory;
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
|
|
||||||
bootstrapAddress);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
|
|
||||||
StringSerializer.class);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
|
|
||||||
JsonSerializer.class);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 41943040);
|
|
||||||
|
|
||||||
if (activateSsl) {
|
|
||||||
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
objectMapper.registerModule(new JavaTimeModule());
|
|
||||||
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
|
||||||
new DefaultKafkaProducerFactory<>(configProps, new StringSerializer(), new JsonSerializer<>(objectMapper));
|
|
||||||
return new DefaultKafkaProducerFactory<>(configProps);
|
|
||||||
}
|
|
||||||
@Bean
|
|
||||||
public ProducerFactory<String, KieContainerResponse> producerKieContainerResponseactory() {
|
|
||||||
Map<String, Object> configProps = new HashMap<>();
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
|
|
||||||
bootstrapAddress);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
|
|
||||||
StringSerializer.class);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
|
|
||||||
JsonSerializer.class);
|
|
||||||
configProps.put(
|
|
||||||
ProducerConfig.MAX_REQUEST_SIZE_CONFIG,"41943040");
|
|
||||||
if (activateSsl) {
|
|
||||||
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
configProps.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
DefaultKafkaProducerFactory<String, KieContainerResponse> producer = new DefaultKafkaProducerFactory<>(configProps);
|
|
||||||
producer.transactionCapable();
|
|
||||||
producer.setTransactionIdPrefix("trans");
|
|
||||||
return producer;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(name="deployFinish")
|
|
||||||
public NewTopic actionDeployResponseTopic() {
|
|
||||||
return new NewTopic(KafkaTopicConstants.RESPONSE_DEPLOY_TOPIC, 1, (short) 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@Bean(name = "jmsTemplate")
|
||||||
@Bean
|
JmsTemplate createJmsTemplate() {
|
||||||
public KafkaTemplate<String, ChtijbugObjectRequest> kafkaTemplate() {
|
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||||
return new KafkaTemplate<>(producerFactory());
|
connectionFactory.setTrustAllPackages(true);
|
||||||
|
connectionFactory.setAlwaysSyncSend(true);
|
||||||
|
connectionFactory.setProducerWindowSize(1024000);
|
||||||
|
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||||
|
return jmsTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -190,7 +78,7 @@ public class DroolsBusinessProxyServer {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.setProperty(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "41943040");
|
|
||||||
SpringApplication.run(DroolsBusinessProxyServer.class, args);
|
SpringApplication.run(DroolsBusinessProxyServer.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ package org.chtijbug.drools.proxy.service;
|
||||||
|
|
||||||
import org.apache.camel.CamelContext;
|
import org.apache.camel.CamelContext;
|
||||||
import org.apache.camel.Route;
|
import org.apache.camel.Route;
|
||||||
import org.apache.kafka.clients.admin.NewTopic;
|
|
||||||
import org.chtijbug.drools.proxy.PlatfomKieServerStateRepository;
|
import org.chtijbug.drools.proxy.PlatfomKieServerStateRepository;
|
||||||
import org.chtijbug.drools.proxy.camel.DroolsRouter;
|
import org.chtijbug.drools.proxy.camel.DroolsRouter;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.ContainerPojoPersist;
|
import org.chtijbug.drools.proxy.persistence.model.ContainerPojoPersist;
|
||||||
|
|
@ -94,9 +93,7 @@ public class KieServiceCommon {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Qualifier("deployFinish")
|
|
||||||
@Autowired
|
|
||||||
NewTopic responseTopic;
|
|
||||||
|
|
||||||
public KieServiceCommon() {
|
public KieServiceCommon() {
|
||||||
//Needed
|
//Needed
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,14 @@ package org.chtijbug.drools.proxy.service;
|
||||||
|
|
||||||
import org.chtijbug.drools.ChtijbugObjectRequest;
|
import org.chtijbug.drools.ChtijbugObjectRequest;
|
||||||
import org.chtijbug.drools.common.KafkaTopicConstants;
|
import org.chtijbug.drools.common.KafkaTopicConstants;
|
||||||
|
import org.chtijbug.drools.jms.ChtijbugObjectRequestMessageCreator;
|
||||||
|
import org.chtijbug.drools.jms.ReverseProxyMessageCreator;
|
||||||
import org.chtijbug.drools.kieserver.extension.KieServerAddOnElement;
|
import org.chtijbug.drools.kieserver.extension.KieServerAddOnElement;
|
||||||
import org.chtijbug.drools.kieserver.extension.KieServerLoggingDefinition;
|
import org.chtijbug.drools.kieserver.extension.KieServerLoggingDefinition;
|
||||||
import org.kie.server.services.api.KieContainerInstance;
|
import org.kie.server.services.api.KieContainerInstance;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.kafka.core.KafkaTemplate;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
@ -21,7 +23,7 @@ public class RuleService {
|
||||||
private KieServiceCommon kieServiceCommon;
|
private KieServiceCommon kieServiceCommon;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private KafkaTemplate<String, ChtijbugObjectRequest> kafkaTemplateLogging;
|
private JmsTemplate jmsTemplate;
|
||||||
|
|
||||||
public RuleService() {
|
public RuleService() {
|
||||||
logger.info("Rule Service created");
|
logger.info("Rule Service created");
|
||||||
|
|
@ -58,7 +60,7 @@ public class RuleService {
|
||||||
}
|
}
|
||||||
chtijbugObjectRequest.setTransactionEndTimeStamp(LocalDateTime.now());
|
chtijbugObjectRequest.setTransactionEndTimeStamp(LocalDateTime.now());
|
||||||
try {
|
try {
|
||||||
kafkaTemplateLogging.send(KafkaTopicConstants.LOGING_TOPIC,chtijbugObjectRequest);
|
jmsTemplate.send(KafkaTopicConstants.LOGING_TOPIC, new ChtijbugObjectRequestMessageCreator(chtijbugObjectRequest));
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
logger.error(" kafkaTemplateLogging.send",e);
|
logger.error(" kafkaTemplateLogging.send",e);
|
||||||
}finally {
|
}finally {
|
||||||
|
|
|
||||||
|
|
@ -19,18 +19,13 @@ server.port=8090
|
||||||
camel.springboot.name=MyCamel
|
camel.springboot.name=MyCamel
|
||||||
# to reconfigure the camel servlet context-path mapping to use /api/* instead of /camel/*
|
# to reconfigure the camel servlet context-path mapping to use /api/* instead of /camel/*
|
||||||
camel.component.servlet.mapping.context-path=/api/*
|
camel.component.servlet.mapping.context-path=/api/*
|
||||||
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
|
|
||||||
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
|
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||||
|
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
|
||||||
|
almady.jms.url=tcp://localhost:1617
|
||||||
|
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
|
||||||
|
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
|
||||||
|
|
||||||
|
|
||||||
eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
|
eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
|
||||||
spring.application.name=proxy-app-${org.kie.server.id}
|
spring.application.name=proxy-app-${org.kie.server.id}
|
||||||
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
|
||||||
|
|
||||||
pymma.kafka.activateSsl=${PYMMA_KAFKA_ACTIVATE_SSL:false}
|
|
||||||
pymma.kafka.sslTruststoreLocation=${PYMMA_KAFKA_SSL_TRUSTSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslTruststorePassword=${PYMMA_KAFKA_SSL_TRUSTSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeyPassword=${PYMMA_KAFKA_KEY_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystorePassword=${PYMMA_KAFKA_SSL_KEYSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystoreLocation=${PYMMA_KAFKA_SSL_KEYSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslKeystoreType=${PYMMA_KAFKA_SSL_KEYSTORE_TYPE:}
|
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||||
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||||
|
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-dependencies</artifactId>
|
||||||
|
<version>${spring.boot.version}</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-databind</artifactId>
|
||||||
|
<version>2.6.3</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||||
|
<version>${spring.boot.version}</version>
|
||||||
|
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||||
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||||
|
<version>2.14.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.postgresql</groupId>
|
||||||
|
<artifactId>postgresql</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
|
<artifactId>drools-framework-runtime-entity</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
|
<artifactId>drools-framework-admin-dto</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
* use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations under
|
||||||
|
* the License.
|
||||||
|
*/
|
||||||
|
package org.chtijbug.drools.proxy.persistence.dialect;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.types.JSONBUserType;
|
||||||
|
import org.hibernate.dialect.PostgreSQL10Dialect;
|
||||||
|
import org.hibernate.dialect.PostgreSQL9Dialect;
|
||||||
|
|
||||||
|
import java.sql.Types;
|
||||||
|
|
||||||
|
public class JSONBPostgreSQLDialect extends PostgreSQL10Dialect {
|
||||||
|
|
||||||
|
public JSONBPostgreSQLDialect() {
|
||||||
|
super();
|
||||||
|
System.out.println("Nico-JSONBPostgreSQLDialect");
|
||||||
|
registerColumnType(Types.JAVA_OBJECT, JSONBUserType.JSONB_TYPE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.json;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class KieProject implements Serializable {
|
||||||
|
|
||||||
|
private String spaceName;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public KieProject(){}
|
||||||
|
|
||||||
|
public KieProject(String spaceName, String name) {
|
||||||
|
this.spaceName = spaceName;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSpaceName() {
|
||||||
|
return spaceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpaceName(String spaceName) {
|
||||||
|
this.spaceName = spaceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return spaceName+"-"+name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.logging.Fact;
|
||||||
|
import org.chtijbug.drools.logging.RuleExecution;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.types.JSONBUserType;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
import org.hibernate.annotations.TypeDef;
|
||||||
|
import org.hibernate.annotations.TypeDefs;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@TypeDefs({
|
||||||
|
@TypeDef(name = "Fact", typeClass = JSONBUserType.class, parameters = {
|
||||||
|
@org.hibernate.annotations.Parameter(name = JSONBUserType.CLASS, value = "org.chtijbug.drools.logging.Fact")}),
|
||||||
|
@TypeDef(name = "RuleExecution", typeClass = JSONBUserType.class, parameters = {
|
||||||
|
@org.hibernate.annotations.Parameter(name = JSONBUserType.CLASS, value = "org.chtijbug.drools.logging.RuleExecution")})
|
||||||
|
})
|
||||||
|
public class BusinessTransactionAction {
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(length = 50)
|
||||||
|
private EventType eventType;
|
||||||
|
|
||||||
|
private long eventNumber;
|
||||||
|
|
||||||
|
private String businessTransactionId;
|
||||||
|
|
||||||
|
@Type(type = "Fact")
|
||||||
|
private Fact inputData;
|
||||||
|
|
||||||
|
@Type(type = "Fact")
|
||||||
|
private Fact outputData;
|
||||||
|
|
||||||
|
@Type(type = "RuleExecution")
|
||||||
|
private RuleExecution ruleExecution;
|
||||||
|
|
||||||
|
@Type(type = "Fact")
|
||||||
|
private Fact fact;
|
||||||
|
|
||||||
|
|
||||||
|
private String processID;
|
||||||
|
|
||||||
|
private String ruleflowGroupName;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EventType getEventType() {
|
||||||
|
return eventType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEventType(EventType eventType) {
|
||||||
|
this.eventType = eventType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getEventNumber() {
|
||||||
|
return eventNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEventNumber(long eventNumber) {
|
||||||
|
this.eventNumber = eventNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBusinessTransactionId() {
|
||||||
|
return businessTransactionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBusinessTransactionId(String businessTransactionId) {
|
||||||
|
this.businessTransactionId = businessTransactionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Fact getInputData() {
|
||||||
|
return inputData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInputData(Fact inputData) {
|
||||||
|
this.inputData = inputData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Fact getOutputData() {
|
||||||
|
return outputData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutputData(Fact outputData) {
|
||||||
|
this.outputData = outputData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RuleExecution getRuleExecution() {
|
||||||
|
return ruleExecution;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRuleExecution(RuleExecution ruleExecution) {
|
||||||
|
this.ruleExecution = ruleExecution;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProcessID() {
|
||||||
|
return processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProcessID(String processID) {
|
||||||
|
this.processID = processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRuleflowGroupName() {
|
||||||
|
return ruleflowGroupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRuleflowGroupName(String ruleflowGroupName) {
|
||||||
|
this.ruleflowGroupName = ruleflowGroupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Fact getFact() {
|
||||||
|
return fact;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFact(Fact fact) {
|
||||||
|
this.fact = fact;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
final StringBuffer sb = new StringBuffer("BusinessTransactionAction{");
|
||||||
|
sb.append("id='").append(uniqueId).append('\'');
|
||||||
|
sb.append(", eventType=").append(eventType);
|
||||||
|
sb.append(", eventNumber=").append(eventNumber);
|
||||||
|
sb.append(", businessTransactionId='").append(businessTransactionId).append('\'');
|
||||||
|
sb.append(", inputData=").append(inputData);
|
||||||
|
sb.append(", outputData=").append(outputData);
|
||||||
|
sb.append(", ruleExecution=").append(ruleExecution);
|
||||||
|
sb.append(", fact=").append(fact);
|
||||||
|
sb.append(", processID='").append(processID).append('\'');
|
||||||
|
sb.append(", ruleflowGroupName='").append(ruleflowGroupName).append('\'');
|
||||||
|
sb.append('}');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,162 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.UniqueConstraint;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"transactionId"})
|
||||||
|
})
|
||||||
|
public class BusinessTransactionPersistence {
|
||||||
|
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
private String transactionId;
|
||||||
|
|
||||||
|
private Integer year;
|
||||||
|
|
||||||
|
private Integer month;
|
||||||
|
|
||||||
|
private Integer day;
|
||||||
|
|
||||||
|
private Integer hour;
|
||||||
|
|
||||||
|
private Integer minute;
|
||||||
|
|
||||||
|
private Integer second;
|
||||||
|
|
||||||
|
private Integer millis;
|
||||||
|
|
||||||
|
private String groupID;
|
||||||
|
|
||||||
|
private String artefactID;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private String containerId;
|
||||||
|
|
||||||
|
private String serverName;
|
||||||
|
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTransactionId() {
|
||||||
|
return transactionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTransactionId(String transactionId) {
|
||||||
|
this.transactionId = transactionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getYear() {
|
||||||
|
return year;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setYear(Integer year) {
|
||||||
|
this.year = year;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMonth() {
|
||||||
|
return month;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMonth(Integer month) {
|
||||||
|
this.month = month;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDay() {
|
||||||
|
return day;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDay(Integer day) {
|
||||||
|
this.day = day;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHour() {
|
||||||
|
return hour;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHour(Integer hour) {
|
||||||
|
this.hour = hour;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMinute() {
|
||||||
|
return minute;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMinute(Integer minute) {
|
||||||
|
this.minute = minute;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSecond() {
|
||||||
|
return second;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSecond(Integer second) {
|
||||||
|
this.second = second;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getMillis() {
|
||||||
|
return millis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMillis(Integer millis) {
|
||||||
|
this.millis = millis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupID() {
|
||||||
|
return groupID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupID(String groupID) {
|
||||||
|
this.groupID = groupID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getArtefactID() {
|
||||||
|
return artefactID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArtefactID(String artefactID) {
|
||||||
|
this.artefactID = artefactID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContainerId() {
|
||||||
|
return containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContainerId(String containerId) {
|
||||||
|
this.containerId = containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerName() {
|
||||||
|
return serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerName(String serverName) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,148 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.UniqueConstraint;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"className"}),
|
||||||
|
@UniqueConstraint(columnNames={"containerId"}),
|
||||||
|
@UniqueConstraint(columnNames={"serverName"})
|
||||||
|
})
|
||||||
|
public class ContainerPojoPersist {
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
private boolean disableRuleLogging;
|
||||||
|
|
||||||
|
|
||||||
|
private String className;
|
||||||
|
|
||||||
|
|
||||||
|
private String containerId;
|
||||||
|
|
||||||
|
private String serverName;
|
||||||
|
|
||||||
|
private String processID;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
private String groupId;
|
||||||
|
|
||||||
|
private String artifactId;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private String projectUUID;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClassName() {
|
||||||
|
return className;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClassName(String className) {
|
||||||
|
this.className = className;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContainerId() {
|
||||||
|
return containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContainerId(String containerId) {
|
||||||
|
this.containerId = containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerName() {
|
||||||
|
return serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerName(String serverName) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProjectName() {
|
||||||
|
return projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectName(String projectName) {
|
||||||
|
this.projectName = projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProcessID() {
|
||||||
|
return processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProcessID(String processID) {
|
||||||
|
this.processID = processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProjectUUID() {
|
||||||
|
return projectUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectUUID(String projectUUID) {
|
||||||
|
this.projectUUID = projectUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDisableRuleLogging() {
|
||||||
|
return disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisableRuleLogging(boolean disableRuleLogging) {
|
||||||
|
this.disableRuleLogging = disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupId(String groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getArtifactId() {
|
||||||
|
return artifactId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArtifactId(String artifactId) {
|
||||||
|
this.artifactId = artifactId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
final StringBuffer sb = new StringBuffer("ContainerPojoPersist{");
|
||||||
|
sb.append("id='").append(uniqueId).append('\'');
|
||||||
|
sb.append(", className='").append(className).append('\'');
|
||||||
|
sb.append(", containerId='").append(containerId).append('\'');
|
||||||
|
sb.append(", serverName='").append(serverName).append('\'');
|
||||||
|
sb.append(", processID='").append(processID).append('\'');
|
||||||
|
sb.append(", projectName='").append(projectName).append('\'');
|
||||||
|
sb.append(", groupId='").append(groupId).append('\'');
|
||||||
|
sb.append(", artifactId='").append(artifactId).append('\'');
|
||||||
|
sb.append(", version='").append(version).append('\'');
|
||||||
|
sb.append('}');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.UniqueConstraint;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"containerId"}),
|
||||||
|
@UniqueConstraint(columnNames={"serverName"}),
|
||||||
|
@UniqueConstraint(columnNames={"hostname"})
|
||||||
|
})
|
||||||
|
public class ContainerRuntimePojoPersist {
|
||||||
|
public enum STATUS {
|
||||||
|
UP,
|
||||||
|
DOWN,
|
||||||
|
TODEPLOY,
|
||||||
|
TODELETE
|
||||||
|
}
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String containerId;
|
||||||
|
|
||||||
|
private String serverName;
|
||||||
|
|
||||||
|
private String hostname;
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
private String projectUUID;
|
||||||
|
|
||||||
|
private boolean disableRuleLogging;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProjectUUID() {
|
||||||
|
return projectUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectUUID(String projectUUID) {
|
||||||
|
this.projectUUID = projectUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDisableRuleLogging() {
|
||||||
|
return disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisableRuleLogging(boolean disableRuleLogging) {
|
||||||
|
this.disableRuleLogging = disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContainerId() {
|
||||||
|
return containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContainerId(String containerId) {
|
||||||
|
this.containerId = containerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerName() {
|
||||||
|
return serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerName(String serverName) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHostname() {
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHostname(String hostname) {
|
||||||
|
this.hostname = hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
final StringBuffer sb = new StringBuffer("ContainerRuntimePojoPersist{");
|
||||||
|
sb.append("id='").append(uniqueId).append('\'');
|
||||||
|
sb.append(", containerId='").append(containerId).append('\'');
|
||||||
|
sb.append(", serverName='").append(serverName).append('\'');
|
||||||
|
sb.append(", hostname='").append(hostname).append('\'');
|
||||||
|
sb.append(", status='").append(status).append('\'');
|
||||||
|
sb.append('}');
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"name"})
|
||||||
|
})
|
||||||
|
public class Customer {
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private KieWorkbench kieWorkbench;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KieWorkbench getKieWorkbench() {
|
||||||
|
return kieWorkbench;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKieWorkbench(KieWorkbench kieWorkbench) {
|
||||||
|
this.kieWorkbench = kieWorkbench;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
public enum EventType {
|
||||||
|
INPUT,OUPUT,INSERTFACT, UPDATEFACTOLDVALUE, UPDATEFACTNEWVALUE,RETRACTFACT,RULE,STARTPROCESS,STOPPROCESS, STARTRULEFLOWGROUP,STOPTRULEFLOWGROUP
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.console.dto.VariableData;
|
||||||
|
import org.chtijbug.drools.console.dto.VariableDataList;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.types.JSONBUserType;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
import org.hibernate.annotations.TypeDef;
|
||||||
|
import org.hibernate.annotations.TypeDefs;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"lineID"})
|
||||||
|
})
|
||||||
|
@TypeDefs({
|
||||||
|
@TypeDef(name = "variableDefinitions", typeClass = JSONBUserType.class, parameters = {
|
||||||
|
@org.hibernate.annotations.Parameter(name = JSONBUserType.CLASS, value = "org.chtijbug.drools.console.dto.VariableDataList")})
|
||||||
|
})
|
||||||
|
public class GuidedRulesTemplateData {
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
GuidedRulesTemplateDefinition guidedRulesTemplateDefinition;
|
||||||
|
|
||||||
|
|
||||||
|
private String lineID;
|
||||||
|
@Type(type = "variableDefinitions")
|
||||||
|
private VariableDataList dataRows = new VariableDataList();
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GuidedRulesTemplateDefinition getGuidedRulesTemplateDefinition() {
|
||||||
|
return guidedRulesTemplateDefinition;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGuidedRulesTemplateDefinition(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition) {
|
||||||
|
this.guidedRulesTemplateDefinition = guidedRulesTemplateDefinition;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLineID() {
|
||||||
|
return lineID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLineID(String lineID) {
|
||||||
|
this.lineID = lineID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VariableDataList getDataRows() {
|
||||||
|
return dataRows;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataRows(VariableDataList dataRows) {
|
||||||
|
this.dataRows = dataRows;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VariableData> getRows() {
|
||||||
|
return dataRows.getRows();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRows(List<VariableData> rows) {
|
||||||
|
this.dataRows.setRows( rows);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.console.dto.VariableDefinition;
|
||||||
|
import org.chtijbug.drools.console.dto.VariableDefinitionList;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.types.JSONBUserType;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
import org.hibernate.annotations.TypeDef;
|
||||||
|
import org.hibernate.annotations.TypeDefs;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"templateName"})
|
||||||
|
})
|
||||||
|
@TypeDefs({
|
||||||
|
@TypeDef(name = "variables", typeClass = JSONBUserType.class, parameters = {
|
||||||
|
@org.hibernate.annotations.Parameter(name = JSONBUserType.CLASS, value = "org.chtijbug.drools.console.dto.VariableDefinitionList")})
|
||||||
|
})
|
||||||
|
public class GuidedRulesTemplateDefinition {
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String templateName;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private UserGroups projectGroup;
|
||||||
|
|
||||||
|
@Type(type = "variables")
|
||||||
|
private VariableDefinitionList variableDefinitions = new VariableDefinitionList();
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTemplateName() {
|
||||||
|
return templateName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTemplateName(String templateName) {
|
||||||
|
this.templateName = templateName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public UserGroups getProjectGroup() {
|
||||||
|
return projectGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectGroup(UserGroups projectGroup) {
|
||||||
|
this.projectGroup = projectGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VariableDefinitionList getVariableDefinitions() {
|
||||||
|
return variableDefinitions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVariableDefinitions(VariableDefinitionList variableDefinitions) {
|
||||||
|
this.variableDefinitions = variableDefinitions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VariableDefinition> getVariables() {
|
||||||
|
return variableDefinitions.getVariables();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVariables(List<VariableDefinition> variables) {
|
||||||
|
this.variableDefinitions.setVariables(variables);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"name"})
|
||||||
|
})
|
||||||
|
public class KieWorkbench {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String internalUrl;
|
||||||
|
|
||||||
|
private String externalUrl;
|
||||||
|
|
||||||
|
private byte[] logo;
|
||||||
|
|
||||||
|
private String gitURL;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getLogo() {
|
||||||
|
return logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogo(byte[] logo) {
|
||||||
|
this.logo = logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInternalUrl() {
|
||||||
|
return internalUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInternalUrl(String internalUrl) {
|
||||||
|
this.internalUrl = internalUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExternalUrl() {
|
||||||
|
return externalUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExternalUrl(String externalUrl) {
|
||||||
|
this.externalUrl = externalUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGitURL() {
|
||||||
|
return gitURL;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGitURL(String gitURL) {
|
||||||
|
this.gitURL = gitURL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,250 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"deploymentName"}),
|
||||||
|
@UniqueConstraint(columnNames={"uuid"})
|
||||||
|
})
|
||||||
|
public class ProjectPersist implements Serializable {
|
||||||
|
|
||||||
|
public static final String ADEFINIR = "A définir";
|
||||||
|
|
||||||
|
public static final String DEFINI = "Défini";
|
||||||
|
|
||||||
|
public static final String Deployable = "Déployable";
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String deploymentName;
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private KieWorkbench kieWorkbench;
|
||||||
|
|
||||||
|
|
||||||
|
private KieProject projectName;
|
||||||
|
|
||||||
|
private String mainClass;
|
||||||
|
|
||||||
|
private String groupID;
|
||||||
|
|
||||||
|
private String artifactID;
|
||||||
|
|
||||||
|
private String processID;
|
||||||
|
|
||||||
|
private String projectVersion;
|
||||||
|
|
||||||
|
private String containerID;
|
||||||
|
|
||||||
|
private String branch;
|
||||||
|
@ElementCollection
|
||||||
|
private List<String> serverNames = new ArrayList<>();
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
@ElementCollection
|
||||||
|
private List<String> classNameList;
|
||||||
|
|
||||||
|
private boolean disableRuleLogging;
|
||||||
|
|
||||||
|
private boolean enableHotDeploy;
|
||||||
|
|
||||||
|
private boolean useJWTToConnect;
|
||||||
|
|
||||||
|
private String jwtAPIToken;
|
||||||
|
|
||||||
|
public ProjectPersist() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectPersist(String deploymentName, KieProject projectName, String mainClass, String groupID, String artifactID, String processID, String projectVersion, String containerID, List<String> serverNames, String status) {
|
||||||
|
this.deploymentName = deploymentName;
|
||||||
|
this.projectName = projectName;
|
||||||
|
this.mainClass = mainClass;
|
||||||
|
this.groupID = groupID;
|
||||||
|
this.artifactID = artifactID;
|
||||||
|
this.processID = processID;
|
||||||
|
this.projectVersion = projectVersion;
|
||||||
|
this.containerID = containerID;
|
||||||
|
this.serverNames = serverNames;
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDeploymentName() {
|
||||||
|
return deploymentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeploymentName(String deploymentName) {
|
||||||
|
this.deploymentName = deploymentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KieProject getProjectName() {
|
||||||
|
return projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectName(KieProject projectName) {
|
||||||
|
this.projectName = projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMainClass() {
|
||||||
|
return mainClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMainClass(String mainClass) {
|
||||||
|
this.mainClass = mainClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupID() {
|
||||||
|
return groupID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupID(String groupID) {
|
||||||
|
this.groupID = groupID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getArtifactID() {
|
||||||
|
return artifactID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArtifactID(String artifactID) {
|
||||||
|
this.artifactID = artifactID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProcessID() {
|
||||||
|
return processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContainerID() {
|
||||||
|
return containerID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContainerID(String containerID) {
|
||||||
|
this.containerID = containerID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProcessID(String processID) {
|
||||||
|
this.processID = processID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProjectVersion() {
|
||||||
|
return projectVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectVersion(String projectVersion) {
|
||||||
|
this.projectVersion = projectVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getServerNames() {
|
||||||
|
return serverNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerName(List<String> serverNames) {
|
||||||
|
this.serverNames = serverNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getClassNameList() {
|
||||||
|
return classNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClassNameList(List<String> classNameList) {
|
||||||
|
this.classNameList = classNameList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBranch() {
|
||||||
|
return branch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBranch(String branch) {
|
||||||
|
this.branch = branch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KieWorkbench getKieWorkbench() {
|
||||||
|
return kieWorkbench;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKieWorkbench(KieWorkbench kieWorkbench) {
|
||||||
|
this.kieWorkbench = kieWorkbench;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerNames(List<String> serverNames) {
|
||||||
|
this.serverNames = serverNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorkspaceName() {
|
||||||
|
if (this.projectName != null) {
|
||||||
|
return projectName.getSpaceName();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUseJWTToConnect() {
|
||||||
|
return useJWTToConnect;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUseJWTToConnect(boolean useJWTToConnect) {
|
||||||
|
this.useJWTToConnect = useJWTToConnect;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKieProjectName() {
|
||||||
|
if (this.projectName != null) {
|
||||||
|
return projectName.getName() + "-" + this.branch;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDisableRuleLogging() {
|
||||||
|
return disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisableRuleLogging(boolean disableRuleLogging) {
|
||||||
|
this.disableRuleLogging = disableRuleLogging;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnableHotDeploy() {
|
||||||
|
return enableHotDeploy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnableHotDeploy(boolean enableHotDeploy) {
|
||||||
|
this.enableHotDeploy = enableHotDeploy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJwtAPIToken() {
|
||||||
|
return jwtAPIToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJwtAPIToken(String jwtAPIToken) {
|
||||||
|
this.jwtAPIToken = jwtAPIToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectPersist duplicate() {
|
||||||
|
ArrayList<String> listServerNames = new ArrayList<String>();
|
||||||
|
listServerNames.addAll(serverNames);
|
||||||
|
ProjectPersist duplicate = new ProjectPersist(deploymentName, projectName, mainClass, groupID, artifactID, processID, projectVersion, containerID, listServerNames, status);
|
||||||
|
duplicate.setEnableHotDeploy(enableHotDeploy);
|
||||||
|
duplicate.setJwtAPIToken(jwtAPIToken);
|
||||||
|
duplicate.setDisableRuleLogging(disableRuleLogging);
|
||||||
|
duplicate.setUseJWTToConnect(useJWTToConnect);
|
||||||
|
return duplicate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,164 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.UniqueConstraint;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"serverName"}),
|
||||||
|
@UniqueConstraint(columnNames={"hostname"})
|
||||||
|
})
|
||||||
|
public class RuntimePersist {
|
||||||
|
public enum STATUS {
|
||||||
|
UP,
|
||||||
|
DOWN
|
||||||
|
}
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
private String serverName;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private String branch;
|
||||||
|
|
||||||
|
|
||||||
|
private String hostname;
|
||||||
|
|
||||||
|
private String serverUrl;
|
||||||
|
|
||||||
|
private String serverPort;
|
||||||
|
|
||||||
|
private String sftpHost;
|
||||||
|
|
||||||
|
private String sftpPort;
|
||||||
|
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
private Date creationDate;
|
||||||
|
|
||||||
|
private Date timeStamp;
|
||||||
|
|
||||||
|
|
||||||
|
public RuntimePersist(String serverName, String version, String hostname,String serverPort,String sftpPort,String sftpHost,String status) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
this.version = version;
|
||||||
|
this.hostname = hostname;
|
||||||
|
this.serverPort = serverPort;
|
||||||
|
this.sftpPort = sftpPort;
|
||||||
|
this.sftpHost = sftpHost;
|
||||||
|
this.status=status;
|
||||||
|
this.creationDate = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
public RuntimePersist(String serverName) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RuntimePersist() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public RuntimePersist duplicate(){
|
||||||
|
RuntimePersist duplicate = new RuntimePersist(serverName,version,hostname,serverPort,sftpPort,sftpHost,status);
|
||||||
|
duplicate.setServerUrl(this.serverUrl);
|
||||||
|
return duplicate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerName() {
|
||||||
|
return serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerName(String serverName) {
|
||||||
|
this.serverName = serverName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHostname() {
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHostname(String hostname) {
|
||||||
|
this.hostname = hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSftpPort() {
|
||||||
|
return sftpPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSftpPort(String sftpPort) {
|
||||||
|
this.sftpPort = sftpPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerPort() {
|
||||||
|
return serverPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerPort(String serverPort) {
|
||||||
|
this.serverPort = serverPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSftpHost() {
|
||||||
|
return sftpHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSftpHost(String sftpHost) {
|
||||||
|
this.sftpHost = sftpHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerUrl() {
|
||||||
|
return serverUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerUrl(String serverUrl) {
|
||||||
|
this.serverUrl = serverUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCreationDate() {
|
||||||
|
return creationDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getTimeStamp() {
|
||||||
|
return timeStamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTimeStamp(Date timeStamp) {
|
||||||
|
this.timeStamp = timeStamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBranch() {
|
||||||
|
return branch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBranch(String branch) {
|
||||||
|
this.branch = branch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints = {
|
||||||
|
@UniqueConstraint(columnNames = {"login"})
|
||||||
|
})
|
||||||
|
public class User {
|
||||||
|
|
||||||
|
@javax.persistence.Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
|
||||||
|
private String login;
|
||||||
|
|
||||||
|
private String wbName;
|
||||||
|
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
|
||||||
|
public User() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public User( String login, String password) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
this.login = login;
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
@OneToMany
|
||||||
|
private List<UserRoles> userRoles = new ArrayList<>();
|
||||||
|
|
||||||
|
@OneToMany
|
||||||
|
private List<UserGroups> userGroups = new ArrayList<>();
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private Customer customer;
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLogin() {
|
||||||
|
return login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogin(String login) {
|
||||||
|
this.login = login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<UserRoles> getUserRoles() {
|
||||||
|
return userRoles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserRoles(List<UserRoles> userRoles) {
|
||||||
|
this.userRoles = userRoles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<UserGroups> getUserGroups() {
|
||||||
|
return userGroups;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserGroups(List<UserGroups> userGroups) {
|
||||||
|
this.userGroups = userGroups;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWbName() {
|
||||||
|
return wbName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWbName(String wbName) {
|
||||||
|
this.wbName = wbName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Customer getCustomer() {
|
||||||
|
return customer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomer(Customer customer) {
|
||||||
|
this.customer = customer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints ={
|
||||||
|
@UniqueConstraint(columnNames={"name"}),
|
||||||
|
@UniqueConstraint(columnNames={"spaceName"}),
|
||||||
|
@UniqueConstraint(columnNames={"projectName"})
|
||||||
|
})
|
||||||
|
|
||||||
|
public class UserGroups {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String spaceName;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private KieWorkbench kieWorkbench;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private ProjectPersist projectPersist;
|
||||||
|
|
||||||
|
@ManyToOne
|
||||||
|
private UserGroups workspaceUserGroup;
|
||||||
|
|
||||||
|
public UserGroups() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserGroups( String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSpaceName() {
|
||||||
|
return spaceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpaceName(String spaceName) {
|
||||||
|
this.spaceName = spaceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProjectName() {
|
||||||
|
return projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectName(String projectName) {
|
||||||
|
this.projectName = projectName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KieWorkbench getKieWorkbench() {
|
||||||
|
return kieWorkbench;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKieWorkbench(KieWorkbench kieWorkbench) {
|
||||||
|
this.kieWorkbench = kieWorkbench;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProjectPersist getProjectPersist() {
|
||||||
|
return projectPersist;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectPersist(ProjectPersist projectPersist) {
|
||||||
|
this.projectPersist = projectPersist;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserGroups getWorkspaceUserGroup() {
|
||||||
|
return workspaceUserGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkspaceUserGroup(UserGroups workspaceUserGroup) {
|
||||||
|
this.workspaceUserGroup = workspaceUserGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
UserGroups that = (UserGroups) o;
|
||||||
|
return Objects.equals(name, that.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.model;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(uniqueConstraints = @UniqueConstraint(columnNames = {"name"})
|
||||||
|
)
|
||||||
|
public class UserRoles {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
|
private Long uniqueId;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public UserRoles() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserRoles( String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUniqueId() {
|
||||||
|
return uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueId(Long uniqueId) {
|
||||||
|
this.uniqueId = uniqueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
UserRoles userRoles = (UserRoles) o;
|
||||||
|
return Objects.equals(name, userRoles.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionAction;
|
||||||
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
import org.springframework.data.domain.Sort;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface BusinessTransactionActionRepository extends JpaRepository<BusinessTransactionAction,Long> {
|
||||||
|
|
||||||
|
public List<BusinessTransactionAction> findAllByBusinessTransactionId(String businessTransactionId, Sort sort, PageRequest pageRequest);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionPersistence;
|
||||||
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface BusinessTransactionPersistenceRepository extends JpaRepository<BusinessTransactionPersistence,Long> {
|
||||||
|
|
||||||
|
public BusinessTransactionPersistence findAllByUniqueId(String id, PageRequest pageRequest);
|
||||||
|
|
||||||
|
public List<BusinessTransactionPersistence> findAllByTransactionId(String transactionId, PageRequest pageRequest);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.ContainerPojoPersist;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface ContainerRepository extends JpaRepository<ContainerPojoPersist, Long> {
|
||||||
|
|
||||||
|
|
||||||
|
ContainerPojoPersist findByServerNameAndContainerId(String serverName,String containerId);
|
||||||
|
|
||||||
|
List<ContainerPojoPersist> findByContainerId(String containerId);
|
||||||
|
|
||||||
|
List<ContainerPojoPersist> findByServerName(String serverName);
|
||||||
|
|
||||||
|
List<ContainerPojoPersist> findByProjectUUID(String projectUUID);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.ContainerRuntimePojoPersist;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface ContainerRuntimeRepository extends JpaRepository<ContainerRuntimePojoPersist, String> {
|
||||||
|
|
||||||
|
|
||||||
|
List<ContainerRuntimePojoPersist> findByServerNameAndContainerId(String serverName, String containerId);
|
||||||
|
List<ContainerRuntimePojoPersist> findByServerNameAndStatus(String serverName, String status);
|
||||||
|
List<ContainerRuntimePojoPersist> findByServerNameAndStatusAndHostname(String serverName, String status,String hostname);
|
||||||
|
List<ContainerRuntimePojoPersist> findByServerNameAndHostname(String serverName, String hostname);
|
||||||
|
List<ContainerRuntimePojoPersist> findByProjectUUID(String projectUUID);
|
||||||
|
List<ContainerRuntimePojoPersist> findByContainerId(String continuerID);
|
||||||
|
|
||||||
|
ContainerRuntimePojoPersist findByServerNameAndContainerIdAndHostname(String serverName, String containerId,String hostname);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.Customer;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface CustomerRepository extends JpaRepository<Customer, String> {
|
||||||
|
|
||||||
|
Customer findByName(String name);
|
||||||
|
Customer findByUniqueId(String ID);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateData;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateDefinition;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface GuidedRulestemplateDataRepository extends JpaRepository<GuidedRulesTemplateData, String> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GuidedRulesTemplateData findByGuidedRulesTemplateDefinitionAndLineID(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition,String lineID);
|
||||||
|
List<GuidedRulesTemplateData> findByGuidedRulesTemplateDefinition(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateDefinition;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.UserGroups;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface GuidedRulestemplateDefinitionRepository extends JpaRepository<GuidedRulesTemplateDefinition, String> {
|
||||||
|
|
||||||
|
List<GuidedRulesTemplateDefinition> findByTemplateName(String assetName);
|
||||||
|
|
||||||
|
GuidedRulesTemplateDefinition findByTemplateNameAndProjectGroup(String assetName, UserGroups projectGroup);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.KieWorkbench;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface KieWorkbenchRepository extends JpaRepository<KieWorkbench, Long> {
|
||||||
|
|
||||||
|
KieWorkbench findByName(String name);
|
||||||
|
KieWorkbench findByUniqueId(String ID);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.KieWorkbench;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface ProjectRepository extends JpaRepository<ProjectPersist, Long> {
|
||||||
|
|
||||||
|
public List<ProjectPersist> findByProjectName(KieProject projectName);
|
||||||
|
public ProjectPersist findByProjectNameAndBranch(KieProject projectName,String branch);
|
||||||
|
public ProjectPersist findByDeploymentName(String deploymentName);
|
||||||
|
public ProjectPersist findByUuid(String UUID);
|
||||||
|
public List<ProjectPersist> findByServerNamesIn(List<String> serverNames);
|
||||||
|
public List<ProjectPersist> findByServerNamesInAndDeploymentName(List<String> serverNames,String deploymentName);
|
||||||
|
public List<ProjectPersist> findByKieWorkbench(KieWorkbench kieWorkbench);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface RuntimeRepository extends JpaRepository<RuntimePersist, Long> {
|
||||||
|
|
||||||
|
public List<RuntimePersist> findByServerName(String serverName);
|
||||||
|
public List<RuntimePersist> findByServerNameAndHostname(String serverName,String hostname);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.UserGroups;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface UserGroupsRepository extends JpaRepository<UserGroups, Long> {
|
||||||
|
|
||||||
|
UserGroups findByName(String login);
|
||||||
|
UserGroups findByUniqueId(String login);
|
||||||
|
|
||||||
|
UserGroups findUserGroupsByProjectPersist(ProjectPersist projectPersist);
|
||||||
|
UserGroups findBySpaceName(String spaceName);
|
||||||
|
UserGroups findByWorkspaceUserGroupAndProjectName(UserGroups workspaceUserGroups,String projectName);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.User;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface UserRepository extends JpaRepository<User, Long> {
|
||||||
|
|
||||||
|
User findByLogin(String login);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.UserRoles;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface UserRolesRepository extends JpaRepository<UserRoles, Long> {
|
||||||
|
|
||||||
|
UserRoles findByName(String login);
|
||||||
|
UserRoles findByUniqueId(String login);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,162 @@
|
||||||
|
/**
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
* use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations under
|
||||||
|
* the License.
|
||||||
|
*/
|
||||||
|
package org.chtijbug.drools.proxy.persistence.types;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
import org.hibernate.HibernateException;
|
||||||
|
import org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl;
|
||||||
|
import org.hibernate.boot.registry.classloading.spi.ClassLoaderService;
|
||||||
|
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||||
|
import org.hibernate.type.SerializationException;
|
||||||
|
import org.hibernate.usertype.ParameterizedType;
|
||||||
|
import org.hibernate.usertype.UserType;
|
||||||
|
import org.postgresql.util.PGobject;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Types;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class JSONBUserType implements ParameterizedType, UserType {
|
||||||
|
|
||||||
|
public static final String JSONB_TYPE = "jsonb";;
|
||||||
|
public static final String CLASS = "CLASS";
|
||||||
|
private static final ObjectMapper objectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).registerModule(new JavaTimeModule())
|
||||||
|
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
|
||||||
|
private static final ClassLoaderService classLoaderService = new ClassLoaderServiceImpl();
|
||||||
|
private Class jsonClassType;
|
||||||
|
|
||||||
|
public JSONBUserType() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<Object> returnedClass() {
|
||||||
|
return Object.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] sqlTypes() {
|
||||||
|
return new int[]{Types.JAVA_OBJECT};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setParameterValues(Properties parameters) {
|
||||||
|
final String clazz = (String) parameters.get(CLASS);
|
||||||
|
jsonClassType = classLoaderService.classForName(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public Object deepCopy(Object value) throws HibernateException {
|
||||||
|
|
||||||
|
if (!(value instanceof Collection)) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
Collection<?> collection = (Collection) value;
|
||||||
|
Collection collectionClone = CollectionFactory.newInstance(collection.getClass());
|
||||||
|
|
||||||
|
collectionClone.addAll(collection.stream().map(this::deepCopy).collect(Collectors.toList()));
|
||||||
|
|
||||||
|
return collectionClone;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMutable() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object x, Object y) throws HibernateException {
|
||||||
|
if (x == y) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((x == null) || (y == null)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return x.equals(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode(Object x) throws HibernateException {
|
||||||
|
assert (x != null);
|
||||||
|
return x.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object nullSafeGet(ResultSet resultSet, String[] names, SharedSessionContractImplementor sharedSessionContractImplementor, Object o) throws HibernateException, SQLException {
|
||||||
|
try {
|
||||||
|
final String json = resultSet.getString(names[0]);
|
||||||
|
return json == null ? null : objectMapper.readValue(json, jsonClassType);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new HibernateException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void nullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor sharedSessionContractImplementor) throws HibernateException, SQLException {
|
||||||
|
try {
|
||||||
|
final String json = value == null ? null : objectMapper.writeValueAsString(value);
|
||||||
|
PGobject pgo = new PGobject();
|
||||||
|
pgo.setType(JSONB_TYPE);
|
||||||
|
pgo.setValue(json);
|
||||||
|
st.setObject(index, pgo);
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
throw new HibernateException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object assemble(Serializable cached, Object owner) throws HibernateException {
|
||||||
|
return deepCopy(cached);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Serializable disassemble(Object value) throws HibernateException {
|
||||||
|
Object deepCopy = deepCopy(value);
|
||||||
|
|
||||||
|
if (deepCopy != null && !(deepCopy instanceof Serializable)) {
|
||||||
|
throw new SerializationException(String.format("%s is not serializable class", value), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Serializable) deepCopy;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object replace(Object original, Object target, Object owner) throws HibernateException {
|
||||||
|
return deepCopy(original);
|
||||||
|
}
|
||||||
|
|
||||||
|
static final class CollectionFactory {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
static <E, T extends Collection<E>> T newInstance(Class<T> collectionClass) {
|
||||||
|
if (List.class.isAssignableFrom(collectionClass)) {
|
||||||
|
return (T) new ArrayList<E>();
|
||||||
|
} else if (Set.class.isAssignableFrom(collectionClass)) {
|
||||||
|
return (T) new HashSet<E>();
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Unsupported collection type : " + collectionClass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -26,13 +26,13 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
<version>2.9.7</version>
|
<version>${jackson.version}</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
<version>2.9.7</version>
|
<version>${jackson.version}</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
@ -14,18 +14,27 @@
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.kafka</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-kafka</artifactId>
|
<artifactId>spring-jms</artifactId>
|
||||||
<version>${kafka.version}</version>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-client</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-broker</artifactId>
|
||||||
|
<version>${activemq.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.mkopylec</groupId>
|
<groupId>com.github.mkopylec</groupId>
|
||||||
<artifactId>charon-spring-boot-starter</artifactId>
|
<artifactId>charon-spring-boot-starter</artifactId>
|
||||||
<version>3.1.0</version>
|
<version>3.2.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Spring Boot -->
|
<!-- Spring Boot -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
@ -82,6 +91,10 @@
|
||||||
<artifactId>jjwt</artifactId>
|
<artifactId>jjwt</artifactId>
|
||||||
<version>0.9.1</version>
|
<version>0.9.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>activemq-client</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<!-- Spring-Boot and Camel BOM -->
|
<!-- Spring-Boot and Camel BOM -->
|
||||||
|
|
|
||||||
|
|
@ -1,76 +1,33 @@
|
||||||
package org.chtijbug.drools.reverseproxy;
|
package org.chtijbug.drools.reverseproxy;
|
||||||
|
|
||||||
|
import org.apache.activemq.ActiveMQXAConnectionFactory;
|
||||||
import org.apache.kafka.clients.CommonClientConfigs;
|
|
||||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
|
||||||
import org.apache.kafka.common.config.SslConfigs;
|
|
||||||
import org.apache.kafka.common.security.auth.SecurityProtocol;
|
|
||||||
import org.apache.kafka.common.serialization.StringDeserializer;
|
|
||||||
import org.chtijbug.drools.ReverseProxyUpdate;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
import org.springframework.jms.core.JmsTemplate;
|
||||||
import org.springframework.kafka.core.ConsumerFactory;
|
import org.apache.activemq.ActiveMQXAConnectionFactory;
|
||||||
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
|
|
||||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||||
public class DroolsBusinessReverseProxyServer {
|
public class DroolsBusinessReverseProxyServer {
|
||||||
|
|
||||||
@Value(value = "${kafka.bootstrapAddress}")
|
|
||||||
private String bootstrapAddress;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.activateSsl:false}")
|
|
||||||
private boolean activateSsl;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststoreLocation:}")
|
@Value("${almady.jms.url}")
|
||||||
private String sslTruststoreLocation;
|
private String jmsUrl;
|
||||||
|
private JmsTemplate jmsTemplate;
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslTruststorePassword:}")
|
private ActiveMQXAConnectionFactory connectionFactory;
|
||||||
private String sslTruststorePassword;
|
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeyPassword:}")
|
@Bean(name = "jmsTemplate")
|
||||||
private String sslKeyPassword;
|
JmsTemplate createJmsTemplate() {
|
||||||
|
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||||
@Value("${pymma.kafka.sslKeystorePassword:}")
|
connectionFactory.setTrustAllPackages(true);
|
||||||
private String sslKeystorePassword;
|
connectionFactory.setAlwaysSyncSend(true);
|
||||||
|
connectionFactory.setProducerWindowSize(1024000);
|
||||||
@Value("${pymma.kafka.sslKeystoreLocation:}")
|
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||||
private String sslKeystoreLocation;
|
return jmsTemplate;
|
||||||
|
|
||||||
@Value("${pymma.kafka.sslKeystoreType:}")
|
|
||||||
private String sslKeystoreType;
|
|
||||||
|
|
||||||
public ConsumerFactory<String, ReverseProxyUpdate> mappingConsumerFactory() {
|
|
||||||
Map<String, Object> props = new HashMap<>();
|
|
||||||
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
|
|
||||||
props.put(ConsumerConfig.GROUP_ID_CONFIG, "greeting");
|
|
||||||
if (activateSsl) {
|
|
||||||
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
|
|
||||||
props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
|
|
||||||
props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
|
|
||||||
props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
|
|
||||||
props.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
|
|
||||||
}
|
|
||||||
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(ReverseProxyUpdate.class));
|
|
||||||
}
|
|
||||||
@Bean
|
|
||||||
public ConcurrentKafkaListenerContainerFactory<String, ReverseProxyUpdate>
|
|
||||||
mappingKafkaListenerContainerFactory() {
|
|
||||||
|
|
||||||
ConcurrentKafkaListenerContainerFactory<String, ReverseProxyUpdate> factory =
|
|
||||||
new ConcurrentKafkaListenerContainerFactory<>();
|
|
||||||
factory.setConsumerFactory(mappingConsumerFactory());
|
|
||||||
return factory;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import org.chtijbug.drools.reverseproxy.mappings.CustomMappingsProvider;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.kafka.annotation.KafkaListener;
|
import org.springframework.jms.annotation.JmsListener;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
@ -43,9 +43,8 @@ public class UpdateService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@KafkaListener(
|
@JmsListener(
|
||||||
topics = KafkaTopicConstants.REVERSE_PROXY,
|
destination = KafkaTopicConstants.REVERSE_PROXY)
|
||||||
containerFactory = "mappingKafkaListenerContainerFactory")
|
|
||||||
public void store(ReverseProxyUpdate update) {
|
public void store(ReverseProxyUpdate update) {
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
MappingProperties mappingProperties = null;
|
MappingProperties mappingProperties = null;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,13 @@
|
||||||
server.port=${port:9500}
|
server.port=${port:9500}
|
||||||
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
|
|
||||||
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
|
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||||
|
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
|
||||||
|
almady.jms.url=tcp://localhost:1617
|
||||||
|
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
|
||||||
|
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
|
||||||
|
|
||||||
charon.tracing.enabled=true
|
charon.tracing.enabled=true
|
||||||
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
||||||
|
|
||||||
pymma.kafka.activateSsl=${PYMMA_KAFKA_ACTIVATE_SSL:false}
|
|
||||||
pymma.kafka.sslTruststoreLocation=${PYMMA_KAFKA_SSL_TRUSTSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslTruststorePassword=${PYMMA_KAFKA_SSL_TRUSTSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeyPassword=${PYMMA_KAFKA_KEY_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystorePassword=${PYMMA_KAFKA_SSL_KEYSTORE_PASSWORD:}
|
|
||||||
pymma.kafka.sslKeystoreLocation=${PYMMA_KAFKA_SSL_KEYSTORE_LOCATION:}
|
|
||||||
pymma.kafka.sslKeystoreType=${PYMMA_KAFKA_SSL_KEYSTORE_TYPE:}
|
|
||||||
secretkey=eRaYY7Wo24sDqKSX3IM9ASGmdGPmkTd9jo1QTy4b7P9Ze5_9hKolVX8xNrQDcNRfVEdTZNOuOyqEGhXEbdJI-ZQ19k_o9MI0y3eZN2lp9jow55FfXMiINEdt1XR85VipRLSOkT6kSpzs2x-jbLDiz9iFVzkd81YKxMgPA7VfZeQUm4n-mOmnWMaVX30zGFU4L3oPBctYKkl4dYfqYWqRNfrgPJVi5DGFjywgxx0ASEiJHtV72paI3fDR2XwlSkyhhmY-ICjCRmsJN4fX1pdoL8a18-aQrvyu4j0Os6dVPYIoPvvY0SAZtWYKHfM15g7A3HD4cVREf9cUsprCRK93w
|
secretkey=eRaYY7Wo24sDqKSX3IM9ASGmdGPmkTd9jo1QTy4b7P9Ze5_9hKolVX8xNrQDcNRfVEdTZNOuOyqEGhXEbdJI-ZQ19k_o9MI0y3eZN2lp9jow55FfXMiINEdt1XR85VipRLSOkT6kSpzs2x-jbLDiz9iFVzkd81YKxMgPA7VfZeQUm4n-mOmnWMaVX30zGFU4L3oPBctYKkl4dYfqYWqRNfrgPJVi5DGFjywgxx0ASEiJHtV72paI3fDR2XwlSkyhhmY-ICjCRmsJN4fX1pdoL8a18-aQrvyu4j0Os6dVPYIoPvvY0SAZtWYKHfM15g7A3HD4cVREf9cUsprCRK93w
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|
@ -19,8 +19,9 @@
|
||||||
</properties>
|
</properties>
|
||||||
<modules>
|
<modules>
|
||||||
<module>drools-framework-business-proxy-app</module>
|
<module>drools-framework-business-proxy-app</module>
|
||||||
<module>drools-framework-business-proxy-persistence</module>
|
<!--module>drools-framework-business-proxy-persistence</module-->
|
||||||
<module>drools-framework-business-indexer-app</module>
|
<module>drools-framework-business-indexer-app</module>
|
||||||
<module>drools-framework-business-reverse-proxy</module>
|
<module>drools-framework-business-reverse-proxy</module>
|
||||||
|
<module>drools-framework-business-proxy-jpa</module>
|
||||||
</modules>
|
</modules>
|
||||||
</project>
|
</project>
|
||||||
93
pom.xml
93
pom.xml
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||||
<version>1.1-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
<modules>
|
<modules>
|
||||||
<!--module>kie-wb-webapp</module-->
|
<!--module>kie-wb-webapp</module-->
|
||||||
<module>drools-framework-admin-console-parent</module>
|
<module>drools-framework-admin-console-parent</module>
|
||||||
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<fabri8.plugin.version>0.34.1</fabri8.plugin.version>
|
<fabri8.plugin.version>0.34.1</fabri8.plugin.version>
|
||||||
<jbpm.version>7.61.0.Final</jbpm.version>
|
<jbpm.version>7.74.1.Final</jbpm.version>
|
||||||
<node.version>v10.16.3</node.version>
|
<node.version>v10.16.3</node.version>
|
||||||
<npm.version>6.11.3</npm.version>
|
<npm.version>6.11.3</npm.version>
|
||||||
<frontend-maven-plugin.version>1.11.3</frontend-maven-plugin.version>
|
<frontend-maven-plugin.version>1.11.3</frontend-maven-plugin.version>
|
||||||
<spring.boot.version>2.2.6.RELEASE</spring.boot.version>
|
<spring.boot.version>2.7.16</spring.boot.version>
|
||||||
|
|
||||||
<spring.version>5.2.6.RELEASE</spring.version>
|
<spring.version>5.3.30</spring.version>
|
||||||
<version.thorntail>2.2.1.Final</version.thorntail>
|
<version.thorntail>2.2.1.Final</version.thorntail>
|
||||||
<!--registry.host>registry.hub.docker.com/pymmasoftware</registry.host-->
|
<!--registry.host>registry.hub.docker.com/pymmasoftware</registry.host-->
|
||||||
<registry.host>192.168.1.122:18083</registry.host>
|
<registry.host>192.168.1.122:18083</registry.host>
|
||||||
|
|
@ -37,6 +37,11 @@
|
||||||
<jaxb.api.version>2.3.0</jaxb.api.version>
|
<jaxb.api.version>2.3.0</jaxb.api.version>
|
||||||
<maven.plugin.version>3.8.1</maven.plugin.version>
|
<maven.plugin.version>3.8.1</maven.plugin.version>
|
||||||
<pymma.java.version>11</pymma.java.version>
|
<pymma.java.version>11</pymma.java.version>
|
||||||
|
<jackson.version>2.13.4</jackson.version>
|
||||||
|
<jackson.bind.version>2.13.4.2</jackson.bind.version>
|
||||||
|
<postgres.version>42.2.8</postgres.version>
|
||||||
|
<postgresql.version>42.2.8</postgresql.version>
|
||||||
|
<activemq.version>5.15.10</activemq.version>
|
||||||
</properties>
|
</properties>
|
||||||
<profiles>
|
<profiles>
|
||||||
<profile>
|
<profile>
|
||||||
|
|
@ -58,6 +63,67 @@
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>dttrack</id>
|
||||||
|
<properties>
|
||||||
|
<dependency-track-maven-plugin.version>1.2.0</dependency-track-maven-plugin.version>
|
||||||
|
</properties>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.cyclonedx</groupId>
|
||||||
|
<artifactId>cyclonedx-maven-plugin</artifactId>
|
||||||
|
<version>2.7.4</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>makeAggregateBom</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>io.github.pmckeown</groupId>
|
||||||
|
<artifactId>dependency-track-maven-plugin</artifactId>
|
||||||
|
<version>${dependency-track-maven-plugin.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.cyclonedx</groupId>
|
||||||
|
<artifactId>cyclonedx-core-java</artifactId>
|
||||||
|
<version>7.3.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.plexus</groupId>
|
||||||
|
<artifactId>plexus-utils</artifactId>
|
||||||
|
<version>3.5.0</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>upload-bom</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
|
||||||
|
<configuration>
|
||||||
|
<dependencyTrackBaseUrl>https://dependency-api.infra.pymma-software.net
|
||||||
|
</dependencyTrackBaseUrl>
|
||||||
|
<apiKey>IpCoR5ax8NPM0AioGz7zDvlgkua0N5oe</apiKey>
|
||||||
|
<pollingConfig>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<pause>500</pause>
|
||||||
|
<attempts>40</attempts>
|
||||||
|
<timeUnit>MILLIS</timeUnit>
|
||||||
|
</pollingConfig>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
<profile>
|
<profile>
|
||||||
<id>dev</id>
|
<id>dev</id>
|
||||||
<activation>
|
<activation>
|
||||||
|
|
@ -113,6 +179,25 @@
|
||||||
<build>
|
<build>
|
||||||
<pluginManagement>
|
<pluginManagement>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<addClasspath>true</addClasspath>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
||||||
|
</manifest>
|
||||||
|
<manifestEntries>
|
||||||
|
<Implementation-Version>
|
||||||
|
${project.artifactId}-${project.version}
|
||||||
|
</Implementation-Version>
|
||||||
|
</manifestEntries>
|
||||||
|
</archive>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.sonarsource.scanner.maven</groupId>
|
<groupId>org.sonarsource.scanner.maven</groupId>
|
||||||
<artifactId>sonar-maven-plugin</artifactId>
|
<artifactId>sonar-maven-plugin</artifactId>
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue