Ajout d'une interface Rest sur le workbench pour la plate-forme pymma

+ suppression travail sur kie-server spring-boot
This commit is contained in:
Nicolas Héron 2018-11-08 09:39:33 +01:00
commit 59072a17dc
17 changed files with 142 additions and 366 deletions

View file

@ -54,6 +54,11 @@
</exclusions>
</dependency>
<dependency>
<groupId>org.uberfire</groupId>
<artifactId>uberfire-rest-client</artifactId>
<version>2.9.0.Final</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-push</artifactId>

View file

@ -19,6 +19,8 @@ import org.chtijbug.drools.console.service.KieServerRepositoryService;
import org.chtijbug.drools.console.service.model.DisplayData;
import org.chtijbug.drools.console.service.model.kie.*;
import org.chtijbug.drools.console.service.util.AppContext;
import org.guvnor.rest.client.ProjectResponse;
import org.guvnor.rest.client.PublicURI;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
@ -133,12 +135,12 @@ public class DroolsAdminConsole extends UI {
JobStatus result = kieRepositoryService.buildProject(config.getKiewbUrl(), userNameTextField.getValue(),
userpasswdTextField.getValue(), displayData.getSpaceName(), displayData.getProjectName(), "compile", this);
userpasswdTextField.getValue(), displayData.getSpaceName(), displayData.getProjectArtifactID(), "compile", this);
kieRepositoryService.waitForJobToBeEnded(config.getKiewbUrl(), userNameTextField.getValue(),
userpasswdTextField.getValue(), result.getJobId(), this);
result = kieRepositoryService.buildProject(config.getKiewbUrl(), userNameTextField.getValue(),
userpasswdTextField.getValue(), displayData.getSpaceName(), displayData.getProjectName(), "install", this);
userpasswdTextField.getValue(), displayData.getSpaceName(), displayData.getProjectArtifactID(), "install", this);
kieRepositoryService.waitForJobToBeEnded(config.getKiewbUrl(), userNameTextField.getValue(),
userpasswdTextField.getValue(), result.getJobId(), this);
@ -152,10 +154,10 @@ public class DroolsAdminConsole extends UI {
KieContainerRequest newContainer = new KieContainerRequest();
newContainer.setContainerId(displayData.getContainerId());
newContainer.setReleaseId(new ReleaseDefinition());
newContainer.getReleaseId().setArtifactId(displayData.getProjectName());
newContainer.getReleaseId().setArtifactId(displayData.getProjectArtifactID());
newContainer.getReleaseId().setGroupId(displayData.getProjectGroupID());
newContainer.getReleaseId().setVersion(displayData.getProjectVersion());
KieContainerInfo toto = kieServerRepositoryService.createContainer(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), displayData.getProjectName(), newContainer, this);
KieContainerInfo toto = kieServerRepositoryService.createContainer(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), displayData.getProjectArtifactID(), newContainer, this);
System.out.println("coucou");
this.refreshList();
}
@ -188,22 +190,22 @@ public class DroolsAdminConsole extends UI {
kieRepositoryService = AppContext.getApplicationContext().getBean(KieRepositoryService.class);
List<KieContainerInfo> listcontainers = kieServerRepositoryService.getContainerList(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword());
List<Space> listSpaces = kieRepositoryService.getListSpaces(config.getKiewbUrl(), userNameTextField.getValue(),
List<ProjectResponse> listSpacesuberfire = kieRepositoryService.getListSpaces2(config.getKiewbUrl(), userNameTextField.getValue(),
userpasswdTextField.getValue());
for (Space space : listSpaces) {
for (SpaceProject spaceProject : space.getProjects()) {
// kieServerRepositoryService.getProjectContent(config.getKiewbUrl(), userNameTextField.getValue(),
// userpasswdTextField.getValue(),space.getName(),spaceProject.getName());
DisplayData displayData = new DisplayData();
displayData.setSpaceName(space.getName());
displayData.setSpaceDescription(space.getDescription());
displayData.setSpaceDefaultGroupID(space.getDefaultGroupId());
displayData.setSpaceOwner(space.getOwner());
displayData.setProjectName(spaceProject.getName());
displayData.setProjectGroupID(spaceProject.getGroupId());
displayData.setProjectVersion(spaceProject.getVersion());
displayData.setProjectDescription(spaceProject.getDescription());
for (SpaceProjectURI uri : spaceProject.getPublicURIs()) {
// List<Space> listSpaces = kieRepositoryService.getListSpaces(config.getKiewbUrl(), userNameTextField.getValue(),
// userpasswdTextField.getValue());
for (ProjectResponse projectResponse : listSpacesuberfire) {
DisplayData displayData = new DisplayData();
displayData.setSpaceName(projectResponse.getSpaceName());
displayData.setProjectArtifactID(projectResponse.getName());
displayData.setProjectGroupID(projectResponse.getGroupId());
displayData.setProjectVersion(projectResponse.getVersion());
displayData.setProjectDescription(projectResponse.getDescription());
for (PublicURI uri : projectResponse.getPublicURIs()) {
if (uri.getProtocol().equals("git")) {
displayData.setProjectGitAddress(uri.getUri());
} else {
@ -213,17 +215,16 @@ public class DroolsAdminConsole extends UI {
for (KieContainerInfo kie : listcontainers) {
if (kie.getGroupId() != null
&& kie.getGroupId().equals(displayData.getProjectGroupID())
&& kie.getArtifactId().equals(displayData.getProjectName())
&& kie.getArtifactId().equals(displayData.getProjectArtifactID())
&& kie.getVersion().equals(displayData.getProjectVersion())) {
displayData.setKieServerArtifactId(kie.getArtifactId());
displayData.setKieServerGroupId(kie.getGroupId());
displayData.setKieServerVersion(kie.getVersion());
displayData.setContainerId(kie.getContainerId());
displayData.setContainerAlias(kie.getContainerAlias());
}
}
gitReposListContainer.addBean(displayData);
}
}
System.out.println("coucou");

View file

@ -5,6 +5,7 @@ import org.apache.commons.codec.binary.Base64;
import org.chtijbug.drools.console.DroolsAdminConsole;
import org.chtijbug.drools.console.service.model.kie.JobStatus;
import org.chtijbug.drools.console.service.model.kie.Space;
import org.guvnor.rest.client.ProjectResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
@ -32,6 +33,27 @@ public class KieRepositoryService {
private ObjectMapper mapper = new ObjectMapper();
public List<ProjectResponse> getListSpaces2(String url, String username, String password) {
String completeurl = url + "/chtijbug/detailedSpaces";
logger.info("url moteur reco : " + completeurl);
ResponseEntity<List<ProjectResponse>> response = restTemplateKiewb
.execute(completeurl, HttpMethod.GET, requestCallback(null, username, password), clientHttpResponse -> {
List<ProjectResponse> extractedResponse = null;
if (clientHttpResponse.getBody() != null) {
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";
ProjectResponse[] values = mapper.readValue(result, ProjectResponse[].class);
extractedResponse = Arrays.asList(values);
}
ResponseEntity<List<ProjectResponse>> extractedValue = new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
return extractedValue;
});
List<ProjectResponse> reponseMoteur;
reponseMoteur = response.getBody();
return reponseMoteur;
}
public List<Space> getListSpaces(String url, String username, String password) {
String completeurl = url + "/spaces";
logger.info("url moteur reco : " + completeurl);

View file

@ -2,20 +2,17 @@ package org.chtijbug.drools.console.service.model;
public class DisplayData {
private String spaceName;
private String spaceDescription;
private String projectName;
private String projectArtifactID;
private String projectGroupID;
private String projectVersion;
private String projectDescription;
private String projectGitAddress;
private String projectSSHAdress;
private String spaceOwner;
private String spaceDefaultGroupID;
private String containerId;
private String kieServerArtifactId;
private String kieServerGroupId;
private String kieServerVersion;
private String containerAlias;
public String getSpaceName() {
return spaceName;
@ -25,20 +22,13 @@ public class DisplayData {
this.spaceName = spaceName;
}
public String getSpaceDescription() {
return spaceDescription;
public String getProjectArtifactID() {
return projectArtifactID;
}
public void setSpaceDescription(String spaceDescription) {
this.spaceDescription = spaceDescription;
}
public String getProjectName() {
return projectName;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
public void setProjectArtifactID(String projectArtifactID) {
this.projectArtifactID = projectArtifactID;
}
public String getProjectGroupID() {
@ -89,13 +79,6 @@ public class DisplayData {
this.spaceOwner = spaceOwner;
}
public String getSpaceDefaultGroupID() {
return spaceDefaultGroupID;
}
public void setSpaceDefaultGroupID(String spaceDefaultGroupID) {
this.spaceDefaultGroupID = spaceDefaultGroupID;
}
public String getContainerId() {
return containerId;
@ -129,11 +112,4 @@ public class DisplayData {
this.kieServerVersion = kieServerVersion;
}
public String getContainerAlias() {
return containerAlias;
}
public void setContainerAlias(String containerAlias) {
this.containerAlias = containerAlias;
}
}