Add clonning of values in fact logging to keep initial values
This commit is contained in:
parent
337a723d49
commit
998eb9980f
21 changed files with 199 additions and 85 deletions
|
|
@ -15,6 +15,7 @@ import org.chtijbug.drools.console.middle.DababaseContentInit;
|
||||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||||
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
|
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
|
||||||
import org.chtijbug.drools.console.service.wbconnector.KieBusinessCentralConnector;
|
import org.chtijbug.drools.console.service.wbconnector.KieBusinessCentralConnector;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.repository.KieWorkbenchRepository;
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
|
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
@ -60,6 +61,8 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectRepository projectRepository;
|
private ProjectRepository projectRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KieWorkbenchRepository kieWorkbenchRepository;
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public WebMvcConfigurer corsConfigurer() {
|
public WebMvcConfigurer corsConfigurer() {
|
||||||
|
|
@ -88,6 +91,7 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
public KieConfigurationData createKieConfigurationData(){
|
public KieConfigurationData createKieConfigurationData(){
|
||||||
KieConfigurationData kieConfigurationData = new KieConfigurationData();
|
KieConfigurationData kieConfigurationData = new KieConfigurationData();
|
||||||
kieConfigurationData.setKiewbUrl(kiewbUrl);
|
kieConfigurationData.setKiewbUrl(kiewbUrl);
|
||||||
|
kieConfigurationData.setName("demo");
|
||||||
return kieConfigurationData;
|
return kieConfigurationData;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -174,36 +178,52 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
public void InitPlatform(){
|
public void InitPlatform(){
|
||||||
dababaseContentInit.initDatabaseIfNecessary();
|
dababaseContentInit.initDatabaseIfNecessary();
|
||||||
/**
|
/**
|
||||||
Map<String,KieContainerResource> kies = new HashMap<>();
|
for (KieWorkbench kieWorkbench: kieWorkbenchRepository.findAll()) {
|
||||||
KieServerSetup kieServerSetup = kieBusinessCentralConnector.connectToBusinessCentral("nheron", "adminnheron00@");
|
Map<String, KieContainerResource> kies = new HashMap<>();
|
||||||
if (kieServerSetup!= null && kieServerSetup.getContainers()!= null) {
|
KieServerSetup kieServerSetup = kieBusinessCentralConnector.connectToBusinessCentral("nheron", "adminnheron00@", kieWorkbench.getName(),kieWorkbench.getExternalUrl());
|
||||||
|
if (kieServerSetup != null && kieServerSetup.getContainers() != null) {
|
||||||
for (KieContainerResource kieContainerResource : kieServerSetup.getContainers()) {
|
for (KieContainerResource kieContainerResource : kieServerSetup.getContainers()) {
|
||||||
kies.put(kieContainerResource.getContainerId(), kieContainerResource);
|
kies.put(kieContainerResource.getContainerId(), kieContainerResource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (ProjectPersist projectPersist : projectRepository.findAll()){
|
List<ProjectPersist> projectRepositories = projectRepository.findByKieWorkbench(kieWorkbench);
|
||||||
if (projectPersist.getServerNames().size()>0){
|
if (!projectRepositories.isEmpty()){
|
||||||
if (!kies.containsKey(projectPersist.getContainerID())){
|
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
||||||
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@",projectPersist);
|
if (projectPersist.getServerNames().size() > 0) {
|
||||||
}else{
|
if (!kies.containsKey(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion())) {
|
||||||
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@",projectPersist,kies.get(projectPersist.getContainerID()));
|
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist,kieWorkbench.getExternalUrl());
|
||||||
|
} else {
|
||||||
|
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion()),kieWorkbench.getExternalUrl());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
for (ProjectPersist projectPersist : projectRepository.findAll()) {
|
||||||
|
if (projectPersist.getServerNames().size() > 0) {
|
||||||
|
if (!kies.containsKey(projectPersist.getContainerID())) {
|
||||||
|
kieBusinessCentralConnector.createContainer("nheron", "adminnheron00@", projectPersist);
|
||||||
|
} else {
|
||||||
|
kieBusinessCentralConnector.updateContainer("nheron", "adminnheron00@", projectPersist, kies.get(projectPersist.getContainerID()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerInstanceKeyList serverInstanceKeyList = kieBusinessCentralConnector.getListInstances("nheron", "adminnheron00@");
|
ServerInstanceKeyList serverInstanceKeyList = kieBusinessCentralConnector.getListInstances("nheron", "adminnheron00@");
|
||||||
if (serverInstanceKeyList!=null){
|
if (serverInstanceKeyList != null) {
|
||||||
for (ServerInstanceKey serverInstanceKey : serverInstanceKeyList.getServerInstanceKeys()){
|
for (ServerInstanceKey serverInstanceKey : serverInstanceKeyList.getServerInstanceKeys()) {
|
||||||
String serverInstanceId = serverInstanceKey.getServerInstanceId();
|
String serverInstanceId = serverInstanceKey.getServerInstanceId();
|
||||||
ContainerList containerList = kieBusinessCentralConnector.getListContainers("nheron", "adminnheron00@", serverInstanceId);
|
ContainerList containerList = kieBusinessCentralConnector.getListContainers("nheron", "adminnheron00@", serverInstanceId);
|
||||||
System.out.println("coucou");
|
System.out.println("coucou");
|
||||||
for (Container container : containerList.getContainers()){
|
for (Container container : containerList.getContainers()) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("coucou");
|
System.out.println("coucou");
|
||||||
}
|
}
|
||||||
System.out.println("coucou");
|
System.out.println("coucou");
|
||||||
|
|
||||||
|
}
|
||||||
**/
|
**/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,7 @@ public class KieRepositoryService {
|
||||||
return reponseMoteur;
|
return reponseMoteur;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserConnected login(String url, String username, String password) {
|
public UserConnected login(String url, String username, String password,String workbenchName) {
|
||||||
|
|
||||||
User user = userRepository.findByLogin(username);
|
User user = userRepository.findByLogin(username);
|
||||||
String completeurl = url + "/chtijbug/login";
|
String completeurl = url + "/chtijbug/login";
|
||||||
|
|
@ -161,7 +161,7 @@ public class KieRepositoryService {
|
||||||
userConnected.getProjectResponses().addAll(responseBody.getProjects());
|
userConnected.getProjectResponses().addAll(responseBody.getProjects());
|
||||||
userConnected.getRoles().addAll(responseBody.getRoles());
|
userConnected.getRoles().addAll(responseBody.getRoles());
|
||||||
userConnected.setUserName(username);
|
userConnected.setUserName(username);
|
||||||
|
userConnected.setKieWorkbenchName(workbenchName);
|
||||||
return userConnected;
|
return userConnected;
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -11,14 +11,8 @@ import org.chtijbug.drools.console.service.model.kie.JobStatus;
|
||||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||||
import org.chtijbug.drools.console.service.util.AppContext;
|
import org.chtijbug.drools.console.service.util.AppContext;
|
||||||
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.ContainerPojoPersist;
|
import org.chtijbug.drools.proxy.persistence.model.*;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.ContainerRuntimePojoPersist;
|
import org.chtijbug.drools.proxy.persistence.repository.*;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
|
||||||
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
|
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.ContainerRepository;
|
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.ContainerRuntimeRepository;
|
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
|
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.RuntimeRepository;
|
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -60,6 +54,10 @@ public class ProjectPersistService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RuntimeRepository runtimeRepository;
|
private RuntimeRepository runtimeRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KieWorkbenchRepository workbenchRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplateProxyUpdate;
|
private KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplateProxyUpdate;
|
||||||
|
|
||||||
|
|
@ -72,19 +70,22 @@ public class ProjectPersistService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void saveIfnotExist(List<PlatformProjectResponse> platformProjectResponses) {
|
public void saveIfnotExist(List<PlatformProjectResponse> platformProjectResponses,String workbenchName) {
|
||||||
|
|
||||||
|
|
||||||
|
KieWorkbench kieWorkbench = workbenchRepository.findByName(workbenchName);
|
||||||
for (PlatformProjectResponse platformProjectResponse : platformProjectResponses) {
|
for (PlatformProjectResponse platformProjectResponse : platformProjectResponses) {
|
||||||
|
|
||||||
ProjectPersist projectPersist = projectRepository.findByProjectNameAndBranch(new KieProject(platformProjectResponse.getSpaceName(), platformProjectResponse.getName()), platformProjectResponse.getBranch());
|
ProjectPersist projectPersist = projectRepository.findByProjectNameAndBranch(new KieProject(platformProjectResponse.getSpaceName(), platformProjectResponse.getName()), platformProjectResponse.getBranch());
|
||||||
|
|
||||||
if (projectPersist == null) {
|
if (projectPersist == null) {
|
||||||
projectPersist = platformProjectResponseToProjectPersist(platformProjectResponse);
|
projectPersist = platformProjectResponseToProjectPersist(platformProjectResponse);
|
||||||
|
projectPersist.setKieWorkbench(kieWorkbench);
|
||||||
projectPersist = projectRepository.save(projectPersist);
|
projectPersist = projectRepository.save(projectPersist);
|
||||||
addProjectToSession(projectPersist, true);
|
addProjectToSession(projectPersist, true);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
projectPersist.setKieWorkbench(kieWorkbench);
|
||||||
projectPersist.getClassNameList().clear();
|
projectPersist.getClassNameList().clear();
|
||||||
for (String className : platformProjectResponse.getJavaClasses()) {
|
for (String className : platformProjectResponse.getJavaClasses()) {
|
||||||
projectPersist.getClassNameList().add(className);
|
projectPersist.getClassNameList().add(className);
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,9 @@ public class KieServerRestImpl {
|
||||||
|
|
||||||
}
|
}
|
||||||
//@RequestHeader HttpHeaders headers
|
//@RequestHeader HttpHeaders headers
|
||||||
@GetMapping(produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
@GetMapping(path="/{kieServerName}",produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public KieServerInfo getInfo() {
|
public KieServerInfo getInfo(
|
||||||
|
@PathVariable("kieServerName") String kieServerName) {
|
||||||
KieServerInfo kieServerInfo = new KieServerInfo();
|
KieServerInfo kieServerInfo = new KieServerInfo();
|
||||||
kieServerInfo.setServerId(kieserverID);
|
kieServerInfo.setServerId(kieserverID);
|
||||||
kieServerInfo.setLocation(controlerLocation);
|
kieServerInfo.setLocation(controlerLocation);
|
||||||
|
|
@ -61,9 +62,10 @@ public class KieServerRestImpl {
|
||||||
return kieServerInfo;
|
return kieServerInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(path = "/containers",
|
@GetMapping(path = "/{kieServerName}/containers",
|
||||||
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response listContainers(@RequestHeader HttpHeaders headers,
|
public Response listContainers(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@RequestParam("groupId") String groupId,
|
@RequestParam("groupId") String groupId,
|
||||||
@RequestParam("artifactId") String artifactId,
|
@RequestParam("artifactId") String artifactId,
|
||||||
@RequestParam("version") String version,
|
@RequestParam("version") String version,
|
||||||
|
|
@ -80,10 +82,11 @@ public class KieServerRestImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PutMapping(path = "/containers/{" + CONTAINER_ID + "}",
|
@PutMapping(path = "/{kieServerName}/containers/{" + CONTAINER_ID + "}",
|
||||||
consumes = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
consumes = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
||||||
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response createContainer(@RequestHeader HttpHeaders headers,
|
public Response createContainer(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id,
|
@PathVariable(CONTAINER_ID) String id,
|
||||||
String containerPayload) {
|
String containerPayload) {
|
||||||
|
|
||||||
|
|
@ -91,61 +94,67 @@ public class KieServerRestImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PutMapping(path = "/containers/{" + CONTAINER_ID + "}/status/activated",
|
@PutMapping(path = "/{kieServerName}/containers/{" + CONTAINER_ID + "}/status/activated",
|
||||||
consumes = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
consumes = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
||||||
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces = {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response activateContainer(@RequestHeader HttpHeaders headers,
|
public Response activateContainer(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PutMapping(path="/containers/{" + CONTAINER_ID + "}/status/deactivated",
|
@PutMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}/status/deactivated",
|
||||||
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response deactivateContainer(@RequestHeader HttpHeaders headers,
|
public Response deactivateContainer(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(path="/containers/{" + CONTAINER_ID + "}",
|
@GetMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}",
|
||||||
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response getContainerInfo(@RequestHeader HttpHeaders headers,
|
public Response getContainerInfo(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@DeleteMapping(path="/containers/{" + CONTAINER_ID + "}",
|
@DeleteMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}",
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response disposeContainer(@RequestHeader HttpHeaders headers,
|
public Response disposeContainer(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(path="/containers/{" + CONTAINER_ID + "}/scanner",
|
@GetMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}/scanner",
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response getScannerInfo(@RequestHeader HttpHeaders headers,
|
public Response getScannerInfo(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping(path="/containers/{" + CONTAINER_ID + "}/scanner",
|
@PostMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}/scanner",
|
||||||
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response updateScanner(@RequestHeader HttpHeaders headers,
|
public Response updateScanner(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id,
|
@PathVariable(CONTAINER_ID) String id,
|
||||||
String resourcePayload) {
|
String resourcePayload) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(path="/containers/{" + CONTAINER_ID + "}/release-id",
|
@GetMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}/release-id",
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response getReleaseId(@RequestHeader HttpHeaders headers,
|
public Response getReleaseId(@RequestHeader HttpHeaders headers,
|
||||||
@PathVariable(CONTAINER_ID) String id) {
|
@PathVariable(CONTAINER_ID) String id) {
|
||||||
|
|
@ -153,10 +162,11 @@ public class KieServerRestImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping(path="/containers/{" + CONTAINER_ID + "}/release-id",
|
@PostMapping(path="/{kieServerName}/containers/{" + CONTAINER_ID + "}/release-id",
|
||||||
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML},
|
||||||
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
produces={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response updateReleaseId(@RequestHeader HttpHeaders headers,
|
public Response updateReleaseId(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@PathVariable(CONTAINER_ID) String id,
|
@PathVariable(CONTAINER_ID) String id,
|
||||||
String releaseIdPayload,
|
String releaseIdPayload,
|
||||||
@RequestParam(value = "resetBeforeUpdate", defaultValue = "false") boolean resetBeforeUpdate) {
|
@RequestParam(value = "resetBeforeUpdate", defaultValue = "false") boolean resetBeforeUpdate) {
|
||||||
|
|
@ -164,19 +174,21 @@ public class KieServerRestImpl {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(path="/state",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
@GetMapping(path="/{kieServerName}/state",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response getServerState(@RequestHeader HttpHeaders headers) {
|
public Response getServerState(@RequestHeader HttpHeaders headers) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(path="/readycheck",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
@GetMapping(path="/{kieServerName}/readycheck",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response readycheck(@RequestHeader HttpHeaders headers) {
|
public Response readycheck(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(path="/healthcheck",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
@GetMapping(path="/{kieServerName}/healthcheck",consumes={MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||||
public Response healthcheck(@RequestHeader HttpHeaders headers,
|
public Response healthcheck(@RequestHeader HttpHeaders headers,
|
||||||
|
@PathVariable("kieServerName") String kieServerName,
|
||||||
@RequestParam(value = "report", defaultValue = "false") boolean report) {
|
@RequestParam(value = "report", defaultValue = "false") boolean report) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ public class UserConnected {
|
||||||
|
|
||||||
private boolean connected;
|
private boolean connected;
|
||||||
|
|
||||||
|
private String kieWorkbenchName;
|
||||||
|
|
||||||
public UserConnected() {
|
public UserConnected() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,6 +42,13 @@ public class UserConnected {
|
||||||
this.userPassword = userPassword;
|
this.userPassword = userPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getKieWorkbenchName() {
|
||||||
|
return kieWorkbenchName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKieWorkbenchName(String kieWorkbenchName) {
|
||||||
|
this.kieWorkbenchName = kieWorkbenchName;
|
||||||
|
}
|
||||||
|
|
||||||
public List<PlatformProjectResponse> getProjectResponses() {
|
public List<PlatformProjectResponse> getProjectResponses() {
|
||||||
return projectResponses;
|
return projectResponses;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ public class KieConfigurationData {
|
||||||
|
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
|
||||||
public String getKiewbUrl() {
|
public String getKiewbUrl() {
|
||||||
|
|
@ -34,4 +35,11 @@ public class KieConfigurationData {
|
||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,11 +51,16 @@ public class KieBusinessCentralConnector {
|
||||||
mapper.registerModule(new JaxbAnnotationModule());
|
mapper.registerModule(new JaxbAnnotationModule());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String createContainer(String username, String password, ProjectPersist projectPersist){
|
public String createContainer(String username, String password, ProjectPersist projectPersist, String externalUrl){
|
||||||
String completeurl=kiewbUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
String completeurl;
|
||||||
|
if (externalUrl==null || externalUrl.isEmpty()) {
|
||||||
|
completeurl=kiewbUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
||||||
|
}else{
|
||||||
|
completeurl=externalUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
||||||
|
}
|
||||||
ContainerSpec containerSpec = new ContainerSpec();
|
ContainerSpec containerSpec = new ContainerSpec();
|
||||||
containerSpec.setId(projectPersist.getContainerID());
|
containerSpec.setId(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion());
|
||||||
containerSpec.setContainerName(projectPersist.getContainerID());
|
containerSpec.setContainerName(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion());
|
||||||
containerSpec.setReleasedId(new ReleaseId());
|
containerSpec.setReleasedId(new ReleaseId());
|
||||||
containerSpec.setStatus(KieContainerStatus.STARTED);
|
containerSpec.setStatus(KieContainerStatus.STARTED);
|
||||||
containerSpec.getReleasedId().setArtifactId(projectPersist.getArtifactID());
|
containerSpec.getReleasedId().setArtifactId(projectPersist.getArtifactID());
|
||||||
|
|
@ -86,11 +91,16 @@ public class KieBusinessCentralConnector {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String updateContainer(String username, String password, ProjectPersist projectPersist, KieContainerResource kieContainerResource){
|
public String updateContainer(String username, String password, ProjectPersist projectPersist, KieContainerResource kieContainerResource, String externalUrl){
|
||||||
String completeurl=kiewbUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
String completeurl;
|
||||||
|
if (externalUrl==null || externalUrl.isEmpty()) {
|
||||||
|
completeurl=kiewbUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
||||||
|
}else{
|
||||||
|
completeurl=externalUrl+"/controller/management/servers/"+kieserverID+"/containers/"+projectPersist.getContainerID();
|
||||||
|
}
|
||||||
ContainerSpec containerSpec = new ContainerSpec();
|
ContainerSpec containerSpec = new ContainerSpec();
|
||||||
containerSpec.setId(projectPersist.getContainerID());
|
containerSpec.setId(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion());
|
||||||
containerSpec.setContainerName(projectPersist.getContainerID());
|
containerSpec.setContainerName(projectPersist.getArtifactID()+"_"+projectPersist.getProjectVersion());
|
||||||
containerSpec.setReleasedId(new ReleaseId());
|
containerSpec.setReleasedId(new ReleaseId());
|
||||||
containerSpec.setStatus(KieContainerStatus.STARTED);
|
containerSpec.setStatus(KieContainerStatus.STARTED);
|
||||||
containerSpec.getReleasedId().setArtifactId(projectPersist.getArtifactID());
|
containerSpec.getReleasedId().setArtifactId(projectPersist.getArtifactID());
|
||||||
|
|
@ -179,15 +189,24 @@ public class KieBusinessCentralConnector {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public KieServerSetup connectToBusinessCentral(String username, String password){
|
public KieServerSetup connectToBusinessCentral(String username, String password, String kieServerName, String externalUrl){
|
||||||
String completeurl=kiewbUrl+"/controller/server/"+kieserverID;
|
String completeurl;
|
||||||
|
if (externalUrl==null || externalUrl.isEmpty()) {
|
||||||
|
completeurl = kiewbUrl + "/controller/server/" + kieserverID;
|
||||||
|
}else{
|
||||||
|
completeurl = externalUrl + "/controller/server/" + kieserverID;
|
||||||
|
}
|
||||||
KieServerInfo kieServerInfo = new KieServerInfo();
|
KieServerInfo kieServerInfo = new KieServerInfo();
|
||||||
kieServerInfo.setVersion("1.0.0");
|
kieServerInfo.setVersion("1.0.0");
|
||||||
kieServerInfo.setServerId("1");
|
kieServerInfo.setServerId("1");
|
||||||
kieServerInfo.setName(kieserverID);
|
kieServerInfo.setName(kieserverID);
|
||||||
kieServerInfo.setMode(KieServerMode.DEVELOPMENT);
|
kieServerInfo.setMode(KieServerMode.DEVELOPMENT);
|
||||||
kieServerInfo.setServerId(kieserverID);
|
kieServerInfo.setServerId(kieserverID);
|
||||||
kieServerInfo.setLocation(controlerLocation);
|
if (kieServerName==null || kieServerName.isEmpty()){
|
||||||
|
kieServerInfo.setLocation(controlerLocation+"/demo");
|
||||||
|
}else{
|
||||||
|
kieServerInfo.setLocation(controlerLocation+"/"+kieServerName);
|
||||||
|
}
|
||||||
kieServerInfo.setCapabilities(new ArrayList<>());
|
kieServerInfo.setCapabilities(new ArrayList<>());
|
||||||
kieServerInfo.getCapabilities().add("BRM");
|
kieServerInfo.getCapabilities().add("BRM");
|
||||||
ResponseEntity<KieServerSetup> response = restTemplateKiewb
|
ResponseEntity<KieServerSetup> response = restTemplateKiewb
|
||||||
|
|
|
||||||
|
|
@ -124,12 +124,13 @@ public class FormulaireComposant extends VerticalLayout {
|
||||||
UserConnected connected = kieRepositoryService.login(
|
UserConnected connected = kieRepositoryService.login(
|
||||||
configKie.getKiewbUrl(),
|
configKie.getKiewbUrl(),
|
||||||
userConnectedBinder.getBean().getUserName(),
|
userConnectedBinder.getBean().getUserName(),
|
||||||
userConnectedBinder.getBean().getUserPassword());
|
userConnectedBinder.getBean().getUserPassword(),
|
||||||
|
configKie.getName());
|
||||||
|
|
||||||
if(connected!=null) {
|
if(connected!=null) {
|
||||||
connected.setConnected(true);
|
connected.setConnected(true);
|
||||||
userConnectedService.addUserToSession(connected);
|
userConnectedService.addUserToSession(connected);
|
||||||
projectPersistService.saveIfnotExist(connected.getProjectResponses());
|
projectPersistService.saveIfnotExist(connected.getProjectResponses(),configKie.getName());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}else {
|
}else {
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ public class DroolsChtijbugRulesExecutionService {
|
||||||
return chtijbugObjectRequest;
|
return chtijbugObjectRequest;
|
||||||
|
|
||||||
} catch (DroolsChtijbugException e) {
|
} catch (DroolsChtijbugException e) {
|
||||||
e.printStackTrace();
|
logger.error("FireAllRulesAndStartProcess",e);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new IllegalStateException("Unable to execute command " + chtijbugObjectRequest.getObjectRequest());
|
throw new IllegalStateException("Unable to execute command " + chtijbugObjectRequest.getObjectRequest());
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package org.chtijbug.drools.runtime.impl;
|
package org.chtijbug.drools.runtime.impl;
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import com.thoughtworks.xstream.XStream;
|
import com.thoughtworks.xstream.XStream;
|
||||||
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
|
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
|
||||||
import org.chtijbug.drools.common.reflection.ReflectionUtils;
|
import org.chtijbug.drools.common.reflection.ReflectionUtils;
|
||||||
|
|
@ -380,9 +381,12 @@ public class RuleBaseStatefulSession implements RuleBaseSession {
|
||||||
public Object fireAllRulesAndStartProcess(Object inputObject, String processName) throws DroolsChtijbugException {
|
public Object fireAllRulesAndStartProcess(Object inputObject, String processName) throws DroolsChtijbugException {
|
||||||
DroolsFactObject inputDroolsObject = null;
|
DroolsFactObject inputDroolsObject = null;
|
||||||
DroolsFactObject outputDroolsObject = null;
|
DroolsFactObject outputDroolsObject = null;
|
||||||
|
Object inputObjectClone;
|
||||||
if (inputObject != null) {
|
if (inputObject != null) {
|
||||||
this.insertByReflection(inputObject);
|
this.insertByReflection(inputObject);
|
||||||
inputDroolsObject = DroolsFactObjectFactory.createFactObject(inputObject);
|
Cloner cloner = new Cloner();
|
||||||
|
inputObjectClone=cloner.deepClone(inputObject);
|
||||||
|
inputDroolsObject = DroolsFactObjectFactory.createFactObject(inputObjectClone);
|
||||||
}
|
}
|
||||||
if (processName != null && processName.length() > 0) {
|
if (processName != null && processName.length() > 0) {
|
||||||
this.startProcess(processName);
|
this.startProcess(processName);
|
||||||
|
|
@ -537,9 +541,12 @@ public class RuleBaseStatefulSession implements RuleBaseSession {
|
||||||
|
|
||||||
DroolsFactObject inputDroolsObject = null;
|
DroolsFactObject inputDroolsObject = null;
|
||||||
DroolsFactObject outputDroolsObject = null;
|
DroolsFactObject outputDroolsObject = null;
|
||||||
|
Object inputObjectClone;
|
||||||
if (inputObject != null) {
|
if (inputObject != null) {
|
||||||
this.insertByReflection(inputObject);
|
this.insertByReflection(inputObject);
|
||||||
inputDroolsObject = DroolsFactObjectFactory.createFactObject(inputObject);
|
Cloner cloner = new Cloner();
|
||||||
|
inputObjectClone=cloner.deepClone(inputObject);
|
||||||
|
inputDroolsObject = DroolsFactObjectFactory.createFactObject(inputObjectClone);
|
||||||
}
|
}
|
||||||
Map<String, Object> maps = new HashMap<String, Object>();
|
Map<String, Object> maps = new HashMap<String, Object>();
|
||||||
maps.put("inputObject", inputObject);
|
maps.put("inputObject", inputObject);
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,11 @@
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
</dependency-->
|
</dependency-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.github.kostaskougios</groupId>
|
||||||
|
<artifactId>cloning</artifactId>
|
||||||
|
<version>1.10.3</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-io</groupId>
|
<groupId>commons-io</groupId>
|
||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package org.chtijbug.drools.runtimeevent.impl.fact;
|
package org.chtijbug.drools.runtimeevent.impl.fact;
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import org.chtijbug.drools.SessionContext;
|
import org.chtijbug.drools.SessionContext;
|
||||||
import org.chtijbug.drools.entity.history.HistoryEvent;
|
import org.chtijbug.drools.entity.history.HistoryEvent;
|
||||||
import org.chtijbug.drools.entity.history.fact.DeletedFactHistoryEvent;
|
import org.chtijbug.drools.entity.history.fact.DeletedFactHistoryEvent;
|
||||||
|
|
@ -34,7 +35,8 @@ public class DeleteFactEventStrategy implements AbstractMemoryEventHandlerStrate
|
||||||
Fact fact = new Fact();
|
Fact fact = new Fact();
|
||||||
fact.setFullClassName(deletedFactHistoryEvent.getDeletedObject().getFullClassName());
|
fact.setFullClassName(deletedFactHistoryEvent.getDeletedObject().getFullClassName());
|
||||||
fact.setObjectVersion(deletedFactHistoryEvent.getDeletedObject().getObjectVersion());
|
fact.setObjectVersion(deletedFactHistoryEvent.getDeletedObject().getObjectVersion());
|
||||||
fact.setRealFact(deletedFactHistoryEvent.getDeletedObject().getRealObject());
|
Cloner cloner = new Cloner();
|
||||||
|
fact.setRealFact(cloner.deepClone(deletedFactHistoryEvent.getDeletedObject().getRealObject()));
|
||||||
fact.setModificationDate(deletedFactHistoryEvent.getDateEvent());
|
fact.setModificationDate(deletedFactHistoryEvent.getDateEvent());
|
||||||
fact.setFactType(FactType.DELETED);
|
fact.setFactType(FactType.DELETED);
|
||||||
RuleExecution existingInSessionRuleExecution = null;
|
RuleExecution existingInSessionRuleExecution = null;
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package org.chtijbug.drools.runtimeevent.impl.fact;
|
package org.chtijbug.drools.runtimeevent.impl.fact;
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import org.chtijbug.drools.SessionContext;
|
import org.chtijbug.drools.SessionContext;
|
||||||
import org.chtijbug.drools.entity.history.HistoryEvent;
|
import org.chtijbug.drools.entity.history.HistoryEvent;
|
||||||
import org.chtijbug.drools.entity.history.fact.InsertedFactHistoryEvent;
|
import org.chtijbug.drools.entity.history.fact.InsertedFactHistoryEvent;
|
||||||
|
|
@ -33,7 +34,8 @@ public class InsertedFactEventStrategy implements AbstractMemoryEventHandlerStra
|
||||||
Fact fact = new Fact();
|
Fact fact = new Fact();
|
||||||
fact.setFullClassName(insertedFactHistoryEvent.getInsertedObject().getFullClassName());
|
fact.setFullClassName(insertedFactHistoryEvent.getInsertedObject().getFullClassName());
|
||||||
fact.setObjectVersion(insertedFactHistoryEvent.getInsertedObject().getObjectVersion());
|
fact.setObjectVersion(insertedFactHistoryEvent.getInsertedObject().getObjectVersion());
|
||||||
fact.setRealFact(insertedFactHistoryEvent.getInsertedObject().getRealObject());
|
Cloner cloner = new Cloner();
|
||||||
|
fact.setRealFact(cloner.deepClone(insertedFactHistoryEvent.getInsertedObject().getRealObject()));
|
||||||
fact.setModificationDate(insertedFactHistoryEvent.getDateEvent());
|
fact.setModificationDate(insertedFactHistoryEvent.getDateEvent());
|
||||||
fact.setFactType(FactType.INSERTED);
|
fact.setFactType(FactType.INSERTED);
|
||||||
fact.setEventid(insertedFactHistoryEvent.getEventID());
|
fact.setEventid(insertedFactHistoryEvent.getEventID());
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
package org.chtijbug.drools.runtimeevent.impl.fact;
|
package org.chtijbug.drools.runtimeevent.impl.fact;
|
||||||
|
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import org.chtijbug.drools.SessionContext;
|
import org.chtijbug.drools.SessionContext;
|
||||||
import org.chtijbug.drools.entity.history.HistoryEvent;
|
import org.chtijbug.drools.entity.history.HistoryEvent;
|
||||||
import org.chtijbug.drools.entity.history.fact.UpdatedFactHistoryEvent;
|
import org.chtijbug.drools.entity.history.fact.UpdatedFactHistoryEvent;
|
||||||
|
|
@ -32,17 +33,18 @@ public class UpdatedFactEventStrategy implements AbstractMemoryEventHandlerStrat
|
||||||
@Override
|
@Override
|
||||||
public void handleMessageInternally(HistoryEvent historyEvent, SessionContext sessionContext) {
|
public void handleMessageInternally(HistoryEvent historyEvent, SessionContext sessionContext) {
|
||||||
UpdatedFactHistoryEvent updatedFactHistoryEvent = (UpdatedFactHistoryEvent) historyEvent;
|
UpdatedFactHistoryEvent updatedFactHistoryEvent = (UpdatedFactHistoryEvent) historyEvent;
|
||||||
|
Cloner cloner=new Cloner();
|
||||||
Fact factOldValue = new Fact();
|
Fact factOldValue = new Fact();
|
||||||
factOldValue.setFullClassName(updatedFactHistoryEvent.getObjectOldValue().getFullClassName());
|
factOldValue.setFullClassName(updatedFactHistoryEvent.getObjectOldValue().getFullClassName());
|
||||||
factOldValue.setObjectVersion(updatedFactHistoryEvent.getObjectOldValue().getObjectVersion());
|
factOldValue.setObjectVersion(updatedFactHistoryEvent.getObjectOldValue().getObjectVersion());
|
||||||
factOldValue.setRealFact(updatedFactHistoryEvent.getObjectOldValue().getRealObject());
|
factOldValue.setRealFact(cloner.deepClone(updatedFactHistoryEvent.getObjectOldValue().getRealObject()));
|
||||||
factOldValue.setModificationDate(updatedFactHistoryEvent.getDateEvent());
|
factOldValue.setModificationDate(updatedFactHistoryEvent.getDateEvent());
|
||||||
factOldValue.setFactType(FactType.UPDATED_OLDVALUE);
|
factOldValue.setFactType(FactType.UPDATED_OLDVALUE);
|
||||||
factOldValue.setEventid(updatedFactHistoryEvent.getEventID());
|
factOldValue.setEventid(updatedFactHistoryEvent.getEventID());
|
||||||
Fact factNewValue = new Fact();
|
Fact factNewValue = new Fact();
|
||||||
factNewValue.setFullClassName(updatedFactHistoryEvent.getObjectNewValue().getFullClassName());
|
factNewValue.setFullClassName(updatedFactHistoryEvent.getObjectNewValue().getFullClassName());
|
||||||
factNewValue.setObjectVersion(updatedFactHistoryEvent.getObjectNewValue().getObjectVersion());
|
factNewValue.setObjectVersion(updatedFactHistoryEvent.getObjectNewValue().getObjectVersion());
|
||||||
factNewValue.setRealFact(updatedFactHistoryEvent.getObjectNewValue().getRealObject());
|
factNewValue.setRealFact(cloner.deepClone(updatedFactHistoryEvent.getObjectNewValue().getRealObject()));
|
||||||
factNewValue.setModificationDate(updatedFactHistoryEvent.getDateEvent());
|
factNewValue.setModificationDate(updatedFactHistoryEvent.getDateEvent());
|
||||||
factNewValue.setFactType(FactType.UPDATED_NEWVALUE);
|
factNewValue.setFactType(FactType.UPDATED_NEWVALUE);
|
||||||
factNewValue.setEventid(updatedFactHistoryEvent.getEventID());
|
factNewValue.setEventid(updatedFactHistoryEvent.getEventID());
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
package org.chtijbug.drools.runtimeevent.impl.knowledgeSession;
|
package org.chtijbug.drools.runtimeevent.impl.knowledgeSession;
|
||||||
|
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import org.chtijbug.drools.SessionContext;
|
import org.chtijbug.drools.SessionContext;
|
||||||
import org.chtijbug.drools.entity.DroolsFactObject;
|
import org.chtijbug.drools.entity.DroolsFactObject;
|
||||||
import org.chtijbug.drools.entity.history.HistoryEvent;
|
import org.chtijbug.drools.entity.history.HistoryEvent;
|
||||||
|
|
@ -31,6 +32,7 @@ public class KnowledgeSessionFireAllRulesAndStartProcessEventStrategy implements
|
||||||
public void handleMessageInternally(HistoryEvent historyEvent, SessionContext sessionContext) {
|
public void handleMessageInternally(HistoryEvent historyEvent, SessionContext sessionContext) {
|
||||||
SessionFireAllRulesAndStartProcess sessionFireAllRulesAndStartProcess = (SessionFireAllRulesAndStartProcess) historyEvent;
|
SessionFireAllRulesAndStartProcess sessionFireAllRulesAndStartProcess = (SessionFireAllRulesAndStartProcess) historyEvent;
|
||||||
SessionExecution existingSessionRutime = sessionContext.getSessionExecution();
|
SessionExecution existingSessionRutime = sessionContext.getSessionExecution();
|
||||||
|
|
||||||
if (existingSessionRutime != null) {
|
if (existingSessionRutime != null) {
|
||||||
if (sessionFireAllRulesAndStartProcess.getInputObject() != null) {
|
if (sessionFireAllRulesAndStartProcess.getInputObject() != null) {
|
||||||
DroolsFactObject inputObject = sessionFireAllRulesAndStartProcess.getInputObject();
|
DroolsFactObject inputObject = sessionFireAllRulesAndStartProcess.getInputObject();
|
||||||
|
|
@ -38,7 +40,8 @@ public class KnowledgeSessionFireAllRulesAndStartProcessEventStrategy implements
|
||||||
inputFact.setEventid(sessionContext.getSessionExecution().getStartEventID());
|
inputFact.setEventid(sessionContext.getSessionExecution().getStartEventID());
|
||||||
inputFact.setFactType(FactType.INPUTDATA);
|
inputFact.setFactType(FactType.INPUTDATA);
|
||||||
inputFact.setFullClassName(inputObject.getFullClassName());
|
inputFact.setFullClassName(inputObject.getFullClassName());
|
||||||
inputFact.setRealFact(inputObject.getRealObject());
|
Cloner cloner=new Cloner();
|
||||||
|
inputFact.setRealFact(cloner.deepClone(inputObject.getRealObject()));
|
||||||
inputFact.setModificationDate(sessionFireAllRulesAndStartProcess.getDateEvent());
|
inputFact.setModificationDate(sessionFireAllRulesAndStartProcess.getDateEvent());
|
||||||
inputFact.setObjectVersion(inputObject.getObjectVersion());
|
inputFact.setObjectVersion(inputObject.getObjectVersion());
|
||||||
existingSessionRutime.getFacts().add(inputFact);
|
existingSessionRutime.getFacts().add(inputFact);
|
||||||
|
|
@ -49,7 +52,8 @@ public class KnowledgeSessionFireAllRulesAndStartProcessEventStrategy implements
|
||||||
outputFact.setEventid(sessionContext.getSessionExecution().getStopEventID());
|
outputFact.setEventid(sessionContext.getSessionExecution().getStopEventID());
|
||||||
outputFact.setFactType(FactType.OUTPUTDATA);
|
outputFact.setFactType(FactType.OUTPUTDATA);
|
||||||
outputFact.setFullClassName(outputObject.getFullClassName());
|
outputFact.setFullClassName(outputObject.getFullClassName());
|
||||||
outputFact.setRealFact(outputObject.getRealObject());
|
Cloner cloner=new Cloner();
|
||||||
|
outputFact.setRealFact(cloner.deepClone(outputObject.getRealObject()));
|
||||||
outputFact.setModificationDate(sessionFireAllRulesAndStartProcess.getDateEvent());
|
outputFact.setModificationDate(sessionFireAllRulesAndStartProcess.getDateEvent());
|
||||||
outputFact.setObjectVersion(outputObject.getObjectVersion());
|
outputFact.setObjectVersion(outputObject.getObjectVersion());
|
||||||
existingSessionRutime.getFacts().add(outputFact);
|
existingSessionRutime.getFacts().add(outputFact);
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
package org.chtijbug.drools.runtimeevent.impl.rule;
|
package org.chtijbug.drools.runtimeevent.impl.rule;
|
||||||
|
|
||||||
|
|
||||||
|
import com.rits.cloning.Cloner;
|
||||||
import org.chtijbug.drools.SessionContext;
|
import org.chtijbug.drools.SessionContext;
|
||||||
import org.chtijbug.drools.entity.DroolsFactObject;
|
import org.chtijbug.drools.entity.DroolsFactObject;
|
||||||
import org.chtijbug.drools.entity.history.HistoryEvent;
|
import org.chtijbug.drools.entity.history.HistoryEvent;
|
||||||
|
|
@ -49,10 +50,11 @@ public class BeforeRuleFiredEventStrategy implements AbstractMemoryEventHandlerS
|
||||||
ruleExecution.setRuleName(beforeRuleFiredHistoryEvent.getRule().getRuleName());
|
ruleExecution.setRuleName(beforeRuleFiredHistoryEvent.getRule().getRuleName());
|
||||||
ruleExecution.setPackageName(beforeRuleFiredHistoryEvent.getRule().getRulePackageName());
|
ruleExecution.setPackageName(beforeRuleFiredHistoryEvent.getRule().getRulePackageName());
|
||||||
ruleExecution.setStartEventID(beforeRuleFiredHistoryEvent.getEventID());
|
ruleExecution.setStartEventID(beforeRuleFiredHistoryEvent.getEventID());
|
||||||
|
Cloner cloner = new Cloner();
|
||||||
for (DroolsFactObject droolsFactObject : beforeRuleFiredHistoryEvent.getWhenObjects()) {
|
for (DroolsFactObject droolsFactObject : beforeRuleFiredHistoryEvent.getWhenObjects()) {
|
||||||
if (droolsFactObject != null) {
|
if (droolsFactObject != null) {
|
||||||
Fact fact = new Fact();
|
Fact fact = new Fact();
|
||||||
fact.setRealFact(droolsFactObject.getRealObject());
|
fact.setRealFact(cloner.deepClone(droolsFactObject.getRealObject()));
|
||||||
fact.setFactType(FactType.WHEN);
|
fact.setFactType(FactType.WHEN);
|
||||||
fact.setObjectVersion(droolsFactObject.getObjectVersion());
|
fact.setObjectVersion(droolsFactObject.getObjectVersion());
|
||||||
fact.setFullClassName(droolsFactObject.getFullClassName());
|
fact.setFullClassName(droolsFactObject.getFullClassName());
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,6 @@
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.23.0.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-api:7.23.0.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.23.0.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" />
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />
|
||||||
|
|
@ -80,6 +77,8 @@
|
||||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
|
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
|
||||||
|
<orderEntry type="module" module-name="cloning" />
|
||||||
|
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.0.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,8 @@
|
||||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
|
<orderEntry type="library" name="Maven: commons-io:commons-io:2.1" level="project" />
|
||||||
|
<orderEntry type="module" module-name="cloning" />
|
||||||
|
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.0.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-api:7.40.0.20200703" level="project" />
|
<orderEntry type="library" name="Maven: org.kie:kie-api:7.40.0.20200703" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.40.0.20200703" level="project" />
|
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.40.0.20200703" level="project" />
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import org.springframework.data.annotation.Id;
|
||||||
import org.springframework.data.mongodb.core.index.CompoundIndex;
|
import org.springframework.data.mongodb.core.index.CompoundIndex;
|
||||||
import org.springframework.data.mongodb.core.index.CompoundIndexes;
|
import org.springframework.data.mongodb.core.index.CompoundIndexes;
|
||||||
import org.springframework.data.mongodb.core.index.Indexed;
|
import org.springframework.data.mongodb.core.index.Indexed;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.DBRef;
|
||||||
import org.springframework.data.mongodb.core.mapping.Document;
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -30,6 +31,8 @@ public class ProjectPersist implements Serializable {
|
||||||
@Indexed
|
@Indexed
|
||||||
private String uuid;
|
private String uuid;
|
||||||
|
|
||||||
|
@DBRef
|
||||||
|
private KieWorkbench kieWorkbench;
|
||||||
|
|
||||||
private KieProject projectName;
|
private KieProject projectName;
|
||||||
|
|
||||||
|
|
@ -164,6 +167,18 @@ public class ProjectPersist implements Serializable {
|
||||||
this.branch = 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 ProjectPersist duplicate(){
|
public ProjectPersist duplicate(){
|
||||||
ArrayList<String> listServerNames = new ArrayList<String>();
|
ArrayList<String> listServerNames = new ArrayList<String>();
|
||||||
listServerNames.addAll(serverNames);
|
listServerNames.addAll(serverNames);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package org.chtijbug.drools.proxy.persistence.repository;
|
package org.chtijbug.drools.proxy.persistence.repository;
|
||||||
|
|
||||||
import org.chtijbug.drools.proxy.persistence.json.KieProject;
|
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.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
||||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
@ -15,5 +16,6 @@ public interface ProjectRepository extends MongoRepository<ProjectPersist, Strin
|
||||||
public ProjectPersist findByDeploymentName(String deploymentName);
|
public ProjectPersist findByDeploymentName(String deploymentName);
|
||||||
public List<ProjectPersist> findByServerNamesIn(List<String> serverNames);
|
public List<ProjectPersist> findByServerNamesIn(List<String> serverNames);
|
||||||
public List<ProjectPersist> findByServerNamesInAndDeploymentName(List<String> serverNames,String deploymentName);
|
public List<ProjectPersist> findByServerNamesInAndDeploymentName(List<String> serverNames,String deploymentName);
|
||||||
|
public List<ProjectPersist> findByKieWorkbench(KieWorkbench kieWorkbench);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@
|
||||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:2.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
<orderEntry type="library" name="Maven: com.google.guava:guava:13.0.1" level="project" />
|
||||||
|
<orderEntry type="module" module-name="cloning" />
|
||||||
|
<orderEntry type="library" name="Maven: org.objenesis:objenesis:3.0.1" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.3" level="project" />
|
||||||
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.40.0.20200703" level="project" />
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue