|
|
|
|
@@ -7,6 +7,7 @@ import com.release11.klaus.utilis.TrackingClient;
|
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.http.MediaType;
|
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
|
import org.springframework.ui.Model;
|
|
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
|
|
@@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.validation.Valid;
|
|
|
|
|
import java.net.InetAddress;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
@@ -23,6 +25,7 @@ import java.util.*;
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
|
public class KlausMvcController {
|
|
|
|
|
private final KlausService klausService;
|
|
|
|
|
private static MockedMessageDto globalMockedMessageDto = new MockedMessageDto();
|
|
|
|
|
private final Set<MockedMessageDto> globalMockedMessageDtoList = new HashSet<>();
|
|
|
|
|
|
|
|
|
|
@SneakyThrows
|
|
|
|
|
@@ -32,38 +35,38 @@ public class KlausMvcController {
|
|
|
|
|
@PathVariable(required = false) UUID uuid) {
|
|
|
|
|
if (uuid != null) clientUUID = uuid;
|
|
|
|
|
if (clientUUID != null) mockedMessageDto.setClientUUID(clientUUID);
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto,true);
|
|
|
|
|
else mockedMessageDto.setClientUUID(UUID.randomUUID());
|
|
|
|
|
populateModelVars(model, mockedMessageDto,true);
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/home/{uuid}")
|
|
|
|
|
public String showHomePost(@Valid final MockedMessageDto mockedMessageDto, BindingResult bindingResult,
|
|
|
|
|
final Model model) {
|
|
|
|
|
public String showHomePost(@Valid MockedMessageDto mockedMessageDto, BindingResult bindingResult, Model model) {
|
|
|
|
|
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse",
|
|
|
|
|
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
|
|
|
|
BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId())));
|
|
|
|
|
if (bindingResult.hasErrors()){
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto,false);
|
|
|
|
|
populateModelVars(model, mockedMessageDto,false);
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
klausService.setMockedResponse(mockedMessageDto);
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto,true);
|
|
|
|
|
populateModelVars(model, mockedMessageDto,true);
|
|
|
|
|
model.addAttribute("mockSaved", "true");
|
|
|
|
|
model.addAttribute("canTest", "true");
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value="/home/{uuid}", params={"newMessage"})
|
|
|
|
|
public String newMessage(final Model model, @RequestParam UUID clientUUID) {
|
|
|
|
|
public String newMessage(Model model, @RequestParam UUID clientUUID) {
|
|
|
|
|
MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, new LinkedHashMap<>());
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto, true);
|
|
|
|
|
populateModelVars(model, mockedMessageDto, true);
|
|
|
|
|
model.addAttribute("mockedMessageDto", mockedMessageDto);
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/home/getMockedResponse")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public String showGetMockedResponse(final MockedMessageDto mockedMessageDto) {
|
|
|
|
|
public String showGetMockedResponse(MockedMessageDto mockedMessageDto) {
|
|
|
|
|
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
|
|
|
|
|
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
|
|
|
|
BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId())));
|
|
|
|
|
@@ -72,37 +75,37 @@ public class KlausMvcController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/home/{uuid}", params = {"addHeader"} )
|
|
|
|
|
public String addHeader(final MockedMessageDto mockedMessageDto, @RequestParam String headerKey,
|
|
|
|
|
public String addHeader(MockedMessageDto mockedMessageDto, @RequestParam String headerKey,
|
|
|
|
|
@RequestParam String headerValue, final Model model) {
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto,false);
|
|
|
|
|
populateModelVars(model, mockedMessageDto,false);
|
|
|
|
|
mockedMessageDto.getHttpHeaders().put(headerKey, headerValue);
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value="/home/{uuid}", params={"removeHeader"})
|
|
|
|
|
public String removeHeader(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto,false);
|
|
|
|
|
public String removeHeader(MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
|
|
|
|
populateModelVars(model, mockedMessageDto,false);
|
|
|
|
|
mockedMessageDto.getHttpHeaders().remove(req.getParameter("removeHeader"));
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value="/home/{uuid}", params={"updateMessage"})
|
|
|
|
|
public String updateMessage(final HttpServletRequest req, final MockedMessageDto mockedMessageDto, final Model model) {
|
|
|
|
|
public String updateMessage(final HttpServletRequest req, MockedMessageDto mockedMessageDto, final Model model) {
|
|
|
|
|
populateModelVars(model, mockedMessageDto, false);
|
|
|
|
|
model.addAttribute("mockedMessageDto", klausService.getMockedResponse(mockedMessageDto.getClientUUID(),
|
|
|
|
|
Integer.parseInt(req.getParameter("updateMessage"))));
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto, false);
|
|
|
|
|
model.addAttribute("canTest", "true");
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value="/home/{uuid}", params={"removeMessage"})
|
|
|
|
|
public String removeMessage(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
|
|
|
|
public String removeMessage(MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
|
|
|
|
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "deleteMockedResponse",
|
|
|
|
|
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
|
|
|
|
BusinessKey.MESSAGE_ID, String.valueOf(Integer.parseInt(req.getParameter("removeMessage")))));
|
|
|
|
|
klausService.deleteMockedResponse(mockedMessageDto.getClientUUID(),
|
|
|
|
|
Integer.parseInt(req.getParameter("removeMessage")));
|
|
|
|
|
populateModelWithLists(model, mockedMessageDto, true);
|
|
|
|
|
populateModelVars(model, mockedMessageDto, true);
|
|
|
|
|
return "index";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -117,17 +120,47 @@ public class KlausMvcController {
|
|
|
|
|
return UUID.randomUUID();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ModelAttribute("mockedMessageDto")
|
|
|
|
|
public MockedMessageDto mockedMessageDto() {
|
|
|
|
|
return new MockedMessageDto(UUID.randomUUID(), new LinkedHashMap<>());
|
|
|
|
|
public void getModelMockedMessageDto(Model model, MockedMessageDto mockedMessageDto) {
|
|
|
|
|
System.out.println(mockedMessageDto);
|
|
|
|
|
System.out.println(globalMockedMessageDto);
|
|
|
|
|
if (mockedMessageDto.getMockedResponseId() == null){
|
|
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
|
|
headers.put("Keep-Alive", "timeout=60");
|
|
|
|
|
headers.put("Connection", "keep-alive");
|
|
|
|
|
headers.put("Date", LocalDateTime.now().toString());
|
|
|
|
|
|
|
|
|
|
globalMockedMessageDto = MockedMessageDto.builder()
|
|
|
|
|
.clientUUID(mockedMessageDto.getClientUUID())
|
|
|
|
|
.mockedResponseId(1)
|
|
|
|
|
.mediaType(MediaType.APPLICATION_XML_VALUE)
|
|
|
|
|
.messageBody("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
|
|
|
|
"<note>\n" +
|
|
|
|
|
" <to>Tove</to>\n" +
|
|
|
|
|
" <from>Jani</from>\n" +
|
|
|
|
|
" <heading>Reminder</heading>\n" +
|
|
|
|
|
" <body>Don't forget me this weekend!</body>\n" +
|
|
|
|
|
"</note>")
|
|
|
|
|
.httpHeaders(headers)
|
|
|
|
|
.httpStatus(200)
|
|
|
|
|
.build();
|
|
|
|
|
} else {
|
|
|
|
|
globalMockedMessageDto = mockedMessageDto;
|
|
|
|
|
}
|
|
|
|
|
model.addAttribute("mockedMessageDto", globalMockedMessageDto);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void populateModelWithLists(Model model, MockedMessageDto mockedMessageDto, boolean updateList){
|
|
|
|
|
private void populateModelVars(Model model, MockedMessageDto mockedMessageDto, boolean updateList){
|
|
|
|
|
if (updateList){
|
|
|
|
|
globalMockedMessageDtoList.clear();
|
|
|
|
|
globalMockedMessageDtoList.addAll(klausService.getAllMockedResponses(mockedMessageDto.getClientUUID()));
|
|
|
|
|
List<MockedMessageDto> mockedMessageDtoList = klausService.
|
|
|
|
|
getAllMockedResponses(mockedMessageDto.getClientUUID());
|
|
|
|
|
System.out.println(mockedMessageDtoList);
|
|
|
|
|
if (mockedMessageDtoList.size() > 0){
|
|
|
|
|
globalMockedMessageDtoList.addAll(mockedMessageDtoList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
model.addAttribute("mockedMessageDtoList", globalMockedMessageDtoList);
|
|
|
|
|
getModelMockedMessageDto(model, mockedMessageDto);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|