- finishing etrack
- new buttons for main page - swagger
This commit is contained in:
		@@ -1,16 +1,22 @@
 | 
			
		||||
package com.release11.klaus.controller;
 | 
			
		||||
 | 
			
		||||
import com.release11.klaus.model.Event;
 | 
			
		||||
import com.release11.klaus.model.EventRequestDto;
 | 
			
		||||
import com.release11.klaus.service.EtrackService;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.ui.Model;
 | 
			
		||||
import org.springframework.validation.BindingResult;
 | 
			
		||||
import org.springframework.web.bind.annotation.PostMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.ResponseBody;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import javax.validation.Valid;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.time.LocalTime;
 | 
			
		||||
import java.util.LinkedList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Controller
 | 
			
		||||
@@ -19,11 +25,54 @@ import javax.validation.Valid;
 | 
			
		||||
public class EventController {
 | 
			
		||||
 | 
			
		||||
    private final EtrackService etrackService;
 | 
			
		||||
    
 | 
			
		||||
    @PostMapping("/eventsForm")
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public String getLogs(@Valid EventRequestDto eventsDto, BindingResult bindingResult){
 | 
			
		||||
        return String.valueOf(etrackService.getEventsByDateTimeAndBusinessKeys(eventsDto));
 | 
			
		||||
    private final String sortBy = "messageId";
 | 
			
		||||
    private final List<Event> eventList = new LinkedList<>();
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/etrack/{uuid}")
 | 
			
		||||
    public String showEtrack(@Valid EventRequestDto eventRequestDto, @PathVariable UUID uuid, final Model model,
 | 
			
		||||
                             BindingResult bindingResult){
 | 
			
		||||
        model.addAttribute("clientUUID", uuid);
 | 
			
		||||
        model.addAttribute("eventRequestDto", eventRequestDto);
 | 
			
		||||
        return "etrack";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/etrack/{uuid}")
 | 
			
		||||
    public String getLogs(@Valid EventRequestDto eventRequestDto, final Model model, BindingResult bindingResult,
 | 
			
		||||
                          @PathVariable UUID uuid){
 | 
			
		||||
        model.addAttribute("clientUUID", uuid);
 | 
			
		||||
        populateModelWithLists(model, eventRequestDto, true);
 | 
			
		||||
        return "etrack";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping(value = "/etrack/{uuid}", params = {"sortBy"})
 | 
			
		||||
    public String sortBy(@Valid EventRequestDto eventRequestDto, final Model model, BindingResult bindingResult,
 | 
			
		||||
                          @PathVariable UUID uuid){
 | 
			
		||||
        model.addAttribute("clientUUID", uuid);
 | 
			
		||||
        populateModelWithLists(model, eventRequestDto, false);
 | 
			
		||||
        return "etrack";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void populateModelWithLists(Model model, EventRequestDto eventRequestDto, boolean updateList){
 | 
			
		||||
        if (updateList){
 | 
			
		||||
            eventList.clear();
 | 
			
		||||
            eventList.addAll(etrackService.getEventsByDateTimeAndBusinessKeys(eventRequestDto));
 | 
			
		||||
        }
 | 
			
		||||
        model.addAttribute("eventList", eventList);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ModelAttribute("eventRequestDto")
 | 
			
		||||
    public EventRequestDto eventRequestDto() {
 | 
			
		||||
        return EventRequestDto.builder()
 | 
			
		||||
                .mockedResponseId(1)
 | 
			
		||||
                .localDateTimeFrom(LocalDateTime.of(LocalDate.now(), LocalTime.MIN))
 | 
			
		||||
                .localDateTimeTo(LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.MIDNIGHT))
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ModelAttribute("eventList")
 | 
			
		||||
    public List<Event> eventList() {
 | 
			
		||||
        return eventList;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,10 +12,7 @@ import org.springframework.http.HttpStatus;
 | 
			
		||||
import org.springframework.http.RequestEntity;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
import org.springframework.web.bind.annotation.PostMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestParam;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
@@ -29,7 +26,7 @@ public class KlausController {
 | 
			
		||||
 | 
			
		||||
    private final KlausService klausService;
 | 
			
		||||
 | 
			
		||||
    @RequestMapping(value = "klaus/v1/delete/{clientUUID}/{mockedResponseId}")
 | 
			
		||||
    @DeleteMapping(value = "klaus/v1/delete/{clientUUID}/{mockedResponseId}")
 | 
			
		||||
    public ResponseEntity<String> deleteMockedResponse(@PathVariable UUID clientUUID,
 | 
			
		||||
                                                       @PathVariable int mockedResponseId){
 | 
			
		||||
        TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "deleteMockedResponse",
 | 
			
		||||
@@ -38,9 +35,10 @@ public class KlausController {
 | 
			
		||||
        klausService.deleteMockedResponse(clientUUID, mockedResponseId);
 | 
			
		||||
        return new ResponseEntity<>("message has been deleted", HttpStatus.OK);
 | 
			
		||||
    }
 | 
			
		||||
    @RequestMapping(value = "klaus/v1/getAll/{clientUUID}")
 | 
			
		||||
 | 
			
		||||
    @GetMapping(value = "klaus/v1/getAll/{clientUUID}")
 | 
			
		||||
    public ResponseEntity<String> getAllMockedResponses(@PathVariable UUID clientUUID){
 | 
			
		||||
        TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
 | 
			
		||||
        TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getAllMockedResponse",
 | 
			
		||||
                BusinessKey.CLIENT_UUID, String.valueOf(clientUUID),
 | 
			
		||||
                BusinessKey.MESSAGE_ID, "all"));
 | 
			
		||||
        List<MockedMessageDto> mockedMessages = klausService.getAllMockedResponses(clientUUID);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
package com.release11.klaus.controller;
 | 
			
		||||
 | 
			
		||||
import com.release11.klaus.model.EventRequestDto;
 | 
			
		||||
import com.release11.klaus.model.MockedMessageDto;
 | 
			
		||||
import com.release11.klaus.service.KlausService;
 | 
			
		||||
import com.release11.klaus.utilis.BusinessKey;
 | 
			
		||||
@@ -16,9 +15,6 @@ import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.validation.Valid;
 | 
			
		||||
import java.net.InetAddress;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.time.LocalTime;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@@ -29,11 +25,6 @@ public class KlausMvcController {
 | 
			
		||||
    private final KlausService klausService;
 | 
			
		||||
    private final Set<MockedMessageDto> globalMockedMessageDtoList = new HashSet<>();
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/login")
 | 
			
		||||
    public String login() {
 | 
			
		||||
        return "login";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @SneakyThrows
 | 
			
		||||
    @GetMapping({"/home", "/home/{uuid}"})
 | 
			
		||||
    public String showHome(final MockedMessageDto mockedMessageDto, final Model model,
 | 
			
		||||
@@ -45,15 +36,28 @@ public class KlausMvcController {
 | 
			
		||||
        return "index";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/home/{clientUUID}")
 | 
			
		||||
    @PostMapping("/home/{uuid}")
 | 
			
		||||
    public String showHomePost(@Valid final MockedMessageDto mockedMessageDto, BindingResult bindingResult,
 | 
			
		||||
                               final 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);
 | 
			
		||||
            return "index";
 | 
			
		||||
        }
 | 
			
		||||
        klausService.setMockedResponse(mockedMessageDto);
 | 
			
		||||
        populateModelWithLists(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) {
 | 
			
		||||
        MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, new LinkedHashMap<>());
 | 
			
		||||
        populateModelWithLists(model, mockedMessageDto, true);
 | 
			
		||||
        model.addAttribute("mockedMessageDto", mockedMessageDto);
 | 
			
		||||
        return "index";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -67,7 +71,7 @@ public class KlausMvcController {
 | 
			
		||||
                mockedMessageDto.getMockedResponseId()).toString();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @RequestMapping(value = "/home/{clientUUID}", params = {"addHeader"} )
 | 
			
		||||
    @PostMapping(value = "/home/{uuid}", params = {"addHeader"} )
 | 
			
		||||
    public String addHeader(final MockedMessageDto mockedMessageDto, @RequestParam String headerKey,
 | 
			
		||||
                         @RequestParam String headerValue, final Model model) {
 | 
			
		||||
        populateModelWithLists(model, mockedMessageDto,false);
 | 
			
		||||
@@ -75,23 +79,27 @@ public class KlausMvcController {
 | 
			
		||||
        return "index";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @RequestMapping(value="/home/{clientUUID}", params={"removeHeader"})
 | 
			
		||||
    @PostMapping(value="/home/{uuid}", params={"removeHeader"})
 | 
			
		||||
    public String removeHeader(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
 | 
			
		||||
        populateModelWithLists(model, mockedMessageDto,false);
 | 
			
		||||
        mockedMessageDto.getHttpHeaders().remove(req.getParameter("removeHeader"));
 | 
			
		||||
        return "index";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @RequestMapping(value="/home/{clientUUID}", params={"updateMessage"})
 | 
			
		||||
    @PostMapping(value="/home/{uuid}", params={"updateMessage"})
 | 
			
		||||
    public String updateMessage(final HttpServletRequest req, final MockedMessageDto mockedMessageDto, final Model model) {
 | 
			
		||||
        model.addAttribute("mockedMessageDto", klausService.getMockedResponse(mockedMessageDto.getClientUUID(),
 | 
			
		||||
                Integer.parseInt(req.getParameter("updateMessage"))));
 | 
			
		||||
        populateModelWithLists(model, mockedMessageDto, false);
 | 
			
		||||
        model.addAttribute("canTest", "true");
 | 
			
		||||
        return "index";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @RequestMapping(value="/home/{clientUUID}", params={"removeMessage"})
 | 
			
		||||
    @PostMapping(value="/home/{uuid}", params={"removeMessage"})
 | 
			
		||||
    public String removeMessage(final 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);
 | 
			
		||||
@@ -111,17 +119,7 @@ public class KlausMvcController {
 | 
			
		||||
 | 
			
		||||
    @ModelAttribute("mockedMessageDto")
 | 
			
		||||
    public MockedMessageDto mockedMessageDto() {
 | 
			
		||||
        return new MockedMessageDto(UUID.randomUUID(), 1,
 | 
			
		||||
                "application/xml", "body", new LinkedHashMap<>(), 200);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ModelAttribute("eventRequestDto")
 | 
			
		||||
    public EventRequestDto eventRequestDto() {
 | 
			
		||||
        return EventRequestDto.builder()
 | 
			
		||||
                .mockedResponseId(1)
 | 
			
		||||
                .localDateTimeFrom(LocalDateTime.of(LocalDate.now(), LocalTime.MIN))
 | 
			
		||||
                .localDateTimeTo(LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.MIDNIGHT))
 | 
			
		||||
                .build();
 | 
			
		||||
        return new MockedMessageDto(UUID.randomUUID(),  new LinkedHashMap<>());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void populateModelWithLists(Model model, MockedMessageDto mockedMessageDto, boolean updateList){
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
package com.release11.klaus.controller;
 | 
			
		||||
 | 
			
		||||
import com.release11.klaus.model.MockedMessageDto;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Controller;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Controller
 | 
			
		||||
@RequestMapping
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public class MainController {
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/home/tools")
 | 
			
		||||
    public String showGetMockedResponse(final MockedMessageDto mockedMessageDto) {
 | 
			
		||||
        return "tools";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user