From 790f34a5e17bfa2edaf9c92538456b5a7cf4d293 Mon Sep 17 00:00:00 2001 From: Szakalakamaka Date: Fri, 11 Sep 2020 10:01:30 +0200 Subject: [PATCH] your messages table with update, delete buttons --- .idea/dictionaries/lomba.xml | 1 - ...jectreactor_reactor_test_3_3_6_RELEASE.xml | 13 -- ...sistence_jakarta_persistence_api_2_2_3.xml | 13 -- ...h_logback_logstash_logback_encoder_6_4.xml | 13 -- ...rter_data_redis_reactive_2_3_1_RELEASE.xml | 13 -- ...k_data_spring_data_redis_2_2_6_RELEASE.xml | 13 -- .idea/workspace.xml | 185 ++++++++++++------ .../com/release11/klaus/KlausApplication.java | 3 +- .../klaus/controller/KlausController.java | 24 ++- .../klaus/controller/KlausMvcController.java | 48 +++-- .../klaus/model/EventRequestDto.java | 2 +- .../release11/klaus/model/MockedMessage.java | 19 -- .../klaus/repository/EventRepositoryImpl.java | 9 +- .../repository/MockedResponseRepository.java | 1 + .../klaus/service/EtrackServiceImpl.java | 3 + .../release11/klaus/service/KlausService.java | 2 +- .../klaus/service/KlausServiceImpl.java | 19 +- src/main/resources/data-access.properties | 4 +- src/main/resources/logback.xml | 2 +- src/main/resources/static/css/styles.css | 21 +- src/main/resources/static/js/paggination.js | 24 ++- src/main/resources/templates/index.html | 25 +-- .../klaus/KlausApplicationTests.java | 5 +- .../klaus/controller/KlausController.class | Bin 4404 -> 6255 bytes .../klaus/controller/KlausMvcController.class | Bin 7041 -> 8347 bytes ...entRequestDto$EventRequestDtoBuilder.class | Bin 2208 -> 2280 bytes .../klaus/model/EventRequestDto.class | Bin 4039 -> 4340 bytes .../release11/klaus/model/MockedMessage.class | Bin 6653 -> 5846 bytes .../repository/EventRepositoryImpl.class | Bin 7996 -> 8027 bytes .../repository/MockedResponseRepository.class | Bin 721 -> 853 bytes .../klaus/service/EtrackServiceImpl.class | Bin 2061 -> 2285 bytes .../klaus/service/KlausService.class | Bin 913 -> 894 bytes .../klaus/service/KlausServiceImpl.class | Bin 5813 -> 5321 bytes target/classes/static/css/styles.css | 21 +- target/classes/static/js/paggination.js | 24 ++- target/classes/templates/index.html | 25 +-- .../mappers/MockedMessageMapperImpl.java | 2 +- .../klaus/KlausApplicationTests.class | Bin 540 -> 540 bytes 38 files changed, 310 insertions(+), 224 deletions(-) delete mode 100644 .idea/libraries/Maven__io_projectreactor_reactor_test_3_3_6_RELEASE.xml delete mode 100644 .idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml delete mode 100644 .idea/libraries/Maven__net_logstash_logback_logstash_logback_encoder_6_4.xml delete mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_reactive_2_3_1_RELEASE.xml delete mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml diff --git a/.idea/dictionaries/lomba.xml b/.idea/dictionaries/lomba.xml index 325c898..e270558 100644 --- a/.idea/dictionaries/lomba.xml +++ b/.idea/dictionaries/lomba.xml @@ -2,7 +2,6 @@ logstashes - paggination workdir diff --git a/.idea/libraries/Maven__io_projectreactor_reactor_test_3_3_6_RELEASE.xml b/.idea/libraries/Maven__io_projectreactor_reactor_test_3_3_6_RELEASE.xml deleted file mode 100644 index 5753ea4..0000000 --- a/.idea/libraries/Maven__io_projectreactor_reactor_test_3_3_6_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml deleted file mode 100644 index c11957d..0000000 --- a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_logstash_logback_logstash_logback_encoder_6_4.xml b/.idea/libraries/Maven__net_logstash_logback_logstash_logback_encoder_6_4.xml deleted file mode 100644 index d564e71..0000000 --- a/.idea/libraries/Maven__net_logstash_logback_logstash_logback_encoder_6_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_reactive_2_3_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_reactive_2_3_1_RELEASE.xml deleted file mode 100644 index eb8315f..0000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_reactive_2_3_1_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml deleted file mode 100644 index 86ebc51..0000000 --- a/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 967ecf9..98b688f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -20,30 +20,14 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -194,9 +179,9 @@ + - @@ -401,7 +386,35 @@ @@ -418,9 +431,6 @@ - + - + @@ -461,79 +475,120 @@ - + + - + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + + + - - + + + + - - + + + + - - + + - + + - + + - + - + + + + + + + + + + file://$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java + 56 + + + file://$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java + 55 + + + file://$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java + 52 + + + file://$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java + 64 + + + + \ No newline at end of file diff --git a/src/main/java/com/release11/klaus/KlausApplication.java b/src/main/java/com/release11/klaus/KlausApplication.java index 07ab8ec..145bd70 100644 --- a/src/main/java/com/release11/klaus/KlausApplication.java +++ b/src/main/java/com/release11/klaus/KlausApplication.java @@ -13,10 +13,9 @@ public class KlausApplication { } //TODO -//TODO history logs; for log indexing - create custom log appender for Redis - in case etrack would be too slow //TODO JedisPool jedisPool = new JedisPool(jedisPoolConfig, redisHost, redisPort, timeout, redisPassword) //TODO JedisPool optimalization https://partners-intl.aliyun.com/help/doc-detail/98726.htm // logging, security, account creation // tracking clients activity, admin panel // use a centralized logging collection tool like logstash for admin panel -//TODO split into separate microservices \ No newline at end of file +//TODO swagger \ No newline at end of file diff --git a/src/main/java/com/release11/klaus/controller/KlausController.java b/src/main/java/com/release11/klaus/controller/KlausController.java index e43f602..12ee6ee 100644 --- a/src/main/java/com/release11/klaus/controller/KlausController.java +++ b/src/main/java/com/release11/klaus/controller/KlausController.java @@ -2,12 +2,12 @@ package com.release11.klaus.controller; import com.release11.klaus.model.MockedMessageDto; +import com.release11.klaus.service.KlausService; import com.release11.klaus.utilis.BusinessKey; import com.release11.klaus.utilis.TrackingClient; -import com.release11.klaus.model.MockedMessage; -import com.release11.klaus.service.KlausService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.UUID; @Controller("/") @@ -28,6 +29,15 @@ public class KlausController { private final KlausService klausService; + @RequestMapping(value = "klaus/v1/delete/{clientUUID}/{mockedResponseId}") + public ResponseEntity deleteMockedResponse(@PathVariable UUID clientUUID, + @PathVariable int mockedResponseId){ + TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "deleteMockedResponse", + BusinessKey.CLIENT_UUID, String.valueOf(clientUUID), + BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId))); + klausService.deleteMockedResponse(clientUUID, mockedResponseId); + return new ResponseEntity<>("message has been deleted", HttpStatus.OK); + } @RequestMapping(value = "klaus/v1/getAll/{clientUUID}") public ResponseEntity getAllMockedResponses(@PathVariable UUID clientUUID){ TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse", @@ -43,18 +53,22 @@ public class KlausController { TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse", BusinessKey.CLIENT_UUID, String.valueOf(clientUUID), BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId))); - - return klausService.getMockedResponse(clientUUID, mockedResponseId); + MockedMessageDto mockedMessageDto = klausService.getMockedResponse(clientUUID, mockedResponseId); + HttpHeaders httpHeaders = new HttpHeaders(); + if (mockedMessageDto.getHttpHeaders() != null) mockedMessageDto.getHttpHeaders().forEach(httpHeaders::set); + return new ResponseEntity<>(mockedMessageDto.getMessageBody(), httpHeaders, + Objects.requireNonNull(HttpStatus.valueOf(mockedMessageDto.getHttpStatus()))); } @PostMapping(value = "klaus/v1/set/{clientUUID}/{mockedResponseId}") public ResponseEntity setMockedResponse(@PathVariable UUID clientUUID, @PathVariable int mockedResponseId, - @RequestParam(required = false) int httpStatus, + @RequestParam(required = false) Integer httpStatus, RequestEntity requestEntity){ TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse", BusinessKey.CLIENT_UUID, String.valueOf(clientUUID), BusinessKey.MESSAGE_ID, String.valueOf(mockedResponseId))); + if (httpStatus == null) httpStatus = 200; MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, mockedResponseId, requestEntity.getHeaders().getContentType().toString(), requestEntity.getBody(), diff --git a/src/main/java/com/release11/klaus/controller/KlausMvcController.java b/src/main/java/com/release11/klaus/controller/KlausMvcController.java index bd90c0a..aa6b684 100644 --- a/src/main/java/com/release11/klaus/controller/KlausMvcController.java +++ b/src/main/java/com/release11/klaus/controller/KlausMvcController.java @@ -27,20 +27,21 @@ import java.util.*; @AllArgsConstructor public class KlausMvcController { private final KlausService klausService; - + private final Set globalMockedMessageDtoList = new HashSet<>(); @GetMapping("/login") public String login() { return "login"; } + @SneakyThrows @GetMapping({"/home", "/home/{uuid}"}) - public String showHome(final MockedMessageDto mockedMessageDto, Model model, + public String showHome(final MockedMessageDto mockedMessageDto, final Model model, @RequestParam(required = false) UUID clientUUID, @PathVariable(required = false) UUID uuid) { if (uuid != null) clientUUID = uuid; if (clientUUID != null) mockedMessageDto.setClientUUID(clientUUID); - model.addAttribute("mockedMessageDtoList", klausService.getAllMockedResponses(clientUUID)); + populateModelWithLists(model, mockedMessageDto,true); return "index"; } @@ -51,7 +52,7 @@ public class KlausMvcController { BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()), BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId()))); klausService.setMockedResponse(mockedMessageDto); - model.addAttribute("mockedMessageDtoList", klausService.getAllMockedResponses(mockedMessageDto.getClientUUID())); + populateModelWithLists(model, mockedMessageDto,true); model.addAttribute("mockSaved", "true"); return "index"; } @@ -66,20 +67,36 @@ public class KlausMvcController { mockedMessageDto.getMockedResponseId()).toString(); } - @RequestMapping(value = "/home/{clientUUID}", params = {"addHeader"}) - public String addRow(final MockedMessageDto mockedMessageDto, @RequestParam String headerKey, - @RequestParam String headerValue) { + @RequestMapping(value = "/home/{clientUUID}", params = {"addHeader"} ) + public String addHeader(final MockedMessageDto mockedMessageDto, @RequestParam String headerKey, + @RequestParam String headerValue, final Model model) { + populateModelWithLists(model, mockedMessageDto,false); mockedMessageDto.getHttpHeaders().put(headerKey, headerValue); return "index"; } @RequestMapping(value="/home/{clientUUID}", params={"removeHeader"}) - public String removeHeader(final MockedMessageDto mockedMessageDto, final HttpServletRequest req) { + public String removeHeader(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) { + populateModelWithLists(model, mockedMessageDto,false); mockedMessageDto.getHttpHeaders().remove(req.getParameter("removeHeader")); - System.out.println(mockedMessageDto); return "index"; } + @RequestMapping(value="/home/{clientUUID}", 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); + return "index"; + } + + @RequestMapping(value="/home/{clientUUID}", params={"removeMessage"}) + public String removeMessage(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) { + klausService.deleteMockedResponse(mockedMessageDto.getClientUUID(), + Integer.parseInt(req.getParameter("removeMessage"))); + populateModelWithLists(model, mockedMessageDto, true); + return "index"; + } @SneakyThrows @ModelAttribute("localhost") @@ -98,12 +115,21 @@ public class KlausMvcController { "application/xml", "body", new LinkedHashMap<>(), 200); } - @ModelAttribute("eventsDto") - public EventRequestDto eventsDto() { + @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(); } + private void populateModelWithLists(Model model, MockedMessageDto mockedMessageDto, boolean updateList){ + if (updateList){ + globalMockedMessageDtoList.clear(); + globalMockedMessageDtoList.addAll(klausService.getAllMockedResponses(mockedMessageDto.getClientUUID())); + } + model.addAttribute("mockedMessageDtoList", globalMockedMessageDtoList); + } + } \ No newline at end of file diff --git a/src/main/java/com/release11/klaus/model/EventRequestDto.java b/src/main/java/com/release11/klaus/model/EventRequestDto.java index 8e8ca5b..8921b45 100644 --- a/src/main/java/com/release11/klaus/model/EventRequestDto.java +++ b/src/main/java/com/release11/klaus/model/EventRequestDto.java @@ -20,6 +20,6 @@ public class EventRequestDto { private LocalDateTime localDateTimeFrom; @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private LocalDateTime localDateTimeTo; - private int mockedResponseId; + private Integer mockedResponseId; } diff --git a/src/main/java/com/release11/klaus/model/MockedMessage.java b/src/main/java/com/release11/klaus/model/MockedMessage.java index 1ea2250..99f5e5b 100644 --- a/src/main/java/com/release11/klaus/model/MockedMessage.java +++ b/src/main/java/com/release11/klaus/model/MockedMessage.java @@ -29,25 +29,6 @@ public class MockedMessage implements Serializable { @HttpCode private Integer httpStatus; - public MockedMessage(MockedMessage mockedMessage) { - this.compositePrimaryKey = mockedMessage.getClientUUID().toString() + "_" + mockedMessage.getMockedResponseId(); - this.clientUUID = mockedMessage.getClientUUID(); - this.mockedResponseId = mockedMessage.getMockedResponseId(); - this.mediaType = mockedMessage.getMediaType(); - this.messageBody = mockedMessage.getMessageBody(); - this.httpHeaders = mockedMessage.getHttpHeaders(); - this.httpStatus = mockedMessage.getHttpStatus(); - } - public MockedMessage(UUID clientUUID, int mockedResponseId, String mediaType, - String messageBody, Map httpHeaders, Integer httpStatus) { - this.compositePrimaryKey = clientUUID.toString() + "_" + mockedResponseId; - this.clientUUID = clientUUID; - this.mockedResponseId = mockedResponseId; - this.mediaType = mediaType; - this.messageBody = messageBody; - this.httpHeaders = httpHeaders; - this.httpStatus = httpStatus; - } } diff --git a/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java b/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java index 0f7fccd..244f930 100644 --- a/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java +++ b/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java @@ -5,8 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.release11.klaus.model.Event; import com.release11.klaus.utilis.BusinessKey; import lombok.AllArgsConstructor; -import org.springframework.boot.configurationprocessor.json.JSONException; -import org.springframework.boot.configurationprocessor.json.JSONObject; import org.springframework.stereotype.Repository; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; @@ -14,7 +12,10 @@ import redis.clients.jedis.JedisPool; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Repository @@ -52,6 +53,8 @@ public class EventRepositoryImpl implements EventRepository { List resultList = new ArrayList<>(); for (Map.Entry entry : businessKeys.entrySet()) { String stringPattern = "\"" + entry.getKey() + ":" + entry.getValue() + "\""; + String u; + u = "das"; resultList = events.stream().filter(s -> s.contains(stringPattern)).collect(Collectors.toList()); } return resultList; diff --git a/src/main/java/com/release11/klaus/repository/MockedResponseRepository.java b/src/main/java/com/release11/klaus/repository/MockedResponseRepository.java index 1531480..2858f3a 100644 --- a/src/main/java/com/release11/klaus/repository/MockedResponseRepository.java +++ b/src/main/java/com/release11/klaus/repository/MockedResponseRepository.java @@ -12,4 +12,5 @@ import java.util.UUID; @Transactional public interface MockedResponseRepository extends CrudRepository { List findAllByClientUUID(UUID clientUUID); + MockedMessage getByCompositePrimaryKey(String compositePrimaryKey); } diff --git a/src/main/java/com/release11/klaus/service/EtrackServiceImpl.java b/src/main/java/com/release11/klaus/service/EtrackServiceImpl.java index aefbb97..c4ad3f5 100644 --- a/src/main/java/com/release11/klaus/service/EtrackServiceImpl.java +++ b/src/main/java/com/release11/klaus/service/EtrackServiceImpl.java @@ -23,6 +23,9 @@ public class EtrackServiceImpl implements EtrackService { public List getEventsByDateTimeAndBusinessKeys(EventRequestDto eventsDto) { Map businessKeys = new HashMap<>(); businessKeys.put(BusinessKey.CLIENT_UUID, eventsDto.getClientUUID().toString()); + if (eventsDto.getMockedResponseId() != null){ + businessKeys.put(BusinessKey.MESSAGE_ID, String.valueOf(eventsDto.getMockedResponseId())); + } return eventRepository.findEvents(eventsDto.getLocalDateTimeFrom(), eventsDto.getLocalDateTimeTo(), businessKeys); } diff --git a/src/main/java/com/release11/klaus/service/KlausService.java b/src/main/java/com/release11/klaus/service/KlausService.java index 797dd1a..bf2f661 100644 --- a/src/main/java/com/release11/klaus/service/KlausService.java +++ b/src/main/java/com/release11/klaus/service/KlausService.java @@ -11,6 +11,6 @@ import java.util.UUID; public interface KlausService { void deleteMockedResponse(UUID clientUUID, int mockedResponseId); List getAllMockedResponses(UUID clientUUID); - ResponseEntity getMockedResponse(UUID clientUUID, int mockedResponseId); + MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId); ResponseEntity setMockedResponse(MockedMessageDto mockedMessageDto); } diff --git a/src/main/java/com/release11/klaus/service/KlausServiceImpl.java b/src/main/java/com/release11/klaus/service/KlausServiceImpl.java index 1bfc646..73e3aa5 100644 --- a/src/main/java/com/release11/klaus/service/KlausServiceImpl.java +++ b/src/main/java/com/release11/klaus/service/KlausServiceImpl.java @@ -1,6 +1,5 @@ package com.release11.klaus.service; -import com.fasterxml.jackson.databind.ObjectMapper; import com.release11.klaus.mappers.MockedMessageMapper; import com.release11.klaus.model.MockedMessage; import com.release11.klaus.model.MockedMessageDto; @@ -13,7 +12,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import java.util.List; -import java.util.Objects; +import java.util.Optional; import java.util.UUID; import java.util.stream.Collectors; @@ -22,13 +21,13 @@ import java.util.stream.Collectors; @AllArgsConstructor public class KlausServiceImpl implements KlausService { - private final ObjectMapper objectMapper; private final MockedMessageMapper mockedMessageMapper; private final MockedResponseRepository mockedResponseRepository; @Override public void deleteMockedResponse(UUID clientUUID, int mockedResponseId) { - + String key = clientUUID.toString() + "_" + mockedResponseId; + mockedResponseRepository.deleteById(key); } @Override @@ -39,15 +38,15 @@ public class KlausServiceImpl implements KlausService { } @Override - public ResponseEntity getMockedResponse(UUID clientUUID, int mockedResponseId) { + public MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId) { log.info("KlausServiceImpl, operation getMockedResponse, clientId {}, mockedResponseId {} ", clientUUID, mockedResponseId); String key = clientUUID.toString() + "_" + mockedResponseId; - MockedMessage mockedMessage = mockedResponseRepository.findById(key).get(); - HttpHeaders httpHeaders = new HttpHeaders(); - if(mockedMessage.getHttpHeaders() !=null)mockedMessage.getHttpHeaders().forEach(httpHeaders::set); - return new ResponseEntity<>(mockedMessage.getMessageBody(), httpHeaders, - Objects.requireNonNull(HttpStatus.valueOf(mockedMessage.getHttpStatus()))); + Optional optionalMockedMessage = mockedResponseRepository.findById(key); + if (optionalMockedMessage.isPresent()) { + return mockedMessageMapper.mockedMessageToMockedMessageDto(optionalMockedMessage.get()); + } + return new MockedMessageDto(); } @Override diff --git a/src/main/resources/data-access.properties b/src/main/resources/data-access.properties index 7273c4d..122952c 100644 --- a/src/main/resources/data-access.properties +++ b/src/main/resources/data-access.properties @@ -1,2 +1,2 @@ -redis.host = redis-server -redis.port = 6379 +redis.host = localhost +redis.port = 6379 \ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index ea1ba2e..2087fd3 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -3,7 +3,7 @@ - redis-image + redis-server 6379 logstash diff --git a/src/main/resources/static/css/styles.css b/src/main/resources/static/css/styles.css index 3c1a5e3..12825a8 100644 --- a/src/main/resources/static/css/styles.css +++ b/src/main/resources/static/css/styles.css @@ -45,9 +45,7 @@ button:focus { margin: 1px; } -button[name="allMessagesClicked"] { - color: #00b3b3; -} + #pagination-wrapper button { background: none; @@ -56,6 +54,23 @@ button[name="allMessagesClicked"] { transition: background-color 0.3s, color 0.3s; } +button[name="removeMessage"]{ + background: none; + border: none; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; +} + +button[name="updateMessage"]{ +background: none; +border: none; +cursor: pointer; +transition: background-color 0.3s, color 0.3s; +} + +button[name="allMessagesClicked"] { + color: #00b3b3; +} button[name="removeHeader"] { position: absolute; diff --git a/src/main/resources/static/js/paggination.js b/src/main/resources/static/js/paggination.js index dd98afa..bc62f6d 100644 --- a/src/main/resources/static/js/paggination.js +++ b/src/main/resources/static/js/paggination.js @@ -1,5 +1,5 @@ var state = { - 'querySet': ["dupa1", "sra", "na", "leb"], + 'querySet': [{"clientUUID":"436c4774-038f-4540-9c18-2691ca9b53d4","mockedResponseId":1908998,"mediaType":"application/xml","messageBody":"body","httpHeaders":null,"httpStatus":200}], 'page': 1, 'rows': 10, @@ -10,6 +10,7 @@ state.querySet = mockedMessageDtoList; buildTable(); function pagination(querySet, page, rows) { + var trimStart = (page - 1) * rows var trimEnd = trimStart + rows var trimmedData = querySet.slice(trimStart, trimEnd) @@ -75,7 +76,6 @@ function buildTable() { var data = pagination(state.querySet, state.page, state.rows) var myList = data.querySet - for(var i = 1; i<=myList.length; i++){ var j = i + (state.page-1) * 10; if(i%2 === 0){ @@ -84,6 +84,16 @@ function buildTable() { ${myList[i-1].mockedResponseId} ${myList[i-1].mediaType} ${myList[i-1].httpStatus} + + + + + + ` }else{ var row = ` @@ -91,6 +101,16 @@ function buildTable() { ${myList[i-1].mockedResponseId} ${myList[i-1].mediaType} ${myList[i-1].httpStatus} + + + + + + ` } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index e16cdac..dc2f4e7 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -10,14 +10,11 @@
-

In order to set mockup response please fill the form below: -
-
-
You can also simply fill and submit the below form: +
In order to set mockup response please fill the form below:
@@ -93,6 +90,7 @@

+
@@ -102,15 +100,14 @@ - - - + +
Http Status
-
- +
+
@@ -124,6 +121,8 @@
In order to set or get responses through curl or http tools you can use urls below.
When you set your response simply set headers and media type of your request that you expect to get in the response from the next step. +
http://localhost:8097/klaus/v1/delete/clientUUID should be here/{mockedResponseId}
http://localhost:8097/klaus/v1/set/ clientUUID should be here/{mockedResponseId}?httpStatus={httpStatus}
http://localhost:8097/klaus/v1/get/
To see your activity history use the form below -
+ +

+ + mockedResponseId error

- localDateTimeFrom Error - + localDateTimeFrom Error

localDateTimeTo Error diff --git a/src/test/java/com/release11/klaus/KlausApplicationTests.java b/src/test/java/com/release11/klaus/KlausApplicationTests.java index 53cf8e9..135924c 100644 --- a/src/test/java/com/release11/klaus/KlausApplicationTests.java +++ b/src/test/java/com/release11/klaus/KlausApplicationTests.java @@ -1,14 +1,13 @@ package com.release11.klaus; +import lombok.SneakyThrows; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -import java.util.HashMap; -import java.util.Map; - @SpringBootTest class KlausApplicationTests { + @SneakyThrows @Test void contextLoads() { diff --git a/target/classes/com/release11/klaus/controller/KlausController.class b/target/classes/com/release11/klaus/controller/KlausController.class index 6fd6c083ac85ee71045064d079844ac4cac27cb3..e0778841f5030f30fdd5e197604d35cae2a981b8 100644 GIT binary patch literal 6255 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 diff --git a/target/classes/com/release11/klaus/controller/KlausMvcController.class b/target/classes/com/release11/klaus/controller/KlausMvcController.class index dc3f78e7d2e0c7c2d9e47bb989c953ea510be977..bae3459fd6d131274e92dbb5fd7f58f61cfdbf8a 100644 GIT binary patch literal 8347 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 I9I^uVA0NKw9smFU delta 2821 zcmZuzdw3LA7609x&Ccx1&2BQ;qyz#<1LUANZ__Xi@9CR;%aUS$0!RzHj#2 zx#!+bd3$#~ybBIyT5 zp^gAY5Je2viu3-^kq0Zq3U7PBMv0CPM=8n}>ZC^O^oGR7!p^`vlche72*Lq zB${kPTwk!Gd=W#z*yM-&1Uql3G)ZR_na;YFCE5fQQ3Q)@Nh8XebiG-J8A+tX87g%unthDSS>Dj78y-wmlxh3g4%qm6Ki#>o46Bi(~;tMJMN;A6I+asXg3z0;}iI#o6&mltbf2dicjnK4992jIdQ>kvyNk0 z#|e(daZ*%TE3GGx(J>wUWkBe1YSO_>#DR*R48^ zGaO&RNd}|8w=3Gap=Z#q@J#=BxkXK-x78H`KaH#okDv*IXkt21#9 z59&Dox@0LblP11{@9Ov-$MbkWlm<2%96#XrA$}w#0t-((9~fq#qW^7ZhQ=c=H=eko zs7Et>v5}Fj@mm>2#QBmfqF65x1EGV3e%f}6ieZ#A&EnNiwbDjQn@zvMyO**fnu@Ae zn>cLOi;lAEOuuu;nM@{VXoyG4o}%=gqv7JgdcYBoDY z!h;{vuTO1N<0rJ1$4QN!;%6j(PEUY#enHQR!(a*gl2*UMuc`Z`xx*w2NY<98yl3Dm z_eLXUV1y%SXpOeN;c-}z85DakgR3+Q*$bsl4Zo*fFFb~!yxX(}4HyFrC`K4dXsAde zEw1G(67qqI_>DqWi%a+|VV8Tq!%JilNY&ypExihIaUQZKfj=hjGX6wo7Dz`R-Jj|C z%TD~2#NVzg|3I2zFZn1U>ma)zgYxj-@ee{Gqn#$Eq>1P>D($7ys12vlkioKPw1iV> zv}Uj-gN_WkWZ>Z$+~C1b#HB%=oW(@M?zcD1CdExeHIV@7CqI^>ga|07btP61F)Oha zt=Nb*MNNYXBS%dX7gJeoqId=WRNO=rOIj|6uTm^-4*!LJlN&!+8Hv~Ek>pq!>E(<3 zlVlWXii}rid5K72_zzWvrii$gh>-NRNFufox*RO!GMM|w&&}vhA;pf z^xH|{uBC80DBN|Zqh=42yoTg*lCm1gT!*=kTe8(4E7T@kDp#V6F^NrvP{33OjA_hE zl*t?pQwTDLL4tH+BUR_kxx#dFU@AvF)Cj$^xDMtV2eXdJ1S?=J4?(7#M`rM5*-Yb9SkpK_n}^(< zqWEPa2h`yx5weNM+^q0dxdw9hD{}ZN7-xk9R8lx6XgG>RzelpjxGVw|$c>Wi6o@3+ z%;1hRQg6YWm+o*1Q|Y;yIm@V}^%VDC@j~q)JA^6Zlp`_$25%`ug#{Ajf&0 zX<)ypJ`?OpyU1^b!AkKkS(kKQtwN$|_OIx6SLA?=v%MZ|-9kVgvxMx5;^o&WxUuk1%R5hC|q! fotYvTnO!wJH*aKCVPTQp${;e?kX>^!6UQ?Ecli+z diff --git a/target/classes/com/release11/klaus/model/EventRequestDto.class b/target/classes/com/release11/klaus/model/EventRequestDto.class index cc1462c038035f0fc8bf3e82f7f0e4d4a53514bc..0aabbfa43403fec3faca405afc42df682553754e 100644 GIT binary patch literal 4340 zcmbVPQF9wt75=Wgt6eGU*j8-0N<&Gg1D0%8q=eAQNpWI3L|`YuR@|lq+O@o~H(Ko~ z+Eq${XND(cc!FVuS2Dxo0Xig|DKiYblo@^#rF?gHWv`?)^(2$ko;~L~XYV=Rxo5Bc z{ohaj4xomgYsd(!G`)7UYdMzbTbC|XTaMZDt8H)3a;oc(EjQS*9`!6gSPQ(lq30Vt z+u5_ac?c*5RAdFRS8dl0-Vzv_FYn}_Bc~y6;1mpj@`+z0kZ(FR-+k|1eNA9;$L?+kwZX5bt7pGJqrfTNY9A@&xR+X z&KM|SmalAk&6c&dW%(V?^{x7zz?mqhW4im*x*J&gR(Cm1my&_Acv(Pin(q3ep6Lk8 z%qOsSb{|^JV7dIR1b@ZAEBLCw_`VgaCQ>ZSmxq(g;{v{>;Z*~3GW=v%gYfN9L>8OO zn2s;we%-(~FfTC8xC0qS1$nt2KBXkmy<%WNx)+As8=f>T8F&pRDA+iY2@p4&8ox9xx+*AGlL@CEF+h)1*^ z%j%aH2G$kVIn-?jUEAF!ix;4tj~_^+q;f+-F3ad3~a7Q;L3*A-LLu`iGR>F z+t!C(w^e=Mb=zi8H4l;1!#)fx%gopIJ%QQ_xzE+N?=VDe?RsPV{YHIrT|nE7_ME^P ztA64Qb@*<#Vi5f&-h?SUCBc`HFFWu-DIw z5L@11e{WjBfwy%}K~$2&{I=KYHm#esZ0G5rZ`W&boHEth{IqRavhUe&lQ%ps@Pn?|iJH-$ z$l@Rm8xJ+KaJ^bR~^&$E!MO+^s4yKpn<#SjTafJaw=+In_hkqZ%*XU|3iU`BTS|d zq=9U{^8caSI}w}wkm$Ss1sQqhp_Gxw6rPaYq&&`hjn}e;tGGrJ&mqT|cnqP(1af!_ z-z8{;Pv_|(|LK2&xc>>p{!CfmI)AggNAY>Qh|yKvrB@tYVE% zLY^V`yFxkXJU;9^o$AaJM2hp&uyZlhndgfX=jmbR*;MCs++=cc*)`r}jk1-6XVCsa zDVekpdKV)^oV2W+WJ=(BM5`PLAt$#`Cv1hPfso@T4H=Ohhm0P+pB{4Rq#>hbi9<#Y zKfp%XDyL5xQa0IP;>9p=9yX(p;upN1VgWv0sQeMC@^s;!(0>ng?CHWkpl>c#p5vwP zk;1v#i~Ol6OaH>DlJXg*p1@ctDbI1fkGNP<3AtFymQ;z!eulymjF;3>HUTQvG=j=C zy`)Ky9)q-!o&YV@as(~b@}-;vM+-CYS_yg{6 z17vv6{x$AWH--v+g&$H<*cB~oQBsMvuuUlohyB)|#39BOxkpLIZ@BMwDCO{5R`6{~ zdA!4QT)~8<{|Bcv=%1sg;R65b;&Z$diMeCMem8EC6h;1l5%c^e7c3iGm2Aj7kLz#s zFi(})$vorExf9aNb2(Kj-1NU>2#tX{lgn3?YayBECYKLLr9Qdv1lrPbeDedTzgSbG zp`^qXT@oCb$~84Kk=xKoFR6XgVl5k*vWF%zPOo$6B;AVE5-)xXZQRGZT&YSL-lLRZ zSs&m>OlSAdgrYQy8xSyIbCHqqfGd;}l8l@cD~r}!C4{{u|EvV#Bs delta 1487 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 aiee{wS^7E{-=^HBn(jDG`VzS!3Q literal 6653 zcmcIp>vJ2`75}X*Y1i`FR&3%#Bq1RfY|A!EaA-hEc!h^mY)EYgEukeFX|Wf}S|hDP zLQ8?ZU$m6IC@rN=_)yxRGj%${bUJ;^&}patLqBzvm|JNY zV##me3L85yYG8!Ng&Hinjdj1)a7z_+gVHeXz1v0>R~p#0=B&CW{94%w9`b?}LXE(w z1r1(oBGgWoUy3x=aeX{wd!v+>>>0&8c6w*S)}tZWSa<2W(u8g9g%N z%_x~plL+OQjcaioU9+Yvs^7;b$(<)`Op3v5xwBjGoChwfyTUnTV_FpJTZ^$me!Y#n zvacdn?zzLSTo8uCHf|7x{r~u2&9o!-gYx2nvtAT2 zH`%xu1&UeGX@|7S38e@=X5%;*S`r;1cqwp#4a(ga%T=~6)dF|ftt;8L*|;5d&~73- zCLhsk921N9J8j&ByBRrUr*_v98%|XuYqVjA7bhPU;yD{7vCAlRIkDA~k|_7um=}2| zSA;bLb)SvOHPOsBEL*Xs4VjQ{E}PuoT~SfbGFKK%r0)!0&mSd&yAZx}@4; zb!W|e(yy=PD^B3#ohDtrR4E#my)^4>Vmb~Q}L#ECv-PmrVW15jJY1dnL#-aI37cpHe ziBEAbS*9m0!_!vyij$`dB!tbt(7ac3@7q{A>((C#y)ZoQm!0Y*k%^oV8ySTbi{js%G8IWP;8ak_bTvs!O`}6&`Z%>o_#M)-KHlse>anY zx*d&6NnE0~DUP>lbS(rOH6)5H@$-N%Xytrl%k70~gj8EwQ(~edo3?Dm)tUuYJvM7} zh>$>RR^Va%450G`GZD3h8dOBhw#M8FX*5hGBGHVuBPP;tA(=Fjrb#2RHe9HcpyHkrX{DnE zxL01K6Qbx(o?I*~+{JcLcN-g3j#5{2zjFVWJ_Mx4v|HGG(6qJ3+O+CdkFiEo-BoQR z?|n)77vG=bwi&CJ$oBM-zfmu{cYD(0hTBT<_0kCq*QO zhJ_y(c&5#O6J2uoxG{a86}<8kwxZUQs&H{d3m=*REst72$B$t^A2%jh4@{;Os*W}2|vj9gcR3PTzh0z*KiLh z9H(;b#B?7f?j!tIFh&4*>XGSNtsJV=%Bh%A9#-&a?sJmWq&`CYD4&z~DEB_br&rKR z2q@)#10y$e5#~hZxv>?V%NTHM5~zfwm( z%J1vY$L|A3@M^nxxdXTc6BxrGzHHpY-P=4$kt4>Yz->K!tG9-~*J_ zF0~b{|HjqidL-6*U~fxbQFgCrO7(KNY(kXGCPl?;DpIf)Ed_H_a05uJk;to+$Tifqh}^>z+O9~+fM&8@t3>+UFP_`3NGWVh zk<&`#dUuhBwkuL{vMKTgCGrW>qmnYOyXUBg42#6&-4mAER!XOswWnK$+{{D5Kxz;f zU}KAw84Fs;y!>HdEsq>`yV9S(6@(&thPe*0O7>0VUPChR#?&8Ry^Lh<8&kiBwJ@E# zh!g6Oz&-a(^Q(}U`7`>niMO%ib=Wi6#6^5CrZ5Xhl9+{5HYqfzw=w)W2C~U)N+TK} z$;hj61Z9pFOg@emtgI;WauEsbNQ&_|+~LOR#Wmea!q^$%Pi zt`|A{9ZwNT;2!)DA19Q=0)C565K58e1w2j2#54F3K1qlJ4U_X3LVfrtTs%uCjX%*v z&k^d!U)b_KMaafKS?oVeXaN7h9(;z-AU;cd7cgpC|G}UM>m7pV;h$x^gWVz6XV@D2 zf5EtWo@1yanT;`Gkx;(0=r_}MrJ`&}Xu zCM?5{fzUACrLfj>k05p;856`biFTAC+mDn+)}rjhMl#KI;ud|EjflnC!qVdEz85j_ zcl_{zq}Tt{eG~FCfA?*&GqU&_eHdT-Nz^0+9F)+KFp^l|XPloIerEY8zJ-&FKvLo5Z{v#ri+!~}f|8_Q#9U60-3o<-^mA;ap;+H(i;yN9Up)xH`%k;TVrcW6> zIev2RDQ93(`wM{RgiSYgo320$#^-f z2F;X$q*0jKpecK&d1cAoeI`X`C^SQH8M0*T4AK0*QO@b@leqPiwu% h&o>$j?r(BqkXzp(;(O}*6}(DZn$JJPk6HS%{{#H!iwOV# diff --git a/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class b/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class index 2522839db63e06abebe4f9dc541712ce78c693a4..b35cbaa1754ad487f36954c5b51e15a3927187d2 100644 GIT binary patch delta 2119 zcmZuyX>b%(5dM00c6N6%?3L^;8zF>{b2m4Hzycv5Kmd^vv5F%8uo9qzU=bw2e^#KZ z(kiR`<0~x?IX$9s7z_y{AW#Y(2r3>RqNsof!~?`La@gQt3^_(tzO05Q6Ahgt0mI;gitrqvTx>E^MUyk%*kEBJHi^~F8vS{~ zFmc6`CQiFkye3}6OAfSKcp0w{qT)$kR8+cV7+WlC#WwM{D^q_>0v+*|XPelL9Tr|k z6T!1=`QoLmb6OkbFS&Pl!~BINcB0jREw2R<+u=#h+8co*-9V{Gugg=cU?tT%(A(wSe29-kX-b9h zv4v0YsaTQ{(~lF1RU%${dgqCh<2H>}bZ+s)ba%j{AcY(>*rG6{cV11^DY(sJ&`=Xj z%CN{yDPGDXWao>^o&XbJr54n)K1=FHSY%3lj;IL~X64DPe2X09^pcZpqH?3qBAx7B zDrOADalPMXd0bSQLS@KvP`TJ22-7HWGEn9oZBiwTanM-Ki(+DM@Ziw#1bY_6D2wr` zB;G`eh%_(N5CRgUD%1u_`Sj9tk-HWzTGGUb14DgQgQQ61#zsJ3;si zHuxpUET7=M(9q4_lTgdDU)G-AChI=ONw)k#915*$JH>ku-UTw@#&Cp?#Zor%k%MyN zVlwhD8wHrpR!jN)C0kZ;djZY(3a9xkrLXY~<4WmUmNX@u!CCg=Mgz{_JLrs9hx07i z@jdG^S;zKsa0VBWW*3uYm)NY24cySKA=81}YbfOvKk(il8~X!$0v`r`t9(NKv22{sF1&$tZNc;(=%wMcsM<~&A&S4i1r|d5H@=8EYO1z z4ZBg%gK-)TAa_>#&5oiDKBYqjo&g816^t_)QB-mP$1-^_EW|i0!gv+@G`6Ybw0`4q z8?4R1?<_gkK88Q=C-cWK#1m>$qU2uIsEJuStAcFAU%Y2i^^jb|kM<{yp2x+c{e`6c zMYc~A<~jmg5(ifG;~rHQX68IQ__rv3^RY0}+Y;2c*oW+#x;=Pk-Y&G<#hk1o%qr@^ zO2QhHvhWx&A5X>f!pKgn59|KT-FV>uHuvCF4RhOJ#_VBxH#*vH9xd$P@J3(^bFw|b zTb5$Jn%5fE)Us|WYbP(j1We(3P{->uMcydRaRNWraGlo?7={~6o-Sic_CTHLTVk+@ zs&6&LQ;<`VR_7Euaor`}>l2HIbl?A@C5WUyXp-F_vs`J2X$V zgy&yHBGmt&ue}XjP1AV#xdTG>srmT-@X*P_8jZZ<<2N5BKTnZVmS^x!Aq_UVgND$s zgfu)MWm7H{sJ(28P*FlEE1{88!4TsT<`bw|eNUpv4CrTWo`9RC7%rMh(`W|5{{U~T Be0Tr= delta 2057 zcmZuyX>e0j6#mZ3%S-a|NR!yKq%1960wgVAYk^iuX@MeYmGOroj!TPzG7QVK^20yD z;g5rVoOv^jtb$urs!*WC7GywiLvXO4h0I8 zs>l+LQWe`xk@DhFwN++`F7BYXd3=Q07-@-!7L){!GpfSS4fnUU)#Ui3!Y`vR+#^Z* zKqRVFULU5^IJVO3myP3k_u zr?mXcK9s*a^*Q(A+yx2|KoRmWjPDYRKqf1oGuFz`Je4L|Vl!*cQ}jjouj@+xrRtYC|cLNStzdo*THzK%Vw z@`%%&7jy6<&N|VwWHV~PPx#r%s0F`J(s0H;AFaDyx%X*Qg4^4QBd$aORjld+ayt?CU{ba!4H$~w2xK@G=kPmeWGLCZ<~bEmm6}KH zj-?o@7kA=*A+0;jy)*X1gNLU&`e5{Nr5eL6G`f=W1p+;Q zi&U{Ga67-M-y`uI=!}QAccD9;=t5n*ybEhPsnDDf2hv6iY#^^>#0fopQ6kweBhH0Z zC5&Kwig!BgoTS$y$V(pNz~<1Pd*!&AY8AhchmcRajT%j46h?l?;qS*}+NyH)k>o5$qi%`QAEs^mgbjm8`2DW_os|lMOj@O2rov zpQxFrn%NC4r%u81?;sQEf6&)lh3<^cboyoeLJm0t@&DnWi$#ql10=vN4@(ZmMv(F> zj{Fc@GEky2I3o?sNW-K=V$R+$87}dRG^Sie%UD88%$QfpWM@4^rV=nrZdM{7^@dLx JWV$pW`VXPUZGHd% diff --git a/target/classes/com/release11/klaus/repository/MockedResponseRepository.class b/target/classes/com/release11/klaus/repository/MockedResponseRepository.class index 99fbdf6c2cbbeb4d7d2be703be2fcea7c1368b5e..c5b36b4961de21a49014c69131119e14b7060e2a 100644 GIT binary patch delta 182 zcmcb}dXCSz|O$Iz{J1_lwxIM-~v+IK+MFz b!@vw>@iOp%Mfe#6fHW6SP7p{7F)#oCkm?Bp diff --git a/target/classes/com/release11/klaus/service/EtrackServiceImpl.class b/target/classes/com/release11/klaus/service/EtrackServiceImpl.class index a8e9026fa7d6b18fbd6bfbcc72af43c4828ace6a..56eb9e5e4bb23de963a6732f5ae29aaddfc8afd7 100644 GIT binary patch delta 740 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 QA83V#d_Ur6{EE`Q0XFOe)&Kwi diff --git a/target/classes/static/css/styles.css b/target/classes/static/css/styles.css index 3c1a5e3..12825a8 100644 --- a/target/classes/static/css/styles.css +++ b/target/classes/static/css/styles.css @@ -45,9 +45,7 @@ button:focus { margin: 1px; } -button[name="allMessagesClicked"] { - color: #00b3b3; -} + #pagination-wrapper button { background: none; @@ -56,6 +54,23 @@ button[name="allMessagesClicked"] { transition: background-color 0.3s, color 0.3s; } +button[name="removeMessage"]{ + background: none; + border: none; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; +} + +button[name="updateMessage"]{ +background: none; +border: none; +cursor: pointer; +transition: background-color 0.3s, color 0.3s; +} + +button[name="allMessagesClicked"] { + color: #00b3b3; +} button[name="removeHeader"] { position: absolute; diff --git a/target/classes/static/js/paggination.js b/target/classes/static/js/paggination.js index dd98afa..bc62f6d 100644 --- a/target/classes/static/js/paggination.js +++ b/target/classes/static/js/paggination.js @@ -1,5 +1,5 @@ var state = { - 'querySet': ["dupa1", "sra", "na", "leb"], + 'querySet': [{"clientUUID":"436c4774-038f-4540-9c18-2691ca9b53d4","mockedResponseId":1908998,"mediaType":"application/xml","messageBody":"body","httpHeaders":null,"httpStatus":200}], 'page': 1, 'rows': 10, @@ -10,6 +10,7 @@ state.querySet = mockedMessageDtoList; buildTable(); function pagination(querySet, page, rows) { + var trimStart = (page - 1) * rows var trimEnd = trimStart + rows var trimmedData = querySet.slice(trimStart, trimEnd) @@ -75,7 +76,6 @@ function buildTable() { var data = pagination(state.querySet, state.page, state.rows) var myList = data.querySet - for(var i = 1; i<=myList.length; i++){ var j = i + (state.page-1) * 10; if(i%2 === 0){ @@ -84,6 +84,16 @@ function buildTable() { ${myList[i-1].mockedResponseId} ${myList[i-1].mediaType} ${myList[i-1].httpStatus} + + + + + + ` }else{ var row = ` @@ -91,6 +101,16 @@ function buildTable() { ${myList[i-1].mockedResponseId} ${myList[i-1].mediaType} ${myList[i-1].httpStatus} + + + + + + ` } diff --git a/target/classes/templates/index.html b/target/classes/templates/index.html index e16cdac..dc2f4e7 100644 --- a/target/classes/templates/index.html +++ b/target/classes/templates/index.html @@ -10,14 +10,11 @@
-

In order to set mockup response please fill the form below: -
-
-
You can also simply fill and submit the below form: +
In order to set mockup response please fill the form below: @@ -93,6 +90,7 @@

+
@@ -102,15 +100,14 @@ - - - + +
Http Status
-
- +
+
@@ -124,6 +121,8 @@
In order to set or get responses through curl or http tools you can use urls below.
When you set your response simply set headers and media type of your request that you expect to get in the response from the next step. +
http://
localhost:8097/klaus/v1/delete/clientUUID should be here/{mockedResponseId}
http://localhost:8097/klaus/v1/set/ clientUUID should be here/{mockedResponseId}?httpStatus={httpStatus}
http://localhost:8097/klaus/v1/get/
To see your activity history use the form below -
+ +

+ + mockedResponseId error

- localDateTimeFrom Error - + localDateTimeFrom Error

localDateTimeTo Error diff --git a/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java b/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java index a6a8098..896f783 100644 --- a/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java +++ b/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2020-09-09T10:30:58+0200", + date = "2020-09-09T17:18:22+0200", comments = "version: 1.3.1.Final, compiler: javac, environment: Java 14.0.1 (Oracle Corporation)" ) @Component diff --git a/target/test-classes/com/release11/klaus/KlausApplicationTests.class b/target/test-classes/com/release11/klaus/KlausApplicationTests.class index 2af9ee67ef5fe077e6323ada42129f09d69b77e3..30bd59c035b40df6fdb8fae6c27bb0151d946ddd 100644 GIT binary patch delta 19 bcmbQkGKXcuIz~p0$?F*{82Ki@U^D>$J$J>~`G