update to current version
all initial features implemented tbd: etrack front
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
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.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
import javax.validation.Valid;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
@Slf4j
|
||||
@@ -22,47 +22,44 @@ import java.util.UUID;
|
||||
@RequestMapping
|
||||
@AllArgsConstructor
|
||||
public class KlausMvcController {
|
||||
private final String SET_MOCKED_RESPONSE_PATH_V1 = "/klaus/v1/set/";
|
||||
private final String apiHost = "http://localhost:8097";
|
||||
private final KlausService klausService;
|
||||
|
||||
@GetMapping("/login")
|
||||
public String login(Model model) {
|
||||
UUID uuid = UUID.randomUUID();
|
||||
model.addAttribute("clientUUID", uuid);
|
||||
model.addAttribute("clientUUID", UUID.randomUUID());
|
||||
return "login";
|
||||
}
|
||||
|
||||
@GetMapping("/home")
|
||||
public String showHome(Model model, @RequestParam UUID clientUUID) {
|
||||
model.addAttribute("mockedResponseDto", new MockedResponseDto(clientUUID, 1,
|
||||
"body", new HttpHeaders(), "application/xml"));
|
||||
"application/xml", "body", new HashMap<>(), 200));
|
||||
return "index";
|
||||
}
|
||||
|
||||
//TODO refactor
|
||||
//TODO form validation and proper error messages
|
||||
@PostMapping("/home")
|
||||
public String showHomePost(Model model, MockedResponseDto mockedResponseDto,
|
||||
public String showHomePost(@Valid MockedResponseDto mockRsp, BindingResult bindingResult, Model model,
|
||||
@RequestParam(required = false) String[] header,
|
||||
@RequestParam(required = false) String[] value,
|
||||
@RequestParam(required = false) int httpStatus) {
|
||||
log.info(mockedResponseDto.toString());
|
||||
URI uri = URI.create(apiHost + SET_MOCKED_RESPONSE_PATH_V1 + mockedResponseDto.getClientUUID() + "/"
|
||||
+ mockedResponseDto.getMockedResponseId());
|
||||
@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(mockedResponseDto.getMediaType()));
|
||||
httpHeaders.setContentType(MediaType.valueOf(mockRsp.getMediaType()));
|
||||
if (header!=null){
|
||||
for (int i = 0; i < header.length; i++) {
|
||||
httpHeaders.set(header[i], value[i]);
|
||||
}}
|
||||
RequestEntity<String> requestEntity = new RequestEntity<String>(mockedResponseDto.getMessageBody(),
|
||||
httpHeaders, HttpMethod.POST, uri);
|
||||
klausService.setMockedResponse(mockedResponseDto.getClientUUID(), mockedResponseDto.getMockedResponseId(),
|
||||
HttpStatus.valueOf(httpStatus), requestEntity);
|
||||
MockedResponseDto mockedResponseDto = new MockedResponseDto(mockRsp.getClientUUID(), mockRsp.getMockedResponseId(),
|
||||
mockRsp.getMediaType(), mockRsp.getMessageBody(), httpHeaders.toSingleValueMap(), mockRsp.getHttpStatus());
|
||||
|
||||
model.addAttribute("mockedResponseDto", new MockedResponseDto(mockedResponseDto.getClientUUID(), 1,
|
||||
"body", new HttpHeaders(), "application/xml"));
|
||||
klausService.setMockedResponse(mockedResponseDto);
|
||||
model.addAttribute("mockSaved", "true");
|
||||
return "index";
|
||||
}
|
||||
@@ -70,7 +67,16 @@ public class KlausMvcController {
|
||||
@GetMapping("/home/getMockedResponse")
|
||||
@ResponseBody
|
||||
public String showGetMockedResponse(MockedResponseDto mockedResponseDto) {
|
||||
return klausService.getMockedResponse(mockedResponseDto.getClientUUID(),
|
||||
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){
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user