Merge pull request #18 from pymma/guillaume

modif diverse log
This commit is contained in:
Hochart Guillaume 2019-02-01 18:55:24 +01:00 committed by GitHub
commit 7f0af8607b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 170 additions and 40 deletions

View file

@ -0,0 +1,57 @@
package org.chtijbug.drools.console.restExpose;
import org.chtijbug.drools.console.service.IndexerService;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionAction;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.RequestMapping;
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.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController
@RequestMapping("/api/elasticSearch")
public class ElasticSearchExpose {
@Autowired
private IndexerService indexerService;
@RequestMapping(value = "/findLastByTransactionId", method = RequestMethod.GET)
public BusinessTransactionPersistence findTransactionById(@RequestParam String transactionId,HttpServletRequest request, HttpServletResponse response) {
BusinessTransactionPersistence tmp=null;
List<BusinessTransactionPersistence> businessTransactionPersistences = indexerService.getBusinessTransactionPersistenceRepository().findAllByTransactionId(transactionId,new PageRequest(0,50));
if(businessTransactionPersistences!=null) {
for (BusinessTransactionPersistence b : businessTransactionPersistences) {
if (tmp == null) {
tmp = b;
}
if (indexerService.toDate(tmp.getYear(), tmp.getMonth(), tmp.getDay(), tmp.getHour(), tmp.getMinute(), tmp.getMillis()).compareTo(
indexerService.toDate(b.getYear(), b.getMonth(), b.getDay(), b.getHour(), b.getMinute(), b.getMillis()))>0) {
tmp = b;
}
}
}
return tmp;
}
@RequestMapping(value = "/findActionByBusinessId", method = RequestMethod.GET)
public List<BusinessTransactionAction> findActionById(@RequestParam String businessId, HttpServletRequest request, HttpServletResponse response) {
List<BusinessTransactionAction> businessTransactionPersistences = indexerService.getBusinessTransactionActionRepository().findAllByBusinessTransactionId(businessId,new Sort(new Sort.Order(Sort.Direction.ASC,"eventNumber")),new PageRequest(0,50));
return businessTransactionPersistences;
}
}

View file

@ -5,6 +5,10 @@ import org.chtijbug.drools.indexer.persistence.repository.BusinessTransactionPer
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Date;
import java.util.GregorianCalendar;
@Service @Service
public class IndexerService { public class IndexerService {
@ -30,4 +34,9 @@ public class IndexerService {
public void setBusinessTransactionActionRepository(BusinessTransactionActionRepository businessTransactionActionRepository) { public void setBusinessTransactionActionRepository(BusinessTransactionActionRepository businessTransactionActionRepository) {
this.businessTransactionActionRepository = businessTransactionActionRepository; this.businessTransactionActionRepository = businessTransactionActionRepository;
} }
public Date toDate(Integer years, Integer month, Integer days, Integer hours, Integer minutes, Integer millis ){
return new GregorianCalendar(years,month-1,days,hours,minutes,millis).getTime();
}
} }

View file

@ -12,9 +12,9 @@ import com.vaadin.flow.function.SerializablePredicate;
import org.chtijbug.drools.console.service.IndexerService; import org.chtijbug.drools.console.service.IndexerService;
import org.chtijbug.drools.console.service.util.AppContext; import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionAction; import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionAction;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class GridActionLogging extends Grid<BusinessTransactionAction> { public class GridActionLogging extends Grid<BusinessTransactionAction> {
@ -73,8 +73,7 @@ public class GridActionLogging extends Grid<BusinessTransactionAction> {
}); });
enventTypeC.setHeader(this.eventType); enventTypeC.setHeader(this.eventType);
Grid.Column<BusinessTransactionAction> positionC=addColumn(runtimePersist -> runtimePersist.getEventNumber()) Grid.Column<BusinessTransactionAction> positionC=addColumn(runtimePersist -> runtimePersist.getEventNumber());
.setSortable(true);
positionExecution =new TextField(strPositionExecution); positionExecution =new TextField(strPositionExecution);
positionExecution.setValueChangeMode(ValueChangeMode.EAGER); positionExecution.setValueChangeMode(ValueChangeMode.EAGER);
@ -129,7 +128,7 @@ public class GridActionLogging extends Grid<BusinessTransactionAction> {
public void setDataProvider(String id){ public void setDataProvider(String id){
List<BusinessTransactionAction> businessTransactionPersistences = indexerService.getBusinessTransactionActionRepository().findByBusinessTransactionId(id); List<BusinessTransactionAction> businessTransactionPersistences = indexerService.getBusinessTransactionActionRepository().findAllByBusinessTransactionId(id,new Sort(new Sort.Order(Sort.Direction.ASC,"eventNumber")),new PageRequest(0,50));
if(businessTransactionPersistences!=null) { if(businessTransactionPersistences!=null) {
dataProvider = new ListDataProvider<>(businessTransactionPersistences); dataProvider = new ListDataProvider<>(businessTransactionPersistences);

View file

@ -15,14 +15,12 @@ import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence; import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence;
import org.chtijbug.drools.proxy.persistence.model.ProjectPersist; 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.springframework.data.domain.PageRequest;
import java.util.ArrayList; import java.util.*;
import java.util.List;
public class GridLogging extends Grid<BusinessTransactionPersistence> { public class GridLogging extends Grid<BusinessTransactionPersistence> {
private TextField transactionId;
private TextField groupeId; private TextField groupeId;
private TextField artefactId; private TextField artefactId;
@ -33,19 +31,15 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
private TextField serverName; private TextField serverName;
private String strGroupeId ="GroupeId";
private String strArtefactId ="ArtefactId";
private String strTransactionId ="transactiondId"; private String strVersion ="Version";
private String strGroupeId ="groupeId"; private String strContainerId ="ContainerId";
private String strArtefactId ="artefactId"; private String strServerName ="ServerName";
private String strVersion ="version";
private String strContainerId ="containerId";
private String strServerName ="serverName";
private ListDataProvider<BusinessTransactionPersistence> dataProvider; private ListDataProvider<BusinessTransactionPersistence> dataProvider;
private ConfigurableFilterDataProvider<BusinessTransactionPersistence,Void,SerializablePredicate<BusinessTransactionPersistence>> filterDataProvider; private ConfigurableFilterDataProvider<BusinessTransactionPersistence,Void,SerializablePredicate<BusinessTransactionPersistence>> filterDataProvider;
@ -56,7 +50,7 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
indexerService = AppContext.getApplicationContext().getBean(IndexerService.class); indexerService = AppContext.getApplicationContext().getBean(IndexerService.class);
setClassName("deployment-grid-perso"); setClassName("log-grid-perso");
setSelectionMode(Grid.SelectionMode.SINGLE); setSelectionMode(Grid.SelectionMode.SINGLE);
@ -68,13 +62,7 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
})).setHeader("Date"); })).setHeader("Date");
Grid.Column<BusinessTransactionPersistence> transactionIdC=addColumn(runtimePersist -> runtimePersist.getTransactionId()); Grid.Column<BusinessTransactionPersistence> transactionIdC=addColumn(runtimePersist -> runtimePersist.getTransactionId()).setHeader("TransactionId");
this.transactionId =new TextField(strTransactionId);
this.transactionId.setValueChangeMode(ValueChangeMode.EAGER);
this.transactionId.addValueChangeListener(e -> {
refreshtGrid(this.transactionId.getValue(), strTransactionId);
});
transactionIdC.setHeader(this.transactionId);
Grid.Column<BusinessTransactionPersistence> groupIdC=addColumn(runtimePersist -> runtimePersist.getGroupID()); Grid.Column<BusinessTransactionPersistence> groupIdC=addColumn(runtimePersist -> runtimePersist.getGroupID());
groupeId =new TextField(strGroupeId); groupeId =new TextField(strGroupeId);
@ -116,7 +104,7 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
}); });
serverNameC.setHeader(serverName); serverNameC.setHeader(serverName);
setDataProvider(); setDataProvider(indexerService.getBusinessTransactionPersistenceRepository().findAll(new PageRequest(0,100)).getContent());
} }
private void refreshtGrid(String value,String type){ private void refreshtGrid(String value,String type){
@ -131,10 +119,7 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
if (type.equals(strGroupeId)) { if (type.equals(strGroupeId)) {
columnPredicate = runtimePersist -> (runtimePersist.getGroupID()!=null&&runtimePersist.getGroupID().toUpperCase().contains(value)); columnPredicate = runtimePersist -> (runtimePersist.getGroupID()!=null&&runtimePersist.getGroupID().toUpperCase().contains(value));
} else if (type.equals(strTransactionId)) { }else if (type.equals(strArtefactId)) {
columnPredicate = runtimePersist -> (runtimePersist.getTransactionId()!=null&&runtimePersist.getTransactionId().toUpperCase().contains(value));
} else if (type.equals(strArtefactId)) {
columnPredicate = runtimePersist -> (runtimePersist.getArtefactID()!=null&&runtimePersist.getArtefactID().toUpperCase().contains(value)); columnPredicate = runtimePersist -> (runtimePersist.getArtefactID()!=null&&runtimePersist.getArtefactID().toUpperCase().contains(value));
}else if (type.equals(strServerName)) { }else if (type.equals(strServerName)) {
columnPredicate = runtimePersist -> (runtimePersist.getServerName()!=null&&runtimePersist.getServerName().toUpperCase().contains(value)); columnPredicate = runtimePersist -> (runtimePersist.getServerName()!=null&&runtimePersist.getServerName().toUpperCase().contains(value));
@ -147,12 +132,25 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
return columnPredicate; return columnPredicate;
} }
public void setDataProvider(){ public void setDataProvider(List<BusinessTransactionPersistence> b){
List<BusinessTransactionPersistence> businessTransactionPersistences=null;
if(b!=null) {
businessTransactionPersistences=new ArrayList<>(b);
Collections.sort(businessTransactionPersistences, new Comparator<BusinessTransactionPersistence>() {
@Override
public int compare(BusinessTransactionPersistence businessTransactionPersistence, BusinessTransactionPersistence t1) {
return indexerService.toDate(businessTransactionPersistence.getYear(), businessTransactionPersistence.getMonth(), businessTransactionPersistence.getDay(), businessTransactionPersistence.getHour(), businessTransactionPersistence.getMinute(), businessTransactionPersistence.getMillis()).compareTo(
indexerService.toDate(t1.getYear(), t1.getMonth(), t1.getDay(), t1.getHour(), t1.getMinute(), t1.getMillis()));
}
});
List<BusinessTransactionPersistence> businessTransactionPersistences = new ArrayList<>();
indexerService.getBusinessTransactionPersistenceRepository().findAll().forEach(businessTransactionPersistences::add);
if(businessTransactionPersistences!=null) {
dataProvider = new ListDataProvider<>(businessTransactionPersistences); dataProvider = new ListDataProvider<>(businessTransactionPersistences);
filterDataProvider = dataProvider.withConfigurableFilter(); filterDataProvider = dataProvider.withConfigurableFilter();
@ -165,7 +163,6 @@ public class GridLogging extends Grid<BusinessTransactionPersistence> {
public void reinitFilter(){ public void reinitFilter(){
groupeId.setValue(""); groupeId.setValue("");
artefactId.setValue(""); artefactId.setValue("");
transactionId.setValue("");
version.setValue(""); version.setValue("");
containerId.setValue(""); containerId.setValue("");
serverName.setValue(""); serverName.setValue("");

View file

@ -4,8 +4,14 @@ import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.dialog.Dialog; import com.vaadin.flow.component.dialog.Dialog;
import com.vaadin.flow.component.html.Label; 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.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.data.value.ValueChangeMode;
import org.chtijbug.drools.console.service.IndexerService;
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.ComponentPerso.TextFieldPerso;
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant; import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
import org.chtijbug.drools.console.vaadinComponent.componentView.AddRuntime; import org.chtijbug.drools.console.vaadinComponent.componentView.AddRuntime;
import org.chtijbug.drools.console.vaadinComponent.componentView.DefineProject; import org.chtijbug.drools.console.vaadinComponent.componentView.DefineProject;
@ -13,16 +19,48 @@ import org.chtijbug.drools.console.vaadinComponent.componentView.GridActionLoggi
import org.chtijbug.drools.console.vaadinComponent.componentView.GridLogging; import org.chtijbug.drools.console.vaadinComponent.componentView.GridLogging;
import org.chtijbug.drools.console.view.LoggingView; import org.chtijbug.drools.console.view.LoggingView;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence; import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence;
import org.springframework.data.domain.PageRequest;
import java.util.List;
public class ActionLogging extends VerticalLayout { public class ActionLogging extends VerticalLayout {
private Button viewAction; private Button viewAction;
private TextFieldPerso transactionIdSearch;
private IndexerService indexerService;
public ActionLogging(LoggingView loggingView){ public ActionLogging(LoggingView loggingView){
indexerService= AppContext.getApplicationContext().getBean(IndexerService.class);
setClassName("leftMenu-global-action"); setClassName("leftMenu-global-action");
transactionIdSearch=new TextFieldPerso("Search by TransactionId","",VaadinIcon.SEARCH.create());
transactionIdSearch.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
transactionIdSearch.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
try {
if (textFieldStringComponentValueChangeEvent.getValue().isEmpty()) {
loggingView.getTitle().setText("Logging : ");
loggingView.getGridLogging().setDataProvider(indexerService.getBusinessTransactionPersistenceRepository().findAll(new PageRequest(0, 100)).getContent());
} else {
List<BusinessTransactionPersistence> b = indexerService.getBusinessTransactionPersistenceRepository().findAllByTransactionId(textFieldStringComponentValueChangeEvent.getValue(), new PageRequest(0, 100));
if (b != null) {
loggingView.getTitle().setText("Logging : " + textFieldStringComponentValueChangeEvent.getValue());
loggingView.getGridLogging().setDataProvider(b);
}
}
}catch (Exception e){
e.printStackTrace();
transactionIdSearch.getTextField().setValue("");
Notification.show("Valeur invalide");
}
});
add(transactionIdSearch);
viewAction =new Button("View Details", VaadinIcon.INFO.create()); viewAction =new Button("View Details", VaadinIcon.INFO.create());
viewAction.setClassName("leftMenu-global-button"); viewAction.setClassName("leftMenu-global-button");
@ -37,12 +75,14 @@ public class ActionLogging extends VerticalLayout {
if(b!=null) { if(b!=null) {
DialogPerso dialog = new DialogPerso(); DialogPerso dialog = new DialogPerso();
dialog.add(new Label(b.getTransactionId())); dialog.add(new Label("Transaction Id : "+b.getTransactionId()));
dialog.add(new GridActionLogging(b.getId())); dialog.add(new GridActionLogging(b.getId()));
dialog.open(); dialog.open();
} }
}); });
} }
private boolean isActive(Button button){ private boolean isActive(Button button){
return button.getClassNames().contains("active"); return button.getClassNames().contains("active");

View file

@ -12,13 +12,17 @@ public class LoggingView extends VerticalLayout {
public static final String pageName="Logging"; public static final String pageName="Logging";
private Label title;
private GridLogging gridLogging; private GridLogging gridLogging;
private ActionLogging actionLogging; private ActionLogging actionLogging;
public LoggingView(){ public LoggingView(){
add(new Label("Logging")); title=new Label("Logging : ");
add(title);
gridLogging=new GridLogging(); gridLogging=new GridLogging();
@ -54,4 +58,12 @@ public class LoggingView extends VerticalLayout {
public void setActionLogging(ActionLogging actionLogging) { public void setActionLogging(ActionLogging actionLogging) {
this.actionLogging = actionLogging; this.actionLogging = actionLogging;
} }
public Label getTitle() {
return title;
}
public void setTitle(Label title) {
this.title = title;
}
} }

View file

@ -42,13 +42,15 @@
padding: 0px; padding: 0px;
margin-left: 0px; margin-left: 0px;
margin-right: 0px; margin-right: 0px;
margin-top: 0px;
} }
.leftMenu-global-infoStructure-content{ .leftMenu-global-infoStructure-content{
width: 100%!important; width: 100%!important;
padding: 0px; padding: 0px;
height: 100%; height: 80%;
display: inline-block; display: inline-block;
margin-bottom: 0px;
} }
.leftMenu-global-infoStrcutre-contentTitre{ .leftMenu-global-infoStrcutre-contentTitre{

View file

@ -3,3 +3,6 @@
width: 93vw!important; width: 93vw!important;
height: 37vw height: 37vw
} }
.log-grid-perso{
height: 40vw;
}

View file

@ -1,12 +1,15 @@
package org.chtijbug.drools.indexer.persistence.repository; package org.chtijbug.drools.indexer.persistence.repository;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionAction; import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionAction;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import java.util.List; import java.util.List;
public interface BusinessTransactionActionRepository extends ElasticsearchRepository<BusinessTransactionAction,String> { public interface BusinessTransactionActionRepository extends ElasticsearchRepository<BusinessTransactionAction,String> {
public List<BusinessTransactionAction> findByBusinessTransactionId(String businessTransactionId); public List<BusinessTransactionAction> findAllByBusinessTransactionId(String businessTransactionId, Sort sort, PageRequest pageRequest);
} }

View file

@ -1,9 +1,17 @@
package org.chtijbug.drools.indexer.persistence.repository; package org.chtijbug.drools.indexer.persistence.repository;
import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence; import org.chtijbug.drools.indexer.persistence.model.BusinessTransactionPersistence;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import java.util.List;
public interface BusinessTransactionPersistenceRepository extends ElasticsearchRepository<BusinessTransactionPersistence,String> { public interface BusinessTransactionPersistenceRepository extends ElasticsearchRepository<BusinessTransactionPersistence,String> {
public BusinessTransactionPersistence findAllById(String id, PageRequest pageRequest);
public List<BusinessTransactionPersistence> findAllByTransactionId(String transactionId, PageRequest pageRequest);
} }