Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c1808d7e9b | |||
|
|
e460b26abb | ||
|
|
353e7d783e | ||
|
|
cd1c7dbf9e | ||
|
|
89c8e6aeea |
88 changed files with 3030 additions and 1013 deletions
18
.github/workflows/main.yml
vendored
18
.github/workflows/main.yml
vendored
|
|
@ -4,8 +4,11 @@
|
|||
name: Maven Package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
|
@ -21,6 +24,17 @@ jobs:
|
|||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
- name: Cache SonarCloud packages
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.sonar/cache
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
- name: Build and analyze
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
||||
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
|
||||
|
||||
|
|
|
|||
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"
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
postgres-kie:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 1024M
|
||||
image: postgres:13.4-alpine
|
||||
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
|
||||
- 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
|
||||
- ./docker/database/:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 8001:8001
|
||||
- 12432:5432
|
||||
|
||||
|
||||
|
||||
|
||||
activemq-server:
|
||||
image: webcenter/activemq:5.14.3
|
||||
volumes:
|
||||
- activemqdata:/data
|
||||
ports:
|
||||
- 10162:8161
|
||||
- 1617:61616
|
||||
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:
|
||||
mongodb:
|
||||
mongodb_config:
|
||||
gitdata:
|
||||
lucenedata:
|
||||
kieserverdir:
|
||||
zoo1_data:
|
||||
zoo2_data:
|
||||
zoo3_data:
|
||||
zoo1_data_datalog:
|
||||
zoo2_data_datalog:
|
||||
zoo3_data_datalog:
|
||||
kafka1_data:
|
||||
kafka2_data:
|
||||
kafka3_data:
|
||||
pgsql-data:
|
||||
activemqdata:
|
||||
|
|
|
|||
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>
|
||||
<artifactId>drools-framework-admin-console-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>jar</packaging>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<repositories>
|
||||
<repository>
|
||||
<id>vaadin-addons</id>
|
||||
<url>http://maven.vaadin.com/vaadin-addons</url>
|
||||
<url>https://maven.vaadin.com/vaadin-addons</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
|
|
@ -65,11 +65,7 @@
|
|||
<artifactId>poi</artifactId>
|
||||
<version>4.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.kafka</groupId>
|
||||
<artifactId>spring-kafka</artifactId>
|
||||
<version>${kafka.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
|
|
@ -94,6 +90,20 @@
|
|||
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</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>
|
||||
<groupId>org.drools</groupId>
|
||||
<artifactId>drools-workbench-models-guided-template</artifactId>
|
||||
|
|
@ -135,6 +145,12 @@
|
|||
<dependency>
|
||||
<groupId>com.vaadin</groupId>
|
||||
<artifactId>vaadin-spring-boot-starter</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.vaadin.olli</groupId>
|
||||
|
|
@ -211,17 +227,11 @@
|
|||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!--dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>4.3.6.Release</version>
|
||||
</dependency-->
|
||||
|
||||
<!--dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.9.4</version>
|
||||
</dependency-->
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
|
|
@ -235,7 +245,7 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
||||
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
|
@ -295,7 +305,7 @@
|
|||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
|
||||
<version>${spring-boot.version}</version>
|
||||
<configuration>
|
||||
<jvmArguments>-Dvaadin.productionMode</jvmArguments>
|
||||
<executable>true</executable>
|
||||
|
|
|
|||
|
|
@ -2,18 +2,7 @@ package org.chtijbug.drools.console;
|
|||
|
||||
|
||||
import com.vaadin.flow.spring.SpringServlet;
|
||||
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.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.apache.activemq.ActiveMQXAConnectionFactory;
|
||||
import org.chtijbug.drools.console.middle.DababaseContentUpdate;
|
||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||
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.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
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.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
||||
import org.springframework.kafka.annotation.EnableKafka;
|
||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.*;
|
||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.util.unit.DataSize;
|
||||
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
||||
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 javax.servlet.MultipartConfigElement;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Configuration
|
||||
//@Configuration
|
||||
@SpringBootApplication
|
||||
@EnableMongoRepositories("org.chtijbug.drools.proxy.persistence.repository")
|
||||
@EnableKafka
|
||||
@Configuration
|
||||
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||
@ComponentScan({"org.chtijbug"})
|
||||
@EntityScan("org.chtijbug.drools.proxy.persistence.model")
|
||||
@PropertySource("classpath:application.properties")
|
||||
@EnableSwagger2
|
||||
@EnableScheduling
|
||||
@EnableTransactionManagement
|
||||
@EnableJms
|
||||
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Value("${kie-wb.baseurl}")
|
||||
private String kiewbUrl;
|
||||
|
||||
@Value(value = "${kafka.bootstrapAddress}")
|
||||
private String bootstrapAddress;
|
||||
@Value("${almady.jms.url}")
|
||||
private String jmsUrl;
|
||||
private JmsTemplate jmsTemplate;
|
||||
private ActiveMQXAConnectionFactory connectionFactory;
|
||||
|
||||
@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;
|
||||
|
||||
@Autowired
|
||||
private DababaseContentUpdate dababaseContentUpdate;
|
||||
//@Autowired
|
||||
//private DababaseContentUpdate dababaseContentUpdate;
|
||||
@Autowired
|
||||
private KieBusinessCentralConnector kieBusinessCentralConnector;
|
||||
@Autowired
|
||||
|
|
@ -120,7 +88,6 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
|||
}
|
||||
|
||||
@Bean
|
||||
|
||||
public MultipartConfigElement multipartConfigElement() {
|
||||
|
||||
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
|
||||
public ServletRegistrationBean<SpringServlet> springServlet(ApplicationContext context) {
|
||||
|
|
@ -228,60 +126,18 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
|||
SpringApplication.run(DroolsSpringBootConsoleApplication.class, args);
|
||||
}
|
||||
|
||||
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
public void initPlatform(){
|
||||
dababaseContentUpdate.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");
|
||||
|
||||
}
|
||||
**/
|
||||
@Bean(name = "jmsTemplate")
|
||||
JmsTemplate createJmsTemplate() {
|
||||
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||
connectionFactory.setTrustAllPackages(true);
|
||||
connectionFactory.setAlwaysSyncSend(true);
|
||||
connectionFactory.setProducerWindowSize(1024000);
|
||||
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||
return jmsTemplate;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean
|
||||
public Docket api() {
|
||||
return new Docket(DocumentationType.SWAGGER_2)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLP
|
|||
import org.drools.workbench.models.guided.template.shared.TemplateModel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.stereotype.Service;
|
||||
|
||||
|
|
@ -84,35 +86,35 @@ public class DababaseContentUpdate {
|
|||
}
|
||||
|
||||
private void initDatabase() {
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "process-admin"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "manager"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "admin"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "analyst"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-all"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "developer"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-project"));
|
||||
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "user"));
|
||||
userRolesRepository.save(new UserRoles( "process-admin"));
|
||||
userRolesRepository.save(new UserRoles( "manager"));
|
||||
userRolesRepository.save(new UserRoles( "admin"));
|
||||
userRolesRepository.save(new UserRoles( "analyst"));
|
||||
userRolesRepository.save(new UserRoles( "rest-all"));
|
||||
userRolesRepository.save(new UserRoles( "developer"));
|
||||
userRolesRepository.save(new UserRoles( "rest-project"));
|
||||
userRolesRepository.save(new UserRoles( "user"));
|
||||
|
||||
|
||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "kiemgmt"));
|
||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "admingroup"));
|
||||
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "demogroup"));
|
||||
userGroupsRepository.save(new UserGroups( "kiemgmt"));
|
||||
userGroupsRepository.save(new UserGroups( "admingroup"));
|
||||
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("admingroup"));
|
||||
adminUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
||||
adminUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||
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("admingroup"));
|
||||
nheronUser.getUserRoles().add(userRolesRepository.findByName("admin"));
|
||||
nheronUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||
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("admingroup"));
|
||||
|
||||
|
|
@ -120,7 +122,6 @@ public class DababaseContentUpdate {
|
|||
userRepository.save(apiUser);
|
||||
|
||||
KieWorkbench mainWorkbench = new KieWorkbench();
|
||||
mainWorkbench.setID(UUID.randomUUID().toString());
|
||||
mainWorkbench.setName("demo");
|
||||
mainWorkbench.setExternalUrl(mainwbExtern);
|
||||
mainWorkbench.setInternalUrl(mainwbUrlIntern);
|
||||
|
|
@ -144,9 +145,8 @@ public class DababaseContentUpdate {
|
|||
Customer demCustomer = new Customer();
|
||||
demCustomer.setKieWorkbench(mainWorkbench);
|
||||
demCustomer.setName("demoCustomer");
|
||||
demCustomer.setID(UUID.randomUUID().toString());
|
||||
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.getUserRoles().add(userRolesRepository.findByName("user"));
|
||||
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.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.annotation.DependsOn;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
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.KieConfigurationData;
|
||||
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.model.*;
|
||||
import org.chtijbug.drools.proxy.persistence.repository.*;
|
||||
|
|
@ -16,7 +17,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.DependsOn;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -63,7 +64,7 @@ public class ProjectPersistService {
|
|||
private KieWorkbenchRepository workbenchRepository;
|
||||
|
||||
@Autowired
|
||||
private KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplateProxyUpdate;
|
||||
private JmsTemplate jmsTemplate;
|
||||
|
||||
@Autowired
|
||||
private UserGroupsRepository userGroupsRepository;
|
||||
|
|
@ -109,13 +110,13 @@ public class ProjectPersistService {
|
|||
public UserGroups createProjectGroupIfNeeded(String projectName, KieWorkbench kieWorkbench, ProjectPersist projectPersist, UserGroups workspaceUserGroup) {
|
||||
UserGroups userGroups = userGroupsRepository.findByName("prj_" + projectName);
|
||||
if (userGroups == null) {
|
||||
UserGroups projectGroup = new UserGroups(UUID.randomUUID().toString(), "prj_" + projectName);
|
||||
UserGroups projectGroup = new UserGroups( "prj_" + projectName);
|
||||
projectGroup.setKieWorkbench(kieWorkbench);
|
||||
projectGroup.setProjectName(projectName);
|
||||
projectGroup.setProjectPersist(projectPersist);
|
||||
projectGroup.setWorkspaceUserGroup(workspaceUserGroup);
|
||||
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.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
||||
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||
|
|
@ -130,11 +131,11 @@ public class ProjectPersistService {
|
|||
public UserGroups createWorkSpaceGroupIfNeeded(String workSpaceName, KieWorkbench kieWorkbench) {
|
||||
UserGroups userGroupsWorkSpace = userGroupsRepository.findByName("wrk_" + workSpaceName);
|
||||
if (userGroupsWorkSpace == null) {
|
||||
userGroupsWorkSpace = new UserGroups(UUID.randomUUID().toString(), "wrk_" + workSpaceName);
|
||||
userGroupsWorkSpace = new UserGroups( "wrk_" + workSpaceName);
|
||||
userGroupsWorkSpace.setKieWorkbench(kieWorkbench);
|
||||
userGroupsWorkSpace.setSpaceName(workSpaceName);
|
||||
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.getUserRoles().add(userRolesRepository.findByName("analyst"));
|
||||
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
|
||||
|
|
@ -238,7 +239,8 @@ public class ProjectPersistService {
|
|||
reverseProxyUpdate.getServerNames().add(hostName);
|
||||
}
|
||||
projectRepository.save(projectPersist);
|
||||
kafkaTemplateProxyUpdate.send(KafkaTopicConstants.REVERSE_PROXY, reverseProxyUpdate);
|
||||
jmsTemplate.send(KafkaTopicConstants.REVERSE_PROXY, new ReverseProxyMessageCreator(reverseProxyUpdate));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,17 +49,17 @@ public class ActionLoggingView extends VerticalLayout {
|
|||
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
|
||||
dialogPerso.getClose().setVisible(false);
|
||||
this.uniqueID = businessTransactionPersistence.getTransactionId();
|
||||
this.dbID = businessTransactionPersistence.getId();
|
||||
this.dbID = businessTransactionPersistence.getUniqueId().toString();
|
||||
if (this.uniqueID==null){
|
||||
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");
|
||||
|
||||
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.getElement().setAttribute("download", true);
|
||||
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.location=${PYMMA_KIE_LOCATION:http://localhost:8200/api/server}
|
||||
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
|
||||
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.tomcat.max-http-post-size=100000000
|
||||
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
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-admin-console-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<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>
|
||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>pom</packaging>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
|
@ -80,6 +80,7 @@
|
|||
<target>${pymma.java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -38,6 +38,11 @@
|
|||
<artifactId>joda-time</artifactId>
|
||||
<version>1.6.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>${jaxb.api.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-examples</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-examples</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>drools-framework-swimmingpool-web-ui</artifactId>
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.9.8</version>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-server-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>pom</packaging>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>kie-drools-framework-rest-backend</artifactId>
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
<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">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>drools-framework-kie-wb-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>kie-wb</artifactId>
|
||||
|
||||
|
|
@ -151,6 +151,7 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>pom</packaging>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@ public class DummyFact {
|
|||
private DummyFact property;
|
||||
private List<DummyFact> listOfFacts;
|
||||
|
||||
public DummyFact() {
|
||||
}
|
||||
|
||||
DummyFact(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>drools-framework-runtime-entity</artifactId>
|
||||
|
|
@ -100,5 +100,15 @@
|
|||
<version>1.3.2</version>
|
||||
<scope>provided</scope>
|
||||
</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>
|
||||
</project>
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
package org.chtijbug.drools;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* Created by nheron on 07/07/2016.
|
||||
*/
|
||||
public class ChtijbugObjectRequest {
|
||||
public class ChtijbugObjectRequest implements Serializable {
|
||||
|
||||
|
||||
private String transactionID;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package org.chtijbug.drools;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ReverseProxyUpdate {
|
||||
public class ReverseProxyUpdate implements java.io.Serializable{
|
||||
private String path;
|
||||
|
||||
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>
|
||||
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -145,6 +145,11 @@
|
|||
<target>${pymma.java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.3.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-base-tools-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>drools-framework-spring-boot-parent</artifactId>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<packaging>pom</packaging>
|
||||
|
|
@ -90,17 +90,17 @@
|
|||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.8.9</version>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.8.9</version>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.module</groupId>
|
||||
<artifactId>jackson-module-jaxb-annotations</artifactId>
|
||||
<version>2.10.4</version>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -27,28 +27,26 @@
|
|||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-jms</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.kafka</groupId>
|
||||
<artifactId>spring-kafka</artifactId>
|
||||
<version>${kafka.version}</version>
|
||||
<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 -->
|
||||
<!--dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.9.7</version>
|
||||
</dependency-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
||||
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -16,95 +16,63 @@
|
|||
*/
|
||||
package org.chtijbug.drools.indexer;
|
||||
|
||||
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.ChtijbugObjectRequest;
|
||||
import org.apache.activemq.ActiveMQXAConnectionFactory;;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
||||
import org.springframework.kafka.annotation.EnableKafka;
|
||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.ConsumerFactory;
|
||||
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
|
||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
// CHECKSTYLE:OFF
|
||||
@SpringBootApplication
|
||||
@Configuration
|
||||
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||
@EnableKafka
|
||||
@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 DroolsBusinessIndexerServer {
|
||||
public final static String LOGING_TOPIC ="logging";
|
||||
@Value(value = "${kafka.bootstrapAddress}")
|
||||
private String bootstrapAddress;
|
||||
|
||||
@Value("${pymma.kafka.activateSsl:false}")
|
||||
private boolean activateSsl;
|
||||
@Value("${almady.jms.url}")
|
||||
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
|
||||
public ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest>
|
||||
ruleKafkaListenerContainerFactory() {
|
||||
|
||||
ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest> factory =
|
||||
new ConcurrentKafkaListenerContainerFactory<>();
|
||||
factory.setConsumerFactory(greetingConsumerFactory());
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||
connectionFactory.setTrustAllPackages(true);
|
||||
connectionFactory.setAlwaysSyncSend(true);
|
||||
connectionFactory.setProducerWindowSize(1024000);
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory);
|
||||
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.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
System.setProperty(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "41943040");
|
||||
SpringApplication.run(DroolsBusinessIndexerServer.class, args);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.chtijbug.drools.proxy.persistence.repository.BusinessTransactionPersi
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 java.util.*;
|
||||
|
|
@ -29,9 +29,7 @@ public class StoreLoggingService {
|
|||
private BusinessTransactionActionRepository actionRepository;
|
||||
|
||||
|
||||
@KafkaListener(
|
||||
topics = KafkaTopicConstants.LOGING_TOPIC, groupId = "${kafka.index.groupid}",
|
||||
containerFactory = "ruleKafkaListenerContainerFactory")
|
||||
@JmsListener(destination = KafkaTopicConstants.LOGING_TOPIC,containerFactory = "jmsListenerContainerFactory")
|
||||
public void store(ChtijbugObjectRequest result) {
|
||||
if (result != null) {
|
||||
|
||||
|
|
@ -52,7 +50,7 @@ public class StoreLoggingService {
|
|||
item.setSecond(second);
|
||||
item.setMillis(millis);
|
||||
item.setTransactionId(id);
|
||||
item.setId(UUID.randomUUID().toString());
|
||||
|
||||
long ii = 1;
|
||||
|
||||
SessionContext sessionContext = result.getSessionLogging();
|
||||
|
|
@ -68,8 +66,8 @@ public class StoreLoggingService {
|
|||
BusinessTransactionAction businessTransactionoutput = null;
|
||||
for (Fact fact : sessionExecution.getFacts()) {
|
||||
BusinessTransactionAction businessTransactionAction = new BusinessTransactionAction();
|
||||
businessTransactionAction.setId(UUID.randomUUID().toString());
|
||||
businessTransactionAction.setBusinessTransactionId(item.getId());
|
||||
|
||||
businessTransactionAction.setBusinessTransactionId(item.getTransactionId());
|
||||
if (fact.getFactType().equals(FactType.INPUTDATA)) {
|
||||
businessTransactionAction.setEventType(EventType.INPUT);
|
||||
businessTransactionAction.setInputData(fact);
|
||||
|
|
@ -108,18 +106,18 @@ public class StoreLoggingService {
|
|||
businessTransactionActionStart.setEventType(EventType.STARTPROCESS);
|
||||
businessTransactionActionStart.setProcessID(processExecution.getProcessId());
|
||||
|
||||
businessTransactionActionStart.setBusinessTransactionId(item.getId());
|
||||
businessTransactionActionStart.setBusinessTransactionId(item.getTransactionId());
|
||||
businessTransactionActionStart.setEventNumber(ii++);
|
||||
businessTransactionActionStart.setId(UUID.randomUUID().toString());
|
||||
|
||||
actions.put(businessTransactionActionStart.getEventNumber(), businessTransactionActionStart);
|
||||
for (RuleflowGroup rfg : processExecution.getRuleflowGroups()) {
|
||||
BusinessTransactionAction businessTransactionActionStartRFG = new BusinessTransactionAction();
|
||||
|
||||
businessTransactionActionStartRFG.setBusinessTransactionId(item.getId());
|
||||
businessTransactionActionStartRFG.setBusinessTransactionId(item.getTransactionId());
|
||||
businessTransactionActionStartRFG.setEventType(EventType.STARTRULEFLOWGROUP);
|
||||
businessTransactionActionStartRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||
businessTransactionActionStartRFG.setEventNumber(ii++);
|
||||
businessTransactionActionStartRFG.setId(UUID.randomUUID().toString());
|
||||
|
||||
actions.put(businessTransactionActionStartRFG.getEventNumber(), businessTransactionActionStartRFG);
|
||||
for (RuleExecution ruleExecution : rfg.getRuleExecutionList()) {
|
||||
BusinessTransactionAction businessTransactionActionRule = new BusinessTransactionAction();
|
||||
|
|
@ -127,27 +125,27 @@ public class StoreLoggingService {
|
|||
businessTransactionActionRule.setEventType(EventType.RULE);
|
||||
businessTransactionActionRule.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||
businessTransactionActionRule.setRuleExecution(ruleExecution);
|
||||
businessTransactionActionRule.setBusinessTransactionId(item.getId());
|
||||
businessTransactionActionRule.setBusinessTransactionId(item.getTransactionId());
|
||||
businessTransactionActionRule.setProcessID(processExecution.getProcessId());
|
||||
businessTransactionActionRule.setEventNumber(ii++);
|
||||
businessTransactionActionRule.setId(UUID.randomUUID().toString());
|
||||
|
||||
actions.put(businessTransactionActionRule.getEventNumber(), businessTransactionActionRule);
|
||||
}
|
||||
BusinessTransactionAction businessTransactionActionSTOPRFG = new BusinessTransactionAction();
|
||||
|
||||
businessTransactionActionSTOPRFG.setEventType(EventType.STOPTRULEFLOWGROUP);
|
||||
businessTransactionActionSTOPRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
|
||||
businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getId());
|
||||
businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getTransactionId());
|
||||
businessTransactionActionSTOPRFG.setEventNumber(ii++);
|
||||
businessTransactionActionSTOPRFG.setId(UUID.randomUUID().toString());
|
||||
|
||||
actions.put(businessTransactionActionSTOPRFG.getEventNumber(), businessTransactionActionSTOPRFG);
|
||||
}
|
||||
BusinessTransactionAction businessTransactionActionEnd = new BusinessTransactionAction();
|
||||
businessTransactionActionEnd.setEventType(EventType.STOPPROCESS);
|
||||
businessTransactionActionEnd.setProcessID(processExecution.getProcessId());
|
||||
businessTransactionActionEnd.setBusinessTransactionId(item.getId());
|
||||
businessTransactionActionEnd.setBusinessTransactionId(item.getTransactionId());
|
||||
businessTransactionActionEnd.setEventNumber(ii++);
|
||||
businessTransactionActionEnd.setId(UUID.randomUUID().toString());
|
||||
|
||||
|
||||
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.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"
|
||||
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>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>drools-framework-business-proxy-app</artifactId>
|
||||
|
|
@ -54,7 +55,7 @@
|
|||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
||||
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<!-- Spring Boot -->
|
||||
|
|
@ -114,12 +115,21 @@
|
|||
<artifactId>camel-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.kafka</groupId>
|
||||
<artifactId>spring-kafka</artifactId>
|
||||
<version>${kafka.version}</version>
|
||||
<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>
|
||||
|
||||
<!-- kie-server -->
|
||||
<dependency>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
|
|
|
|||
|
|
@ -16,164 +16,52 @@
|
|||
*/
|
||||
package org.chtijbug.drools.proxy;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
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.apache.activemq.ActiveMQXAConnectionFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.kafka.annotation.EnableKafka;
|
||||
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
|
||||
import org.springframework.kafka.core.KafkaAdmin;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
import org.springframework.kafka.core.ProducerFactory;
|
||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
// CHECKSTYLE:OFF
|
||||
@SpringBootApplication
|
||||
@Configuration
|
||||
@EnableKafka
|
||||
@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 {
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean
|
||||
public ProducerFactory<String, ChtijbugObjectRequest> 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);
|
||||
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);
|
||||
}
|
||||
@Value("${almady.jms.url}")
|
||||
private String jmsUrl;
|
||||
private JmsTemplate jmsTemplate;
|
||||
private ActiveMQXAConnectionFactory connectionFactory;
|
||||
|
||||
|
||||
|
||||
@Bean
|
||||
public KafkaTemplate<String, ChtijbugObjectRequest> kafkaTemplate() {
|
||||
return new KafkaTemplate<>(producerFactory());
|
||||
@Bean(name = "jmsTemplate")
|
||||
JmsTemplate createJmsTemplate() {
|
||||
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||
connectionFactory.setTrustAllPackages(true);
|
||||
connectionFactory.setAlwaysSyncSend(true);
|
||||
connectionFactory.setProducerWindowSize(1024000);
|
||||
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||
return jmsTemplate;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -190,7 +78,7 @@ public class DroolsBusinessProxyServer {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.setProperty(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "41943040");
|
||||
|
||||
SpringApplication.run(DroolsBusinessProxyServer.class, args);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ package org.chtijbug.drools.proxy.service;
|
|||
|
||||
import org.apache.camel.CamelContext;
|
||||
import org.apache.camel.Route;
|
||||
import org.apache.kafka.clients.admin.NewTopic;
|
||||
import org.chtijbug.drools.proxy.PlatfomKieServerStateRepository;
|
||||
import org.chtijbug.drools.proxy.camel.DroolsRouter;
|
||||
import org.chtijbug.drools.proxy.persistence.model.ContainerPojoPersist;
|
||||
|
|
@ -94,9 +93,7 @@ public class KieServiceCommon {
|
|||
|
||||
|
||||
|
||||
@Qualifier("deployFinish")
|
||||
@Autowired
|
||||
NewTopic responseTopic;
|
||||
|
||||
|
||||
public KieServiceCommon() {
|
||||
//Needed
|
||||
|
|
|
|||
|
|
@ -2,12 +2,14 @@ package org.chtijbug.drools.proxy.service;
|
|||
|
||||
import org.chtijbug.drools.ChtijbugObjectRequest;
|
||||
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.KieServerLoggingDefinition;
|
||||
import org.kie.server.services.api.KieContainerInstance;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -21,7 +23,7 @@ public class RuleService {
|
|||
private KieServiceCommon kieServiceCommon;
|
||||
|
||||
@Inject
|
||||
private KafkaTemplate<String, ChtijbugObjectRequest> kafkaTemplateLogging;
|
||||
private JmsTemplate jmsTemplate;
|
||||
|
||||
public RuleService() {
|
||||
logger.info("Rule Service created");
|
||||
|
|
@ -58,8 +60,8 @@ public class RuleService {
|
|||
}
|
||||
chtijbugObjectRequest.setTransactionEndTimeStamp(LocalDateTime.now());
|
||||
try {
|
||||
kafkaTemplateLogging.send(KafkaTopicConstants.LOGING_TOPIC,chtijbugObjectRequest);
|
||||
}catch (Exception e){
|
||||
jmsTemplate.send(KafkaTopicConstants.LOGING_TOPIC, new ChtijbugObjectRequestMessageCreator(chtijbugObjectRequest));
|
||||
}catch (Exception e){
|
||||
logger.error(" kafkaTemplateLogging.send",e);
|
||||
}finally {
|
||||
return chtijbutObjectResponse.getObjectRequest();
|
||||
|
|
|
|||
|
|
@ -19,18 +19,13 @@ server.port=8090
|
|||
camel.springboot.name=MyCamel
|
||||
# to reconfigure the camel servlet context-path mapping to use /api/* instead of /camel/*
|
||||
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/
|
||||
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>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.9.7</version>
|
||||
<version>${jackson.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.9.7</version>
|
||||
<version>${jackson.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>drools-framework-business-proxy-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -14,18 +14,27 @@
|
|||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>drools-framework-business-proxy-persistence</artifactId>
|
||||
<artifactId>drools-framework-business-proxy-jpa</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.kafka</groupId>
|
||||
<artifactId>spring-kafka</artifactId>
|
||||
<version>${kafka.version}</version>
|
||||
<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>
|
||||
<groupId>com.github.mkopylec</groupId>
|
||||
<artifactId>charon-spring-boot-starter</artifactId>
|
||||
<version>3.1.0</version>
|
||||
<version>3.2.0</version>
|
||||
</dependency>
|
||||
<!-- Spring Boot -->
|
||||
<dependency>
|
||||
|
|
@ -82,6 +91,10 @@
|
|||
<artifactId>jjwt</artifactId>
|
||||
<version>0.9.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-client</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<!-- Spring-Boot and Camel BOM -->
|
||||
|
|
|
|||
|
|
@ -1,76 +1,33 @@
|
|||
package org.chtijbug.drools.reverseproxy;
|
||||
|
||||
|
||||
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.apache.activemq.ActiveMQXAConnectionFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
|
||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.ConsumerFactory;
|
||||
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
|
||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.apache.activemq.ActiveMQXAConnectionFactory;
|
||||
@SpringBootApplication
|
||||
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
|
||||
public class DroolsBusinessReverseProxyServer {
|
||||
|
||||
@Value(value = "${kafka.bootstrapAddress}")
|
||||
private String bootstrapAddress;
|
||||
|
||||
@Value("${pymma.kafka.activateSsl:false}")
|
||||
private boolean activateSsl;
|
||||
|
||||
@Value("${pymma.kafka.sslTruststoreLocation:}")
|
||||
private String sslTruststoreLocation;
|
||||
@Value("${almady.jms.url}")
|
||||
private String jmsUrl;
|
||||
private JmsTemplate jmsTemplate;
|
||||
|
||||
@Value("${pymma.kafka.sslTruststorePassword:}")
|
||||
private String sslTruststorePassword;
|
||||
private ActiveMQXAConnectionFactory connectionFactory;
|
||||
|
||||
@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;
|
||||
|
||||
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;
|
||||
@Bean(name = "jmsTemplate")
|
||||
JmsTemplate createJmsTemplate() {
|
||||
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
|
||||
connectionFactory.setTrustAllPackages(true);
|
||||
connectionFactory.setAlwaysSyncSend(true);
|
||||
connectionFactory.setProducerWindowSize(1024000);
|
||||
jmsTemplate = new JmsTemplate(connectionFactory);
|
||||
return jmsTemplate;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import org.chtijbug.drools.reverseproxy.mappings.CustomMappingsProvider;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 javax.annotation.PostConstruct;
|
||||
|
|
@ -43,9 +43,8 @@ public class UpdateService {
|
|||
}
|
||||
|
||||
|
||||
@KafkaListener(
|
||||
topics = KafkaTopicConstants.REVERSE_PROXY,
|
||||
containerFactory = "mappingKafkaListenerContainerFactory")
|
||||
@JmsListener(
|
||||
destination = KafkaTopicConstants.REVERSE_PROXY)
|
||||
public void store(ReverseProxyUpdate update) {
|
||||
boolean found = false;
|
||||
MappingProperties mappingProperties = null;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,13 @@
|
|||
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
|
||||
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
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -19,8 +19,9 @@
|
|||
</properties>
|
||||
<modules>
|
||||
<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-reverse-proxy</module>
|
||||
<module>drools-framework-business-proxy-jpa</module>
|
||||
</modules>
|
||||
</project>
|
||||
93
pom.xml
93
pom.xml
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||
<artifactId>pymma-jbpm-platform-parent</artifactId>
|
||||
<version>1.1-SNAPSHOT</version>
|
||||
<version>1.2.0-SNAPSHOT</version>
|
||||
<modules>
|
||||
<!--module>kie-wb-webapp</module-->
|
||||
<module>drools-framework-admin-console-parent</module>
|
||||
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
<properties>
|
||||
<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>
|
||||
<npm.version>6.11.3</npm.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>
|
||||
<!--registry.host>registry.hub.docker.com/pymmasoftware</registry.host-->
|
||||
<registry.host>192.168.1.122:18083</registry.host>
|
||||
|
|
@ -37,6 +37,11 @@
|
|||
<jaxb.api.version>2.3.0</jaxb.api.version>
|
||||
<maven.plugin.version>3.8.1</maven.plugin.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>
|
||||
<profiles>
|
||||
<profile>
|
||||
|
|
@ -58,6 +63,67 @@
|
|||
</plugins>
|
||||
</build>
|
||||
</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>
|
||||
<id>dev</id>
|
||||
<activation>
|
||||
|
|
@ -113,6 +179,25 @@
|
|||
<build>
|
||||
<pluginManagement>
|
||||
<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>
|
||||
<groupId>org.sonarsource.scanner.maven</groupId>
|
||||
<artifactId>sonar-maven-plugin</artifactId>
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue