your messages table with update, delete buttons
This commit is contained in:
		| @@ -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 | ||||
| //TODO swagger | ||||
| @@ -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<String> 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<String> 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<String> setMockedResponse(@PathVariable UUID clientUUID, | ||||
|                                                     @PathVariable int mockedResponseId, | ||||
|                                                     @RequestParam(required = false) int httpStatus, | ||||
|                                                     @RequestParam(required = false) Integer httpStatus, | ||||
|                                                     RequestEntity<String> 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(), | ||||
|   | ||||
| @@ -27,20 +27,21 @@ import java.util.*; | ||||
| @AllArgsConstructor | ||||
| 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, 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); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -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; | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -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<String, String> 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; | ||||
|     } | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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<String> resultList = new ArrayList<>(); | ||||
|         for (Map.Entry<BusinessKey, String> 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; | ||||
|   | ||||
| @@ -12,4 +12,5 @@ import java.util.UUID; | ||||
| @Transactional | ||||
| public interface MockedResponseRepository extends CrudRepository<MockedMessage, String> { | ||||
|     List<MockedMessage> findAllByClientUUID(UUID clientUUID); | ||||
|     MockedMessage getByCompositePrimaryKey(String compositePrimaryKey); | ||||
| } | ||||
|   | ||||
| @@ -23,6 +23,9 @@ public class EtrackServiceImpl implements EtrackService { | ||||
|     public List<Event> getEventsByDateTimeAndBusinessKeys(EventRequestDto eventsDto) { | ||||
|         Map<BusinessKey, String> 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); | ||||
|     } | ||||
|   | ||||
| @@ -11,6 +11,6 @@ import java.util.UUID; | ||||
| public interface KlausService { | ||||
|     void deleteMockedResponse(UUID clientUUID, int mockedResponseId); | ||||
|     List<MockedMessageDto> getAllMockedResponses(UUID clientUUID); | ||||
|     ResponseEntity<String> getMockedResponse(UUID clientUUID, int mockedResponseId); | ||||
|     MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId); | ||||
|     ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto); | ||||
| } | ||||
|   | ||||
| @@ -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<String> 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<MockedMessage> optionalMockedMessage = mockedResponseRepository.findById(key); | ||||
|         if (optionalMockedMessage.isPresent()) { | ||||
|             return mockedMessageMapper.mockedMessageToMockedMessageDto(optionalMockedMessage.get()); | ||||
|         } | ||||
|         return new MockedMessageDto(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|   | ||||
| @@ -1,2 +1,2 @@ | ||||
| redis.host = redis-server | ||||
| redis.port = 6379 | ||||
| redis.host = localhost | ||||
| redis.port = 6379 | ||||
| @@ -3,7 +3,7 @@ | ||||
|     <include resource="org/springframework/boot/logging/logback/base.xml"/> | ||||
|     <!--https://github.com/kmtong/logback-redis-appender--> | ||||
|     <appender name="LOGSTASH" class="com.release11.klaus.utilis.RedisAppender"> | ||||
|         <host>redis-image</host> | ||||
|         <host>redis-server</host> | ||||
|         <port>6379</port> | ||||
|         <key>logstash</key> | ||||
|         <layout class="ch.qos.logback.classic.PatternLayout"> | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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() { | ||||
|                     <td>${myList[i-1].mockedResponseId}</td> | ||||
|                     <td>${myList[i-1].mediaType}</td> | ||||
|                     <td>${myList[i-1].httpStatus}</td> | ||||
|                     <td> | ||||
|                       <button type="submit" name="updateMessage" value="${myList[i-1].mockedResponseId}"> | ||||
|                       <img src="/img/update-button.png" style="width: 20px;"/> | ||||
|                       </button> | ||||
|                     </td> | ||||
|                     <td> | ||||
|                       <button type="submit" name="removeMessage" value="${myList[i-1].mockedResponseId}"> | ||||
|                       <img src="/img/icons8-cancel-64.png" style="width: 20px;"/> | ||||
|                       </button> | ||||
|                     </td> | ||||
|                     ` | ||||
|   }else{ | ||||
|       var row = `<tr bgcolor="#e6ffff"> | ||||
| @@ -91,6 +101,16 @@ function buildTable() { | ||||
|                     <td>${myList[i-1].mockedResponseId}</td> | ||||
|                     <td>${myList[i-1].mediaType}</td> | ||||
|                     <td>${myList[i-1].httpStatus}</td> | ||||
|                     <td> | ||||
|                       <button type="submit" name="updateMessage" value="${myList[i-1].mockedResponseId}"> | ||||
|                       <img src="/img/update-button.png" style="width: 20px;"/> | ||||
|                       </button> | ||||
|                     </td> | ||||
|                     <td> | ||||
|                       <button type="submit" name="removeMessage" value="${myList[i-1].mockedResponseId}"> | ||||
|                       <img src="/img/icons8-cancel-64.png" style="width: 20px;"/> | ||||
|                       </button> | ||||
|                     </td> | ||||
|                     ` | ||||
|  } | ||||
|  | ||||
|   | ||||
| @@ -10,14 +10,11 @@ | ||||
| </head> | ||||
| <body> | ||||
| <hr> | ||||
| <div><br>In order to set mockup response please fill the form below: | ||||
| </div> | ||||
|  | ||||
| <section class="page-section" id="main-section" > | ||||
|     <div class="container"> | ||||
|         <div class="row"> | ||||
|             <div class="column" > | ||||
|                 <br>You can also simply fill and submit the below form: | ||||
|                 <br>In order to set mockup response please fill the form below: | ||||
|                 <form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}" | ||||
|                       th:object="${mockedMessageDto}" method="post"> | ||||
|                     <table> | ||||
| @@ -93,6 +90,7 @@ | ||||
|             </div> | ||||
|             <div class="column"> | ||||
|                 <br> | ||||
|                 <form th:action="@{/home/__${mockedMessageDto.clientUUID}__}" method="post" id="dupa" > | ||||
|                     <table> | ||||
|                         <thead> | ||||
|                         <tr> | ||||
| @@ -102,15 +100,14 @@ | ||||
|                             <th class="tr-pageable">Http Status</th> | ||||
|                         </tr> | ||||
|                         </thead> | ||||
|                         <tbody id="table-body"> | ||||
|  | ||||
|                         </tbody> | ||||
|                             <tbody id="table-body"> | ||||
|                             </tbody> | ||||
|                     </table> | ||||
|                 </div> | ||||
|  | ||||
|                 </form> | ||||
|                 <div class="container "> | ||||
|                     <div id="pagination-wrapper"></div> | ||||
|                 </div> | ||||
|                 </div> | ||||
|  | ||||
|             </div> | ||||
|         </div> | ||||
| @@ -124,6 +121,8 @@ | ||||
|     <br>In order to set or get responses through curl or http tools you can use urls below. | ||||
|     <br>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. | ||||
|     <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/delete/<a | ||||
|         th:text="${mockedMessageDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId} | ||||
|     <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/set/ <a | ||||
|         th:text="${mockedMessageDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId}?httpStatus={httpStatus} | ||||
|     <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/get/<a | ||||
| @@ -135,12 +134,14 @@ | ||||
|  | ||||
| <div> | ||||
|     <br>To see your activity history use the form below | ||||
|     <form action="#" th:action="@{/eventsForm}" th:object="${eventsDto}" method="post"> | ||||
|     <form action="#" th:action="@{/eventsForm}" th:object="${eventRequestDto}" method="post"> | ||||
|         <input type="text" th:name="clientUUID" th:value="${mockedMessageDto.clientUUID}" hidden/> | ||||
|         <br><label>Mocked response id:</label><br> | ||||
|         <input type="text" th:name="mockedResponseId" th:id="mockedResponseId" th:placeholder="all"/> | ||||
|         <td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">mockedResponseId error</td> | ||||
|         <br><label>Date from:</label><br> | ||||
|         <input type="datetime-local" th:field="*{localDateTimeFrom}"/> | ||||
|         <td th:if="${#fields.hasErrors('localDateTimeFrom')}" th:errors="*{localDateTimeFrom}">localDateTimeFrom Error | ||||
|         </td> | ||||
|         <td th:if="${#fields.hasErrors('localDateTimeFrom')}" th:errors="*{localDateTimeFrom}">localDateTimeFrom Error</td> | ||||
|         <br><label>Date to:</label><br> | ||||
|         <input type="datetime-local" th:field="*{localDateTimeTo}"/> | ||||
|         <td th:if="${#fields.hasErrors('localDateTimeTo')}" th:errors="*{localDateTimeTo}">localDateTimeTo Error</td> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Szakalakamaka
					Szakalakamaka