MessageDto instead of String in Event history
This commit is contained in:
@@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
public class KlausApplication {
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.release11.klaus.controller;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.release11.klaus.model.Event;
|
||||
import com.release11.klaus.model.EventRequestDto;
|
||||
import com.release11.klaus.service.EtrackService;
|
||||
@@ -14,6 +15,7 @@ import javax.validation.Valid;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
@@ -24,8 +26,10 @@ import java.util.UUID;
|
||||
@AllArgsConstructor
|
||||
public class EventController {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
private final EtrackService etrackService;
|
||||
private final List<Event> eventList = new LinkedList<>();
|
||||
private final List<String> messageDtoList = new ArrayList<>();
|
||||
|
||||
@GetMapping("/etrack/{uuid}")
|
||||
public String showEtrack(@Valid EventRequestDto eventRequestDto, @PathVariable UUID uuid, final Model model,
|
||||
@@ -47,8 +51,11 @@ public class EventController {
|
||||
if (updateList){
|
||||
eventList.clear();
|
||||
eventList.addAll(etrackService.getEventsByDateTimeAndBusinessKeys(eventRequestDto));
|
||||
eventList.forEach(event -> messageDtoList.add(String.valueOf(event.getMessage())));
|
||||
|
||||
}
|
||||
model.addAttribute("eventList", eventList);
|
||||
model.addAttribute("messageDtoList", messageDtoList);
|
||||
}
|
||||
|
||||
@ModelAttribute("eventRequestDto")
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
package com.release11.klaus.controller;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.release11.klaus.model.MockedMessageDto;
|
||||
import com.release11.klaus.service.KlausService;
|
||||
import com.release11.klaus.utilis.BusinessKey;
|
||||
import com.release11.klaus.utilis.TrackingClient;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Profile;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -22,7 +24,7 @@ import java.util.UUID;
|
||||
|
||||
@Controller("/")
|
||||
@Slf4j
|
||||
@Profile({"DEV", "default"})
|
||||
//@Profile({"DEV", "default"})
|
||||
@AllArgsConstructor
|
||||
public class KlausController {
|
||||
|
||||
@@ -48,7 +50,7 @@ public class KlausController {
|
||||
|
||||
@RequestMapping(value = "klaus/v1/get/{clientUUID}/{mockedResponseId}")
|
||||
public ResponseEntity getMockedResponse(@PathVariable UUID clientUUID,
|
||||
@PathVariable int mockedResponseId){
|
||||
@PathVariable int mockedResponseId) throws JsonProcessingException {
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(clientUUID),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId)));
|
||||
@@ -59,20 +61,20 @@ public class KlausController {
|
||||
Objects.requireNonNull(HttpStatus.valueOf(mockedMessageDto.getHttpStatus())));
|
||||
}
|
||||
|
||||
@PostMapping(value = "klaus/v1/set/{clientUUID}/{mockedResponseId}")
|
||||
public ResponseEntity<String> setMockedResponse(@PathVariable UUID clientUUID,
|
||||
@PathVariable int mockedResponseId,
|
||||
@RequestParam(required = false) Integer httpStatus,
|
||||
RequestEntity<String> requestEntity){
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(clientUUID),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId)));
|
||||
if (httpStatus == null) httpStatus = 200;
|
||||
|
||||
MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, mockedResponseId,
|
||||
requestEntity.getHeaders().getContentType().toString(), requestEntity.getBody(),
|
||||
requestEntity.getHeaders().toSingleValueMap(), httpStatus);
|
||||
return klausService.setMockedResponse(mockedMessageDto);
|
||||
}
|
||||
// @PostMapping(value = "klaus/v1/set/{clientUUID}/{mockedResponseId}")
|
||||
// public ResponseEntity<String> setMockedResponse(@PathVariable UUID clientUUID,
|
||||
// @PathVariable int mockedResponseId,
|
||||
// @RequestParam(required = false) Integer httpStatus,
|
||||
// RequestEntity<String> requestEntity){
|
||||
// TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse",
|
||||
// BusinessKey.CLIENT_UUID, String.valueOf(clientUUID),
|
||||
// BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId)));
|
||||
// if (httpStatus == null) httpStatus = 200;
|
||||
//
|
||||
// MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, mockedResponseId,
|
||||
// requestEntity.getHeaders().getContentType().toString(), requestEntity.getBody(),
|
||||
// requestEntity.getHeaders().toSingleValueMap(), httpStatus);
|
||||
// return klausService.setMockedResponse(mockedMessageDto);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.release11.klaus.controller;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.release11.klaus.model.MockedMessageDto;
|
||||
import com.release11.klaus.service.KlausService;
|
||||
import com.release11.klaus.utilis.BusinessKey;
|
||||
@@ -66,7 +67,7 @@ public class KlausMvcController {
|
||||
|
||||
@GetMapping("/home/getMockedResponse")
|
||||
@ResponseBody
|
||||
public String showGetMockedResponse(MockedMessageDto mockedMessageDto) {
|
||||
public String showGetMockedResponse(MockedMessageDto mockedMessageDto) throws JsonProcessingException {
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId())));
|
||||
|
||||
@@ -24,5 +24,5 @@ public class Event {
|
||||
private String thread;
|
||||
private String level;
|
||||
@Nullable
|
||||
private String message;
|
||||
private MockedMessageDto message;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,6 @@ public class EventRepositoryImpl implements EventRepository {
|
||||
List<Event> events = new ArrayList<>();
|
||||
for (String eventString : eventStrings) {
|
||||
try {
|
||||
eventString = eventString.replaceAll("\\R", "\\n");
|
||||
events.add(objectMapper.readValue(eventString, Event.class));
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.release11.klaus.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.release11.klaus.controller.KlausMvcController;
|
||||
import com.release11.klaus.mappers.MockedMessageMapper;
|
||||
import com.release11.klaus.model.MockedMessage;
|
||||
import com.release11.klaus.model.MockedMessageDto;
|
||||
import com.release11.klaus.repository.MockedResponseRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -23,12 +25,13 @@ import java.util.stream.Collectors;
|
||||
public class KlausServiceImpl implements KlausService {
|
||||
private final MockedMessageMapper mockedMessageMapper;
|
||||
private final MockedResponseRepository mockedResponseRepository;
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
@Override
|
||||
public void deleteMockedResponse(UUID clientUUID, int mockedResponseId) {
|
||||
String key = clientUUID.toString() + "_" + mockedResponseId;
|
||||
mockedResponseRepository.deleteById(key);
|
||||
log.info("Message " + mockedResponseId + " has been removed.");
|
||||
log.info("\"Message\" : \"message" + mockedResponseId + "has been removed. \"");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -38,24 +41,29 @@ public class KlausServiceImpl implements KlausService {
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId) {
|
||||
public MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId){
|
||||
String key = clientUUID.toString() + "_" + mockedResponseId;
|
||||
Optional<MockedMessage> optionalMockedMessage = mockedResponseRepository.findById(key);
|
||||
MockedMessageDto mockedMessageDto = KlausMvcController.getGlobalMockedMessageDto();
|
||||
if (optionalMockedMessage.isPresent()) {
|
||||
mockedMessageDto = mockedMessageMapper.mockedMessageToMockedMessageDto(optionalMockedMessage.get());
|
||||
log.info(mockedMessageDto.toString().replaceAll("\"","\\\\\""));
|
||||
String s = objectMapper.writeValueAsString(mockedMessageDto);
|
||||
log.info(objectMapper.writeValueAsString(mockedMessageDto));
|
||||
// log.info(mockedMessageDto.toString());
|
||||
return mockedMessageDto;
|
||||
}
|
||||
log.info(mockedMessageDto.toString());
|
||||
return mockedMessageDto;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto) {
|
||||
mockedResponseRepository.save(mockedMessageMapper.mockedMessageDtoToMockedMessage(mockedMessageDto));
|
||||
log.info(mockedMessageDto.toString().replaceAll("\"","\\\\\""));
|
||||
String s = mockedMessageDto.toString().replaceAll("\"","\\\\\"");
|
||||
log.info(objectMapper.writeValueAsString(mockedMessageDto));
|
||||
return new ResponseEntity<>("MockedResponse has been setup successfully!", new HttpHeaders(),
|
||||
HttpStatus.ACCEPTED);
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
redis.host = redis
|
||||
redis.host = localhost
|
||||
redis.port = 6379
|
||||
@@ -3,13 +3,13 @@
|
||||
<include resource="org/springframework/boot/logging/logback/base.xml"/>
|
||||
<!--https://github.com/kmtong/logback-redis-appender-->
|
||||
<appender name="LOGSTASH" class="com.release11.klaus.utilis.RedisAppender">
|
||||
<host>redis</host>
|
||||
<host>localhost</host>
|
||||
<port>6379</port>
|
||||
<key>logstash</key>
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
<!--https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html-->
|
||||
<Pattern>
|
||||
{"dateTimeStamp" : "%d{yyyy-MM-dd}T%d{HH:mm:ss}", "eventId":"%X{eventId}", "interfaceName":"%X{interfaceName}", "clientUUID":"%X{clientUUID}", "messageId":"%X{messageId}", "thread":"%t","level":"%-5level", "message":"%msg"}%n
|
||||
{"dateTimeStamp" : "%d{yyyy-MM-dd}T%d{HH:mm:ss}", "eventId":"%X{eventId}", "interfaceName":"%X{interfaceName}", "clientUUID":"%X{clientUUID}", "messageId":"%X{messageId}", "thread":"%t","level":"%-5level", "message":%msg}%n
|
||||
</Pattern>
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
@@ -13,8 +13,10 @@ var state = {
|
||||
'window': 5,
|
||||
}
|
||||
|
||||
var myList, data, previousSort;
|
||||
var myList, data, previousSort, messageList;
|
||||
|
||||
messageList = messageListForPagination;
|
||||
dupalsit = listForPagination;
|
||||
state.querySet = listForPagination;
|
||||
buildTable();
|
||||
|
||||
@@ -111,9 +113,11 @@ function showTable() {
|
||||
<td>${myList[i-1].interfaceName}</td>
|
||||
</tr>
|
||||
<tr bgcolor="${color}" id="etrack-tr-${j}-body" name="tr-body" hidden>
|
||||
<td colspan="4">"${myList[i-1].message}"</td>
|
||||
<td colspan="4">"${messageList[i-1]}"</td>
|
||||
</tr>`
|
||||
table.append(row)
|
||||
|
||||
|
||||
}
|
||||
for (var i = myList.length + 1; i <= state.rows; i++) {
|
||||
i % 2 === 0 ? color = "#b3ffff" : color="#e6ffff";
|
||||
|
||||
@@ -84,6 +84,9 @@ $.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" th:inline="javascript">
|
||||
var messageListForPagination = /*[[${messageDtoList}]]*/;
|
||||
</script>
|
||||
<script type="text/javascript" th:inline="javascript">
|
||||
var listForPagination = /*[[${eventList}]]*/;
|
||||
</script>
|
||||
<script src="/js/etrackPaggination.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user