Merge pull request #152 from pymma/kafka
Creation of an API in the admin console to create workspace and proje…
This commit is contained in:
commit
2ca99e707e
27 changed files with 694 additions and 153 deletions
|
|
@ -70,6 +70,10 @@
|
||||||
<artifactId>spring-kafka</artifactId>
|
<artifactId>spring-kafka</artifactId>
|
||||||
<version>${kafka.version}</version>
|
<version>${kafka.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-security</artifactId>
|
||||||
|
</dependency>
|
||||||
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
|
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.poi</groupId>
|
<groupId>org.apache.poi</groupId>
|
||||||
|
|
@ -81,6 +85,10 @@
|
||||||
<artifactId>kie-server-api</artifactId>
|
<artifactId>kie-server-api</artifactId>
|
||||||
<version>${jbpm.version}</version>
|
<version>${jbpm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.uberfire</groupId>
|
||||||
|
<artifactId>uberfire-rest-client</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pymmasoftware.jbpm</groupId>
|
<groupId>com.pymmasoftware.jbpm</groupId>
|
||||||
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
|
||||||
|
|
@ -231,7 +239,11 @@
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-boot-starter</artifactId>
|
||||||
|
<version>3.0.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,11 @@ import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
import org.springframework.kafka.support.serializer.JsonSerializer;
|
||||||
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
import springfox.documentation.builders.PathSelectors;
|
||||||
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||||
|
import springfox.documentation.spi.DocumentationType;
|
||||||
|
import springfox.documentation.spring.web.plugins.Docket;
|
||||||
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -48,8 +52,13 @@ import java.util.Map;
|
||||||
@EnableMongoRepositories("org.chtijbug.drools.proxy.persistence.repository")
|
@EnableMongoRepositories("org.chtijbug.drools.proxy.persistence.repository")
|
||||||
@EnableKafka
|
@EnableKafka
|
||||||
@PropertySource("classpath:application.properties")
|
@PropertySource("classpath:application.properties")
|
||||||
|
@EnableSwagger2
|
||||||
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
|
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${kie-wb.baseurl}")
|
@Value("${kie-wb.baseurl}")
|
||||||
private String kiewbUrl;
|
private String kiewbUrl;
|
||||||
|
|
||||||
|
|
@ -68,10 +77,9 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public WebMvcConfigurer corsConfigurer() {
|
public WebMvcConfigurer corsConfigurer() {
|
||||||
return new WebMvcConfigurerAdapter() {
|
return new WebMvcConfigurer() {
|
||||||
@Override
|
@Override
|
||||||
public void addCorsMappings(CorsRegistry registry) {
|
public void addCorsMappings(CorsRegistry registry) {
|
||||||
super.addCorsMappings(registry);
|
|
||||||
registry.addMapping("/**")
|
registry.addMapping("/**")
|
||||||
.allowedOrigins("*")
|
.allowedOrigins("*")
|
||||||
.allowedMethods("GET", "POST", "OPTIONS", "DELETE", "PUT")
|
.allowedMethods("GET", "POST", "OPTIONS", "DELETE", "PUT")
|
||||||
|
|
@ -85,8 +93,7 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
|
|
||||||
@Bean(name = "applicationContext")
|
@Bean(name = "applicationContext")
|
||||||
public ApplicationContextProvider getAppplicationContext() {
|
public ApplicationContextProvider getAppplicationContext() {
|
||||||
ApplicationContextProvider applicationContextProvider = new ApplicationContextProvider();
|
return new ApplicationContextProvider();
|
||||||
return applicationContextProvider;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|
@ -166,7 +173,7 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
|
|
||||||
|
|
||||||
@EventListener(ApplicationReadyEvent.class)
|
@EventListener(ApplicationReadyEvent.class)
|
||||||
public void InitPlatform(){
|
public void initPlatform(){
|
||||||
dababaseContentInit.initDatabaseIfNecessary();
|
dababaseContentInit.initDatabaseIfNecessary();
|
||||||
/**
|
/**
|
||||||
for (KieWorkbench kieWorkbench: kieWorkbenchRepository.findAll()) {
|
for (KieWorkbench kieWorkbench: kieWorkbenchRepository.findAll()) {
|
||||||
|
|
@ -218,5 +225,17 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
|
||||||
**/
|
**/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Docket api() {
|
||||||
|
return new Docket(DocumentationType.SWAGGER_2)
|
||||||
|
.select()
|
||||||
|
.apis(RequestHandlerSelectors.basePackage("org.chtijbug.drools.console.restExpose"))
|
||||||
|
//.paths(PathSelectors.regex("/api/wb./wb.*"))
|
||||||
|
.paths(PathSelectors.regex("/api/wb.*"))
|
||||||
|
.build()
|
||||||
|
.pathMapping("/swagger");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package org.chtijbug.drools.console;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.console.security.MongoUserDetailsService;
|
||||||
|
import org.chtijbug.drools.console.security.MyNoOpPasswordEncoder;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||||
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||||
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
|
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||||
|
import org.springframework.security.web.util.matcher.OrRequestMatcher;
|
||||||
|
import org.springframework.security.web.util.matcher.RequestMatcher;
|
||||||
|
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
@EnableConfigurationProperties
|
||||||
|
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
|
||||||
|
@Autowired
|
||||||
|
MongoUserDetailsService userDetailsService;
|
||||||
|
private static final String[] AUTH_WHITELIST = {
|
||||||
|
// -- swagger ui
|
||||||
|
"/v2/api-docs",
|
||||||
|
"/swagger-resources",
|
||||||
|
"/swagger-resources/**",
|
||||||
|
"/configuration/ui",
|
||||||
|
"/configuration/security",
|
||||||
|
"/swagger-ui.html",
|
||||||
|
"/webjars/**"
|
||||||
|
// other public endpoints of your API may be appended to this array
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final RequestMatcher PROTECTED_URLS = new OrRequestMatcher(
|
||||||
|
new AntPathRequestMatcher("/api/**")
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
|
http
|
||||||
|
.csrf().disable()
|
||||||
|
|
||||||
|
.authorizeRequests().antMatchers(AUTH_WHITELIST).permitAll()
|
||||||
|
.requestMatchers(PROTECTED_URLS).authenticated()
|
||||||
|
.and().httpBasic()
|
||||||
|
.and().sessionManagement().disable();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public PasswordEncoder passwordEncoder() {
|
||||||
|
return new MyNoOpPasswordEncoder();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void configure(AuthenticationManagerBuilder builder) throws Exception {
|
||||||
|
builder.userDetailsService(userDetailsService);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,173 @@
|
||||||
|
package org.chtijbug.drools.console.restexpose;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import org.apache.commons.codec.binary.Base64;
|
||||||
|
import org.chtijbug.drools.console.service.IndexerService;
|
||||||
|
import org.chtijbug.drools.console.service.JobService;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.KieWorkbench;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.User;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.repository.KieWorkbenchRepository;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.repository.UserRepository;
|
||||||
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
|
import org.guvnor.rest.client.CreateProjectJobRequest;
|
||||||
|
import org.guvnor.rest.client.CreateProjectRequest;
|
||||||
|
import org.guvnor.rest.client.Space;
|
||||||
|
import org.guvnor.rest.client.SpaceRequest;
|
||||||
|
import org.kie.server.api.model.KieServerInfo;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpHeaders;
|
||||||
|
import org.springframework.http.HttpMethod;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.security.core.Authentication;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.client.RequestCallback;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
import javax.ws.rs.core.Variant;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/wb")
|
||||||
|
public class AssetServiceExpose {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IndexerService indexerService;
|
||||||
|
|
||||||
|
private RestTemplate restTemplateKiewb = new RestTemplate();
|
||||||
|
|
||||||
|
private ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KieWorkbenchRepository kieWorkbenchRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserRepository userRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JobService jobService;
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping(value = "/spaces",
|
||||||
|
consumes = {javax.ws.rs.core.MediaType.APPLICATION_JSON, javax.ws.rs.core.MediaType.APPLICATION_XML},
|
||||||
|
produces = {javax.ws.rs.core.MediaType.APPLICATION_JSON, javax.ws.rs.core.MediaType.APPLICATION_XML})
|
||||||
|
public Response createWorkSpace(@RequestBody PlatformProjectData request) {
|
||||||
|
String wbName = "demo";
|
||||||
|
if (request.getWbName() != null
|
||||||
|
&& !request.getWbName().isEmpty()) {
|
||||||
|
wbName = request.getWbName();
|
||||||
|
}
|
||||||
|
KieWorkbench kieWorkbench = kieWorkbenchRepository.findByName(wbName);
|
||||||
|
if (kieWorkbench == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).entity("Workbench not found").build();
|
||||||
|
}
|
||||||
|
String completeurl = kieWorkbench.getExternalUrl() + "/rest/spaces";
|
||||||
|
Space space = new Space();
|
||||||
|
space.setName(request.getSpaceName());
|
||||||
|
space.setDescription(request.getDescription());
|
||||||
|
space.setDefaultGroupId(request.getGroupId());
|
||||||
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
String currentPrincipalName = authentication.getName();
|
||||||
|
space.setOwner(authentication.getName());
|
||||||
|
|
||||||
|
User connectedUser = userRepository.findByLogin(currentPrincipalName);
|
||||||
|
ResponseEntity<SpaceRequest> response = restTemplateKiewb
|
||||||
|
.execute(completeurl, HttpMethod.POST, requestCallback(space, connectedUser.getLogin(), connectedUser.getPassword()), clientHttpResponse -> {
|
||||||
|
SpaceRequest extractedResponse = null;
|
||||||
|
if (clientHttpResponse.getBody() != null) {
|
||||||
|
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
|
||||||
|
String result = s.hasNext() ? s.next() : "";
|
||||||
|
extractedResponse = mapper.readValue(result, SpaceRequest.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
return new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
|
||||||
|
});
|
||||||
|
jobService.executeWrite(kieWorkbench.getExternalUrl()+"/rest", connectedUser.getLogin(), connectedUser.getPassword(), null, response.getBody().getJobId(), null);
|
||||||
|
Variant variant = Variant.mediaTypes(javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE).add().build().get(0);
|
||||||
|
return Response.status(Response.Status.CREATED).entity(response.getBody()).variant(variant).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping(value = "/spaces/{spaceName}/projects",
|
||||||
|
consumes = {javax.ws.rs.core.MediaType.APPLICATION_JSON, javax.ws.rs.core.MediaType.APPLICATION_XML},
|
||||||
|
produces = {javax.ws.rs.core.MediaType.APPLICATION_JSON, javax.ws.rs.core.MediaType.APPLICATION_XML})
|
||||||
|
public Response createProject(@PathVariable("spaceName") String spaceName,@RequestBody PlatformProjectData request) {
|
||||||
|
String wbName = "demo";
|
||||||
|
if (request.getWbName() != null
|
||||||
|
&& !request.getWbName().isEmpty()) {
|
||||||
|
wbName = request.getWbName();
|
||||||
|
}
|
||||||
|
KieWorkbench kieWorkbench = kieWorkbenchRepository.findByName(wbName);
|
||||||
|
if (kieWorkbench == null) {
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).entity("Workbench not found").build();
|
||||||
|
}
|
||||||
|
String completeurl = kieWorkbench.getExternalUrl() + "/rest/spaces/"+spaceName+"/projects";
|
||||||
|
CreateProjectRequest projectRequest = new CreateProjectRequest();
|
||||||
|
|
||||||
|
projectRequest.setName(request.getName());
|
||||||
|
projectRequest.setGroupId(request.getGroupId());
|
||||||
|
projectRequest.setVersion(request.getVersion());
|
||||||
|
projectRequest.setDescription(request.getDescription());
|
||||||
|
|
||||||
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
String currentPrincipalName = authentication.getName();
|
||||||
|
|
||||||
|
User connectedUser = userRepository.findByLogin(currentPrincipalName);
|
||||||
|
ResponseEntity<CreateProjectJobRequest> response = restTemplateKiewb
|
||||||
|
.execute(completeurl, HttpMethod.POST, requestCallback(projectRequest, connectedUser.getLogin(), connectedUser.getPassword()), clientHttpResponse -> {
|
||||||
|
CreateProjectJobRequest extractedResponse = null;
|
||||||
|
if (clientHttpResponse.getBody() != null) {
|
||||||
|
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
|
||||||
|
String result = s.hasNext() ? s.next() : "";
|
||||||
|
extractedResponse = mapper.readValue(result, CreateProjectJobRequest.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
return new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
|
||||||
|
});
|
||||||
|
jobService.executeWrite(kieWorkbench.getExternalUrl()+"/rest", connectedUser.getLogin(), connectedUser.getPassword(), null, response.getBody().getJobId(), null);
|
||||||
|
|
||||||
|
completeurl = kieWorkbench.getExternalUrl() + "/rest/chtijbug/"+spaceName+"/"+projectRequest.getName()+"/dependency";
|
||||||
|
ResponseEntity<PlatformProjectData> response2 = restTemplateKiewb
|
||||||
|
.execute(completeurl, HttpMethod.PUT, requestCallback(request, connectedUser.getLogin(), connectedUser.getPassword()), clientHttpResponse -> {
|
||||||
|
PlatformProjectData extractedResponse = null;
|
||||||
|
if (clientHttpResponse.getBody() != null) {
|
||||||
|
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
|
||||||
|
String result = s.hasNext() ? s.next() : "";
|
||||||
|
extractedResponse = mapper.readValue(result, PlatformProjectData.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
return new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Variant variant = Variant.mediaTypes(javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE).add().build().get(0);
|
||||||
|
return Response.status(Response.Status.CREATED).entity(response2.getBody()).variant(variant).build();
|
||||||
|
}
|
||||||
|
private RequestCallback requestCallback(final Object content, String username, String password) {
|
||||||
|
return clientHttpRequest -> {
|
||||||
|
|
||||||
|
if (content != null) {
|
||||||
|
if (content instanceof KieServerInfo) {
|
||||||
|
KieServerInfo kieServerSetup = (KieServerInfo) content;
|
||||||
|
|
||||||
|
mapper.writeValue(clientHttpRequest.getBody(), kieServerSetup);
|
||||||
|
} else {
|
||||||
|
mapper.writeValue(clientHttpRequest.getBody(), content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clientHttpRequest.getHeaders().add(
|
||||||
|
HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
|
||||||
|
clientHttpRequest.getHeaders().add(
|
||||||
|
HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);
|
||||||
|
String auth = username + ":" + password;
|
||||||
|
byte[] encodedAuth = Base64.encodeBase64(
|
||||||
|
auth.getBytes(StandardCharsets.UTF_8));
|
||||||
|
String authHeader = "Basic " + new String(encodedAuth);
|
||||||
|
clientHttpRequest.getHeaders().add(
|
||||||
|
HttpHeaders.AUTHORIZATION, authHeader);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package org.chtijbug.drools.console.restExpose;
|
package org.chtijbug.drools.console.restexpose;
|
||||||
|
|
||||||
import org.chtijbug.drools.console.service.IndexerService;
|
import org.chtijbug.drools.console.service.IndexerService;
|
||||||
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionAction;
|
import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionAction;
|
||||||
|
|
@ -6,10 +6,7 @@ import org.chtijbug.drools.proxy.persistence.model.BusinessTransactionPersistenc
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
@ -22,7 +19,7 @@ public class ElasticSearchExpose {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IndexerService indexerService;
|
private IndexerService indexerService;
|
||||||
|
|
||||||
@RequestMapping(value = "/findLastByTransactionId", method = RequestMethod.GET)
|
@GetMapping(value = "/findLastByTransactionId")
|
||||||
public BusinessTransactionPersistence findTransactionById(@RequestParam String transactionId, HttpServletRequest request, HttpServletResponse response) {
|
public BusinessTransactionPersistence findTransactionById(@RequestParam String transactionId, HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
|
||||||
BusinessTransactionPersistence tmp=null;
|
BusinessTransactionPersistence tmp=null;
|
||||||
|
|
@ -43,12 +40,9 @@ public class ElasticSearchExpose {
|
||||||
}
|
}
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
@RequestMapping(value = "/findActionByBusinessId", method = RequestMethod.GET)
|
@GetMapping(value = "/findActionByBusinessId")
|
||||||
public List<BusinessTransactionAction> findActionById(@RequestParam String businessId, HttpServletRequest request, HttpServletResponse response) {
|
public List<BusinessTransactionAction> findActionById(@RequestParam String businessId, HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return indexerService.getBusinessTransactionActionRepository().findAllByBusinessTransactionId(businessId,Sort.by(new Sort.Order(Sort.Direction.ASC,"eventNumber")),PageRequest.of(0,5000));
|
||||||
List<BusinessTransactionAction> businessTransactionPersistences = indexerService.getBusinessTransactionActionRepository().findAllByBusinessTransactionId(businessId,Sort.by(new Sort.Order(Sort.Direction.ASC,"eventNumber")),PageRequest.of(0,5000));
|
|
||||||
|
|
||||||
return businessTransactionPersistences;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
package org.chtijbug.drools.console.security;
|
||||||
|
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.User;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.model.UserRoles;
|
||||||
|
import org.chtijbug.drools.proxy.persistence.repository.UserRepository;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MongoUserDetailsService implements UserDetailsService {
|
||||||
|
@Autowired
|
||||||
|
private UserRepository repository;
|
||||||
|
@Override
|
||||||
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||||
|
User user = repository.findByLogin(username);
|
||||||
|
if(user == null) {
|
||||||
|
throw new UsernameNotFoundException("User not found");
|
||||||
|
}
|
||||||
|
ArrayList<SimpleGrantedAuthority> authorities = new ArrayList<>();
|
||||||
|
for (UserRoles userRole: user.getUserRoles()){
|
||||||
|
authorities.add(new SimpleGrantedAuthority(userRole.getName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
return new org.springframework.security.core.userdetails.User(user.getLogin(), user.getPassword(), authorities);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package org.chtijbug.drools.console.security;
|
||||||
|
|
||||||
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
|
|
||||||
|
public final class MyNoOpPasswordEncoder implements PasswordEncoder {
|
||||||
|
|
||||||
|
public String encode(CharSequence rawPassword) {
|
||||||
|
return rawPassword.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean matches(CharSequence rawPassword, String encodedPassword) {
|
||||||
|
return rawPassword.toString().equals(encodedPassword);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the singleton {@link org.springframework.security.crypto.password.NoOpPasswordEncoder}.
|
||||||
|
*/
|
||||||
|
public static PasswordEncoder getInstance() {
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final PasswordEncoder INSTANCE = new MyNoOpPasswordEncoder();
|
||||||
|
|
||||||
|
public MyNoOpPasswordEncoder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
package org.chtijbug.drools.console.service;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.UI;
|
||||||
|
import org.chtijbug.drools.console.AddLog;
|
||||||
|
import org.chtijbug.drools.console.service.model.kie.JobStatus;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.DependsOn;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@DependsOn("applicationContext")
|
||||||
|
public class JobService {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(JobService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private KieRepositoryService kieRepositoryService;
|
||||||
|
|
||||||
|
|
||||||
|
public void executeWrite(String url, String username, String password, AddLog workOnGoingView, String jobID, UI ui) {
|
||||||
|
|
||||||
|
String isJobDone = "NO";
|
||||||
|
while ("NO".equals(isJobDone)) {
|
||||||
|
JobStatus jobStatus = kieRepositoryService.getStatusJobID(url,
|
||||||
|
username,
|
||||||
|
password, jobID);
|
||||||
|
if ("DUPLICATE_RESOURCE".equals(jobStatus.getStatus())
|
||||||
|
|| "SUCCESS".equals(jobStatus.getStatus())) {
|
||||||
|
isJobDone = "YES";
|
||||||
|
if (ui!= null) {
|
||||||
|
workOnGoingView.addRow("JobID=" + jobID + " finished", ui);
|
||||||
|
}
|
||||||
|
} else if ("ACCEPTED".equals(jobStatus.getStatus())
|
||||||
|
|| ("APPROVED".equals(jobStatus.getStatus()))) {
|
||||||
|
try {
|
||||||
|
synchronized (this) {
|
||||||
|
if (ui!= null) {
|
||||||
|
workOnGoingView.addRow("JobID=" + jobID + " not yet finished", ui);
|
||||||
|
}
|
||||||
|
this.wait(1000);
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
logger.error("executeWrite", e);
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,7 @@ import org.chtijbug.drools.proxy.persistence.model.User;
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.UserRepository;
|
import org.chtijbug.drools.proxy.persistence.repository.UserRepository;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.api.UserLoginInformation;
|
import org.chtijbug.guvnor.server.jaxrs.api.UserLoginInformation;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -80,21 +80,21 @@ public class KieRepositoryService {
|
||||||
return reponseMoteur;
|
return reponseMoteur;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PlatformProjectResponse> getListSpaces2(String url, String username, String password) {
|
public List<PlatformProjectData> getListSpaces2(String url, String username, String password) {
|
||||||
String completeurl = url + chtijbugprefix+"detailedSpaces";
|
String completeurl = url + chtijbugprefix+"detailedSpaces";
|
||||||
logger.info("url getListSpaces2 :{} ", completeurl);
|
logger.info("url getListSpaces2 :{} ", completeurl);
|
||||||
ResponseEntity<List<PlatformProjectResponse>> response = restTemplateKiewb
|
ResponseEntity<List<PlatformProjectData>> response = restTemplateKiewb
|
||||||
.execute(completeurl, HttpMethod.GET, requestCallback(null, username, password), clientHttpResponse -> {
|
.execute(completeurl, HttpMethod.GET, requestCallback(null, username, password), clientHttpResponse -> {
|
||||||
List<PlatformProjectResponse> extractedResponse = null;
|
List<PlatformProjectData> extractedResponse = null;
|
||||||
if (clientHttpResponse.getBody() != null) {
|
if (clientHttpResponse.getBody() != null) {
|
||||||
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
|
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
|
||||||
String result = s.hasNext() ? s.next() : "";
|
String result = s.hasNext() ? s.next() : "";
|
||||||
PlatformProjectResponse[] values = mapper.readValue(result, PlatformProjectResponse[].class);
|
PlatformProjectData[] values = mapper.readValue(result, PlatformProjectData[].class);
|
||||||
extractedResponse = Arrays.asList(values);
|
extractedResponse = Arrays.asList(values);
|
||||||
}
|
}
|
||||||
return new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
|
return new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
|
||||||
});
|
});
|
||||||
List<PlatformProjectResponse> reponseMoteur;
|
List<PlatformProjectData> reponseMoteur;
|
||||||
|
|
||||||
reponseMoteur = response.getBody();
|
reponseMoteur = response.getBody();
|
||||||
return reponseMoteur;
|
return reponseMoteur;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ 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.*;
|
import org.chtijbug.drools.proxy.persistence.model.*;
|
||||||
import org.chtijbug.drools.proxy.persistence.repository.*;
|
import org.chtijbug.drools.proxy.persistence.repository.*;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -44,6 +44,8 @@ public class ProjectPersistService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserConnectedService userConnectedService;
|
private UserConnectedService userConnectedService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JobService jobService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ContainerRepository containerRepository;
|
private ContainerRepository containerRepository;
|
||||||
|
|
@ -68,11 +70,11 @@ public class ProjectPersistService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void saveIfnotExist(List<PlatformProjectResponse> platformProjectResponses,String workbenchName) {
|
public void saveIfnotExist(List<PlatformProjectData> platformProjectResponses, String workbenchName) {
|
||||||
|
|
||||||
|
|
||||||
KieWorkbench kieWorkbench = workbenchRepository.findByName(workbenchName);
|
KieWorkbench kieWorkbench = workbenchRepository.findByName(workbenchName);
|
||||||
for (PlatformProjectResponse platformProjectResponse : platformProjectResponses) {
|
for (PlatformProjectData 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());
|
||||||
|
|
||||||
|
|
@ -160,7 +162,7 @@ public class ProjectPersistService {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProjectPersist platformProjectResponseToProjectPersist(PlatformProjectResponse platformProjectResponse) {
|
public ProjectPersist platformProjectResponseToProjectPersist(PlatformProjectData platformProjectResponse) {
|
||||||
ProjectPersist projectPersist = new ProjectPersist();
|
ProjectPersist projectPersist = new ProjectPersist();
|
||||||
projectPersist.setArtifactID(platformProjectResponse.getArtifactId());
|
projectPersist.setArtifactID(platformProjectResponse.getArtifactId());
|
||||||
projectPersist.setGroupID(platformProjectResponse.getGroupId());
|
projectPersist.setGroupID(platformProjectResponse.getGroupId());
|
||||||
|
|
@ -185,12 +187,12 @@ public class ProjectPersistService {
|
||||||
JobStatus result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
JobStatus result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
||||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), projectPersist.getBranch(), "compile", workOnGoingView, ui);
|
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), projectPersist.getBranch(), "compile", workOnGoingView, ui);
|
||||||
|
|
||||||
executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
jobService.executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
||||||
|
|
||||||
result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
||||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), projectPersist.getBranch(), "install", workOnGoingView, ui);
|
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), projectPersist.getBranch(), "install", workOnGoingView, ui);
|
||||||
|
|
||||||
executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
jobService.executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -221,31 +223,7 @@ public class ProjectPersistService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void executeWrite(String url, String username, String password, AddLog workOnGoingView, String jobID, UI ui) {
|
|
||||||
|
|
||||||
String isJobDone = "NO";
|
|
||||||
while ("NO".equals(isJobDone)) {
|
|
||||||
JobStatus jobStatus = kieRepositoryService.getStatusJobID(url,
|
|
||||||
username,
|
|
||||||
password, jobID);
|
|
||||||
if ("DUPLICATE_RESOURCE".equals(jobStatus.getStatus())
|
|
||||||
|| "SUCCESS".equals(jobStatus.getStatus())) {
|
|
||||||
isJobDone = "YES";
|
|
||||||
workOnGoingView.addRow("JobID=" + jobID + " finished", ui);
|
|
||||||
} else if ("ACCEPTED".equals(jobStatus.getStatus())
|
|
||||||
|| ("APPROVED".equals(jobStatus.getStatus()))) {
|
|
||||||
try {
|
|
||||||
synchronized (this) {
|
|
||||||
workOnGoingView.addRow("JobID=" + jobID + " not yet finished", ui);
|
|
||||||
this.wait(1000);
|
|
||||||
}
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
logger.error("executeWrite", e);
|
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProjectRepository getProjectRepository() {
|
public ProjectRepository getProjectRepository() {
|
||||||
return projectRepository;
|
return projectRepository;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package org.chtijbug.drools.console.service.model;
|
package org.chtijbug.drools.console.service.model;
|
||||||
|
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -10,7 +10,7 @@ public class UserConnected {
|
||||||
|
|
||||||
private String userPassword;
|
private String userPassword;
|
||||||
|
|
||||||
private List<PlatformProjectResponse> projectResponses = new ArrayList<>();
|
private List<PlatformProjectData> projectResponses = new ArrayList<>();
|
||||||
|
|
||||||
private List<String> roles = new ArrayList<>();
|
private List<String> roles = new ArrayList<>();
|
||||||
|
|
||||||
|
|
@ -50,11 +50,11 @@ public class UserConnected {
|
||||||
this.kieWorkbenchName = kieWorkbenchName;
|
this.kieWorkbenchName = kieWorkbenchName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PlatformProjectResponse> getProjectResponses() {
|
public List<PlatformProjectData> getProjectResponses() {
|
||||||
return projectResponses;
|
return projectResponses;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProjectResponses(List<PlatformProjectResponse> projectResponses) {
|
public void setProjectResponses(List<PlatformProjectData> projectResponses) {
|
||||||
this.projectResponses = projectResponses;
|
this.projectResponses = projectResponses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ public class SqueletteComposant extends VerticalLayout {
|
||||||
infoPage.removeAll();
|
infoPage.removeAll();
|
||||||
infoPage.add(verticalLayout);
|
infoPage.add(verticalLayout);
|
||||||
|
|
||||||
if(pageName.equals(DeploymentView.pageName)){
|
if(pageName.equals(DeploymentView.PAGE_NAME)){
|
||||||
consoleDeploy.setVisible(true);
|
consoleDeploy.setVisible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
import org.chtijbug.drools.console.vaadincomponent.componentperso.ComboBoxPerso;
|
import org.chtijbug.drools.console.vaadincomponent.componentperso.ComboBoxPerso;
|
||||||
import org.chtijbug.drools.console.view.TemplateView;
|
import org.chtijbug.drools.console.view.TemplateView;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
|
|
||||||
public class TemplatesAction extends VerticalLayout {
|
public class TemplatesAction extends VerticalLayout {
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ public class TemplatesAction extends VerticalLayout {
|
||||||
|
|
||||||
private Button edit;
|
private Button edit;
|
||||||
|
|
||||||
private ComboBoxPerso<PlatformProjectResponse> spaceSelection;
|
private ComboBoxPerso<PlatformProjectData> spaceSelection;
|
||||||
|
|
||||||
public TemplatesAction(TemplateView templateView){
|
public TemplatesAction(TemplateView templateView){
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ public class TemplatesAction extends VerticalLayout {
|
||||||
|
|
||||||
spaceSelection = new ComboBoxPerso<>("Project",VaadinIcon.SEARCH.create());
|
spaceSelection = new ComboBoxPerso<>("Project",VaadinIcon.SEARCH.create());
|
||||||
spaceSelection.getComboBox().setItems(templateView.getUserConnectedService().getUserConnected().getProjectResponses());
|
spaceSelection.getComboBox().setItems(templateView.getUserConnectedService().getUserConnected().getProjectResponses());
|
||||||
spaceSelection.getComboBox().setItemLabelGenerator(PlatformProjectResponse::getName);
|
spaceSelection.getComboBox().setItemLabelGenerator(PlatformProjectData::getName);
|
||||||
spaceSelection.getComboBox().addValueChangeListener(valueChangeEvent -> {
|
spaceSelection.getComboBox().addValueChangeListener(valueChangeEvent -> {
|
||||||
templateView.setDataProvider(spaceSelection.getComboBox());
|
templateView.setDataProvider(spaceSelection.getComboBox());
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class MenuScondaireDeployement extends HorizontalLayout {
|
||||||
|
|
||||||
DeploymentAction deploymentAction=new DeploymentAction(squeletteComposant,deploymentView);
|
DeploymentAction deploymentAction=new DeploymentAction(squeletteComposant,deploymentView);
|
||||||
deploymentView.setDeploymentAction(deploymentAction);
|
deploymentView.setDeploymentAction(deploymentAction);
|
||||||
squeletteComposant.navigate(deploymentView,DeploymentView.pageName,deploymentAction);
|
squeletteComposant.navigate(deploymentView,DeploymentView.PAGE_NAME,deploymentAction);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public class MenuSecondaireRuntime extends HorizontalLayout {
|
||||||
}
|
}
|
||||||
RuntimesView deploymentView=new RuntimesView();
|
RuntimesView deploymentView=new RuntimesView();
|
||||||
RuntimesAction deploymentAction=new RuntimesAction(squeletteComposant);
|
RuntimesAction deploymentAction=new RuntimesAction(squeletteComposant);
|
||||||
squeletteComposant.navigate(deploymentView,DeploymentView.pageName,deploymentAction);
|
squeletteComposant.navigate(deploymentView,DeploymentView.PAGE_NAME,deploymentAction);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import org.springframework.data.domain.Sort;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -33,7 +34,7 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(ActionLoggingView.class);
|
private static Logger logger = LoggerFactory.getLogger(ActionLoggingView.class);
|
||||||
|
|
||||||
private IndexerService indexerService;
|
private transient IndexerService indexerService;
|
||||||
|
|
||||||
private Label title;
|
private Label title;
|
||||||
|
|
||||||
|
|
@ -47,8 +48,6 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
public ActionLoggingView(BusinessTransactionPersistence businessTransactionPersistence, DialogPerso dialogPerso) {
|
public ActionLoggingView(BusinessTransactionPersistence businessTransactionPersistence, DialogPerso dialogPerso) {
|
||||||
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
|
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
|
||||||
dialogPerso.getClose().setVisible(false);
|
dialogPerso.getClose().setVisible(false);
|
||||||
//Text text = new Text("Sessino Context ");
|
|
||||||
//dialogPerso.getBar().add(text);
|
|
||||||
this.uniqueID = businessTransactionPersistence.getTransactionId();
|
this.uniqueID = businessTransactionPersistence.getTransactionId();
|
||||||
this.dbID = businessTransactionPersistence.getId();
|
this.dbID = businessTransactionPersistence.getId();
|
||||||
|
|
||||||
|
|
@ -82,11 +81,9 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
String inputData = "";
|
String inputData = "";
|
||||||
String outputData = "";
|
String outputData = "";
|
||||||
if (c.getInputData() != null) {
|
if (c.getInputData() != null) {
|
||||||
//inputData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(c.getInputData().getRealFact());
|
|
||||||
inputData = mapper.writeValueAsString(c.getInputData().getRealFact());
|
inputData = mapper.writeValueAsString(c.getInputData().getRealFact());
|
||||||
}
|
}
|
||||||
if (c.getOutputData() != null) {
|
if (c.getOutputData() != null) {
|
||||||
//outputData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(c.getOutputData().getRealFact());
|
|
||||||
outputData = mapper.writeValueAsString(c.getOutputData().getRealFact());
|
outputData = mapper.writeValueAsString(c.getOutputData().getRealFact());
|
||||||
}
|
}
|
||||||
if (c.getRuleExecution() != null) {
|
if (c.getRuleExecution() != null) {
|
||||||
|
|
@ -95,8 +92,6 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
beginDate = simpleDateFormat.format(c.getRuleExecution().getStartDate());
|
beginDate = simpleDateFormat.format(c.getRuleExecution().getStartDate());
|
||||||
endDate = simpleDateFormat.format(c.getRuleExecution().getEndDate());
|
endDate = simpleDateFormat.format(c.getRuleExecution().getEndDate());
|
||||||
}
|
}
|
||||||
//TODO Encode in string the json content
|
|
||||||
|
|
||||||
if (c.getEventType().equals(EventType.INPUT)) {
|
if (c.getEventType().equals(EventType.INPUT)) {
|
||||||
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "",c.getInputData().getFullClassName(),inputData);
|
csvWriter.writeNext("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", "", "", "", "",c.getInputData().getFullClassName(),inputData);
|
||||||
} else if (c.getEventType().equals(EventType.OUPUT)) {
|
} else if (c.getEventType().equals(EventType.OUPUT)) {
|
||||||
|
|
@ -132,7 +127,6 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
datas.add(f.getFullClassName());
|
datas.add(f.getFullClassName());
|
||||||
datas.add(mapper.writeValueAsString(f.getRealFact()));
|
datas.add(mapper.writeValueAsString(f.getRealFact()));
|
||||||
}
|
}
|
||||||
//csvWriter.writeAll("", "", c.getEventType().name(), String.valueOf(c.getEventNumber()), "", "", "", c.getProcessID(), "", "", "",datas);
|
|
||||||
csvWriter.writeAll(Collections.singletonList(datas));
|
csvWriter.writeAll(Collections.singletonList(datas));
|
||||||
} else {
|
} else {
|
||||||
csvWriter.writeNext(beginDate, endDate, c.getEventType().name(), String.valueOf(c.getEventNumber()),
|
csvWriter.writeNext(beginDate, endDate, c.getEventType().name(), String.valueOf(c.getEventNumber()),
|
||||||
|
|
@ -142,7 +136,7 @@ public class ActionLoggingView extends VerticalLayout {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return IOUtils.toInputStream(stringWriter.toString(), "UTF-8");
|
return IOUtils.toInputStream(stringWriter.toString(), StandardCharsets.UTF_8.name());
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
logger.error("getInputStream.csvWriter",e);
|
logger.error("getInputStream.csvWriter",e);
|
||||||
|
|
|
||||||
|
|
@ -28,21 +28,21 @@ import java.util.Map;
|
||||||
@StyleSheet("css/accueil.css")
|
@StyleSheet("css/accueil.css")
|
||||||
public class DeploymentView extends VerticalLayout implements AddLog {
|
public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
|
|
||||||
public static final String pageName = "Deployment";
|
public static final String PAGE_NAME = "Deployment";
|
||||||
|
|
||||||
//GRID composant
|
//GRID composant
|
||||||
private final String strNameDeploy = "Deploy name";
|
private static final String STR_NAME_DEPLOY = "Deploy name";
|
||||||
private final String strNameProject = "Project name";
|
private static final String STR_NAME_PROJECT = "Project name";
|
||||||
private final String strGroupeId = "Groupe ID";
|
private static final String STR_GROUPE_ID = "Groupe ID";
|
||||||
private final String strBranchName = "Branch Name";
|
private static final String STR_BRANCH_NAME = "Branch Name";
|
||||||
private final String strArtefactID = "Artefact ID";
|
private static final String STR_ARTEFACT_ID = "Artefact ID";
|
||||||
|
|
||||||
//TEXTFIELD search
|
//TEXTFIELD search
|
||||||
private final String strProcessID = "Process ID";
|
private static final String STR_PROCESS_ID = "Process ID";
|
||||||
private final String strServerName = "Server Name";
|
private static final String STR_SERVER_NAME = "Server Name";
|
||||||
private final String strStatus = "Status";
|
private static final String STR_STATUS = "Status";
|
||||||
private Grid<ProjectPersist> projectPersistGrid;
|
private Grid<ProjectPersist> projectPersistGrid;
|
||||||
private ListDataProvider<ProjectPersist> dataProvider;
|
|
||||||
private ConfigurableFilterDataProvider<ProjectPersist, Void, SerializablePredicate<ProjectPersist>> filterDataProvider;
|
private ConfigurableFilterDataProvider<ProjectPersist, Void, SerializablePredicate<ProjectPersist>> filterDataProvider;
|
||||||
private DeploymentAction deploymentAction;
|
private DeploymentAction deploymentAction;
|
||||||
|
|
||||||
|
|
@ -57,7 +57,7 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
private ComboBox status;
|
private ComboBox status;
|
||||||
|
|
||||||
//SERVICE
|
//SERVICE
|
||||||
private ProjectPersistService projectPersistService;
|
private transient ProjectPersistService projectPersistService;
|
||||||
|
|
||||||
private SqueletteComposant squeletteComposant;
|
private SqueletteComposant squeletteComposant;
|
||||||
|
|
||||||
|
|
@ -76,18 +76,18 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
|
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> deployNameCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getDeploymentName());
|
Grid.Column<ProjectPersist> deployNameCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getDeploymentName());
|
||||||
nameDeploy = new TextField(strNameDeploy);
|
nameDeploy = new TextField(STR_NAME_DEPLOY);
|
||||||
nameDeploy.setValueChangeMode(ValueChangeMode.EAGER);
|
nameDeploy.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
nameDeploy.addValueChangeListener(e -> {
|
nameDeploy.addValueChangeListener(e ->
|
||||||
refreshtGrid(nameDeploy.getValue(), strNameDeploy);
|
refreshtGrid(nameDeploy.getValue(), STR_NAME_DEPLOY)
|
||||||
});
|
);
|
||||||
deployNameCo.setHeader(nameDeploy);
|
deployNameCo.setHeader(nameDeploy);
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> nameProjectCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProjectName());
|
Grid.Column<ProjectPersist> nameProjectCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProjectName());
|
||||||
nameProject = new TextField(strNameProject);
|
nameProject = new TextField(STR_NAME_PROJECT);
|
||||||
nameProject.setValueChangeMode(ValueChangeMode.EAGER);
|
nameProject.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
nameProject.addValueChangeListener(e -> {
|
nameProject.addValueChangeListener(e -> {
|
||||||
refreshtGrid(nameProject.getValue(), strNameProject);
|
refreshtGrid(nameProject.getValue(), STR_NAME_PROJECT);
|
||||||
});
|
});
|
||||||
nameProjectCo.setHeader(nameProject);
|
nameProjectCo.setHeader(nameProject);
|
||||||
|
|
||||||
|
|
@ -95,55 +95,54 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
.setComparator((projectPersist, t1) -> projectPersist.getMainClass().compareTo(t1.getMainClass()));
|
.setComparator((projectPersist, t1) -> projectPersist.getMainClass().compareTo(t1.getMainClass()));
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> branchCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getBranch());
|
Grid.Column<ProjectPersist> branchCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getBranch());
|
||||||
branchName = new TextField(strBranchName);
|
branchName = new TextField(STR_BRANCH_NAME);
|
||||||
branchName.setValueChangeMode(ValueChangeMode.EAGER);
|
branchName.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
branchName.addValueChangeListener(e -> {
|
branchName.addValueChangeListener(e -> {
|
||||||
refreshtGrid(groupeId.getValue(), strBranchName);
|
refreshtGrid(groupeId.getValue(), STR_BRANCH_NAME);
|
||||||
});
|
});
|
||||||
branchCo.setHeader(branchName);
|
branchCo.setHeader(branchName);
|
||||||
|
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> groupIdCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getGroupID());
|
Grid.Column<ProjectPersist> groupIdCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getGroupID());
|
||||||
groupeId = new TextField(strGroupeId);
|
groupeId = new TextField(STR_GROUPE_ID);
|
||||||
groupeId.setValueChangeMode(ValueChangeMode.EAGER);
|
groupeId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
groupeId.addValueChangeListener(e -> {
|
groupeId.addValueChangeListener(e -> {
|
||||||
refreshtGrid(groupeId.getValue(), strGroupeId);
|
refreshtGrid(groupeId.getValue(), STR_GROUPE_ID);
|
||||||
});
|
});
|
||||||
groupIdCo.setHeader(groupeId);
|
groupIdCo.setHeader(groupeId);
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> artifactIDCO = projectPersistGrid.addColumn(projectPersist -> projectPersist.getArtifactID());
|
Grid.Column<ProjectPersist> artifactIDCO = projectPersistGrid.addColumn(projectPersist -> projectPersist.getArtifactID());
|
||||||
artifactId = new TextField(strArtefactID);
|
artifactId = new TextField(STR_ARTEFACT_ID);
|
||||||
artifactId.setValueChangeMode(ValueChangeMode.EAGER);
|
artifactId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
artifactId.addValueChangeListener(e -> {
|
artifactId.addValueChangeListener(e -> {
|
||||||
refreshtGrid(artifactId.getValue(), strArtefactID);
|
refreshtGrid(artifactId.getValue(), STR_ARTEFACT_ID);
|
||||||
});
|
});
|
||||||
artifactIDCO.setHeader(artifactId);
|
artifactIDCO.setHeader(artifactId);
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> processIDco = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProcessID());
|
Grid.Column<ProjectPersist> processIDco = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProcessID());
|
||||||
processId = new TextField(strProcessID);
|
processId = new TextField(STR_PROCESS_ID);
|
||||||
processId.setValueChangeMode(ValueChangeMode.EAGER);
|
processId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
processId.addValueChangeListener(e -> {
|
processId.addValueChangeListener(e ->
|
||||||
refreshtGrid(processId.getValue(), strProcessID);
|
refreshtGrid(processId.getValue(), STR_PROCESS_ID));
|
||||||
});
|
|
||||||
processIDco.setHeader(processId);
|
processIDco.setHeader(processId);
|
||||||
|
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> serverNameCo = projectPersistGrid.addColumn(projectPersist -> {
|
Grid.Column<ProjectPersist> serverNameCo = projectPersistGrid.addColumn(projectPersist -> {
|
||||||
String result = null;
|
String result = null;
|
||||||
for (String serverName : projectPersist.getServerNames()) {
|
for (String servName : projectPersist.getServerNames()) {
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
result = result + ":" + serverName;
|
result = result + ":" + servName;
|
||||||
} else {
|
} else {
|
||||||
result = serverName;
|
result = servName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
serverName = new TextField(strServerName);
|
serverName = new TextField(STR_SERVER_NAME);
|
||||||
serverName.setValueChangeMode(ValueChangeMode.EAGER);
|
serverName.setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
serverName.addValueChangeListener(e -> {
|
serverName.addValueChangeListener(e ->
|
||||||
refreshtGrid(serverName.getValue(), strServerName);
|
refreshtGrid(serverName.getValue(), STR_SERVER_NAME)
|
||||||
});
|
);
|
||||||
serverNameCo.setHeader(serverName);
|
serverNameCo.setHeader(serverName);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -152,7 +151,7 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
|
|
||||||
|
|
||||||
Grid.Column<ProjectPersist> statusCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getStatus());
|
Grid.Column<ProjectPersist> statusCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getStatus());
|
||||||
status = new ComboBox(strProcessID);
|
status = new ComboBox(STR_PROCESS_ID);
|
||||||
status.setClassName("deployment-combobox");
|
status.setClassName("deployment-combobox");
|
||||||
|
|
||||||
ArrayList<String> tmp = new ArrayList<>();
|
ArrayList<String> tmp = new ArrayList<>();
|
||||||
|
|
@ -161,9 +160,9 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
tmp.add(ProjectPersist.ADEFINIR);
|
tmp.add(ProjectPersist.ADEFINIR);
|
||||||
tmp.add(" ");
|
tmp.add(" ");
|
||||||
status.setItems(tmp);
|
status.setItems(tmp);
|
||||||
status.addValueChangeListener(e -> {
|
status.addValueChangeListener(e ->
|
||||||
refreshtGrid(status.getValue() != null ? status.getValue().toString() : " ", strStatus);
|
refreshtGrid(status.getValue() != null ? status.getValue().toString() : " ", STR_STATUS)
|
||||||
});
|
);
|
||||||
statusCo.setHeader(status);
|
statusCo.setHeader(status);
|
||||||
|
|
||||||
add(projectPersistGrid);
|
add(projectPersistGrid);
|
||||||
|
|
@ -180,7 +179,6 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
getDeploymentAction().getDeployer().setEnabled(false);
|
getDeploymentAction().getDeployer().setEnabled(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//add(new ConsoleDeploy());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshtGrid(String value, String type) {
|
private void refreshtGrid(String value, String type) {
|
||||||
|
|
@ -195,19 +193,19 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
if (value.equals("") || value.equals(" ") || type.equals(" ")) {
|
if (value.equals("") || value.equals(" ") || type.equals(" ")) {
|
||||||
columnPredicate = asset -> (true);
|
columnPredicate = asset -> (true);
|
||||||
} else {
|
} else {
|
||||||
if (type.equals(strArtefactID)) {
|
if (type.equals(STR_ARTEFACT_ID)) {
|
||||||
columnPredicate = asset -> (
|
columnPredicate = asset -> (
|
||||||
asset.getArtifactID() != null && asset.getArtifactID().toUpperCase().contains(value.toUpperCase()));
|
asset.getArtifactID() != null && asset.getArtifactID().toUpperCase().contains(value.toUpperCase()));
|
||||||
} else if (type.equals(strGroupeId)) {
|
} else if (type.equals(STR_GROUPE_ID)) {
|
||||||
columnPredicate = asset -> (asset.getGroupID() != null && asset.getGroupID().toUpperCase().contains(value.toUpperCase()));
|
columnPredicate = asset -> (asset.getGroupID() != null && asset.getGroupID().toUpperCase().contains(value.toUpperCase()));
|
||||||
} else if (type.equals(strNameDeploy)) {
|
} else if (type.equals(STR_NAME_DEPLOY)) {
|
||||||
columnPredicate = asset -> (asset.getDeploymentName() != null && asset.getDeploymentName().toUpperCase().contains(value.toUpperCase()));
|
columnPredicate = asset -> (asset.getDeploymentName() != null && asset.getDeploymentName().toUpperCase().contains(value.toUpperCase()));
|
||||||
} else if (type.equals(strNameProject)) {
|
} else if (type.equals(STR_NAME_PROJECT)) {
|
||||||
columnPredicate = asset -> (asset.getProjectName() != null && asset.getProjectName().toString().toUpperCase().contains(value.toUpperCase()));
|
columnPredicate = asset -> (asset.getProjectName() != null && asset.getProjectName().toString().toUpperCase().contains(value.toUpperCase()));
|
||||||
} else if (type.equals(strProcessID)) {
|
} else if (type.equals(STR_PROCESS_ID)) {
|
||||||
columnPredicate = asset -> (asset.getProcessID() != null && asset.getProcessID().toUpperCase().contains(value.toUpperCase()));
|
columnPredicate = asset -> (asset.getProcessID() != null && asset.getProcessID().toUpperCase().contains(value.toUpperCase()));
|
||||||
} else if (type.equals(strStatus)) {
|
} else if (type.equals(STR_STATUS)) {
|
||||||
columnPredicate = asset -> (asset.getStatus() != null && asset.getStatus().toUpperCase().equals(value.toUpperCase()));
|
columnPredicate = asset -> (asset.getStatus() != null && asset.getStatus().equalsIgnoreCase(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return columnPredicate;
|
return columnPredicate;
|
||||||
|
|
@ -217,13 +215,9 @@ public class DeploymentView extends VerticalLayout implements AddLog {
|
||||||
|
|
||||||
Map<String, ProjectPersist> projectPersists = projectPersistService.getProjectsSession();
|
Map<String, ProjectPersist> projectPersists = projectPersistService.getProjectsSession();
|
||||||
if (projectPersists != null) {
|
if (projectPersists != null) {
|
||||||
dataProvider = new ListDataProvider<>(projectPersists.values());
|
ListDataProvider<ProjectPersist> dataProvider = new ListDataProvider<>(projectPersists.values());
|
||||||
|
|
||||||
filterDataProvider = dataProvider.withConfigurableFilter();
|
filterDataProvider = dataProvider.withConfigurableFilter();
|
||||||
|
|
||||||
|
|
||||||
projectPersistGrid.setDataProvider(filterDataProvider);
|
projectPersistGrid.setDataProvider(filterDataProvider);
|
||||||
|
|
||||||
reinitFilter();
|
reinitFilter();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ import org.chtijbug.drools.console.service.util.AppContext;
|
||||||
import org.chtijbug.drools.console.vaadincomponent.componentperso.DialogPerso;
|
import org.chtijbug.drools.console.vaadincomponent.componentperso.DialogPerso;
|
||||||
import org.chtijbug.drools.console.vaadincomponent.leftMenu.Action.TemplatesAction;
|
import org.chtijbug.drools.console.vaadincomponent.leftMenu.Action.TemplatesAction;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -81,8 +81,8 @@ public class TemplateView extends VerticalLayout {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDataProvider(ComboBox<PlatformProjectResponse> spaceSelection){
|
public void setDataProvider(ComboBox<PlatformProjectData> spaceSelection){
|
||||||
PlatformProjectResponse response = spaceSelection.getValue();
|
PlatformProjectData response = spaceSelection.getValue();
|
||||||
List<Asset> tmp = kieRepositoryService.getListAssets(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), response.getSpaceName(), response.getName());
|
List<Asset> tmp = kieRepositoryService.getListAssets(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), response.getSpaceName(), response.getName());
|
||||||
List<Asset> result = new ArrayList<>();
|
List<Asset> result = new ArrayList<>();
|
||||||
for (Asset asset : tmp) {
|
for (Asset asset : tmp) {
|
||||||
|
|
@ -97,17 +97,17 @@ public class TemplateView extends VerticalLayout {
|
||||||
reinitFilter();
|
reinitFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refreshList(ComboBox<PlatformProjectResponse> spaceSelection) {
|
public void refreshList(ComboBox<PlatformProjectData> spaceSelection) {
|
||||||
spaceSelection.setItems(userConnected.getProjectResponses());
|
spaceSelection.setItems(userConnected.getProjectResponses());
|
||||||
}
|
}
|
||||||
public void edit(ComboBox<PlatformProjectResponse> spaceSelection){
|
public void edit(ComboBox<PlatformProjectData> spaceSelection){
|
||||||
Set<Asset> selectedElements = assetListGrid.getSelectedItems();
|
Set<Asset> selectedElements = assetListGrid.getSelectedItems();
|
||||||
if (selectedElements.toArray().length > 0) {
|
if (selectedElements.toArray().length > 0) {
|
||||||
Optional<Asset> assetOptional = selectedElements.stream().findFirst();
|
Optional<Asset> assetOptional = selectedElements.stream().findFirst();
|
||||||
if (assetOptional.isPresent()) {
|
if (assetOptional.isPresent()) {
|
||||||
String assetName = assetOptional.get().getTitle();
|
String assetName = assetOptional.get().getTitle();
|
||||||
if (assetName != null) {
|
if (assetName != null) {
|
||||||
PlatformProjectResponse response = spaceSelection.getValue();
|
PlatformProjectData response = spaceSelection.getValue();
|
||||||
userConnectedService.addAssetToSession(assetName);
|
userConnectedService.addAssetToSession(assetName);
|
||||||
userConnectedService.addProjectToSession(response.getName());
|
userConnectedService.addProjectToSession(response.getName());
|
||||||
userConnectedService.addSpaceToSession(response.getSpaceName());
|
userConnectedService.addSpaceToSession(response.getSpaceName());
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,3 @@ spring.servlet.multipart.enabled=false
|
||||||
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}
|
||||||
|
|
||||||
vaadin.urlMapping=/admin/*
|
vaadin.urlMapping=/admin/*
|
||||||
server.servlet.context-path=/
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
package org.chtijbug.guvnor.server.jaxrs.api;
|
package org.chtijbug.guvnor.server.jaxrs.api;
|
||||||
|
|
||||||
|
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
|
@ -30,17 +30,17 @@ import java.util.List;
|
||||||
public class UserLoginInformation {
|
public class UserLoginInformation {
|
||||||
|
|
||||||
|
|
||||||
private List<PlatformProjectResponse> projects = new ArrayList<>();
|
private List<PlatformProjectData> projects = new ArrayList<>();
|
||||||
|
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
private List<String> roles = new ArrayList<>();
|
private List<String> roles = new ArrayList<>();
|
||||||
|
|
||||||
public List<PlatformProjectResponse> getProjects() {
|
public List<PlatformProjectData> getProjects() {
|
||||||
return projects;
|
return projects;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProjects(List<PlatformProjectResponse> projects) {
|
public void setProjects(List<PlatformProjectData> projects) {
|
||||||
this.projects = projects;
|
this.projects = projects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package org.chtijbug.guvnor.server.jaxrs.model;
|
||||||
|
|
||||||
|
public class DependencyData {
|
||||||
|
private String groupId;
|
||||||
|
|
||||||
|
|
||||||
|
private String artifactId;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
public DependencyData() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public DependencyData(String groupId, String artifactId, String version) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
this.artifactId = artifactId;
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package org.chtijbug.guvnor.server.jaxrs.model;
|
||||||
|
|
||||||
|
public class KModuleData {
|
||||||
|
|
||||||
|
private String kbaseToInclude;
|
||||||
|
|
||||||
|
private String kbase;
|
||||||
|
|
||||||
|
public KModuleData() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKbaseToInclude() {
|
||||||
|
return kbaseToInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKbaseToInclude(String kbaseToInclude) {
|
||||||
|
this.kbaseToInclude = kbaseToInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKbase() {
|
||||||
|
return kbase;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKbase(String kbase) {
|
||||||
|
this.kbase = kbase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,18 +5,33 @@ import org.guvnor.rest.client.ProjectResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class PlatformProjectResponse extends ProjectResponse {
|
public class PlatformProjectData extends ProjectResponse {
|
||||||
|
|
||||||
private String artifactId;
|
private String artifactId;
|
||||||
|
|
||||||
|
private String wbName;
|
||||||
|
|
||||||
private String branch;
|
private String branch;
|
||||||
|
|
||||||
private List<String> javaClasses = new ArrayList<>();
|
private List<String> javaClasses = new ArrayList<>();
|
||||||
|
|
||||||
public PlatformProjectResponse() {
|
private List<DependencyData> dependencies = new ArrayList<>();
|
||||||
|
|
||||||
|
private KModuleData kModule;
|
||||||
|
|
||||||
|
|
||||||
|
public PlatformProjectData() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getWbName() {
|
||||||
|
return wbName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWbName(String wbName) {
|
||||||
|
this.wbName = wbName;
|
||||||
|
}
|
||||||
|
|
||||||
public List<String> getJavaClasses() {
|
public List<String> getJavaClasses() {
|
||||||
return javaClasses;
|
return javaClasses;
|
||||||
}
|
}
|
||||||
|
|
@ -40,4 +55,20 @@ public class PlatformProjectResponse extends ProjectResponse {
|
||||||
public void setBranch(String branch) {
|
public void setBranch(String branch) {
|
||||||
this.branch = branch;
|
this.branch = branch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<DependencyData> getDependencies() {
|
||||||
|
return dependencies;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDependencies(List<DependencyData> dependencies) {
|
||||||
|
this.dependencies = dependencies;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KModuleData getkModule() {
|
||||||
|
return kModule;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setkModule(KModuleData kModule) {
|
||||||
|
this.kModule = kModule;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4,8 +4,11 @@ package org.chtijbug.kie.rest.backend;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.api.UserLoginInformation;
|
import org.chtijbug.guvnor.server.jaxrs.api.UserLoginInformation;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Package;
|
import org.chtijbug.guvnor.server.jaxrs.jaxb.Package;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.DependencyData;
|
||||||
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
import org.chtijbug.kie.rest.backend.service.AssetService;
|
import org.chtijbug.kie.rest.backend.service.AssetService;
|
||||||
|
import org.guvnor.common.services.project.model.GAV;
|
||||||
|
import org.guvnor.common.services.project.model.POM;
|
||||||
import org.guvnor.common.services.project.model.WorkspaceProject;
|
import org.guvnor.common.services.project.model.WorkspaceProject;
|
||||||
import org.guvnor.common.services.project.service.WorkspaceProjectService;
|
import org.guvnor.common.services.project.service.WorkspaceProjectService;
|
||||||
import org.guvnor.structure.organizationalunit.OrganizationalUnit;
|
import org.guvnor.structure.organizationalunit.OrganizationalUnit;
|
||||||
|
|
@ -88,7 +91,7 @@ public class PackageResource {
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@Path("/detailedSpaces")
|
@Path("/detailedSpaces")
|
||||||
// @RolesAllowed({REST_ROLE, REST_PROJECT_ROLE})
|
// @RolesAllowed({REST_ROLE, REST_PROJECT_ROLE})
|
||||||
public Collection<PlatformProjectResponse> getProjects() {
|
public Collection<PlatformProjectData> getProjects() {
|
||||||
logger.debug("-----getSpaces--- ");
|
logger.debug("-----getSpaces--- ");
|
||||||
return assetService.getAllProjects();
|
return assetService.getAllProjects();
|
||||||
}
|
}
|
||||||
|
|
@ -348,4 +351,88 @@ public class PackageResource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PUT
|
||||||
|
@Path("{organizationalUnitName}/{projectName}/dependency")
|
||||||
|
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN})
|
||||||
|
public Response updateProjectDependencies(@Context HttpHeaders headers,
|
||||||
|
@PathParam("organizationalUnitName") String organizationalUnitName,
|
||||||
|
@PathParam("projectName") String projectName, PlatformProjectData request) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
WorkspaceProject project = assetService.getProject(organizationalUnitName, projectName);
|
||||||
|
List<DependencyData> toAdd = new ArrayList<>();
|
||||||
|
if (project != null) {
|
||||||
|
POM pom = project.getMainModule().getPom();
|
||||||
|
for (DependencyData dependencyData : request.getDependencies()) {
|
||||||
|
for (GAV element : pom.getDependencies().getGavs()) {
|
||||||
|
if (element.getGroupId().equals(dependencyData.getGroupId())
|
||||||
|
&& element.getArtifactId().equals(dependencyData.getArtifactId())
|
||||||
|
&& element.getVersion().equals(dependencyData.getVersion())) {
|
||||||
|
toAdd.add(dependencyData);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
stringBuilder.append("\n");
|
||||||
|
for (DependencyData dependencyData : toAdd) {
|
||||||
|
|
||||||
|
stringBuilder.append("<dependency>").append("\n");
|
||||||
|
stringBuilder.append("\t").append("<groupId>").append(dependencyData.getGroupId()).append("</groupId>").append("\n");
|
||||||
|
stringBuilder.append("\t").append("<artifactId>").append(dependencyData.getArtifactId()).append("</artifactId>").append("\n");
|
||||||
|
stringBuilder.append("\t").append("<version>").append(dependencyData.getVersion()).append("</version>").append("\n");
|
||||||
|
stringBuilder.append("</dependency>").append("\n").append("\n");
|
||||||
|
}
|
||||||
|
stringBuilder.append("\n");
|
||||||
|
org.uberfire.backend.vfs.Path pomPath = project.getMainModule().getPomXMLPath();
|
||||||
|
org.uberfire.java.nio.file.Path nioPath = Paths.get(pomPath.toURI());
|
||||||
|
String pomContent = ioService.readAllString(nioPath);
|
||||||
|
int dependInt = pomContent.indexOf("/dependencies");
|
||||||
|
String newPomContent = pomContent.substring(0, dependInt - 1) + stringBuilder.toString() + pomContent.substring(dependInt-1, pomContent.length());
|
||||||
|
CommentedOption commentedOption = new CommentedOption("Added from rest");
|
||||||
|
ioService.write(nioPath, newPomContent.getBytes(), commentedOption);
|
||||||
|
if (request.getkModule()!= null ) {
|
||||||
|
String kbase="kbase";
|
||||||
|
if (request.getkModule().getKbase()!=null
|
||||||
|
&& !request.getkModule().getKbase().isEmpty()){
|
||||||
|
kbase=request.getkModule().getKbase();
|
||||||
|
}
|
||||||
|
String basePackage = pom.getGav().getGroupId() + "."+projectName.replace("-", "_");
|
||||||
|
|
||||||
|
org.uberfire.backend.vfs.Path rootPath = project.getRootPath();
|
||||||
|
org.uberfire.java.nio.file.Path nioRootPath = Paths.get(rootPath.toURI());
|
||||||
|
DirectoryStream<org.uberfire.java.nio.file.Path> directoryRootStream = ioService.newDirectoryStream(nioRootPath);
|
||||||
|
org.uberfire.java.nio.file.Path kmodulePath = assetService.findFileByName(directoryRootStream, "kmodule.xml");
|
||||||
|
String kmoduleContent = ioService.readAllString(kmodulePath);
|
||||||
|
/**
|
||||||
|
* <?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
* <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
|
||||||
|
* <kbase name="kbase-extension" packages="com.adeo.lys.rules" includes="kbase-base">
|
||||||
|
* <ksession name="session-extension" type="stateful" default="false" clockType="realtime"/>
|
||||||
|
* </kbase>
|
||||||
|
* </kmodule>
|
||||||
|
*/
|
||||||
|
StringBuilder kModuleBuilder = new StringBuilder();
|
||||||
|
kModuleBuilder.append("<kmodule xmlns=\"http://jboss.org/kie/6.0.0/kmodule\">").append("\n");
|
||||||
|
kModuleBuilder.append("\t").append("<kbase name=\"").append(kbase).append("\" default=\"true\" eventProcessingMode=\"stream\" equalsBehavior=\"identity\" packages=\"").append(basePackage).append("\" includes=\"").append(request.getkModule().getKbaseToInclude()).append("\">").append("\n");
|
||||||
|
kModuleBuilder.append("\t").append("\t").append(" <ksession name=\"session-extension\" type=\"stateful\" default=\"false\" clockType=\"realtime\"/>").append("\n");
|
||||||
|
kModuleBuilder.append("\t").append("</kbase>").append("\n");
|
||||||
|
kModuleBuilder.append("</kmodule>").append("\n");
|
||||||
|
kmoduleContent=kModuleBuilder.toString();
|
||||||
|
CommentedOption commentedOption2= new CommentedOption("Added from rest");
|
||||||
|
ioService.write(kmodulePath, kmoduleContent.getBytes(), commentedOption2);
|
||||||
|
logger.info("Kmodule updated");
|
||||||
|
}
|
||||||
|
return Response.status(Response.Status.CREATED).entity(request).build();
|
||||||
|
} else {
|
||||||
|
logger.info("Project {} or Organization {} not found ", projectName, organizationalUnitName);
|
||||||
|
return Response.status(Response.Status.NOT_FOUND).entity(request).build();
|
||||||
|
}
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package org.chtijbug.kie.rest.backend.service;
|
package org.chtijbug.kie.rest.backend.service;
|
||||||
|
|
||||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||||
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectData;
|
||||||
import org.chtijbug.kie.rest.backend.RestTypeDefinition;
|
import org.chtijbug.kie.rest.backend.RestTypeDefinition;
|
||||||
import org.guvnor.common.services.project.model.Module;
|
import org.guvnor.common.services.project.model.Module;
|
||||||
import org.guvnor.common.services.project.model.WorkspaceProject;
|
import org.guvnor.common.services.project.model.WorkspaceProject;
|
||||||
|
|
@ -62,8 +62,8 @@ public class AssetService {
|
||||||
@Inject
|
@Inject
|
||||||
private WorkspaceProjectService workspaceProjectService;
|
private WorkspaceProjectService workspaceProjectService;
|
||||||
|
|
||||||
public List<PlatformProjectResponse> getAllProjects() {
|
public List<PlatformProjectData> getAllProjects() {
|
||||||
final List<PlatformProjectResponse> spaces = new ArrayList<>();
|
final List<PlatformProjectData> spaces = new ArrayList<>();
|
||||||
for (OrganizationalUnit ou : organizationalUnitService.getOrganizationalUnits()) {
|
for (OrganizationalUnit ou : organizationalUnitService.getOrganizationalUnits()) {
|
||||||
spaces.addAll(getSpace(ou));
|
spaces.addAll(getSpace(ou));
|
||||||
}
|
}
|
||||||
|
|
@ -71,9 +71,9 @@ public class AssetService {
|
||||||
return spaces;
|
return spaces;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PlatformProjectResponse> getSpace(OrganizationalUnit ou) {
|
private List<PlatformProjectData> getSpace(OrganizationalUnit ou) {
|
||||||
|
|
||||||
final List<PlatformProjectResponse> repoNames = new ArrayList<>();
|
final List<PlatformProjectData> repoNames = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
for (WorkspaceProject workspaceProject : workspaceProjectService.getAllWorkspaceProjects(ou)) {
|
for (WorkspaceProject workspaceProject : workspaceProjectService.getAllWorkspaceProjects(ou)) {
|
||||||
for (Branch branch : workspaceProject.getRepository().getBranches()) {
|
for (Branch branch : workspaceProject.getRepository().getBranches()) {
|
||||||
|
|
@ -89,11 +89,14 @@ public class AssetService {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private PlatformProjectResponse getProjectResponse(WorkspaceProject workspaceProject, Branch branch) {
|
private PlatformProjectData getProjectResponse(WorkspaceProject workspaceProject, Branch branch) {
|
||||||
final PlatformProjectResponse projectResponse = new PlatformProjectResponse();
|
final PlatformProjectData projectResponse = new PlatformProjectData();
|
||||||
projectResponse.setName(workspaceProject.getName());
|
projectResponse.setName(workspaceProject.getName());
|
||||||
projectResponse.setSpaceName(workspaceProject.getOrganizationalUnit().getName());
|
projectResponse.setSpaceName(workspaceProject.getOrganizationalUnit().getName());
|
||||||
|
String wbName=System.getProperty("org.chtijbug.wbname");
|
||||||
|
if (wbName==null || wbName.length()==0)
|
||||||
|
wbName="demo";
|
||||||
|
projectResponse.setWbName(wbName);
|
||||||
if (workspaceProject.getMainModule() != null) {
|
if (workspaceProject.getMainModule() != null) {
|
||||||
Module kmodule = workspaceProject.getMainModule();
|
Module kmodule = workspaceProject.getMainModule();
|
||||||
org.uberfire.backend.vfs.Path importVFPath = PathFactory.newPath("project.imports", branch.getPath().toURI() + "project.imports");
|
org.uberfire.backend.vfs.Path importVFPath = PathFactory.newPath("project.imports", branch.getPath().toURI() + "project.imports");
|
||||||
|
|
@ -220,6 +223,22 @@ public class AssetService {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
public org.uberfire.java.nio.file.Path findFileByName(DirectoryStream<org.uberfire.java.nio.file.Path> directoryStream, String assetName) {
|
||||||
|
for (org.uberfire.java.nio.file.Path elementPath : directoryStream) {
|
||||||
|
if (org.uberfire.java.nio.file.Files.isDirectory(elementPath)) {
|
||||||
|
DirectoryStream<org.uberfire.java.nio.file.Path> adirectoryStream = ioService.newDirectoryStream(elementPath);
|
||||||
|
org.uberfire.java.nio.file.Path foundElementPath = findFileByName(adirectoryStream, assetName);
|
||||||
|
if (foundElementPath != null) {
|
||||||
|
return foundElementPath;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (elementPath.getFileName().toString().contains(assetName)) {
|
||||||
|
return elementPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public org.uberfire.java.nio.file.Path getRuleDirectory(DirectoryStream<org.uberfire.java.nio.file.Path> directoryStream, String assetName) {
|
public org.uberfire.java.nio.file.Path getRuleDirectory(DirectoryStream<org.uberfire.java.nio.file.Path> directoryStream, String assetName) {
|
||||||
for (org.uberfire.java.nio.file.Path elementPath : directoryStream) {
|
for (org.uberfire.java.nio.file.Path elementPath : directoryStream) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
# Start Wildfly with the given arguments.
|
# Start Wildfly with the given arguments.
|
||||||
echo "Running Drools Workbench on JBoss Wildfly..."
|
echo "Running Drools Workbench on JBoss Wildfly..."
|
||||||
#export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=50505,suspend=y,server=y"
|
#export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=50505,suspend=y,server=y"
|
||||||
export JAVA_OPTS=" -Djava.net.preferIPv4Stack=true -Dorg.uberfire.metadata.index.dir=/home/lucene -Dorg.uberfire.nio.git.daemon.host=0.0.0.0 -Dorg.uberfire.nio.git.ssh.host=0.0.0.0 -Dorg.guvnor.m2repo.dir=/m2_kiewb/repository -DM2_HOME=/m2_kiewb/repository -Dorg.uberfire.nio.git.dir=/home/niodir -Dorg.uberfire.nio.git.dirname=gitBase -Dorg.appformer.m2repo.url=http://localhost:8080/kie-wb/maven2 -Dkie.maven.settings.custom=/m2_kiewb/settings.xml -Dfile.encoding=UTF-8 -Duser.language=fr -Duser.country=FR -Dorg.uberfire.ext.security.management.api.userManagementServices=PymmaKieSecurityService $PYMMA_OPTS"
|
export JAVA_OPTS=" -Dorg.kie.workbench.profile=PLANNER_AND_RULES -Djava.net.preferIPv4Stack=true -Dorg.uberfire.metadata.index.dir=/home/lucene -Dorg.uberfire.nio.git.daemon.host=0.0.0.0 -Dorg.uberfire.nio.git.ssh.host=0.0.0.0 -Dorg.guvnor.m2repo.dir=/m2_kiewb/repository -DM2_HOME=/m2_kiewb/repository -Dorg.uberfire.nio.git.dir=/home/niodir -Dorg.uberfire.nio.git.dirname=gitBase -Dorg.appformer.m2repo.url=http://localhost:8080/kie-wb/maven2 -Dkie.maven.settings.custom=/m2_kiewb/settings.xml -Dfile.encoding=UTF-8 -Duser.language=fr -Duser.country=FR -Dorg.uberfire.ext.security.management.api.userManagementServices=PymmaKieSecurityService $PYMMA_OPTS"
|
||||||
exec ./standalone.sh -b $JBOSS_BIND_ADDRESS -c $KIE_SERVER_PROFILE.xml
|
exec ./standalone.sh -b $JBOSS_BIND_ADDRESS -c $KIE_SERVER_PROFILE.xml
|
||||||
exit $?
|
exit $?
|
||||||
|
|
||||||
|
|
|
||||||
2
pom.xml
2
pom.xml
|
|
@ -17,7 +17,7 @@
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<jbpm.version>7.42.0.Final</jbpm.version>
|
<jbpm.version>7.43.1.Final</jbpm.version>
|
||||||
<node.version>v10.16.3</node.version>
|
<node.version>v10.16.3</node.version>
|
||||||
<npm.version>6.11.3</npm.version>
|
<npm.version>6.11.3</npm.version>
|
||||||
<frontend-maven-plugin.version>1.8.0</frontend-maven-plugin.version>
|
<frontend-maven-plugin.version>1.8.0</frontend-maven-plugin.version>
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue