82 lines
3.2 KiB
Java
82 lines
3.2 KiB
Java
package com.release11.klaus.controller;
|
|
|
|
import com.release11.klaus.utilis.BusinessKey;
|
|
import com.release11.klaus.utilis.TrackingClient;
|
|
import com.release11.klaus.model.MockedResponseDto;
|
|
import com.release11.klaus.service.KlausService;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.http.*;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.validation.Valid;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
|
|
@Slf4j
|
|
@Controller
|
|
@RequestMapping
|
|
@AllArgsConstructor
|
|
public class KlausMvcController {
|
|
private final KlausService klausService;
|
|
|
|
@GetMapping("/login")
|
|
public String login(Model model) {
|
|
model.addAttribute("clientUUID", UUID.randomUUID());
|
|
return "login";
|
|
}
|
|
|
|
@GetMapping("/home")
|
|
public String showHome(Model model, @RequestParam UUID clientUUID) {
|
|
model.addAttribute("mockedResponseDto", new MockedResponseDto(clientUUID, 1,
|
|
"application/xml", "body", new HashMap<>(), 200));
|
|
return "index";
|
|
}
|
|
|
|
//TODO refactor
|
|
@PostMapping("/home")
|
|
public String showHomePost(@Valid MockedResponseDto mockRsp, BindingResult bindingResult, Model model,
|
|
@RequestParam(required = false) String[] header,
|
|
@RequestParam(required = false) String[] value) throws Exception {
|
|
if (bindingResult.hasErrors()) {
|
|
return "index";
|
|
}
|
|
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse",
|
|
BusinessKey.CLIENT_UUID, String.valueOf(mockRsp.getClientUUID()),
|
|
BusinessKey.MESSAGE_ID, String.valueOf(mockRsp.getMockedResponseId())));
|
|
log.info(mockRsp.toString());
|
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
httpHeaders.setContentType(MediaType.valueOf(mockRsp.getMediaType()));
|
|
if (header!=null){
|
|
for (int i = 0; i < header.length; i++) {
|
|
httpHeaders.set(header[i], value[i]);
|
|
}}
|
|
MockedResponseDto mockedResponseDto = new MockedResponseDto(mockRsp.getClientUUID(), mockRsp.getMockedResponseId(),
|
|
mockRsp.getMediaType(), mockRsp.getMessageBody(), httpHeaders.toSingleValueMap(), mockRsp.getHttpStatus());
|
|
|
|
klausService.setMockedResponse(mockedResponseDto);
|
|
model.addAttribute("mockSaved", "true");
|
|
return "index";
|
|
}
|
|
|
|
@GetMapping("/home/getMockedResponse")
|
|
@ResponseBody
|
|
public String showGetMockedResponse(MockedResponseDto mockedResponseDto) {
|
|
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
|
|
BusinessKey.CLIENT_UUID, String.valueOf(mockedResponseDto.getClientUUID()),
|
|
BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseDto.getMockedResponseId())));
|
|
return klausService.getMockedResponse(mockedResponseDto.getClientUUID(),
|
|
mockedResponseDto.getMockedResponseId()).toString();
|
|
}
|
|
|
|
private void setHeaders(MockedResponseDto mockedResponseDto, String[] header, String[] value){
|
|
|
|
}
|
|
|
|
|
|
} |