Push ne fonctionne pas

Utilisation du createConteneur qui crée la business interface dasn camel
Choix de la classe gardait prefix class=
This commit is contained in:
Nicolas Héron 2019-01-27 17:54:07 +01:00
commit 61e94880b2
6 changed files with 45 additions and 42 deletions

View file

@ -2,23 +2,22 @@ package org.chtijbug.drools.console.service;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.vaadin.flow.component.UI; import com.vaadin.flow.component.UI;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.chtijbug.drools.console.AddLog; import org.chtijbug.drools.console.AddLog;
import org.chtijbug.drools.console.service.model.ReturnPerso;
import org.chtijbug.drools.console.service.model.kie.KieContainerInfo; import org.chtijbug.drools.console.service.model.kie.KieContainerInfo;
import org.chtijbug.drools.console.service.model.kie.KieServerJobStatus; import org.chtijbug.drools.console.service.model.kie.KieServerJobStatus;
import org.chtijbug.drools.console.service.model.kie.SpaceProject; import org.chtijbug.drools.console.service.model.kie.SpaceProject;
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
import org.kie.server.api.model.KieContainerResource; import org.kie.server.api.model.KieContainerResource;
import org.kie.server.api.model.KieServerInfo;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpHeaders;
import org.springframework.http.*; import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RequestCallback; import org.springframework.web.client.RequestCallback;
import org.springframework.web.client.ResourceAccessException;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import java.nio.charset.Charset; import java.nio.charset.Charset;
@ -161,6 +160,37 @@ public class KieServerRepositoryService {
return result; return result;
} }
public KieContainerInfo createContainerWithBusinessInterface(String url, String username, String password, ProjectPersist projectPersist, KieContainerResource request, AddLog workOnGoingView, UI ui) {
String completeurl = url + "/business/"+projectPersist.getContainerID()+"/"+projectPersist.getMainClass()+"/"+projectPersist.getProcessID();
logger.info("url kie server business container : " + completeurl);
ResponseEntity<Map<String, Object>> response = restTemplateKiewb
.execute(completeurl, HttpMethod.POST, requestCallback(request, username, password), clientHttpResponse -> {
Map<String, Object> extractedResponse = null;
if (clientHttpResponse.getBody() != null) {
Scanner s = new Scanner(clientHttpResponse.getBody()).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";
Map<String, Object> map = mapper.readValue(
result,
new TypeReference<Map<String, Object>>() {
});
Map<String, Object> values = mapper.readValue(result, Map.class);
extractedResponse = values;
}
ResponseEntity<Map<String, Object>> extractedValue = new ResponseEntity<>(extractedResponse, clientHttpResponse.getHeaders(), clientHttpResponse.getStatusCode());
return extractedValue;
});
Map<String, Object> reponseMoteur;
reponseMoteur = response.getBody();
workOnGoingView.addRow(reponseMoteur.toString(),ui);
KieContainerInfo result = new KieContainerInfo();
if (reponseMoteur.get("result") != null) {
String containerID = (String) ((Map) ((Map) reponseMoteur.get("result")).get("kie-container")).get("container-id");
result.setContainerId(containerID);
}
return result;
}
private RequestCallback requestCallback(final Object content, String username, String password) { private RequestCallback requestCallback(final Object content, String username, String password) {
return clientHttpRequest -> { return clientHttpRequest -> {
if (content != null) { if (content != null) {

View file

@ -2,7 +2,6 @@ package org.chtijbug.drools.console.service;
import com.vaadin.flow.component.UI; import com.vaadin.flow.component.UI;
import com.vaadin.flow.server.VaadinSession; import com.vaadin.flow.server.VaadinSession;
import org.apache.tomcat.util.threads.TaskThread;
import org.chtijbug.drools.console.AddLog; import org.chtijbug.drools.console.AddLog;
import org.chtijbug.drools.console.service.model.UserConnected; import org.chtijbug.drools.console.service.model.UserConnected;
import org.chtijbug.drools.console.service.model.kie.JobStatus; import org.chtijbug.drools.console.service.model.kie.JobStatus;
@ -14,14 +13,11 @@ import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist; import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository; import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse; import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
import org.guvnor.rest.client.ProjectResponse;
import org.kie.server.api.model.KieContainerResource; import org.kie.server.api.model.KieContainerResource;
import org.kie.server.api.model.ReleaseId; import org.kie.server.api.model.ReleaseId;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -157,7 +153,7 @@ public class ProjectPersistService {
newContainer.getReleaseId().setArtifactId(projectPersist.getArtifactID()); newContainer.getReleaseId().setArtifactId(projectPersist.getArtifactID());
newContainer.getReleaseId().setGroupId(projectPersist.getGroupID()); newContainer.getReleaseId().setGroupId(projectPersist.getGroupID());
newContainer.getReleaseId().setVersion(projectPersist.getProjectVersion()); newContainer.getReleaseId().setVersion(projectPersist.getProjectVersion());
KieContainerInfo createdContainer = kieServerRepositoryService.createContainer(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), projectPersist.getArtifactID(), newContainer, workOnGoingView,ui); KieContainerInfo createdContainer = kieServerRepositoryService.createContainerWithBusinessInterface(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), projectPersist, newContainer, workOnGoingView,ui);
} }

View file

@ -1,7 +1,6 @@
package org.chtijbug.drools.console.vaadinComponent.componentView; package org.chtijbug.drools.console.vaadinComponent.componentView;
import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.datepicker.DatePicker; import com.vaadin.flow.component.datepicker.DatePicker;
import com.vaadin.flow.component.dependency.StyleSheet; import com.vaadin.flow.component.dependency.StyleSheet;
@ -10,21 +9,15 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.binder.Binder; import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.Route;
import org.chtijbug.drools.console.service.KieRepositoryService; import org.chtijbug.drools.console.service.KieRepositoryService;
import org.chtijbug.drools.console.service.UserConnectedService; import org.chtijbug.drools.console.service.UserConnectedService;
import org.chtijbug.drools.console.service.model.UserConnected; import org.chtijbug.drools.console.service.model.UserConnected;
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData; import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
import org.chtijbug.drools.console.service.util.AppContext; import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.console.util.VerifyConnectedInterface;
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
import org.drools.workbench.models.datamodel.rule.InterpolationVariable; import org.drools.workbench.models.datamodel.rule.InterpolationVariable;
import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLPersistenceImpl; import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLPersistenceImpl;
import org.drools.workbench.models.guided.template.shared.TemplateModel; import org.drools.workbench.models.guided.template.shared.TemplateModel;
import javax.annotation.PostConstruct;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;

View file

@ -6,7 +6,6 @@ import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.component.icon.VaadinIcon; import com.vaadin.flow.component.icon.VaadinIcon;
import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.binder.Binder;
import com.vaadin.flow.data.value.ValueChangeMode; import com.vaadin.flow.data.value.ValueChangeMode;
import org.chtijbug.drools.console.service.ProjectPersistService; import org.chtijbug.drools.console.service.ProjectPersistService;
import org.chtijbug.drools.console.service.UserConnectedService; import org.chtijbug.drools.console.service.UserConnectedService;
@ -72,7 +71,11 @@ public class DefineProject extends VerticalLayout {
mainClass.getComboBox().setRequired(true); mainClass.getComboBox().setRequired(true);
mainClass.getComboBox().addValueChangeListener(textFieldStringComponentValueChangeEvent -> { mainClass.getComboBox().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
verify(); verify();
projectPersist.setMainClass(mainClass.getComboBox().getValue().toString()); String mainClassName=(String)mainClass.getComboBox().getValue();
if (mainClassName.indexOf("=")!= -1){
mainClassName = mainClassName.substring(mainClassName.indexOf("=")+1);
}
projectPersist.setMainClass(mainClassName);
}); });
add(mainClass); add(mainClass);

View file

@ -6,12 +6,9 @@ import com.vaadin.flow.component.page.Push;
import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.Route; import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.VaadinSession;
import com.vaadin.flow.shared.communication.PushMode; import com.vaadin.flow.shared.communication.PushMode;
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant; import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
import javax.annotation.PostConstruct;
@Push(PushMode.MANUAL) @Push(PushMode.MANUAL)
@StyleSheet("css/accueil.css") @StyleSheet("css/accueil.css")
@Route("accueil") @Route("accueil")

View file

@ -2,8 +2,6 @@ package org.chtijbug.drools.console.view;
import com.vaadin.flow.component.UI; import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.checkbox.Checkbox;
import com.vaadin.flow.component.combobox.ComboBox; import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.dependency.StyleSheet; import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid;
@ -13,34 +11,17 @@ import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.provider.ConfigurableFilterDataProvider; import com.vaadin.flow.data.provider.ConfigurableFilterDataProvider;
import com.vaadin.flow.data.provider.ListDataProvider; import com.vaadin.flow.data.provider.ListDataProvider;
import com.vaadin.flow.data.renderer.ComponentRenderer;
import com.vaadin.flow.data.value.ValueChangeMode; import com.vaadin.flow.data.value.ValueChangeMode;
import com.vaadin.flow.function.SerializablePredicate; import com.vaadin.flow.function.SerializablePredicate;
import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.Route;
import org.chtijbug.drools.console.AddLog; import org.chtijbug.drools.console.AddLog;
import org.chtijbug.drools.console.service.KieRepositoryService;
import org.chtijbug.drools.console.service.KieServerRepositoryService;
import org.chtijbug.drools.console.service.ProjectPersistService; import org.chtijbug.drools.console.service.ProjectPersistService;
import org.chtijbug.drools.console.service.UserConnectedService;
import org.chtijbug.drools.console.service.model.UserConnected;
import org.chtijbug.drools.console.service.model.kie.*;
import org.chtijbug.drools.console.service.util.AppContext; import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant; import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
import org.chtijbug.drools.console.vaadinComponent.componentView.ConsoleDeploy;
import org.chtijbug.drools.console.vaadinComponent.leftMenu.Action.DeploymentAction; import org.chtijbug.drools.console.vaadinComponent.leftMenu.Action.DeploymentAction;
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist; import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
import org.guvnor.rest.client.ProjectResponse;
import org.kie.server.api.model.KieContainerResource;
import org.kie.server.api.model.ReleaseId;
import javax.annotation.PostConstruct;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Set; import java.util.Set;
@StyleSheet("css/accueil.css") @StyleSheet("css/accueil.css")
@ -287,12 +268,15 @@ public class DeploymentView extends VerticalLayout implements AddLog{
squeletteComposant.getConsoleDeploy().getLogContent().add(horizontalLayout); squeletteComposant.getConsoleDeploy().getLogContent().add(horizontalLayout);
//getUI().get().push(); //getUI().get().push();
}); });
/**
ui.getSession().lock(); ui.getSession().lock();
try { try {
ui.push(); ui.push();
}finally { }finally {
ui.getSession().unlock(); ui.getSession().unlock();
} }
**/
System.out.println(textToAdd);
} }
public Grid<ProjectPersist> getProjectPersistGrid() { public Grid<ProjectPersist> getProjectPersistGrid() {