73 lines
2.9 KiB
Java
73 lines
2.9 KiB
Java
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;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
import java.util.UUID;
|
|
import java.util.stream.Collectors;
|
|
|
|
@Slf4j
|
|
@Service
|
|
@AllArgsConstructor
|
|
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.");
|
|
}
|
|
|
|
@Override
|
|
public List<MockedMessageDto> getAllMockedResponses(UUID clientUUID) {
|
|
return mockedResponseRepository.findAllByClientUUID(clientUUID).stream()
|
|
.map(mockedMessageMapper::mockedMessageToMockedMessageDto)
|
|
.collect(Collectors.toList());
|
|
}
|
|
|
|
@SneakyThrows
|
|
@Override
|
|
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("\"", "\\\\\""));
|
|
return mockedMessageDto;
|
|
}
|
|
log.info(mockedMessageDto.toString().replaceAll("\"", "\\\\\""));
|
|
return mockedMessageDto;
|
|
}
|
|
|
|
@SneakyThrows
|
|
@Override
|
|
public ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto) {
|
|
|
|
mockedResponseRepository.save(mockedMessageMapper.mockedMessageDtoToMockedMessage(mockedMessageDto));
|
|
String s = objectMapper.writeValueAsString(mockedMessageDto);
|
|
String s1 = mockedMessageDto.toString();
|
|
String s2 = String.valueOf(mockedMessageDto);
|
|
log.info(mockedMessageDto.toString().replaceAll("\"", "\\\\\""));
|
|
return new ResponseEntity<>("MockedResponse has been setup successfully!", new HttpHeaders(),
|
|
HttpStatus.ACCEPTED);
|
|
}
|
|
|
|
}
|