T161 messages are removed. Snapshot 1.0

This commit is contained in:
2021-02-09 14:20:11 +01:00
parent 0fefcca41f
commit cad85ec8af
6 changed files with 57 additions and 26 deletions

7
.idea/workspace.xml generated
View File

@@ -21,9 +21,11 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="458cde88-df3d-44bc-9d57-a33823e2f1a6" name="Default Changelist" comment=""> <list default="true" id="458cde88-df3d-44bc-9d57-a33823e2f1a6" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/MockController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/MockController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/service/KlausService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/service/KlausService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/service/KlausServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/service/KlausServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/css/main.css" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/css/main.css" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/resources/static/css/main.css" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/css/main.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/js/datatransfer.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/js/datatransfer.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/resources/static/js/datatransfer.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/js/datatransfer.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/templates/mock.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/mock.html" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -313,7 +315,8 @@
<workItem from="1612279535476" duration="5692000" /> <workItem from="1612279535476" duration="5692000" />
<workItem from="1612442837870" duration="8318000" /> <workItem from="1612442837870" duration="8318000" />
<workItem from="1612609113694" duration="13936000" /> <workItem from="1612609113694" duration="13936000" />
<workItem from="1612777983977" duration="12996000" /> <workItem from="1612777983977" duration="14203000" />
<workItem from="1612868404302" duration="3619000" />
</task> </task>
<task id="LOCAL-00077" summary="testing jenkins docker"> <task id="LOCAL-00077" summary="testing jenkins docker">
<created>1601453886631</created> <created>1601453886631</created>

View File

@@ -20,21 +20,8 @@ import java.util.*;
@AllArgsConstructor @AllArgsConstructor
public class MockController { public class MockController {
private final KlausService klausService; private final KlausService klausService;
//TODO: Write a method
private final MockedMessageDto defaultMessage = MockedMessageDto.builder().build(); private final MockedMessageDto defaultMessage = MockedMessageDto.builder().build();
/*
1. GET request to get the page
2. Javascripts checks for cookies if not it sends empty UUID on GetMapping /mock/json
3. When Javascript:
- 1. Saves: PUT request, then GET request
- 2. Deletes: DELETE request, then GET request
- 3. Adds new message: POST request, then GET request
4. After each action cookie is updated
Cookie holds uuid, last displayed message
*/
//TODO: Add cookie in javascript
/** /**
* Responds to first user request. If UUID is given then it's set if it's not, then new one is generated. * Responds to first user request. If UUID is given then it's set if it's not, then new one is generated.
* Next recalls method that populates model based on UUID * Next recalls method that populates model based on UUID
@@ -77,6 +64,17 @@ public class MockController {
return klausService.setMockedResponse(nextMessage); return klausService.setMockedResponse(nextMessage);
} }
@ResponseBody
@DeleteMapping("/mock/json/{uuidValue}/{idValue}")
public ResponseEntity<String> removeMessage(@PathVariable String uuidValue,
@PathVariable String idValue){
UUID clientUUID = UUID.fromString(uuidValue);
int id = Integer.parseInt(idValue);
return klausService.deleteMockedResponse(clientUUID, id);
}
private static MockedMessageDto buildDefaultMessage(UUID uuid, int id){ private static MockedMessageDto buildDefaultMessage(UUID uuid, int id){
MockedMessageDto message = buildDefaultMessage(uuid); MockedMessageDto message = buildDefaultMessage(uuid);
message.setMockedResponseId(id); message.setMockedResponseId(id);

View File

@@ -9,7 +9,7 @@ import java.util.UUID;
@Service @Service
public interface KlausService { public interface KlausService {
void deleteMockedResponse(UUID clientUUID, int mockedResponseId); ResponseEntity<String> deleteMockedResponse(UUID clientUUID, int mockedResponseId);
List<MockedMessageDto> getAllMockedResponses(UUID clientUUID); List<MockedMessageDto> getAllMockedResponses(UUID clientUUID);
MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId); MockedMessageDto getMockedResponse(UUID clientUUID, int mockedResponseId);
ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto); ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto);

View File

@@ -28,10 +28,12 @@ public class KlausServiceImpl implements KlausService {
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
@Override @Override
public void deleteMockedResponse(UUID clientUUID, int mockedResponseId) { public ResponseEntity<String> deleteMockedResponse(UUID clientUUID, int mockedResponseId) {
String key = clientUUID.toString() + "_" + mockedResponseId; String key = clientUUID.toString() + "_" + mockedResponseId;
mockedResponseRepository.deleteById(key); mockedResponseRepository.deleteById(key);
log.info("Message " + mockedResponseId + " has been removed."); log.info("Message " + mockedResponseId + " has been removed.");
return new ResponseEntity<>("MockedResponse has been removed successfully",
new HttpHeaders(), HttpStatus.ACCEPTED);
} }
@Override @Override

View File

@@ -157,7 +157,8 @@
} }
.menuItem { .menuItem {
width: 180px; float: left;
width: 150px;
padding: 10px; padding: 10px;
height: 42px; height: 42px;
font-size: 14px; font-size: 14px;
@@ -180,7 +181,8 @@
} }
.menuItemSelected { .menuItemSelected {
width: 180px; float: left;
width: 150px;
padding: 10px; padding: 10px;
height: 42px; height: 42px;
font-size: 14px; font-size: 14px;
@@ -192,6 +194,14 @@
font-weight: 400; font-weight: 400;
} }
.btn-del-MenuItem {
float: left;
font-size: 24px;
color: red;
text-align: center;
}
#headerTable { #headerTable {
margin-top: 40px; margin-top: 40px;
margin-bottom: 20px; margin-bottom: 20px;

View File

@@ -1,6 +1,3 @@
//TODO: Add button to add new header
//TODO: Update cookie when displayed message is changed
//TODO: Add delete buttons for headers
//TODO: Add delete buttons for messages //TODO: Add delete buttons for messages
var clientUUID; var clientUUID;
var json; var json;
@@ -8,7 +5,6 @@ var jsonIndex = 0;
var htable_row = 0; var htable_row = 0;
const C_UUID = 'mock-uuid'; const C_UUID = 'mock-uuid';
function getData(){ function getData(){
// sleep(5000);
loadCookies(); loadCookies();
$.getJSON('http://localhost:8097/mock/json/'+clientUUID, function(data) { $.getJSON('http://localhost:8097/mock/json/'+clientUUID, function(data) {
json = data; json = data;
@@ -76,6 +72,16 @@ function addMessage(){
getData(); getData();
} }
function removeTile(id){
var jsonObject = findJsonById(id);
$.ajax({
url: 'http://localhost:8097/mock/json/'+clientUUID + '/' + id,
type: 'DELETE',
success: getData(),
});
getData();
}
function clearMock(){ function clearMock(){
fillStaticFields('','','',''); fillStaticFields('','','','');
@@ -177,6 +183,17 @@ function fillMessageList(){
$("#listItems").append(innerHTML); $("#listItems").append(innerHTML);
} }
//TODO: Implement methods where its possible
function findJsonById(id){
return json[findJsonIndexById(id)];
}
function findJsonIndexById(id){
for(let i=0; i<json.length; i++)
if(id == json[i].mockedResponseId) return i;
}
function loadMessage(id){ function loadMessage(id){
for(let i=0; i<json.length; i++){ for(let i=0; i<json.length; i++){
if(id == json[i].mockedResponseId){ if(id == json[i].mockedResponseId){
@@ -209,14 +226,16 @@ function generateMessageTileHtml(id, httpStatus, mediaType){
var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="loadMessage('+ id +')">' + var innerHTML = '<div class="menuItem" id="item_' + id + '" onclick="loadMessage('+ id +')">' +
'<table><tr><td>Id: '+ id +'</td></tr>' + '<table><tr><td>Id: '+ id +'</td></tr>' +
'<tr><td>Http-status: '+ httpStatus +'</td></tr>' + '<tr><td>Http-status: '+ httpStatus +'</td></tr>' +
'</table></div>'; '</table></div><div class="btn-del-MenuItem" onclick="removeTile(' + id + ')">X</div>' +
'<div style="clear: both;"></div>';
return innerHTML; return innerHTML;
} }
function onbuild(){ function onbuild(){
getData(); getData();
sleep(1000); sleep(1000);
// $('#btn-save').bind('click', generateJson);
} }
$(document).ready(onbuild()); $(document).ready(onbuild());
@@ -243,7 +262,6 @@ function generateJson(){
return newJson; return newJson;
} }
// $("table tr").eq(row).find("td").eq(i%2).append("<img src='"+dataJson[i].imagen+"' width='100'/>");
function convertTableToJson(){ function convertTableToJson(){
var rows = $('.httpStatusValue'); var rows = $('.httpStatusValue');