Java 17, Spirng boot 3, remove mongodb First commit

This commit is contained in:
nheron 2023-02-12 12:13:14 +01:00
commit 89c8e6aeea
69 changed files with 2203 additions and 104 deletions

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-admin-console-parent</artifactId> <artifactId>drools-framework-admin-console-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>
@ -22,7 +22,7 @@
<repositories> <repositories>
<repository> <repository>
<id>vaadin-addons</id> <id>vaadin-addons</id>
<url>http://maven.vaadin.com/vaadin-addons</url> <url>https://maven.vaadin.com/vaadin-addons</url>
</repository> </repository>
</repositories> </repositories>
@ -211,17 +211,11 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!--dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.Release</version>
</dependency-->
<!--dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-core</artifactId>
<version>2.9.4</version> <version>${jackson.version}</version>
</dependency--> </dependency>
<dependency> <dependency>
<groupId>commons-codec</groupId> <groupId>commons-codec</groupId>
@ -235,7 +229,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-business-proxy-persistence</artifactId> <artifactId>drools-framework-business-proxy-jpa</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>

View file

@ -34,7 +34,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.kafka.annotation.EnableKafka; import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.*; import org.springframework.kafka.core.*;
@ -56,7 +56,7 @@ import java.util.Map;
@Configuration @Configuration
@SpringBootApplication @SpringBootApplication
@EnableMongoRepositories("org.chtijbug.drools.proxy.persistence.repository") @EnableJpaRepositories("org.chtijbug.drools.proxy.persistence.repository")
@EnableKafka @EnableKafka
@PropertySource("classpath:application.properties") @PropertySource("classpath:application.properties")
@EnableSwagger2 @EnableSwagger2

View file

@ -84,35 +84,35 @@ public class DababaseContentUpdate {
} }
private void initDatabase() { private void initDatabase() {
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "process-admin")); userRolesRepository.save(new UserRoles( "process-admin"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "manager")); userRolesRepository.save(new UserRoles( "manager"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "admin")); userRolesRepository.save(new UserRoles( "admin"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "analyst")); userRolesRepository.save(new UserRoles( "analyst"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-all")); userRolesRepository.save(new UserRoles( "rest-all"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "developer")); userRolesRepository.save(new UserRoles( "developer"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "rest-project")); userRolesRepository.save(new UserRoles( "rest-project"));
userRolesRepository.save(new UserRoles(UUID.randomUUID().toString(), "user")); userRolesRepository.save(new UserRoles( "user"));
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "kiemgmt")); userGroupsRepository.save(new UserGroups( "kiemgmt"));
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "admingroup")); userGroupsRepository.save(new UserGroups( "admingroup"));
userGroupsRepository.save(new UserGroups(UUID.randomUUID().toString(), "demogroup")); userGroupsRepository.save(new UserGroups( "demogroup"));
User adminUser = new User(UUID.randomUUID().toString(), "admin", "adminadmin99#"); User adminUser = new User( "admin", "adminadmin99#");
// adminUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt")); // adminUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
// adminUser.getUserGroups().add(userGroupsRepository.findByName("admingroup")); // adminUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
adminUser.getUserRoles().add(userRolesRepository.findByName("admin")); adminUser.getUserRoles().add(userRolesRepository.findByName("admin"));
adminUser.getUserRoles().add(userRolesRepository.findByName("rest-all")); adminUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
userRepository.save(adminUser); userRepository.save(adminUser);
User nheronUser = new User(UUID.randomUUID().toString(), "nheron", "adminnheron00@"); User nheronUser = new User( "nheron", "adminnheron00@");
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt")); // nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup")); // nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
nheronUser.getUserRoles().add(userRolesRepository.findByName("admin")); nheronUser.getUserRoles().add(userRolesRepository.findByName("admin"));
nheronUser.getUserRoles().add(userRolesRepository.findByName("rest-all")); nheronUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
userRepository.save(nheronUser); userRepository.save(nheronUser);
User apiUser = new User(UUID.randomUUID().toString(), "api-user", "api-user"); User apiUser = new User( "api-user", "api-user");
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt")); // nheronUser.getUserGroups().add(userGroupsRepository.findByName("kiemgmt"));
// nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup")); // nheronUser.getUserGroups().add(userGroupsRepository.findByName("admingroup"));
@ -120,7 +120,6 @@ public class DababaseContentUpdate {
userRepository.save(apiUser); userRepository.save(apiUser);
KieWorkbench mainWorkbench = new KieWorkbench(); KieWorkbench mainWorkbench = new KieWorkbench();
mainWorkbench.setID(UUID.randomUUID().toString());
mainWorkbench.setName("demo"); mainWorkbench.setName("demo");
mainWorkbench.setExternalUrl(mainwbExtern); mainWorkbench.setExternalUrl(mainwbExtern);
mainWorkbench.setInternalUrl(mainwbUrlIntern); mainWorkbench.setInternalUrl(mainwbUrlIntern);
@ -144,9 +143,8 @@ public class DababaseContentUpdate {
Customer demCustomer = new Customer(); Customer demCustomer = new Customer();
demCustomer.setKieWorkbench(mainWorkbench); demCustomer.setKieWorkbench(mainWorkbench);
demCustomer.setName("demoCustomer"); demCustomer.setName("demoCustomer");
demCustomer.setID(UUID.randomUUID().toString());
customerRepository.save(demCustomer); customerRepository.save(demCustomer);
User demoUser = new User(UUID.randomUUID().toString(), "demo", "demo"); User demoUser = new User( "demo", "demo");
demoUser.getUserGroups().add(userGroupsRepository.findByName("demogroup")); demoUser.getUserGroups().add(userGroupsRepository.findByName("demogroup"));
demoUser.getUserRoles().add(userRolesRepository.findByName("user")); demoUser.getUserRoles().add(userRolesRepository.findByName("user"));
demoUser.getUserRoles().add(userRolesRepository.findByName("rest-all")); demoUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));

View file

@ -109,13 +109,13 @@ public class ProjectPersistService {
public UserGroups createProjectGroupIfNeeded(String projectName, KieWorkbench kieWorkbench, ProjectPersist projectPersist, UserGroups workspaceUserGroup) { public UserGroups createProjectGroupIfNeeded(String projectName, KieWorkbench kieWorkbench, ProjectPersist projectPersist, UserGroups workspaceUserGroup) {
UserGroups userGroups = userGroupsRepository.findByName("prj_" + projectName); UserGroups userGroups = userGroupsRepository.findByName("prj_" + projectName);
if (userGroups == null) { if (userGroups == null) {
UserGroups projectGroup = new UserGroups(UUID.randomUUID().toString(), "prj_" + projectName); UserGroups projectGroup = new UserGroups( "prj_" + projectName);
projectGroup.setKieWorkbench(kieWorkbench); projectGroup.setKieWorkbench(kieWorkbench);
projectGroup.setProjectName(projectName); projectGroup.setProjectName(projectName);
projectGroup.setProjectPersist(projectPersist); projectGroup.setProjectPersist(projectPersist);
projectGroup.setWorkspaceUserGroup(workspaceUserGroup); projectGroup.setWorkspaceUserGroup(workspaceUserGroup);
projectGroup = userGroupsRepository.save(projectGroup); projectGroup = userGroupsRepository.save(projectGroup);
User groupUser = new User(UUID.randomUUID().toString(), "prj_user_" + projectName, "adminadmin99#"); User groupUser = new User( "prj_user_" + projectName, "adminadmin99#");
groupUser.getUserGroups().add(projectGroup); groupUser.getUserGroups().add(projectGroup);
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst")); groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all")); groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));
@ -130,11 +130,11 @@ public class ProjectPersistService {
public UserGroups createWorkSpaceGroupIfNeeded(String workSpaceName, KieWorkbench kieWorkbench) { public UserGroups createWorkSpaceGroupIfNeeded(String workSpaceName, KieWorkbench kieWorkbench) {
UserGroups userGroupsWorkSpace = userGroupsRepository.findByName("wrk_" + workSpaceName); UserGroups userGroupsWorkSpace = userGroupsRepository.findByName("wrk_" + workSpaceName);
if (userGroupsWorkSpace == null) { if (userGroupsWorkSpace == null) {
userGroupsWorkSpace = new UserGroups(UUID.randomUUID().toString(), "wrk_" + workSpaceName); userGroupsWorkSpace = new UserGroups( "wrk_" + workSpaceName);
userGroupsWorkSpace.setKieWorkbench(kieWorkbench); userGroupsWorkSpace.setKieWorkbench(kieWorkbench);
userGroupsWorkSpace.setSpaceName(workSpaceName); userGroupsWorkSpace.setSpaceName(workSpaceName);
userGroupsRepository.save(userGroupsWorkSpace); userGroupsRepository.save(userGroupsWorkSpace);
User groupUser = new User(UUID.randomUUID().toString(), "wrk_user_" + workSpaceName, "pymma#"); User groupUser = new User( "wrk_user_" + workSpaceName, "pymma#");
groupUser.getUserGroups().add(userGroupsWorkSpace); groupUser.getUserGroups().add(userGroupsWorkSpace);
groupUser.getUserRoles().add(userRolesRepository.findByName("analyst")); groupUser.getUserRoles().add(userRolesRepository.findByName("analyst"));
groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all")); groupUser.getUserRoles().add(userRolesRepository.findByName("rest-all"));

View file

@ -49,17 +49,17 @@ public class ActionLoggingView extends VerticalLayout {
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class); indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
dialogPerso.getClose().setVisible(false); dialogPerso.getClose().setVisible(false);
this.uniqueID = businessTransactionPersistence.getTransactionId(); this.uniqueID = businessTransactionPersistence.getTransactionId();
this.dbID = businessTransactionPersistence.getId(); this.dbID = businessTransactionPersistence.getUniqueId().toString();
if (this.uniqueID==null){ if (this.uniqueID==null){
this.uniqueID=this.dbID; this.uniqueID=this.dbID;
} }
title = new Label("TransactionID : " + businessTransactionPersistence.getTransactionId() + "--" + businessTransactionPersistence.getId()); title = new Label("TransactionID : " + businessTransactionPersistence.getTransactionId() + "--" + businessTransactionPersistence.getUniqueId());
title.setClassName("creation-runtime-title"); title.setClassName("creation-runtime-title");
add(title); add(title);
gridActionLogging = new GridActionLogging(businessTransactionPersistence.getId()); gridActionLogging = new GridActionLogging(businessTransactionPersistence.getUniqueId().toString());
Anchor anchor = new Anchor(new StreamResource(uniqueID.trim().toLowerCase()+".csv", this::getInputStream), "Export as CSV"); Anchor anchor = new Anchor(new StreamResource(uniqueID.trim().toLowerCase()+".csv", this::getInputStream), "Export as CSV");
anchor.getElement().setAttribute("download", true); anchor.getElement().setAttribute("download", true);
add(gridActionLogging, anchor); add(gridActionLogging, anchor);

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-admin-console-parent</artifactId> <artifactId>drools-framework-admin-console-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>pymma-jbpm-platform-parent</artifactId> <artifactId>pymma-jbpm-platform-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging> <packaging>pom</packaging>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -80,6 +80,7 @@
<target>${pymma.java.version}</target> <target>${pymma.java.version}</target>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-examples</artifactId> <artifactId>drools-framework-examples</artifactId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-examples</artifactId> <artifactId>drools-framework-examples</artifactId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>drools-framework-swimmingpool-web-ui</artifactId> <artifactId>drools-framework-swimmingpool-web-ui</artifactId>
@ -83,7 +83,7 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.9.8</version> <version>${jackson.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-server-parent</artifactId> <artifactId>drools-framework-kie-server-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-server-parent</artifactId> <artifactId>drools-framework-kie-server-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-server-parent</artifactId> <artifactId>drools-framework-kie-server-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-server-parent</artifactId> <artifactId>drools-framework-kie-server-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging> <packaging>pom</packaging>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-wb-parent</artifactId> <artifactId>drools-framework-kie-wb-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId> <artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-wb-parent</artifactId> <artifactId>drools-framework-kie-wb-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-wb-parent</artifactId> <artifactId>drools-framework-kie-wb-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View file

@ -16,7 +16,6 @@ import org.jboss.security.auth.spi.UsernamePasswordLoginModule;
import javax.security.auth.Subject; import javax.security.auth.Subject;
import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.login.LoginException; import javax.security.auth.login.LoginException;
import java.security.acl.Group;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map; import java.util.Map;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-kie-wb-parent</artifactId> <artifactId>drools-framework-kie-wb-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>kie-drools-framework-rest-backend</artifactId> <artifactId>kie-drools-framework-rest-backend</artifactId>

View file

@ -2,12 +2,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent> <parent>
<artifactId>drools-framework-kie-wb-parent</artifactId> <artifactId>drools-framework-kie-wb-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>kie-wb</artifactId> <artifactId>kie-wb</artifactId>
@ -47,12 +47,12 @@
<artifactId>jackson-module-jaxb-annotations</artifactId> <artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.10.4</version> <version>2.10.4</version>
</dependency> </dependency>
<dependency> <!--dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-wildfly-login-module</artifactId> <artifactId>drools-framework-wildfly-login-module</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency-->
<dependency> <dependency>
<groupId>org.uberfire</groupId> <groupId>org.uberfire</groupId>
<artifactId>uberfire-security-management-wildfly</artifactId> <artifactId>uberfire-security-management-wildfly</artifactId>
@ -151,6 +151,7 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
@ -187,7 +188,7 @@
</goals> </goals>
<configuration> <configuration>
<artifactItems> <artifactItems>
<artifactItem> <!--artifactItem>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-wildfly-login-module</artifactId> <artifactId>drools-framework-wildfly-login-module</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
@ -195,7 +196,7 @@
<overWrite>yes</overWrite> <overWrite>yes</overWrite>
<outputDirectory>${project.build.directory}/</outputDirectory> <outputDirectory>${project.build.directory}/</outputDirectory>
<destFileName>pymma-kie-login-module.jar</destFileName> <destFileName>pymma-kie-login-module.jar</destFileName>
</artifactItem> </artifactItem-->
<artifactItem> <artifactItem>
<groupId>org.mongodb</groupId> <groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId> <artifactId>mongodb-driver</artifactId>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging> <packaging>pom</packaging>
@ -15,7 +15,7 @@
<module>kie-drools-framework-rest-backend</module> <module>kie-drools-framework-rest-backend</module>
<module>drools-framework-kie-wb-rest-pojo</module> <module>drools-framework-kie-wb-rest-pojo</module>
<module>drools-framework-uberfire-security-service</module> <module>drools-framework-uberfire-security-service</module>
<module>drools-framework-wildfly-login-module</module> <!--module>drools-framework-wildfly-login-module</module-->
</modules> </modules>
<dependencyManagement> <dependencyManagement>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>

View file

@ -7,6 +7,9 @@ public class DummyFact {
private DummyFact property; private DummyFact property;
private List<DummyFact> listOfFacts; private List<DummyFact> listOfFacts;
public DummyFact() {
}
DummyFact(String name) { DummyFact(String name) {
this.name = name; this.name = name;
} }

View file

@ -3,7 +3,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>drools-framework-runtime-entity</artifactId> <artifactId>drools-framework-runtime-entity</artifactId>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-spring-boot-parent</artifactId> <artifactId>drools-framework-spring-boot-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -145,6 +145,11 @@
<target>${pymma.java.version}</target> <target>${pymma.java.version}</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-base-tools-parent</artifactId> <artifactId>drools-framework-base-tools-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>drools-framework-spring-boot-parent</artifactId> <artifactId>drools-framework-spring-boot-parent</artifactId>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>pymma-jbpm-platform-parent</artifactId> <artifactId>pymma-jbpm-platform-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging> <packaging>pom</packaging>
@ -90,17 +90,17 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.8.9</version> <version>${jackson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
<version>2.8.9</version> <version>${jackson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.module</groupId> <groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId> <artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.10.4</version> <version>${jackson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-business-proxy-parent</artifactId> <artifactId>drools-framework-business-proxy-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -48,7 +48,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-business-proxy-persistence</artifactId> <artifactId>drools-framework-business-proxy-jpa</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>

View file

@ -27,7 +27,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.kafka.annotation.EnableKafka; import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory; import org.springframework.kafka.core.ConsumerFactory;
@ -40,7 +40,7 @@ import java.util.Map;
// CHECKSTYLE:OFF // CHECKSTYLE:OFF
@SpringBootApplication @SpringBootApplication
@Configuration @Configuration
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository") @EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
@EnableKafka @EnableKafka
public class DroolsBusinessIndexerServer { public class DroolsBusinessIndexerServer {
public final static String LOGING_TOPIC ="logging"; public final static String LOGING_TOPIC ="logging";

View file

@ -52,7 +52,7 @@ public class StoreLoggingService {
item.setSecond(second); item.setSecond(second);
item.setMillis(millis); item.setMillis(millis);
item.setTransactionId(id); item.setTransactionId(id);
item.setId(UUID.randomUUID().toString());
long ii = 1; long ii = 1;
SessionContext sessionContext = result.getSessionLogging(); SessionContext sessionContext = result.getSessionLogging();
@ -68,8 +68,8 @@ public class StoreLoggingService {
BusinessTransactionAction businessTransactionoutput = null; BusinessTransactionAction businessTransactionoutput = null;
for (Fact fact : sessionExecution.getFacts()) { for (Fact fact : sessionExecution.getFacts()) {
BusinessTransactionAction businessTransactionAction = new BusinessTransactionAction(); BusinessTransactionAction businessTransactionAction = new BusinessTransactionAction();
businessTransactionAction.setId(UUID.randomUUID().toString());
businessTransactionAction.setBusinessTransactionId(item.getId()); businessTransactionAction.setBusinessTransactionId(item.getTransactionId());
if (fact.getFactType().equals(FactType.INPUTDATA)) { if (fact.getFactType().equals(FactType.INPUTDATA)) {
businessTransactionAction.setEventType(EventType.INPUT); businessTransactionAction.setEventType(EventType.INPUT);
businessTransactionAction.setInputData(fact); businessTransactionAction.setInputData(fact);
@ -108,18 +108,18 @@ public class StoreLoggingService {
businessTransactionActionStart.setEventType(EventType.STARTPROCESS); businessTransactionActionStart.setEventType(EventType.STARTPROCESS);
businessTransactionActionStart.setProcessID(processExecution.getProcessId()); businessTransactionActionStart.setProcessID(processExecution.getProcessId());
businessTransactionActionStart.setBusinessTransactionId(item.getId()); businessTransactionActionStart.setBusinessTransactionId(item.getTransactionId());
businessTransactionActionStart.setEventNumber(ii++); businessTransactionActionStart.setEventNumber(ii++);
businessTransactionActionStart.setId(UUID.randomUUID().toString());
actions.put(businessTransactionActionStart.getEventNumber(), businessTransactionActionStart); actions.put(businessTransactionActionStart.getEventNumber(), businessTransactionActionStart);
for (RuleflowGroup rfg : processExecution.getRuleflowGroups()) { for (RuleflowGroup rfg : processExecution.getRuleflowGroups()) {
BusinessTransactionAction businessTransactionActionStartRFG = new BusinessTransactionAction(); BusinessTransactionAction businessTransactionActionStartRFG = new BusinessTransactionAction();
businessTransactionActionStartRFG.setBusinessTransactionId(item.getId()); businessTransactionActionStartRFG.setBusinessTransactionId(item.getTransactionId());
businessTransactionActionStartRFG.setEventType(EventType.STARTRULEFLOWGROUP); businessTransactionActionStartRFG.setEventType(EventType.STARTRULEFLOWGROUP);
businessTransactionActionStartRFG.setRuleflowGroupName(rfg.getRuleflowGroup()); businessTransactionActionStartRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
businessTransactionActionStartRFG.setEventNumber(ii++); businessTransactionActionStartRFG.setEventNumber(ii++);
businessTransactionActionStartRFG.setId(UUID.randomUUID().toString());
actions.put(businessTransactionActionStartRFG.getEventNumber(), businessTransactionActionStartRFG); actions.put(businessTransactionActionStartRFG.getEventNumber(), businessTransactionActionStartRFG);
for (RuleExecution ruleExecution : rfg.getRuleExecutionList()) { for (RuleExecution ruleExecution : rfg.getRuleExecutionList()) {
BusinessTransactionAction businessTransactionActionRule = new BusinessTransactionAction(); BusinessTransactionAction businessTransactionActionRule = new BusinessTransactionAction();
@ -127,27 +127,27 @@ public class StoreLoggingService {
businessTransactionActionRule.setEventType(EventType.RULE); businessTransactionActionRule.setEventType(EventType.RULE);
businessTransactionActionRule.setRuleflowGroupName(rfg.getRuleflowGroup()); businessTransactionActionRule.setRuleflowGroupName(rfg.getRuleflowGroup());
businessTransactionActionRule.setRuleExecution(ruleExecution); businessTransactionActionRule.setRuleExecution(ruleExecution);
businessTransactionActionRule.setBusinessTransactionId(item.getId()); businessTransactionActionRule.setBusinessTransactionId(item.getTransactionId());
businessTransactionActionRule.setProcessID(processExecution.getProcessId()); businessTransactionActionRule.setProcessID(processExecution.getProcessId());
businessTransactionActionRule.setEventNumber(ii++); businessTransactionActionRule.setEventNumber(ii++);
businessTransactionActionRule.setId(UUID.randomUUID().toString());
actions.put(businessTransactionActionRule.getEventNumber(), businessTransactionActionRule); actions.put(businessTransactionActionRule.getEventNumber(), businessTransactionActionRule);
} }
BusinessTransactionAction businessTransactionActionSTOPRFG = new BusinessTransactionAction(); BusinessTransactionAction businessTransactionActionSTOPRFG = new BusinessTransactionAction();
businessTransactionActionSTOPRFG.setEventType(EventType.STOPTRULEFLOWGROUP); businessTransactionActionSTOPRFG.setEventType(EventType.STOPTRULEFLOWGROUP);
businessTransactionActionSTOPRFG.setRuleflowGroupName(rfg.getRuleflowGroup()); businessTransactionActionSTOPRFG.setRuleflowGroupName(rfg.getRuleflowGroup());
businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getId()); businessTransactionActionSTOPRFG.setBusinessTransactionId(item.getTransactionId());
businessTransactionActionSTOPRFG.setEventNumber(ii++); businessTransactionActionSTOPRFG.setEventNumber(ii++);
businessTransactionActionSTOPRFG.setId(UUID.randomUUID().toString());
actions.put(businessTransactionActionSTOPRFG.getEventNumber(), businessTransactionActionSTOPRFG); actions.put(businessTransactionActionSTOPRFG.getEventNumber(), businessTransactionActionSTOPRFG);
} }
BusinessTransactionAction businessTransactionActionEnd = new BusinessTransactionAction(); BusinessTransactionAction businessTransactionActionEnd = new BusinessTransactionAction();
businessTransactionActionEnd.setEventType(EventType.STOPPROCESS); businessTransactionActionEnd.setEventType(EventType.STOPPROCESS);
businessTransactionActionEnd.setProcessID(processExecution.getProcessId()); businessTransactionActionEnd.setProcessID(processExecution.getProcessId());
businessTransactionActionEnd.setBusinessTransactionId(item.getId()); businessTransactionActionEnd.setBusinessTransactionId(item.getTransactionId());
businessTransactionActionEnd.setEventNumber(ii++); businessTransactionActionEnd.setEventNumber(ii++);
businessTransactionActionEnd.setId(UUID.randomUUID().toString());
actions.put(businessTransactionActionEnd.getEventNumber(), businessTransactionActionEnd); actions.put(businessTransactionActionEnd.getEventNumber(), businessTransactionActionEnd);
} }

View file

@ -19,12 +19,13 @@
--> -->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-business-proxy-parent</artifactId> <artifactId>drools-framework-business-proxy-parent</artifactId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>drools-framework-business-proxy-app</artifactId> <artifactId>drools-framework-business-proxy-app</artifactId>
@ -54,7 +55,7 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-business-proxy-persistence</artifactId> <artifactId>drools-framework-business-proxy-jpa</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- Spring Boot --> <!-- Spring Boot -->

View file

@ -0,0 +1,72 @@
<?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>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.17.1</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>
<version>${postgresql.version}</version>
</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>

View file

@ -0,0 +1,30 @@
/**
* 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.PostgreSQL9Dialect;
import java.sql.Types;
public class JSONBPostgreSQLDialect extends PostgreSQL9Dialect {
public JSONBPostgreSQLDialect() {
super();
System.out.println("Nico-JSONBPostgreSQLDialect");
registerColumnType(Types.JAVA_OBJECT, JSONBUserType.JSONB_TYPE);
}
}

View file

@ -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;
}
}

View file

@ -0,0 +1,150 @@
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();
}
}

View file

@ -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;
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}

View file

@ -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;
@ManyToMany
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;
}
}

View file

@ -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
}

View file

@ -0,0 +1,61 @@
package org.chtijbug.drools.proxy.persistence.model;
import org.chtijbug.drools.console.dto.VariableData;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(uniqueConstraints ={
@UniqueConstraint(columnNames={"lineID"})
})
public class GuidedRulesTemplateData {
@javax.persistence.Id
@GeneratedValue
private Long uniqueId;
@ManyToMany
GuidedRulesTemplateDefinition guidedRulesTemplateDefinition;
private String lineID;
@ElementCollection
private List<VariableData> rows = new ArrayList<>();
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 List<VariableData> getRows() {
return rows;
}
public void setRows(List<VariableData> rows) {
this.rows = rows;
}
}

View file

@ -0,0 +1,63 @@
package org.chtijbug.drools.proxy.persistence.model;
import org.chtijbug.drools.console.dto.VariableDefinition;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(uniqueConstraints ={
@UniqueConstraint(columnNames={"templateName"})
})
public class GuidedRulesTemplateDefinition {
@javax.persistence.Id
@GeneratedValue
private Long uniqueId;
private String templateName;
@ManyToMany
private UserGroups projectGroup;
@ElementCollection
private List<VariableDefinition> variables = new ArrayList<>();
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 List<VariableDefinition> getVariables() {
return variables;
}
public void setVariables(List<VariableDefinition> variables) {
this.variables = variables;
}
}

View file

@ -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;
}
}

View file

@ -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;
@ManyToMany
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;
private List<String> serverNames = new ArrayList<>();
private String status;
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;
}
}

View file

@ -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;
}
}

View file

@ -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<>();
@ManyToMany
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;
}
}

View file

@ -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;
@ManyToMany
private KieWorkbench kieWorkbench;
@ManyToMany
private ProjectPersist projectPersist;
@ManyToMany
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);
}
}

View file

@ -0,0 +1,56 @@
package org.chtijbug.drools.proxy.persistence.model;
import org.chtijbug.drools.proxy.persistence.types.JSONBUserType;
import org.hibernate.annotations.TypeDef;
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);
}
}

View file

@ -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);
}

View file

@ -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 findAllById(String id, PageRequest pageRequest);
public List<BusinessTransactionPersistence> findAllByTransactionId(String transactionId, PageRequest pageRequest);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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 findByID(String ID);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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 findByID(String ID);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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 findByID(String login);
UserGroups findUserGroupsByProjectPersist(ProjectPersist projectPersist);
UserGroups findBySpaceName(String spaceName);
UserGroups findByWorkspaceUserGroupAndProjectName(UserGroups workspaceUserGroups,String projectName);
}

View file

@ -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);
}

View file

@ -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 findByID(String login);
}

View file

@ -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);
}
}
}
}

View file

@ -26,13 +26,13 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.9.7</version> <version>${jackson.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.9.7</version> <version>${jackson.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>drools-framework-business-proxy-parent</artifactId> <artifactId>drools-framework-business-proxy-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -14,7 +14,7 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-business-proxy-persistence</artifactId> <artifactId>drools-framework-business-proxy-jpa</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
@ -25,7 +25,7 @@
<dependency> <dependency>
<groupId>com.github.mkopylec</groupId> <groupId>com.github.mkopylec</groupId>
<artifactId>charon-spring-boot-starter</artifactId> <artifactId>charon-spring-boot-starter</artifactId>
<version>3.1.0</version> <version>3.2.0</version>
</dependency> </dependency>
<!-- Spring Boot --> <!-- Spring Boot -->
<dependency> <dependency>

View file

@ -11,7 +11,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory; import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.core.DefaultKafkaConsumerFactory; import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
@ -21,7 +22,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
@SpringBootApplication @SpringBootApplication
@EnableMongoRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository") @EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
public class DroolsBusinessReverseProxyServer { public class DroolsBusinessReverseProxyServer {
@Value(value = "${kafka.bootstrapAddress}") @Value(value = "${kafka.bootstrapAddress}")

View file

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>pymma-jbpm-platform-parent</artifactId> <artifactId>pymma-jbpm-platform-parent</artifactId>
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -19,8 +19,9 @@
</properties> </properties>
<modules> <modules>
<module>drools-framework-business-proxy-app</module> <module>drools-framework-business-proxy-app</module>
<module>drools-framework-business-proxy-persistence</module> <!--module>drools-framework-business-proxy-persistence</module-->
<module>drools-framework-business-indexer-app</module> <module>drools-framework-business-indexer-app</module>
<module>drools-framework-business-reverse-proxy</module> <module>drools-framework-business-reverse-proxy</module>
<module>drools-framework-business-proxy-jpa</module>
</modules> </modules>
</project> </project>

92
pom.xml
View file

@ -7,7 +7,7 @@
<groupId>com.pymmasoftware.jbpm</groupId> <groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>pymma-jbpm-platform-parent</artifactId> <artifactId>pymma-jbpm-platform-parent</artifactId>
<version>1.1-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
<modules> <modules>
<!--module>kie-wb-webapp</module--> <!--module>kie-wb-webapp</module-->
<module>drools-framework-admin-console-parent</module> <module>drools-framework-admin-console-parent</module>
@ -18,13 +18,13 @@
<properties> <properties>
<fabri8.plugin.version>0.34.1</fabri8.plugin.version> <fabri8.plugin.version>0.34.1</fabri8.plugin.version>
<jbpm.version>7.61.0.Final</jbpm.version> <jbpm.version>7.73.0.Final</jbpm.version>
<node.version>v10.16.3</node.version> <node.version>v10.16.3</node.version>
<npm.version>6.11.3</npm.version> <npm.version>6.11.3</npm.version>
<frontend-maven-plugin.version>1.11.3</frontend-maven-plugin.version> <frontend-maven-plugin.version>1.11.3</frontend-maven-plugin.version>
<spring.boot.version>2.2.6.RELEASE</spring.boot.version> <spring.boot.version>2.7.5</spring.boot.version>
<spring.version>5.2.6.RELEASE</spring.version> <spring.version>5.3.23</spring.version>
<version.thorntail>2.2.1.Final</version.thorntail> <version.thorntail>2.2.1.Final</version.thorntail>
<!--registry.host>registry.hub.docker.com/pymmasoftware</registry.host--> <!--registry.host>registry.hub.docker.com/pymmasoftware</registry.host-->
<registry.host>192.168.1.122:18083</registry.host> <registry.host>192.168.1.122:18083</registry.host>
@ -37,6 +37,10 @@
<jaxb.api.version>2.3.0</jaxb.api.version> <jaxb.api.version>2.3.0</jaxb.api.version>
<maven.plugin.version>3.8.1</maven.plugin.version> <maven.plugin.version>3.8.1</maven.plugin.version>
<pymma.java.version>11</pymma.java.version> <pymma.java.version>11</pymma.java.version>
<jackson.version>2.13.4</jackson.version>
<jackson.bind.version>2.13.4.2</jackson.bind.version>
<postgres.version>42.2.8</postgres.version>
<postgresql.version>42.2.8</postgresql.version>
</properties> </properties>
<profiles> <profiles>
<profile> <profile>
@ -58,6 +62,67 @@
</plugins> </plugins>
</build> </build>
</profile> </profile>
<profile>
<id>dttrack</id>
<properties>
<dependency-track-maven-plugin.version>1.2.0</dependency-track-maven-plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>2.7.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.pmckeown</groupId>
<artifactId>dependency-track-maven-plugin</artifactId>
<version>${dependency-track-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-core-java</artifactId>
<version>7.3.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.5.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>upload-bom</goal>
</goals>
</execution>
</executions>
<configuration>
<dependencyTrackBaseUrl>https://dependency-api.infra.pymma-software.net
</dependencyTrackBaseUrl>
<apiKey>IpCoR5ax8NPM0AioGz7zDvlgkua0N5oe</apiKey>
<pollingConfig>
<enabled>true</enabled>
<pause>500</pause>
<attempts>40</attempts>
<timeUnit>MILLIS</timeUnit>
</pollingConfig>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile> <profile>
<id>dev</id> <id>dev</id>
<activation> <activation>
@ -113,6 +178,25 @@
<build> <build>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Implementation-Version>
${project.artifactId}-${project.version}
</Implementation-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin> <plugin>
<groupId>org.sonarsource.scanner.maven</groupId> <groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId> <artifactId>sonar-maven-plugin</artifactId>