diff --git a/.idea/libraries/Maven__junit_junit_4_13.xml b/.idea/libraries/Maven__junit_junit_4_13.xml new file mode 100644 index 0000000..59fc5c4 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml new file mode 100644 index 0000000..1a387a4 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml new file mode 100644 index 0000000..697c91f --- /dev/null +++ b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml new file mode 100644 index 0000000..7ee5fee --- /dev/null +++ b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_1_RELEASE.xml new file mode 100644 index 0000000..615346b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_3_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_3_1_RELEASE.xml new file mode 100644 index 0000000..39707b6 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_3_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/img/icons8-cancel-64.png b/src/main/resources/static/img/icons8-cancel-64.png new file mode 100644 index 0000000..da75c0b Binary files /dev/null and b/src/main/resources/static/img/icons8-cancel-64.png differ diff --git a/src/main/resources/static/img/icons8-plus-48.png b/src/main/resources/static/img/icons8-plus-48.png new file mode 100644 index 0000000..a4ffd9a Binary files /dev/null and b/src/main/resources/static/img/icons8-plus-48.png differ diff --git a/src/main/resources/static/js/paggination.js b/src/main/resources/static/js/paggination.js new file mode 100644 index 0000000..dd98afa --- /dev/null +++ b/src/main/resources/static/js/paggination.js @@ -0,0 +1,101 @@ +var state = { + 'querySet': ["dupa1", "sra", "na", "leb"], + + 'page': 1, + 'rows': 10, + 'window': 5, +} + +state.querySet = mockedMessageDtoList; +buildTable(); + +function pagination(querySet, page, rows) { + var trimStart = (page - 1) * rows + var trimEnd = trimStart + rows + var trimmedData = querySet.slice(trimStart, trimEnd) + var pages = Math.ceil(querySet.length / rows); + + return { + 'querySet': trimmedData, + 'pages': pages, + } +} + + +function pageButtons(pages) { + var wrapper = document.getElementById('pagination-wrapper'); + + wrapper.innerHTML = ``; + var maxLeft = (state.page - Math.floor(state.window / 2)) + var maxRight = (state.page + Math.ceil(state.window / 2)) + if (maxLeft < 1) { + maxLeft = 1 + maxRight = state.window + } + + if (maxRight > pages) { + maxLeft = pages - (state.window - 1) + + if (maxLeft < 1) { + maxLeft = 1 + } + maxRight = pages + } + + for (var page = maxLeft; page <= maxRight; page++) { + if(page === state.page){ + wrapper.innerHTML += `` + } + else{ + wrapper.innerHTML += `` + } + } + + if (state.page != 1) { + wrapper.innerHTML = `` + wrapper.innerHTML + } + + if (state.page != pages) { + wrapper.innerHTML += `` + } + + $('.page').on('click', function() { + $('#table-body').empty() + + state.page = Number($(this).val()) + + buildTable() + }) + +} + + +function buildTable() { + var table = $('#table-body') + + 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){ + var row = ` + ` + j + ` + ${myList[i-1].mockedResponseId} + ${myList[i-1].mediaType} + ${myList[i-1].httpStatus} + ` + }else{ + var row = ` + ` + j + ` + ${myList[i-1].mockedResponseId} + ${myList[i-1].mediaType} + ${myList[i-1].httpStatus} + ` + } + + table.append(row) + } + + pageButtons(data.pages) +} diff --git a/target/classes/com/release11/klaus/mappers/MockedMessageMapper.class b/target/classes/com/release11/klaus/mappers/MockedMessageMapper.class new file mode 100644 index 0000000..5937451 Binary files /dev/null and b/target/classes/com/release11/klaus/mappers/MockedMessageMapper.class differ diff --git a/target/classes/com/release11/klaus/mappers/MockedMessageMapperImpl.class b/target/classes/com/release11/klaus/mappers/MockedMessageMapperImpl.class new file mode 100644 index 0000000..ab2ad8d Binary files /dev/null and b/target/classes/com/release11/klaus/mappers/MockedMessageMapperImpl.class differ diff --git a/target/classes/com/release11/klaus/model/MockedMessage.class b/target/classes/com/release11/klaus/model/MockedMessage.class new file mode 100644 index 0000000..9a93c29 Binary files /dev/null and b/target/classes/com/release11/klaus/model/MockedMessage.class differ diff --git a/target/classes/com/release11/klaus/model/MockedMessageDto$MockedMessageDtoBuilder.class b/target/classes/com/release11/klaus/model/MockedMessageDto$MockedMessageDtoBuilder.class new file mode 100644 index 0000000..5d4554a Binary files /dev/null and b/target/classes/com/release11/klaus/model/MockedMessageDto$MockedMessageDtoBuilder.class differ diff --git a/target/classes/com/release11/klaus/model/MockedMessageDto.class b/target/classes/com/release11/klaus/model/MockedMessageDto.class new file mode 100644 index 0000000..e0a97d3 Binary files /dev/null and b/target/classes/com/release11/klaus/model/MockedMessageDto.class differ diff --git a/target/classes/static/img/icons8-cancel-64.png b/target/classes/static/img/icons8-cancel-64.png new file mode 100644 index 0000000..da75c0b Binary files /dev/null and b/target/classes/static/img/icons8-cancel-64.png differ diff --git a/target/classes/static/img/icons8-plus-48.png b/target/classes/static/img/icons8-plus-48.png new file mode 100644 index 0000000..a4ffd9a Binary files /dev/null and b/target/classes/static/img/icons8-plus-48.png differ diff --git a/target/classes/static/js/paggination.js b/target/classes/static/js/paggination.js new file mode 100644 index 0000000..dd98afa --- /dev/null +++ b/target/classes/static/js/paggination.js @@ -0,0 +1,101 @@ +var state = { + 'querySet': ["dupa1", "sra", "na", "leb"], + + 'page': 1, + 'rows': 10, + 'window': 5, +} + +state.querySet = mockedMessageDtoList; +buildTable(); + +function pagination(querySet, page, rows) { + var trimStart = (page - 1) * rows + var trimEnd = trimStart + rows + var trimmedData = querySet.slice(trimStart, trimEnd) + var pages = Math.ceil(querySet.length / rows); + + return { + 'querySet': trimmedData, + 'pages': pages, + } +} + + +function pageButtons(pages) { + var wrapper = document.getElementById('pagination-wrapper'); + + wrapper.innerHTML = ``; + var maxLeft = (state.page - Math.floor(state.window / 2)) + var maxRight = (state.page + Math.ceil(state.window / 2)) + if (maxLeft < 1) { + maxLeft = 1 + maxRight = state.window + } + + if (maxRight > pages) { + maxLeft = pages - (state.window - 1) + + if (maxLeft < 1) { + maxLeft = 1 + } + maxRight = pages + } + + for (var page = maxLeft; page <= maxRight; page++) { + if(page === state.page){ + wrapper.innerHTML += `` + } + else{ + wrapper.innerHTML += `` + } + } + + if (state.page != 1) { + wrapper.innerHTML = `` + wrapper.innerHTML + } + + if (state.page != pages) { + wrapper.innerHTML += `` + } + + $('.page').on('click', function() { + $('#table-body').empty() + + state.page = Number($(this).val()) + + buildTable() + }) + +} + + +function buildTable() { + var table = $('#table-body') + + 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){ + var row = ` + ` + j + ` + ${myList[i-1].mockedResponseId} + ${myList[i-1].mediaType} + ${myList[i-1].httpStatus} + ` + }else{ + var row = ` + ` + j + ` + ${myList[i-1].mockedResponseId} + ${myList[i-1].mediaType} + ${myList[i-1].httpStatus} + ` + } + + table.append(row) + } + + pageButtons(data.pages) +} diff --git a/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java b/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java new file mode 100644 index 0000000..a6a8098 --- /dev/null +++ b/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java @@ -0,0 +1,62 @@ +package com.release11.klaus.mappers; + +import com.release11.klaus.model.MockedMessage; +import com.release11.klaus.model.MockedMessageDto; +import com.release11.klaus.model.MockedMessageDto.MockedMessageDtoBuilder; +import java.util.HashMap; +import java.util.Map; +import javax.annotation.processing.Generated; +import org.springframework.stereotype.Component; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2020-09-09T10:30:58+0200", + comments = "version: 1.3.1.Final, compiler: javac, environment: Java 14.0.1 (Oracle Corporation)" +) +@Component +public class MockedMessageMapperImpl implements MockedMessageMapper { + + @Override + public MockedMessage mockedMessageDtoToMockedMessage(MockedMessageDto mockedMessageDto) { + if ( mockedMessageDto == null ) { + return null; + } + + MockedMessage mockedMessage = new MockedMessage(); + + mockedMessage.setClientUUID( mockedMessageDto.getClientUUID() ); + mockedMessage.setMockedResponseId( mockedMessageDto.getMockedResponseId() ); + mockedMessage.setMediaType( mockedMessageDto.getMediaType() ); + mockedMessage.setMessageBody( mockedMessageDto.getMessageBody() ); + Map map = mockedMessageDto.getHttpHeaders(); + if ( map != null ) { + mockedMessage.setHttpHeaders( new HashMap( map ) ); + } + mockedMessage.setHttpStatus( mockedMessageDto.getHttpStatus() ); + + mockedMessage.setCompositePrimaryKey( mockedMessageDto.getClientUUID() + "_" + mockedMessageDto.getMockedResponseId() ); + + return mockedMessage; + } + + @Override + public MockedMessageDto mockedMessageToMockedMessageDto(MockedMessage mockedMessage) { + if ( mockedMessage == null ) { + return null; + } + + MockedMessageDtoBuilder mockedMessageDto = MockedMessageDto.builder(); + + mockedMessageDto.clientUUID( mockedMessage.getClientUUID() ); + mockedMessageDto.mockedResponseId( mockedMessage.getMockedResponseId() ); + mockedMessageDto.mediaType( mockedMessage.getMediaType() ); + mockedMessageDto.messageBody( mockedMessage.getMessageBody() ); + Map map = mockedMessage.getHttpHeaders(); + if ( map != null ) { + mockedMessageDto.httpHeaders( new HashMap( map ) ); + } + mockedMessageDto.httpStatus( mockedMessage.getHttpStatus() ); + + return mockedMessageDto.build(); + } +}