MessageDto instead of String in Event history

This commit is contained in:
Szakalakamaka
2020-11-18 13:25:53 +01:00
parent 26636da555
commit 7b80192d43
29 changed files with 449 additions and 294 deletions

View File

@@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class KlausApplication {

View File

@@ -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")

View File

@@ -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);
// }
}

View File

@@ -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())));

View File

@@ -24,5 +24,5 @@ public class Event {
private String thread;
private String level;
@Nullable
private String message;
private MockedMessageDto message;
}

View File

@@ -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();

View File

@@ -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);
}