Start Dockerized
Dynamic configuration started
This commit is contained in:
parent
30ccfa9604
commit
945c57ddfd
44 changed files with 1544 additions and 321 deletions
|
|
@ -0,0 +1,12 @@
|
|||
FROM openjdk:8-jre-slim
|
||||
|
||||
|
||||
ADD application.properties /application.properties
|
||||
ADD maven/drools-framework-admin-console.jar app.jar
|
||||
|
||||
EXPOSE 8200
|
||||
|
||||
RUN bash -c 'touch /app.jar'
|
||||
|
||||
ENTRYPOINT ["java","-Dspring.config.location=file:./","-jar","/app.jar"]
|
||||
#ENTRYPOINT ["java","-jar","/app.jar"]
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
spring.data.elasticsearch.cluster-nodes=elasticsearchhost:9300
|
||||
|
||||
|
||||
spring.data.mongodb.database=businessProxyDB
|
||||
spring.data.mongodb.host=mongodb:27017
|
||||
|
||||
server.port=${port:8200}
|
||||
kie-wb.baseurl=http://kie-wb:8080/kie-wb/rest
|
||||
kie-wb.username=admin
|
||||
kie-wb.password=admin
|
||||
|
||||
spring.servlet.multipart.enabled=false
|
||||
|
|
@ -18,6 +18,7 @@ import org.chtijbug.guvnor.server.jaxrs.model.PlatformProjectResponse;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -44,156 +45,161 @@ public class ProjectPersistService {
|
|||
@Autowired
|
||||
private RuntimeRepository runtimeRepository;
|
||||
|
||||
public ProjectPersistService(){
|
||||
public ProjectPersistService() {
|
||||
this.config = AppContext.getApplicationContext().getBean(KieConfigurationData.class);
|
||||
|
||||
}
|
||||
|
||||
public static String getPROJECT() {
|
||||
return PROJECT;
|
||||
}
|
||||
|
||||
public void saveIfnotExist(List<PlatformProjectResponse> platformProjectResponses){
|
||||
public static void setPROJECT(String PROJECT) {
|
||||
ProjectPersistService.PROJECT = PROJECT;
|
||||
}
|
||||
|
||||
for(PlatformProjectResponse platformProjectResponse:platformProjectResponses) {
|
||||
public void saveIfnotExist(List<PlatformProjectResponse> platformProjectResponses) {
|
||||
|
||||
ProjectPersist projectPersist = projectRepository.findByProjectName(new KeyProject(platformProjectResponse.getSpaceName(),platformProjectResponse.getName()));
|
||||
for (PlatformProjectResponse platformProjectResponse : platformProjectResponses) {
|
||||
|
||||
ProjectPersist projectPersist = projectRepository.findByProjectName(new KeyProject(platformProjectResponse.getSpaceName(), platformProjectResponse.getName()));
|
||||
|
||||
if (projectPersist == null) {
|
||||
projectPersist = platformProjectResponseToProjectPersist(platformProjectResponse);
|
||||
|
||||
projectRepository.save(projectPersist);
|
||||
addProjectToSession(projectPersist,true);
|
||||
addProjectToSession(projectPersist, true);
|
||||
|
||||
}else {
|
||||
addProjectToSession(projectPersist,false);
|
||||
} else {
|
||||
addProjectToSession(projectPersist, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<String,ProjectPersist> getProjectsSession() {
|
||||
public HashMap<String, ProjectPersist> getProjectsSession() {
|
||||
return (HashMap<String, ProjectPersist>) VaadinSession.getCurrent().getAttribute(PROJECT);
|
||||
}
|
||||
|
||||
public void addProjectToSession(ProjectPersist projectPersist,boolean isModifiable) {
|
||||
|
||||
HashMap<String,ProjectPersist> projectPersists=getProjectsSession();
|
||||
HashMap<String, ProjectPersist> projectPersists = getProjectsSession();
|
||||
|
||||
if(projectPersists==null){
|
||||
projectPersists=new HashMap<>();
|
||||
if (projectPersists == null) {
|
||||
projectPersists = new HashMap<>();
|
||||
}
|
||||
|
||||
if(isModifiable){
|
||||
projectPersists.put(projectPersist.getProjectName().toString(),projectPersist);
|
||||
}else {
|
||||
if (isModifiable) {
|
||||
projectPersists.put(projectPersist.getProjectName().toString(), projectPersist);
|
||||
} else {
|
||||
|
||||
ProjectPersist tmp=projectPersists.get(projectPersist.getProjectName().toString());
|
||||
if(tmp==null){
|
||||
projectPersists.put(projectPersist.getProjectName().toString(),projectPersist);
|
||||
ProjectPersist tmp = projectPersists.get(projectPersist.getProjectName().toString());
|
||||
if (tmp == null) {
|
||||
projectPersists.put(projectPersist.getProjectName().toString(), projectPersist);
|
||||
}
|
||||
}
|
||||
|
||||
VaadinSession.getCurrent().setAttribute(PROJECT, projectPersists);
|
||||
}
|
||||
public boolean associate(ProjectPersist projectPersist, RuntimePersist runtimePersist){
|
||||
|
||||
List<ProjectPersist> projectPersists=projectRepository.findByServerNameAndDeploymentName(runtimePersist.getServerName(),projectPersist.getDeploymentName());
|
||||
public boolean associate(ProjectPersist projectPersist, List<RuntimePersist> runtimePersists) {
|
||||
|
||||
if(projectPersists.size()!=0){
|
||||
return false;
|
||||
}else {
|
||||
|
||||
projectPersist.setServerName(runtimePersist.getServerName());
|
||||
projectPersist.setStatus(ProjectPersist.Deployable);
|
||||
projectPersist.setContainerID(projectPersist.getDeploymentName()+"-"+projectPersist.getProjectName());
|
||||
projectRepository.save(projectPersist);
|
||||
addProjectToSession(projectPersist,true);
|
||||
|
||||
return true;
|
||||
projectPersist.getServerNames().clear();
|
||||
for (RuntimePersist runtimePersist : runtimePersists) {
|
||||
List<String> names = new ArrayList<String>();
|
||||
names.add(runtimePersist.getServerName());
|
||||
List<ProjectPersist> projectPersists = projectRepository.findByServerNamesInAndDeploymentName(names, projectPersist.getDeploymentName());
|
||||
//if (projectPersists.size() != 0) {
|
||||
// return false;
|
||||
// }
|
||||
projectPersist.getServerNames().add(runtimePersist.getServerName());
|
||||
}
|
||||
|
||||
projectPersist.setStatus(ProjectPersist.Deployable);
|
||||
projectPersist.setContainerID(projectPersist.getDeploymentName() + "-" + projectPersist.getProjectName());
|
||||
projectRepository.save(projectPersist);
|
||||
addProjectToSession(projectPersist, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean deployer(ProjectPersist projectPersist, AddLog addLog, UI ui){
|
||||
public boolean deployer(ProjectPersist projectPersist, AddLog addLog, UI ui) {
|
||||
|
||||
|
||||
waitForJobToBeEnded(config.getKiewbUrl(), userConnectedService.getUserConnected().getUserName(),
|
||||
userConnectedService.getUserConnected().getUserPassword(), projectPersist, addLog,ui);
|
||||
userConnectedService.getUserConnected().getUserPassword(), projectPersist, addLog, ui);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public ProjectPersist platformProjectResponseToProjectPersist(PlatformProjectResponse platformProjectResponse){
|
||||
ProjectPersist projectPersist=new ProjectPersist();
|
||||
public ProjectPersist platformProjectResponseToProjectPersist(PlatformProjectResponse platformProjectResponse) {
|
||||
ProjectPersist projectPersist = new ProjectPersist();
|
||||
projectPersist.setArtifactID(platformProjectResponse.getArtifactId());
|
||||
projectPersist.setGroupID(platformProjectResponse.getGroupId());
|
||||
projectPersist.setProjectName(new KeyProject(platformProjectResponse.getSpaceName(),platformProjectResponse.getName()));
|
||||
projectPersist.setProjectName(new KeyProject(platformProjectResponse.getSpaceName(), platformProjectResponse.getName()));
|
||||
projectPersist.setProjectVersion(platformProjectResponse.getVersion());
|
||||
projectPersist.setStatus(ProjectPersist.ADEFINIR);
|
||||
projectPersist.setClassNameList(platformProjectResponse.getJavaClasses());
|
||||
return projectPersist;
|
||||
}
|
||||
|
||||
public void waitForJobToBeEnded(String url, String username, String password,ProjectPersist projectPersist, AddLog workOnGoingView, UI ui) {
|
||||
public void waitForJobToBeEnded(String url, String username, String password, ProjectPersist projectPersist, AddLog workOnGoingView, UI ui) {
|
||||
|
||||
UserConnected userConnected=userConnectedService.getUserConnected();
|
||||
UserConnected userConnected = userConnectedService.getUserConnected();
|
||||
|
||||
Thread thread=new Thread(){
|
||||
Thread thread = new Thread() {
|
||||
public void run() {
|
||||
|
||||
JobStatus result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), "compile", workOnGoingView,ui);
|
||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), "compile", workOnGoingView, ui);
|
||||
|
||||
executeWrite(url,username,password,workOnGoingView,result.getJobId(),ui);
|
||||
executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
||||
|
||||
result = kieRepositoryService.buildProject(config.getKiewbUrl(), userConnected.getUserName(),
|
||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), "install", workOnGoingView,ui);
|
||||
userConnected.getUserPassword(), projectPersist.getProjectName().getSpaceName(), projectPersist.getProjectName().getName(), "install", workOnGoingView, ui);
|
||||
|
||||
executeWrite(url, username, password, workOnGoingView, result.getJobId(), ui);
|
||||
|
||||
// ContainerPojoPersist toto = containerRepository.findByServerNameAndContainerId(projectPersist.getContainerID());
|
||||
for (String serverName : projectPersist.getServerNames()) {
|
||||
List<RuntimePersist> kieservers = runtimeRepository.findByServerName(serverName);
|
||||
if (kieservers.size() == 1) {
|
||||
ContainerPojoPersist existingContainer = containerRepository.findByServerNameAndContainerId(serverName, projectPersist.getContainerID());
|
||||
if (existingContainer == null) {
|
||||
ContainerPojoPersist newContainer = new ContainerPojoPersist();
|
||||
newContainer.setStatus(ContainerPojoPersist.STATUS.TODEPLOY.toString());
|
||||
newContainer.setClassName(projectPersist.getMainClass());
|
||||
newContainer.setProcessID(projectPersist.getProcessID());
|
||||
newContainer.setContainerId(projectPersist.getContainerID());
|
||||
newContainer.setServerName(serverName);
|
||||
newContainer.setGroupId(projectPersist.getGroupID());
|
||||
newContainer.setArtifactId(projectPersist.getArtifactID());
|
||||
newContainer.setVersion(projectPersist.getProjectVersion());
|
||||
containerRepository.save(newContainer);
|
||||
} else {
|
||||
existingContainer.setStatus(ContainerPojoPersist.STATUS.TODEPLOY.toString());
|
||||
containerRepository.save(existingContainer);
|
||||
}
|
||||
|
||||
|
||||
executeWrite(url,username,password,workOnGoingView,result.getJobId(),ui);
|
||||
/**
|
||||
if (projectPersist.getContainerID() != null) {
|
||||
KieServerJobStatus jobresult = kieServerRepositoryService.stopContainer(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), projectPersist.getContainerID(), workOnGoingView,ui);
|
||||
if (jobresult != null
|
||||
&& "SUCCESS".equals(jobresult.getType())) {
|
||||
}
|
||||
}
|
||||
**/
|
||||
// ContainerPojoPersist toto = containerRepository.findByServerNameAndContainerId(projectPersist.getContainerID());
|
||||
List<RuntimePersist> kieservers = runtimeRepository.findByServerName(projectPersist.getServerName());
|
||||
if (kieservers.size()==1) {
|
||||
ContainerPojoPersist existingContainer = containerRepository.findByServerNameAndContainerId(projectPersist.getServerName(),projectPersist.getContainerID());
|
||||
if (existingContainer==null) {
|
||||
ContainerPojoPersist newContainer = new ContainerPojoPersist();
|
||||
newContainer.setStatus(ContainerPojoPersist.STATUS.TODEPLOY.toString());
|
||||
newContainer.setClassName(projectPersist.getMainClass());
|
||||
newContainer.setProcessID(projectPersist.getProcessID());
|
||||
newContainer.setContainerId(projectPersist.getContainerID());
|
||||
newContainer.setServerName(projectPersist.getServerName());
|
||||
newContainer.setGroupId(projectPersist.getGroupID());
|
||||
newContainer.setArtifactId(projectPersist.getArtifactID());
|
||||
newContainer.setVersion(projectPersist.getProjectVersion());
|
||||
containerRepository.save(newContainer);
|
||||
}else{
|
||||
existingContainer.setStatus(ContainerPojoPersist.STATUS.TODEPLOY.toString());
|
||||
containerRepository.save(existingContainer);
|
||||
//remove container from other runtime
|
||||
List<ContainerPojoPersist> containerPojoPersists = containerRepository.findByContainerId(projectPersist.getContainerID());
|
||||
for (ContainerPojoPersist container : containerPojoPersists){
|
||||
if (projectPersist.getServerNames().contains(container.getServerName())==false){
|
||||
container.setStatus(ContainerPojoPersist.STATUS.TODELETE.toString());
|
||||
containerRepository.save(container);
|
||||
}
|
||||
|
||||
/**
|
||||
KieContainerResource newContainer = new KieContainerResource();
|
||||
newContainer.setContainerId(projectPersist.getContainerID());
|
||||
newContainer.setReleaseId(new ReleaseId());
|
||||
newContainer.getReleaseId().setArtifactId(projectPersist.getArtifactID());
|
||||
newContainer.getReleaseId().setGroupId(projectPersist.getGroupID());
|
||||
newContainer.getReleaseId().setVersion(projectPersist.getProjectVersion());
|
||||
KieContainerInfo createdContainer = kieServerRepositoryService.createContainerWithBusinessInterface(config.getKieserverUrl(), config.getKieserverUserName(), config.getKieserverPassword(), projectPersist, newContainer, workOnGoingView, ui);
|
||||
**/
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
thread.start();
|
||||
|
||||
}
|
||||
private void executeWrite(String url, String username, String password,AddLog workOnGoingView,String jobID,UI ui){
|
||||
|
||||
String isJobDone = "NO";
|
||||
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,
|
||||
|
|
@ -201,11 +207,11 @@ public class ProjectPersistService {
|
|||
if ("DUPLICATE_RESOURCE".equals(jobStatus.getStatus())
|
||||
|| "SUCCESS".equals(jobStatus.getStatus())) {
|
||||
isJobDone = "YES";
|
||||
workOnGoingView.addRow("JobID=" + jobID + " finished",ui);
|
||||
workOnGoingView.addRow("JobID=" + jobID + " finished", ui);
|
||||
} else if ("ACCEPTED".equals(jobStatus.getStatus())
|
||||
|| ("APPROVED".equals(jobStatus.getStatus()))) {
|
||||
try {
|
||||
workOnGoingView.addRow("JobID=" + jobID + " not yet finished",ui);
|
||||
workOnGoingView.addRow("JobID=" + jobID + " not yet finished", ui);
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
|
|
@ -218,14 +224,6 @@ public class ProjectPersistService {
|
|||
}
|
||||
}
|
||||
|
||||
public static String getPROJECT() {
|
||||
return PROJECT;
|
||||
}
|
||||
|
||||
public static void setPROJECT(String PROJECT) {
|
||||
ProjectPersistService.PROJECT = PROJECT;
|
||||
}
|
||||
|
||||
public ProjectRepository getProjectRepository() {
|
||||
return projectRepository;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ public class UserConnectedService {
|
|||
public static String ASSET = "2";
|
||||
public static String SPACE = "3";
|
||||
public static String PROJECT = "4";
|
||||
public static String CURRENTPROJECT = "5";
|
||||
|
||||
|
||||
public UserConnected getUserConnected() {
|
||||
return (UserConnected) VaadinSession.getCurrent().getAttribute(USER);
|
||||
|
|
@ -41,10 +43,10 @@ public class UserConnectedService {
|
|||
}
|
||||
|
||||
public void addProjectToSession(String projectName) {
|
||||
VaadinSession.getCurrent().setAttribute(PROJECT, projectName);
|
||||
VaadinSession.getCurrent().setAttribute(CURRENTPROJECT, projectName);
|
||||
}
|
||||
|
||||
public String getProject() {
|
||||
return (String) VaadinSession.getCurrent().getAttribute(PROJECT);
|
||||
return (String) VaadinSession.getCurrent().getAttribute(CURRENTPROJECT);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import org.chtijbug.drools.console.service.util.AppContext;
|
|||
import org.chtijbug.drools.console.view.DeploymentView;
|
||||
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
||||
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
|
||||
import org.chtijbug.drools.proxy.persistence.repository.ProjectRepository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AssociateProjectKie extends VerticalLayout {
|
||||
|
|
@ -26,39 +26,40 @@ public class AssociateProjectKie extends VerticalLayout {
|
|||
|
||||
private ProjectPersistService projectPersistService;
|
||||
|
||||
public AssociateProjectKie(DeploymentView deploymentView,Dialog dialog, ProjectPersist projectPersist){
|
||||
public AssociateProjectKie(DeploymentView deploymentView, Dialog dialog, ProjectPersist projectPersist) {
|
||||
|
||||
projectPersistService= AppContext.getApplicationContext().getBean(ProjectPersistService.class);
|
||||
projectPersistService = AppContext.getApplicationContext().getBean(ProjectPersistService.class);
|
||||
|
||||
setClassName("creation-runtime-content");
|
||||
|
||||
label=new Label("Define your project : "+projectPersist.getProjectName());
|
||||
label = new Label("Define the runtime(s) for the project : " + projectPersist.getProjectName());
|
||||
label.setClassName("creation-runtime-title");
|
||||
add(label);
|
||||
|
||||
label2=new Label("this step is essential before you can associate your project with a workbench");
|
||||
label2 = new Label("This step is essential to be able to execute the rules defined in the project");
|
||||
label2.setClassName("creation-runtime-title2");
|
||||
add(label2);
|
||||
|
||||
gridRuntime=new GridRuntime();
|
||||
gridRuntime = new GridRuntime(projectPersist);
|
||||
add(gridRuntime);
|
||||
|
||||
associer=new Button("Associer");
|
||||
associer = new Button("Link and Save");
|
||||
associer.setEnabled(false);
|
||||
associer.setClassName("login-application-connexion");
|
||||
add(associer);
|
||||
associer.addClickListener(buttonClickEvent -> {
|
||||
List<RuntimePersist> lstToSave = new ArrayList<>();
|
||||
for (RuntimePersist runtimePersist : gridRuntime.getSelectedItems()) {
|
||||
lstToSave.add(runtimePersist);
|
||||
}
|
||||
if (lstToSave.size()>0) {
|
||||
|
||||
RuntimePersist runtimePersist=gridRuntime.getSelectedItems().stream().findFirst().get();
|
||||
boolean tmp = projectPersistService.associate(projectPersist,lstToSave);
|
||||
|
||||
if(runtimePersist!=null) {
|
||||
|
||||
boolean tmp = projectPersistService.associate(projectPersist,runtimePersist);
|
||||
|
||||
if(tmp==true){
|
||||
if (tmp == true) {
|
||||
deploymentView.setDataProvider();
|
||||
dialog.close();
|
||||
}else {
|
||||
} else {
|
||||
associer.setEnabled(false);
|
||||
Notification.show("There is already a project of this name on this runtime");
|
||||
}
|
||||
|
|
@ -66,10 +67,10 @@ public class AssociateProjectKie extends VerticalLayout {
|
|||
});
|
||||
|
||||
gridRuntime.addSelectionListener(selectionEvent -> {
|
||||
if(selectionEvent.getFirstSelectedItem()!=null&&selectionEvent.getFirstSelectedItem().isPresent()) {
|
||||
if (selectionEvent.getFirstSelectedItem() != null && selectionEvent.getFirstSelectedItem().isPresent()) {
|
||||
|
||||
associer.setEnabled(true);
|
||||
}else {
|
||||
} else {
|
||||
associer.setEnabled(false);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class DefineProject extends VerticalLayout {
|
|||
private UserConnectedService userConnectedService;
|
||||
|
||||
private ProjectPersistService projectPersistService;
|
||||
private boolean createMode;
|
||||
|
||||
public DefineProject(DeploymentView deploymentView,Dialog dialog, ProjectPersist projectPersist){
|
||||
|
||||
|
|
@ -52,8 +53,12 @@ public class DefineProject extends VerticalLayout {
|
|||
label2.setClassName("creation-runtime-title2");
|
||||
add(label2);
|
||||
|
||||
nameDeploy=new TextFieldPerso("Name Deployment","",VaadinIcon.FILE_TEXT.create());
|
||||
nameDeploy=new TextFieldPerso("Deployment Name ","",VaadinIcon.FILE_TEXT.create());
|
||||
nameDeploy.getTextField().setRequired(true);
|
||||
if (projectPersist.getDeploymentName()!=null
|
||||
&& projectPersist.getDeploymentName().length()>0){
|
||||
nameDeploy.getTextField().setValue((projectPersist.getDeploymentName()));
|
||||
}
|
||||
nameDeploy.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||
verify();
|
||||
projectPersist.setDeploymentName(nameDeploy.getTextField().getValue().replaceAll(" ","_"));
|
||||
|
|
@ -69,6 +74,10 @@ public class DefineProject extends VerticalLayout {
|
|||
mainClass=new ComboBoxPerso("MainClass", VaadinIcon.TREE_TABLE.create());
|
||||
mainClass.getComboBox().setItems(projectPersist.getClassNameList());
|
||||
mainClass.getComboBox().setRequired(true);
|
||||
if (projectPersist.getMainClass()!= null
|
||||
&& projectPersist.getMainClass().length()>0){
|
||||
mainClass.getComboBox().setValue("class="+(String)projectPersist.getMainClass());
|
||||
}
|
||||
mainClass.getComboBox().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||
verify();
|
||||
String mainClassName=(String)mainClass.getComboBox().getValue();
|
||||
|
|
@ -82,6 +91,10 @@ public class DefineProject extends VerticalLayout {
|
|||
|
||||
processID=new TextFieldPerso("Process ID","",VaadinIcon.TASKS.create());
|
||||
processID.getTextField().setRequired(true);
|
||||
if (projectPersist.getProcessID()!= null
|
||||
&& projectPersist.getProcessID().length()>0){
|
||||
processID.getTextField().setValue(projectPersist.getProcessID());
|
||||
}
|
||||
processID.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||
processID.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||
verify();
|
||||
|
|
@ -90,11 +103,20 @@ public class DefineProject extends VerticalLayout {
|
|||
|
||||
add(processID);
|
||||
|
||||
valider=new Button("Valider");
|
||||
valider.setEnabled(false);
|
||||
valider=new Button("Save");
|
||||
if (projectPersist.getProcessID()!= null
|
||||
&& projectPersist.getProcessID().length()>0){
|
||||
valider.setEnabled(true);
|
||||
createMode=false;
|
||||
}else {
|
||||
valider.setEnabled(false);
|
||||
createMode=true;
|
||||
}
|
||||
valider.setClassName("login-application-connexion");
|
||||
valider.addClickListener(buttonClickEvent -> {
|
||||
projectPersist.setStatus(ProjectPersist.DEFINI);
|
||||
if (createMode==true) {
|
||||
projectPersist.setStatus(ProjectPersist.DEFINI);
|
||||
}
|
||||
projectPersistService.addProjectToSession(projectPersist,true);
|
||||
projectPersistService.getProjectRepository().save(projectPersist);
|
||||
deploymentView.setDataProvider();
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
|||
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
|
||||
import com.vaadin.flow.component.html.Label;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GridRuntime extends Grid<RuntimePersist> {
|
||||
|
|
@ -24,6 +25,7 @@ public class GridRuntime extends Grid<RuntimePersist> {
|
|||
|
||||
private TextField version;
|
||||
|
||||
private TextField status;
|
||||
|
||||
private String strRuntimeName="Runtime Name";
|
||||
|
||||
|
|
@ -31,6 +33,7 @@ public class GridRuntime extends Grid<RuntimePersist> {
|
|||
|
||||
private String strVersion="Version";
|
||||
|
||||
private String strStatus="State";
|
||||
|
||||
private ProjectPersistService projectPersistService;
|
||||
private RuntimeService runtimeService;
|
||||
|
|
@ -38,14 +41,30 @@ public class GridRuntime extends Grid<RuntimePersist> {
|
|||
private ListDataProvider<RuntimePersist> dataProvider;
|
||||
private ConfigurableFilterDataProvider<RuntimePersist,Void,SerializablePredicate<RuntimePersist>> filterDataProvider;
|
||||
|
||||
private ProjectPersist projectPersist;
|
||||
|
||||
public GridRuntime(){
|
||||
public GridRuntime(ProjectPersist projectPersist){
|
||||
this.projectPersist = projectPersist;
|
||||
init();
|
||||
//dataProvider.get
|
||||
for (RuntimePersist runtimePersist : dataProvider.getItems()){
|
||||
if (projectPersist.getServerNames().contains(runtimePersist.getServerName())){
|
||||
getSelectionModel().select(runtimePersist);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public GridRuntime() {
|
||||
init();
|
||||
|
||||
}
|
||||
private void init(){
|
||||
projectPersistService = AppContext.getApplicationContext().getBean(ProjectPersistService.class);
|
||||
runtimeService= AppContext.getApplicationContext().getBean(RuntimeService.class);
|
||||
|
||||
setClassName("deployment-grid-perso");
|
||||
setSelectionMode(Grid.SelectionMode.SINGLE);
|
||||
setSelectionMode(Grid.SelectionMode.MULTI);
|
||||
|
||||
Grid.Column<RuntimePersist> runtimeNameCo=addColumn(runtimePersist -> runtimePersist.getServerName());
|
||||
runtimeName=new TextField(strRuntimeName);
|
||||
|
|
@ -70,11 +89,18 @@ public class GridRuntime extends Grid<RuntimePersist> {
|
|||
refreshtGrid(version.getValue(), strVersion);
|
||||
});
|
||||
versionCo.setHeader(version);
|
||||
|
||||
Grid.Column<RuntimePersist> statusCo=addColumn(runtimePersist -> runtimePersist.getStatus());
|
||||
status=new TextField(strStatus);
|
||||
status.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
status.addValueChangeListener(e -> {
|
||||
refreshtGrid(status.getValue(), strVersion);
|
||||
});
|
||||
statusCo.setHeader(status);
|
||||
|
||||
addColumn(new ComponentRenderer<>(runtimePersist -> {
|
||||
|
||||
List<ProjectPersist> projectPersists=projectPersistService.getProjectRepository().findByServerName(runtimePersist.getServerName());
|
||||
List<String> serverList = new ArrayList<>();
|
||||
serverList.add(runtimePersist.getServerName());
|
||||
List<ProjectPersist> projectPersists=projectPersistService.getProjectRepository().findByServerNamesIn(serverList);
|
||||
|
||||
Label label=new Label(projectPersists!=null?projectPersists.size()+"":"0");
|
||||
|
||||
|
|
|
|||
|
|
@ -19,91 +19,70 @@ import org.chtijbug.drools.console.service.ProjectPersistService;
|
|||
import org.chtijbug.drools.console.service.util.AppContext;
|
||||
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
|
||||
import org.chtijbug.drools.console.vaadinComponent.leftMenu.Action.DeploymentAction;
|
||||
import org.chtijbug.drools.proxy.persistence.json.KeyProject;
|
||||
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
|
||||
@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 pageName = "Deployment";
|
||||
|
||||
//GRID composant
|
||||
|
||||
private Grid<ProjectPersist> projectPersistGrid;
|
||||
|
||||
private ListDataProvider<ProjectPersist> dataProvider;
|
||||
|
||||
private ConfigurableFilterDataProvider<ProjectPersist,Void,SerializablePredicate<ProjectPersist>> filterDataProvider;
|
||||
|
||||
private DeploymentAction deploymentAction;
|
||||
private final String strNameDeploy = "Deploy name";
|
||||
private final String strNameProject = "Project name";
|
||||
private final String strGroupeId = "Groupe ID";
|
||||
private final String strArtefactID = "Artefact ID";
|
||||
|
||||
//TEXTFIELD search
|
||||
|
||||
private TextField nameDeploy;
|
||||
|
||||
private TextField nameProject;
|
||||
|
||||
private TextField groupeId;
|
||||
|
||||
private TextField artifactId;
|
||||
|
||||
private TextField processId;
|
||||
|
||||
private TextField serverName;
|
||||
|
||||
private ComboBox status;
|
||||
private final String strProcessID = "Process ID";
|
||||
private final String strServerName = "Server Name";
|
||||
private final String strStatus = "Status";
|
||||
private Grid<ProjectPersist> projectPersistGrid;
|
||||
private ListDataProvider<ProjectPersist> dataProvider;
|
||||
private ConfigurableFilterDataProvider<ProjectPersist, Void, SerializablePredicate<ProjectPersist>> filterDataProvider;
|
||||
private DeploymentAction deploymentAction;
|
||||
|
||||
//CONSTANTE Textfield
|
||||
|
||||
private final String strNameDeploy="Deploy name";
|
||||
|
||||
private final String strNameProject="Project name";
|
||||
|
||||
private final String strGroupeId="Groupe ID";
|
||||
|
||||
private final String strArtefactID="Artefact ID";
|
||||
|
||||
private final String strProcessID="Process ID";
|
||||
|
||||
private final String strServerName="Server Name";
|
||||
|
||||
private final String strStatus="Status";
|
||||
private TextField nameDeploy;
|
||||
private TextField nameProject;
|
||||
private TextField groupeId;
|
||||
private TextField artifactId;
|
||||
private TextField processId;
|
||||
private TextField serverName;
|
||||
private ComboBox status;
|
||||
|
||||
//SERVICE
|
||||
|
||||
private ProjectPersistService projectPersistService;
|
||||
|
||||
private SqueletteComposant squeletteComposant;
|
||||
|
||||
public DeploymentView(SqueletteComposant squeletteComposant) {
|
||||
|
||||
this.squeletteComposant=squeletteComposant;
|
||||
projectPersistService=AppContext.getApplicationContext().getBean(ProjectPersistService.class);
|
||||
this.squeletteComposant = squeletteComposant;
|
||||
projectPersistService = AppContext.getApplicationContext().getBean(ProjectPersistService.class);
|
||||
|
||||
setClassName("deployment-content");
|
||||
|
||||
add(new Label("Project"));
|
||||
|
||||
projectPersistGrid=new Grid<>();
|
||||
projectPersistGrid = new Grid<>();
|
||||
projectPersistGrid.setClassName("deployment-grid-perso");
|
||||
projectPersistGrid.setSelectionMode(Grid.SelectionMode.SINGLE);
|
||||
|
||||
|
||||
Grid.Column<ProjectPersist> deployNameCo=projectPersistGrid.addColumn(projectPersist -> projectPersist.getDeploymentName());
|
||||
nameDeploy=new TextField(strNameDeploy);
|
||||
Grid.Column<ProjectPersist> deployNameCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getDeploymentName());
|
||||
nameDeploy = new TextField(strNameDeploy);
|
||||
nameDeploy.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
nameDeploy.addValueChangeListener(e -> {
|
||||
refreshtGrid(nameDeploy.getValue(), strNameDeploy);
|
||||
});
|
||||
deployNameCo.setHeader(nameDeploy);
|
||||
|
||||
Grid.Column<ProjectPersist> nameProjectCo=projectPersistGrid.addColumn(projectPersist -> projectPersist.getProjectName());
|
||||
nameProject=new TextField(strNameProject);
|
||||
Grid.Column<ProjectPersist> nameProjectCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProjectName());
|
||||
nameProject = new TextField(strNameProject);
|
||||
nameProject.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
nameProject.addValueChangeListener(e -> {
|
||||
refreshtGrid(nameProject.getValue(), strNameProject);
|
||||
|
|
@ -111,26 +90,26 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
nameProjectCo.setHeader(nameProject);
|
||||
|
||||
projectPersistGrid.addColumn(projectPersist -> projectPersist.getMainClass()).setHeader("ClassName")
|
||||
.setComparator((projectPersist,t1) -> projectPersist.getMainClass().compareTo(t1.getMainClass()));
|
||||
.setComparator((projectPersist, t1) -> projectPersist.getMainClass().compareTo(t1.getMainClass()));
|
||||
|
||||
Grid.Column<ProjectPersist> groupIdCo=projectPersistGrid.addColumn(projectPersist -> projectPersist.getGroupID());
|
||||
groupeId=new TextField(strGroupeId);
|
||||
Grid.Column<ProjectPersist> groupIdCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getGroupID());
|
||||
groupeId = new TextField(strGroupeId);
|
||||
groupeId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
groupeId.addValueChangeListener(e -> {
|
||||
refreshtGrid(groupeId.getValue(), strGroupeId);
|
||||
});
|
||||
groupIdCo.setHeader(groupeId);
|
||||
|
||||
Grid.Column<ProjectPersist> artifactIDCO=projectPersistGrid.addColumn(projectPersist -> projectPersist.getArtifactID());
|
||||
artifactId=new TextField(strArtefactID);
|
||||
Grid.Column<ProjectPersist> artifactIDCO = projectPersistGrid.addColumn(projectPersist -> projectPersist.getArtifactID());
|
||||
artifactId = new TextField(strArtefactID);
|
||||
artifactId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
artifactId.addValueChangeListener(e -> {
|
||||
refreshtGrid(artifactId.getValue(), strArtefactID);
|
||||
});
|
||||
artifactIDCO.setHeader(artifactId);
|
||||
|
||||
Grid.Column<ProjectPersist> processIDco=projectPersistGrid.addColumn(projectPersist -> projectPersist.getProcessID());
|
||||
processId=new TextField(strProcessID);
|
||||
Grid.Column<ProjectPersist> processIDco = projectPersistGrid.addColumn(projectPersist -> projectPersist.getProcessID());
|
||||
processId = new TextField(strProcessID);
|
||||
processId.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
processId.addValueChangeListener(e -> {
|
||||
refreshtGrid(processId.getValue(), strProcessID);
|
||||
|
|
@ -138,8 +117,18 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
processIDco.setHeader(processId);
|
||||
|
||||
|
||||
Grid.Column<ProjectPersist> serverNameCo=projectPersistGrid.addColumn(projectPersist -> projectPersist.getServerName());
|
||||
serverName=new TextField(strServerName);
|
||||
Grid.Column<ProjectPersist> serverNameCo = projectPersistGrid.addColumn(projectPersist -> {
|
||||
String result = null;
|
||||
for (String serverName : projectPersist.getServerNames()) {
|
||||
if (result != null) {
|
||||
result = result + ":" + serverName;
|
||||
} else {
|
||||
result = serverName;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
});
|
||||
serverName = new TextField(strServerName);
|
||||
serverName.setValueChangeMode(ValueChangeMode.EAGER);
|
||||
serverName.addValueChangeListener(e -> {
|
||||
refreshtGrid(serverName.getValue(), strServerName);
|
||||
|
|
@ -148,21 +137,21 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
|
||||
|
||||
projectPersistGrid.addColumn(projectPersist -> projectPersist.getProjectVersion()).setHeader("Version")
|
||||
.setComparator((projectPersist,t1) -> projectPersist.getProjectVersion().compareTo(t1.getProjectVersion()));
|
||||
.setComparator((projectPersist, t1) -> projectPersist.getProjectVersion().compareTo(t1.getProjectVersion()));
|
||||
|
||||
|
||||
Grid.Column<ProjectPersist> statusCo=projectPersistGrid.addColumn(projectPersist -> projectPersist.getStatus());
|
||||
status=new ComboBox(strProcessID);
|
||||
Grid.Column<ProjectPersist> statusCo = projectPersistGrid.addColumn(projectPersist -> projectPersist.getStatus());
|
||||
status = new ComboBox(strProcessID);
|
||||
status.setClassName("deployment-combobox");
|
||||
|
||||
ArrayList<String> tmp=new ArrayList<>();
|
||||
ArrayList<String> tmp = new ArrayList<>();
|
||||
tmp.add(ProjectPersist.DEFINI);
|
||||
tmp.add(ProjectPersist.Deployable);
|
||||
tmp.add(ProjectPersist.ADEFINIR);
|
||||
tmp.add(" ");
|
||||
status.setItems(tmp);
|
||||
status.addValueChangeListener(e -> {
|
||||
refreshtGrid(status.getValue()!=null?status.getValue().toString():" ", strStatus);
|
||||
refreshtGrid(status.getValue() != null ? status.getValue().toString() : " ", strStatus);
|
||||
});
|
||||
statusCo.setHeader(status);
|
||||
|
||||
|
|
@ -172,9 +161,9 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
|
||||
projectPersistGrid.addSelectionListener(selectionEvent -> {
|
||||
|
||||
if(selectionEvent.getFirstSelectedItem()!=null&&selectionEvent.getFirstSelectedItem().isPresent()) {
|
||||
if (selectionEvent.getFirstSelectedItem() != null && selectionEvent.getFirstSelectedItem().isPresent()) {
|
||||
majAction(selectionEvent.getFirstSelectedItem().get());
|
||||
}else {
|
||||
} else {
|
||||
getDeploymentAction().getAssociateKieServer().setEnabled(false);
|
||||
getDeploymentAction().getDefinirProject().setEnabled(false);
|
||||
getDeploymentAction().getDeployer().setEnabled(false);
|
||||
|
|
@ -183,41 +172,40 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
//add(new ConsoleDeploy());
|
||||
}
|
||||
|
||||
private void refreshtGrid(String value,String type){
|
||||
private void refreshtGrid(String value, String type) {
|
||||
|
||||
filterDataProvider.setFilter(filterGrid(value.toUpperCase(),type));
|
||||
filterDataProvider.setFilter(filterGrid(value.toUpperCase(), type));
|
||||
projectPersistGrid.getDataProvider().refreshAll();
|
||||
}
|
||||
private SerializablePredicate<ProjectPersist> filterGrid(String value, String type){
|
||||
|
||||
private SerializablePredicate<ProjectPersist> filterGrid(String value, String type) {
|
||||
SerializablePredicate<ProjectPersist> columnPredicate = null;
|
||||
|
||||
if(value.equals("")||value.equals(" ")||type.equals(" ")){
|
||||
if (value.equals("") || value.equals(" ") || type.equals(" ")) {
|
||||
columnPredicate = asset -> (true);
|
||||
}else {
|
||||
} else {
|
||||
if (type.equals(strArtefactID)) {
|
||||
columnPredicate = asset -> (
|
||||
asset.getArtifactID()!=null&&asset.getArtifactID().toUpperCase().contains(value.toUpperCase()));
|
||||
}else if(type.equals(strGroupeId)){
|
||||
columnPredicate = asset -> (asset.getGroupID()!=null&&asset.getGroupID().toUpperCase().contains(value.toUpperCase()));
|
||||
}
|
||||
else if(type.equals(strNameDeploy)){
|
||||
columnPredicate = asset -> (asset.getDeploymentName()!=null&&asset.getDeploymentName().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if(type.equals(strNameProject)){
|
||||
columnPredicate = asset -> (asset.getProjectName()!=null&&asset.getProjectName().toString().toUpperCase().contains(value.toUpperCase()));
|
||||
}else if(type.equals(strProcessID)){
|
||||
columnPredicate = asset -> (asset.getProcessID()!=null&&asset.getProcessID().toUpperCase().contains(value.toUpperCase()));
|
||||
}else if(type.equals(strStatus)){
|
||||
columnPredicate = asset -> (asset.getStatus()!=null&&asset.getStatus().toUpperCase().equals(value.toUpperCase()));
|
||||
}else if(type.equals(strServerName)){
|
||||
columnPredicate = asset -> (asset.getServerName()!=null&&asset.getServerName().toUpperCase().equals(value.toUpperCase()));
|
||||
asset.getArtifactID() != null && asset.getArtifactID().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if (type.equals(strGroupeId)) {
|
||||
columnPredicate = asset -> (asset.getGroupID() != null && asset.getGroupID().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if (type.equals(strNameDeploy)) {
|
||||
columnPredicate = asset -> (asset.getDeploymentName() != null && asset.getDeploymentName().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if (type.equals(strNameProject)) {
|
||||
columnPredicate = asset -> (asset.getProjectName() != null && asset.getProjectName().toString().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if (type.equals(strProcessID)) {
|
||||
columnPredicate = asset -> (asset.getProcessID() != null && asset.getProcessID().toUpperCase().contains(value.toUpperCase()));
|
||||
} else if (type.equals(strStatus)) {
|
||||
columnPredicate = asset -> (asset.getStatus() != null && asset.getStatus().toUpperCase().equals(value.toUpperCase()));
|
||||
}
|
||||
}
|
||||
return columnPredicate;
|
||||
}
|
||||
public void setDataProvider(){
|
||||
|
||||
HashMap<String,ProjectPersist> projectPersists = projectPersistService.getProjectsSession();
|
||||
if(projectPersists!=null) {
|
||||
public void setDataProvider() {
|
||||
|
||||
HashMap<String, ProjectPersist> projectPersists = projectPersistService.getProjectsSession();
|
||||
if (projectPersists != null) {
|
||||
dataProvider = new ListDataProvider<>(projectPersists.values());
|
||||
|
||||
filterDataProvider = dataProvider.withConfigurableFilter();
|
||||
|
|
@ -229,7 +217,8 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
|
||||
}
|
||||
}
|
||||
public void reinitFilter(){
|
||||
|
||||
public void reinitFilter() {
|
||||
|
||||
artifactId.setValue("");
|
||||
groupeId.setValue("");
|
||||
|
|
@ -237,34 +226,36 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
nameProject.setValue("");
|
||||
nameDeploy.setValue("");
|
||||
}
|
||||
public void majAction(ProjectPersist projectPersist){
|
||||
if(projectPersist.getStatus().equals(ProjectPersist.DEFINI)){
|
||||
|
||||
public void majAction(ProjectPersist projectPersist) {
|
||||
if (projectPersist.getStatus().equals(ProjectPersist.DEFINI)) {
|
||||
|
||||
getDeploymentAction().getAssociateKieServer().setEnabled(true);
|
||||
getDeploymentAction().getDefinirProject().setEnabled(false);
|
||||
getDeploymentAction().getDeployer().setEnabled(false);
|
||||
|
||||
}else if(projectPersist.getStatus().equals(ProjectPersist.ADEFINIR)){
|
||||
} else if (projectPersist.getStatus().equals(ProjectPersist.ADEFINIR)) {
|
||||
|
||||
getDeploymentAction().getAssociateKieServer().setEnabled(false);
|
||||
getDeploymentAction().getDefinirProject().setEnabled(true);
|
||||
getDeploymentAction().getDeployer().setEnabled(false);
|
||||
}else if(projectPersist.getStatus().equals(ProjectPersist.Deployable)){
|
||||
} else if (projectPersist.getStatus().equals(ProjectPersist.Deployable)) {
|
||||
|
||||
getDeploymentAction().getAssociateKieServer().setEnabled(false);
|
||||
getDeploymentAction().getDefinirProject().setEnabled(false);
|
||||
getDeploymentAction().getAssociateKieServer().setEnabled(true);
|
||||
getDeploymentAction().getDefinirProject().setEnabled(true);
|
||||
getDeploymentAction().getDeployer().setEnabled(true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRow(String textToAdd,UI ui) {
|
||||
public void addRow(String textToAdd, UI ui) {
|
||||
|
||||
ui.access(()->{
|
||||
ui.access(() -> {
|
||||
|
||||
HorizontalLayout horizontalLayout=new HorizontalLayout();
|
||||
HorizontalLayout horizontalLayout = new HorizontalLayout();
|
||||
horizontalLayout.setClassName("console-row");
|
||||
Label date=new Label(new Date()+" : ");
|
||||
Label date = new Label(new Date() + " : ");
|
||||
date.setClassName("console-date");
|
||||
horizontalLayout.add(date);
|
||||
horizontalLayout.add(new Label(textToAdd));
|
||||
|
|
@ -277,14 +268,15 @@ public class DeploymentView extends VerticalLayout implements AddLog{
|
|||
ui.getPushConfiguration().setPushMode(PushMode.AUTOMATIC);
|
||||
ui.push();
|
||||
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ui.getSession().unlock();
|
||||
|
||||
}finally {
|
||||
} finally {
|
||||
ui.getSession().unlock();
|
||||
}
|
||||
}
|
||||
|
||||
public Grid<ProjectPersist> getProjectPersistGrid() {
|
||||
return projectPersistGrid;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue