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 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -82,7 +66,8 @@ - + + @@ -194,9 +179,9 @@ + - @@ -401,7 +386,35 @@ 1599641271632 - + + 1599650846480 + + + + 1599650846480 + + + 1599658106007 + + + + 1599658106007 + + + 1599668629804 + + + + 1599668629804 + + + 1599739605273 + + + + 1599739605273 + + @@ -418,9 +431,6 @@ - - - @@ -442,13 +452,17 @@ - + + + + + - + - + @@ -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 - + + Mocked response id: + + mockedResponseId error Date from: - localDateTimeFrom Error - + localDateTimeFrom Error Date to: 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 6fd6c08..e077884 100644 Binary files a/target/classes/com/release11/klaus/controller/KlausController.class and b/target/classes/com/release11/klaus/controller/KlausController.class differ diff --git a/target/classes/com/release11/klaus/controller/KlausMvcController.class b/target/classes/com/release11/klaus/controller/KlausMvcController.class index dc3f78e..bae3459 100644 Binary files a/target/classes/com/release11/klaus/controller/KlausMvcController.class and b/target/classes/com/release11/klaus/controller/KlausMvcController.class differ diff --git a/target/classes/com/release11/klaus/model/EventRequestDto$EventRequestDtoBuilder.class b/target/classes/com/release11/klaus/model/EventRequestDto$EventRequestDtoBuilder.class index 9dc06ab..9eafe66 100644 Binary files a/target/classes/com/release11/klaus/model/EventRequestDto$EventRequestDtoBuilder.class and b/target/classes/com/release11/klaus/model/EventRequestDto$EventRequestDtoBuilder.class differ diff --git a/target/classes/com/release11/klaus/model/EventRequestDto.class b/target/classes/com/release11/klaus/model/EventRequestDto.class index cc1462c..0aabbfa 100644 Binary files a/target/classes/com/release11/klaus/model/EventRequestDto.class and b/target/classes/com/release11/klaus/model/EventRequestDto.class differ diff --git a/target/classes/com/release11/klaus/model/MockedMessage.class b/target/classes/com/release11/klaus/model/MockedMessage.class index 9a93c29..44ba22a 100644 Binary files a/target/classes/com/release11/klaus/model/MockedMessage.class and b/target/classes/com/release11/klaus/model/MockedMessage.class differ diff --git a/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class b/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class index 2522839..b35cbaa 100644 Binary files a/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class and b/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class differ diff --git a/target/classes/com/release11/klaus/repository/MockedResponseRepository.class b/target/classes/com/release11/klaus/repository/MockedResponseRepository.class index 99fbdf6..c5b36b4 100644 Binary files a/target/classes/com/release11/klaus/repository/MockedResponseRepository.class and b/target/classes/com/release11/klaus/repository/MockedResponseRepository.class differ diff --git a/target/classes/com/release11/klaus/service/EtrackServiceImpl.class b/target/classes/com/release11/klaus/service/EtrackServiceImpl.class index a8e9026..56eb9e5 100644 Binary files a/target/classes/com/release11/klaus/service/EtrackServiceImpl.class and b/target/classes/com/release11/klaus/service/EtrackServiceImpl.class differ diff --git a/target/classes/com/release11/klaus/service/KlausService.class b/target/classes/com/release11/klaus/service/KlausService.class index 2ab4179..9de4b03 100644 Binary files a/target/classes/com/release11/klaus/service/KlausService.class and b/target/classes/com/release11/klaus/service/KlausService.class differ diff --git a/target/classes/com/release11/klaus/service/KlausServiceImpl.class b/target/classes/com/release11/klaus/service/KlausServiceImpl.class index ad42ea6..7366147 100644 Binary files a/target/classes/com/release11/klaus/service/KlausServiceImpl.class and b/target/classes/com/release11/klaus/service/KlausServiceImpl.class differ 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 - + + Mocked response id: + + mockedResponseId error Date from: - localDateTimeFrom Error - + localDateTimeFrom Error Date to: 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 2af9ee6..30bd59c 100644 Binary files a/target/test-classes/com/release11/klaus/KlausApplicationTests.class and b/target/test-classes/com/release11/klaus/KlausApplicationTests.class differ