- fix collisions between js script from main page and the application,

- fix problem with special characters for etrack,
This commit is contained in:
Szakalakamaka
2020-11-03 15:23:21 +01:00
parent ea56911a58
commit dff31ab907
43 changed files with 988 additions and 567 deletions

View File

@@ -7,6 +7,7 @@ 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;
@@ -21,6 +22,7 @@ import java.util.UUID;
@Controller("/")
@Slf4j
@Profile({"DEV", "default"})
@AllArgsConstructor
public class KlausController {

View File

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