Delete target directory
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@eureka:8761/eureka/
|
||||
spring.cloud.config.discovery.service-id = klaus-config-service
|
||||
#spring.cloud.config.fail-fast=true
|
||||
#spring.cloud.config.username = SpringConfigUsername
|
||||
#spring.cloud.config.password = SpringConfigPassword
|
||||
#logging:
|
||||
spring.output.ansi.enabled = always
|
||||
logging.level.root=INFO
|
||||
logging.level.org.springframework.web=INFO
|
||||
logging.level.com.release11=INFO
|
||||
@@ -1,14 +0,0 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: DEV
|
||||
application:
|
||||
name: klaus
|
||||
cloud:
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
uri: http://s5000xvn.zipper.release11.com:8888
|
||||
retry:
|
||||
max-attempts: 20
|
||||
max-interval: 15000
|
||||
initial-interval: 10000
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
redis.host = localhost
|
||||
redis.port = 6379
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<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</host>
|
||||
<port>6379</port>
|
||||
<key>logstash</key>
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
<!--https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html-->
|
||||
<Pattern>
|
||||
{"dateTimeStamp" : "%d{yyyy-MM-dd}T%d{HH:mm:ss}", "eventId":"%X{eventId}", "interfaceName":"%X{interfaceName}", "clientUUID":"%X{clientUUID}", "messageId":"%X{messageId}", "thread":"%t","level":"%-5level", "message":"%msg"}%n
|
||||
</Pattern>
|
||||
</layout>
|
||||
</appender>
|
||||
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<appender-ref ref="LOGSTASH" />
|
||||
</appender>
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="ASYNC" />
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="FILE" />
|
||||
</root>
|
||||
</configuration>
|
||||
|
||||
|
||||
@@ -1,213 +0,0 @@
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.page-section{
|
||||
padding: 2rem 0;
|
||||
}
|
||||
|
||||
.page-section .column{
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.page-section .row:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
.column {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
button:hover { font-weight: 600; }
|
||||
button:hover i { margin-right: 20px; }
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.pageable {
|
||||
border: 1px solid rgba(0, 0, 0, .11);
|
||||
;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.tr-pageable{
|
||||
margin-left:1000px;
|
||||
}
|
||||
|
||||
.controls-item {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
|
||||
tr[name="tr-button"]:hover{
|
||||
background-color: #ddd;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pagination-wrapper button {
|
||||
background: none;
|
||||
border: 2px solid #00b3b3;
|
||||
cursor: pointer;
|
||||
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;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s, color 0.3s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.btn-sort {
|
||||
border: 0;
|
||||
padding: 0 20px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
text-shadow: 1px 1px 1px #000;
|
||||
border-radius: 10px;
|
||||
background-color: rgb(0, 102, 255);
|
||||
background-image: linear-gradient(to top left,
|
||||
rgba(0, 0, 0, .2),
|
||||
rgba(0, 0, 0, .2) 30%,
|
||||
rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
.btn-sort:hover {
|
||||
background-color: rgb(153, 194, 255);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.activeButton {
|
||||
background-color: rgb(153, 194, 255);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#child-body{
|
||||
margin-left: 220px;
|
||||
}
|
||||
|
||||
#container1{
|
||||
|
||||
}
|
||||
#foot {
|
||||
clear: both;
|
||||
position: relative;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
/* The side navigation menu */
|
||||
.sidebar {
|
||||
margin-top: 100px;
|
||||
padding-top: 200px;
|
||||
padding: 0;
|
||||
width: 200px;
|
||||
background-color: #f1f1f1;
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* Sidebar links */
|
||||
.sidebar a {
|
||||
display: block;
|
||||
color: black;
|
||||
padding: 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Active/current link */
|
||||
.sidebar a.active {
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Links on mouse-over */
|
||||
.sidebar a:hover:not(.active) {
|
||||
background-color: #555;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* On screens that are less than 700px wide, make the sidebar into a topbar */
|
||||
@media screen and (max-width: 700px) {
|
||||
.sidebar {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
position: fixed;
|
||||
}
|
||||
.sidebar a {float: left;}
|
||||
div.content {margin-left: 0;}
|
||||
}
|
||||
|
||||
/* On screens that are less than 400px, display the bar vertically, instead of horizontally */
|
||||
@media screen and (max-width: 400px) {
|
||||
.sidebar a {
|
||||
text-align: center;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
table { border-collapse: collapse; }
|
||||
tr { border: none; }
|
||||
td {
|
||||
border: none;
|
||||
}
|
||||
|
||||
button{
|
||||
padding: 5px 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
background: #32a6cc;
|
||||
color: #fff;
|
||||
transition: all 0.3s ease;
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: 1em;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
label { display: block;}
|
||||
.hint { display: none; color: gray; font-style: italic; float:right;}
|
||||
input:focus + .hint { display: inline; float:right;}
|
||||
textarea:focus + .hint { display: inline; float:right; }
|
||||
textarea:focus + .hint { display: inline; float:right; }
|
||||
select:focus + .hint { display: inline; float:right; }
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 392 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,180 +0,0 @@
|
||||
var state = {
|
||||
'querySet': [{
|
||||
"clientUUID": "436c4774-038f-4540-9c18-2691ca9b53d4",
|
||||
"mockedResponseId": 1908998,
|
||||
"mediaType": "application/xml",
|
||||
"messageBody": "body",
|
||||
"httpHeaders": null,
|
||||
"httpStatus": 200
|
||||
}],
|
||||
|
||||
'page': 1,
|
||||
'rows': 10,
|
||||
'window': 5,
|
||||
}
|
||||
|
||||
var myList, data, previousSort;
|
||||
state.querySet = listForPagination;
|
||||
buildTable();
|
||||
|
||||
for (let i = 3; i >= 0; i--) {
|
||||
document.querySelector('#btn-sort-' + i).addEventListener('click', function() {
|
||||
addButtonListeners(i)
|
||||
})
|
||||
}
|
||||
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('activeButton');
|
||||
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);
|
||||
if (pages === 0) {
|
||||
pages = 1
|
||||
}
|
||||
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 += `<button value=${page} class="page btn btn-sm btn-info" name="allMessagesClicked">${page}</button>`
|
||||
} else {
|
||||
wrapper.innerHTML += `<button value=${page} class="page btn btn-sm btn-info">${page}</button>`
|
||||
}
|
||||
}
|
||||
if (state.page != 1) {
|
||||
wrapper.innerHTML = `<button value=${1} class="page btn btn-sm btn-info">« First</button>` + wrapper.innerHTML
|
||||
}
|
||||
if (state.page != pages) {
|
||||
wrapper.innerHTML += `<button value=${pages} class="page btn btn-sm btn-info">Last »</button>`
|
||||
}
|
||||
$('.page').on('click', function() {
|
||||
$('#table-body').empty()
|
||||
|
||||
state.page = Number($(this).val())
|
||||
|
||||
buildPage()
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
function showBody(elt){
|
||||
$("#" + elt.id + "-body").toggle();
|
||||
}
|
||||
|
||||
function showTable() {
|
||||
var table = $('#table-body')
|
||||
table.empty();
|
||||
var color;
|
||||
console.log(myList);
|
||||
for (var i = 1; i <= myList.length; i++) {
|
||||
var j = i + (state.page - 1) * 10;
|
||||
i % 2 === 0 ? color = "#b3ffff" : color="#e6ffff";
|
||||
var row = `<tr bgcolor="${color}" id="etrack-tr-${j}" onclick="showBody(this)" name="tr-button">
|
||||
<td>` + j + `</td>
|
||||
<td>${myList[i-1].messageId}</td>
|
||||
<td>${myList[i-1].dateTimeStamp}</td>
|
||||
<td>${myList[i-1].interfaceName}</td>
|
||||
</tr>
|
||||
<tr bgcolor="${color}" id="etrack-tr-${j}-body" name="tr-body" hidden>
|
||||
<td colspan="4">"${JSON.stringify(myList[i-1].message)}"</td>
|
||||
</tr>`
|
||||
table.append(row)
|
||||
|
||||
|
||||
}
|
||||
for (var i = myList.length + 1; i <= state.rows; i++) {
|
||||
i % 2 === 0 ? color = "#b3ffff" : color="#e6ffff";
|
||||
var j = i + (state.page - 1) * 10;
|
||||
var row = `<tr bgcolor="${color}">
|
||||
<td>` + j + `</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
`
|
||||
table.append(row)
|
||||
}
|
||||
|
||||
pageButtons(data.pages)
|
||||
}
|
||||
|
||||
|
||||
function sortTable() {
|
||||
var sortBy = document.querySelector('.activeButton').textContent
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
state.querySet.sort((a, b) => (a.messageId > b.messageId) ? -1 : ((b.messageId > a.messageId) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.messageId > b.messageId) ? 1 : ((b.messageId > a.messageId) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
case "TimeStamp":
|
||||
if (previousSort === "TimeStamp") {
|
||||
state.querySet.sort((a, b) => (a.dateTimeStamp > b.dateTimeStamp) ? -1 : ((b.dateTimeStamp > a.dateTimeStamp) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.dateTimeStamp > b.dateTimeStamp) ? 1 : ((b.dateTimeStamp > a.dateTimeStamp) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
case "Action":
|
||||
if (previousSort === "Action") {
|
||||
state.querySet.sort((a, b) => (a.interfaceName > b.interfaceName) ? -1 : ((b.interfaceName > a.interfaceName) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.interfaceName > b.interfaceName) ? 1 : ((b.interfaceName > a.interfaceName) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (previousSort === sortBy) {
|
||||
previousSort = ""
|
||||
} else previousSort = sortBy;
|
||||
}
|
||||
|
||||
function prepareTable() {
|
||||
data = pagination(state.querySet, state.page, state.rows)
|
||||
myList = data.querySet
|
||||
}
|
||||
|
||||
function buildTable() {
|
||||
sortTable();
|
||||
prepareTable();
|
||||
showTable();
|
||||
}
|
||||
|
||||
function buildPage() {
|
||||
prepareTable();
|
||||
showTable();
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
function httpGet()
|
||||
{
|
||||
var clientUUID = document.getElementById("getClientUUID").value;
|
||||
var mockedResponseId = document.getElementById("getMockedResponseId").value;
|
||||
var url = "http://localhost:8097/klaus/v1/get/" + clientUUID + "/" + mockedResponseId;
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.open( "GET", url, false ); // false for synchronous request
|
||||
xmlHttp.send( null );
|
||||
|
||||
var container = document.getElementById("getMockedResponse");
|
||||
var headers = xmlHttp.getAllResponseHeaders();
|
||||
container.appendChild(document.createTextNode(headers));
|
||||
container.appendChild(document.createTextNode("Your message: "));
|
||||
container.appendChild(document.createElement("br"));
|
||||
container.appendChild(document.createTextNode((xmlHttp.responseText)));
|
||||
return xmlHttp.responseText;
|
||||
|
||||
}
|
||||
|
||||
var numberOfHeaders = 0;
|
||||
function addFields(){
|
||||
var container = document.getElementById("headers");
|
||||
|
||||
numberOfHeaders++;
|
||||
container.appendChild(document.createElement("br"));
|
||||
container.appendChild(document.createTextNode("Header " + (numberOfHeaders)));
|
||||
var headerInput = document.createElement("input");
|
||||
headerInput.type = "text";
|
||||
headerInput.name = "header";
|
||||
container.appendChild(headerInput);
|
||||
|
||||
container.appendChild(document.createTextNode("Value " + (numberOfHeaders)));
|
||||
var valueInput = document.createElement("input");
|
||||
valueInput.type = "text";
|
||||
valueInput.name = "value";
|
||||
container.appendChild(valueInput);
|
||||
}
|
||||
@@ -1,225 +0,0 @@
|
||||
var state = {
|
||||
'querySet': [{
|
||||
"clientUUID": "436c4774-038f-4540-9c18-2691ca9b53d4",
|
||||
"mockedResponseId": 1908998,
|
||||
"mediaType": "application/xml",
|
||||
"messageBody": "body",
|
||||
"httpHeaders": null,
|
||||
"httpStatus": 200
|
||||
}],
|
||||
|
||||
'page': 1,
|
||||
'rows': 10,
|
||||
'window': 5,
|
||||
}
|
||||
|
||||
var myList, data, previousSort;
|
||||
state.querySet = listForPagination;
|
||||
buildTable();
|
||||
|
||||
|
||||
document.querySelector('#btn-list-1').addEventListener('click', function() {
|
||||
var x = document.getElementById("list-wrapper");
|
||||
if (x.style.display === "none") {
|
||||
x.style.display = "block";
|
||||
} else {
|
||||
x.style.display = "none";
|
||||
}
|
||||
})
|
||||
|
||||
document.querySelector('#btn-list-2').addEventListener('click', function() {
|
||||
var x = document.getElementById("advanced-wrapper");
|
||||
if (x.style.display === "none") {
|
||||
x.style.display = "block";
|
||||
} else {
|
||||
x.style.display = "none";
|
||||
}
|
||||
})
|
||||
|
||||
for (let i = 3; i >= 0; i--) {
|
||||
document.querySelector('#btn-sort-' + i).addEventListener('click', function() {
|
||||
addButtonListeners(i)
|
||||
})
|
||||
}
|
||||
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('activeButton');
|
||||
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);
|
||||
if(pages === 0){pages = 1}
|
||||
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 += `<button value=${page} class="page btn btn-sm btn-info" name="allMessagesClicked">${page}</button>`
|
||||
} else {
|
||||
wrapper.innerHTML += `<button value=${page} class="page btn btn-sm btn-info">${page}</button>`
|
||||
}
|
||||
}
|
||||
|
||||
if (state.page != 1) {
|
||||
wrapper.innerHTML = `<button value=${1} class="page btn btn-sm btn-info">« First</button>` + wrapper.innerHTML
|
||||
}
|
||||
|
||||
if (state.page != pages) {
|
||||
wrapper.innerHTML += `<button value=${pages} class="page btn btn-sm btn-info">Last »</button>`
|
||||
}
|
||||
|
||||
$('.page').on('click', function() {
|
||||
$('#table-body').empty()
|
||||
|
||||
state.page = Number($(this).val())
|
||||
|
||||
buildPage()
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
function showTable() {
|
||||
var table = $('#table-body')
|
||||
table.empty();
|
||||
for (var i = 1; i <= myList.length; i++) {
|
||||
var j = i + (state.page - 1) * 10;
|
||||
if (i % 2 === 0) {
|
||||
var row = `<tr bgcolor="#b3ffff">
|
||||
<td>` + j + `</td>
|
||||
<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">
|
||||
<td>` + j + `</td>
|
||||
<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>
|
||||
`
|
||||
}
|
||||
table.append(row)
|
||||
}
|
||||
for (var i = myList.length + 1; i <= state.rows; i++) {
|
||||
var j = i + (state.page - 1) * 10;
|
||||
if (i % 2 === 0) {
|
||||
var row = `<tr bgcolor="#b3ffff">
|
||||
<td>` + j + `</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
`
|
||||
} else {
|
||||
var row = `<tr bgcolor="#e6ffff">
|
||||
<td>` + j + `</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
`
|
||||
}
|
||||
table.append(row)
|
||||
}
|
||||
pageButtons(data.pages)
|
||||
}
|
||||
|
||||
function sortTable() {
|
||||
console.log("sortTable");
|
||||
var sortBy = document.querySelector('.activeButton').textContent;
|
||||
console.log(sortBy);
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
state.querySet.sort((a, b) => (a.mockedResponseId > b.mockedResponseId) ? -1 : ((b.mockedResponseId > a.mockedResponseId) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.mockedResponseId > b.mockedResponseId) ? 1 : ((b.mockedResponseId > a.mockedResponseId) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
case "Media Type":
|
||||
if (previousSort === "Media Type") {
|
||||
state.querySet.sort((a, b) => (a.mediaType > b.mediaType) ? -1 : ((b.mediaType > a.mediaType) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.mediaType > b.mediaType) ? 1 : ((b.mediaType > a.mediaType) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
case "Http Status":
|
||||
if (previousSort === "Http Status") {
|
||||
state.querySet.sort((a, b) => (a.httpStatus > b.httpStatus) ? -1 : ((b.httpStatus > a.httpStatus) ? 1 : 0));
|
||||
} else {
|
||||
state.querySet.sort((a, b) => (a.httpStatus > b.httpStatus) ? 1 : ((b.httpStatus > a.httpStatus) ? -1 : 0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (previousSort === sortBy) {
|
||||
previousSort = ""
|
||||
} else previousSort = sortBy;
|
||||
myList = state.querySet;
|
||||
console.log(myList);
|
||||
}
|
||||
|
||||
function prepareTable() {
|
||||
data = pagination(state.querySet, state.page, state.rows)
|
||||
myList = data.querySet
|
||||
}
|
||||
|
||||
function buildTable() {
|
||||
console.log("buildTable");
|
||||
sortTable();
|
||||
prepareTable();
|
||||
showTable();
|
||||
}
|
||||
|
||||
function buildPage(){
|
||||
prepareTable();
|
||||
showTable();
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>R11 Klaus</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,600" rel="stylesheet" type="text/css">
|
||||
<link href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="/css/styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="container">
|
||||
<div id="header"></div>
|
||||
<div id="container1">
|
||||
<div id="sidebar"></div>
|
||||
<div id="child-body">
|
||||
<section class="page-section" id="main-section">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<br>To see your activity history use the form below
|
||||
<form action="#" th:action="@{/etrack/__${clientUUID}__}" th:object="${eventRequestDto}" method="post">
|
||||
<input type="text" th:name="clientUUID" th:value="${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>
|
||||
<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>
|
||||
<div th:if="${#fields.hasAnyErrors()}">
|
||||
<p th:each="err : ${#fields.allErrors()}" th:text="${err}">...</p>
|
||||
</div>
|
||||
<input type="submit" value="See my history"/>
|
||||
</form>
|
||||
</div>
|
||||
<div class="column">
|
||||
<br>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="tr-pageable"><p class="btn-sort" id="btn-sort-0">#</p></th>
|
||||
<th class="tr-pageable"><p class="btn-sort activeButton" id="btn-sort-1">MessageId</p></th>
|
||||
<th class="tr-pageable"><p class="btn-sort" id="btn-sort-2">TimeStamp</p></th>
|
||||
<th class="tr-pageable"><p class="btn-sort" id="btn-sort-3">Action</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="table-body">
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="container ">
|
||||
<div id="pagination-wrapper"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="foot"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<script>
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/navbar.html", function(data){
|
||||
$("#header").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/sidebar.html", function(data){
|
||||
$("#sidebar").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/footer.html", function(data){
|
||||
$("#foot").html(data);
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" th:inline="javascript">
|
||||
var listForPagination = /*[[${eventList}]]*/;
|
||||
</script>
|
||||
<script src="/js/etrackPaggination.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,249 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>R11 Klaus</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,600" rel="stylesheet" type="text/css">
|
||||
<link href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="/css/styles.css" rel="stylesheet"/>
|
||||
</head>
|
||||
<body>
|
||||
<hr>
|
||||
<div id="container">
|
||||
<div id="header"></div>
|
||||
<div id="container1">
|
||||
<div id="sidebar"></div>
|
||||
<div id="child-body">
|
||||
<div class="container">
|
||||
<section class="page-section" id="main-section">
|
||||
<div class="container">
|
||||
<p>With this tool you can create mockups for http requests and use them for integration tests of
|
||||
your system.</p>
|
||||
<div>
|
||||
<br>
|
||||
<p>You can test the mocked message using the url or the button below:</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
http://[[${localhost}]]:8097/klaus/v1/get/[[${mockedMessageDto.clientUUID}]]/[[${mockedMessageDto.mockedResponseId}]]</p>
|
||||
</td>
|
||||
<td>
|
||||
<form action="#" th:action="@{/home/getMockedResponse}"
|
||||
th:object="${mockedMessageDto}"
|
||||
method="get">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<input type="text" th:field="*{mockedResponseId}" hidden/>
|
||||
<input type="submit" value="Test your mock"/>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table>
|
||||
<p>In order to set or update mockup response please fill the form below and save
|
||||
your message:</p>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tr>
|
||||
<td>Media type:</td>
|
||||
<td>
|
||||
<label><select th:field="*{mediaType}">
|
||||
<option value="application/xml">application/xml</option>
|
||||
<option value="application/json">application/json</option>
|
||||
<option value="text/xml">text/xml</option>
|
||||
</select>
|
||||
<span class="hint">Standard that indicates the nature and format of a document, file, or assortment of bytes.</span>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Mocked response body:</td>
|
||||
<td><label><textarea rows="4" cols="30" th:field="*{messageBody}"
|
||||
placeholder="Your message body"></textarea>
|
||||
<span class="hint">The resource data that will be requested by the client.</span>
|
||||
</label>
|
||||
</td>
|
||||
<td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">
|
||||
Body Error
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response http code status:</td>
|
||||
<td>
|
||||
<label>
|
||||
<input type="text" th:field="*{httpStatus}" placeholder="200">
|
||||
<span class="hint">Status codes are issued by a server in response to a client's request made to the server.</span>
|
||||
</label></td>
|
||||
<td th:if="${#fields.hasErrors('httpStatus')}" th:errors="*{httpStatus}">
|
||||
HttpStatus Error
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Header name</td>
|
||||
<td>Header value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<label>
|
||||
<td><input type="text" name="headerKey" id="headerKey"
|
||||
placeholder="myHeaderKey"/>
|
||||
<span class="hint"></span>
|
||||
</label></td>
|
||||
<td>
|
||||
<label>
|
||||
<input type="text" name="headerValue" id="headerValue"
|
||||
placeholder="myHeaderValue"/>
|
||||
<span class="hint">HTTP headers let the client and the server pass additional information with an HTTP request or response.</span>
|
||||
<input type="image" name="addHeader" src="/img/icons8-plus-48.png"
|
||||
style="width: 20px;"/>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:each="entry, stats : *{httpHeaders}">
|
||||
<td bgcolor="#b3ffff"><input type="text" name="value" th:value="${entry.key}"
|
||||
disabled="disabled"/></td>
|
||||
<td>
|
||||
	
|
||||
<input type="text" name="value"
|
||||
th:field="*{httpHeaders[__${entry.key}__]}"/>
|
||||
<button type="submit" name="removeHeader" th:value="${entry.key}">
|
||||
<img src="/img/icons8-cancel-64.png" style="width: 20px;"/>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response id:</td>
|
||||
<td><label><input type="text" th:field="*{mockedResponseId}"
|
||||
th:value="*{mockedResponseId}"/>
|
||||
<span class="hint">Unique identifier for the mocked message.</span>
|
||||
</label></td>
|
||||
<td th:if="${#fields.hasErrors('mockedResponseId')}"
|
||||
th:errors="*{mockedResponseId}">Id
|
||||
Error
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="submit" value="Save my message"/></td>
|
||||
<td>
|
||||
<button type="submit" name="newMessage" th:value="*{clientUUID}">
|
||||
<img src="/img/update-button.png" style="width: 20px;"/>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
<p th:if="${mockSaved}">Mock has been saved</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<form action="#" th:action="@{/etrack/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}"
|
||||
method="get">
|
||||
<p><input type="submit" value="History"/></p>
|
||||
</form>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn-list" name="Messages List" id="btn-list-1">Messages List
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn-list" name="Messages List" id="btn-list-2">Advanced</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div id="list-wrapper" style="display: none;">
|
||||
<p>Here you can see the interactive list of all your mocked messages. You can call all of them. Use
|
||||
the buttons to sort the list and also update or delete messages.</p>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="tr-pageable">
|
||||
<p class="btn-sort" id="btn-sort-0">#</p>
|
||||
</th>
|
||||
<th class="tr-pageable">
|
||||
<p class="btn-sort activeButton" id="btn-sort-1">MessageId</p>
|
||||
</th>
|
||||
<th class="tr-pageable">
|
||||
<p class="btn-sort" id="btn-sort-2">Media Type</p>
|
||||
</th>
|
||||
<th class="tr-pageable">
|
||||
<p class="btn-sort" id="btn-sort-3">Http Status</p>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tbody id="table-body">
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<div class="container ">
|
||||
<div id="pagination-wrapper"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div id="advanced-wrapper" style="display: none;">
|
||||
<br>If you are keen to use the mocking service with bigger amount of messages or automate the process by
|
||||
inserting
|
||||
high amount of random messages please consider using swagger or send batch requests on the urls below:
|
||||
|
||||
<br><a
|
||||
href="http://[[${localhost}]]:8097/swagger-ui.html">http://[[${localhost}]]:8097/swagger-ui.html</a>
|
||||
<br>
|
||||
<br>http://[[${localhost}]]:8097/klaus/v1/delete/[[${mockedMessageDto.clientUUID}]]/{mockedResponseId}
|
||||
<br>http://[[${localhost}]]:8097/klaus/v1/set/[[${mockedMessageDto.clientUUID}]]/{mockedResponseId}?httpStatus={httpStatus}
|
||||
<br>http://[[${localhost}]]:8097/klaus/v1/get/[[${mockedMessageDto.clientUUID}]]/{mockedResponseId}
|
||||
<br>http://[[${localhost}]]:8097/klaus/v1/getAll/[[${mockedMessageDto.clientUUID}]]
|
||||
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="foot"></div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" th:inline="javascript">
|
||||
var listForPagination = /*[[${mockedMessageDtoList}]]*/;
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<script src="/js/paggination.js"></script>
|
||||
<script>
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/navbar.html", function(data){
|
||||
$("#header").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/sidebar.html", function(data){
|
||||
$("#sidebar").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/footer.html", function(data){
|
||||
$("#foot").html(data);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,24 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Login</title>
|
||||
<script>var mockedMessageDtoList = "[[${mockedMessageDtoList}]]";
|
||||
console.log(mockedMessageDtoList.mockedResponseId);
|
||||
console.log(mockedMessageDtoList);</script>
|
||||
<link href="css/styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body>
|
||||
<div><br>Please move to the next step with your own client UUID: </div>
|
||||
<form action="#" th:action="@{/home/{path}(path=${type})}" method="get">
|
||||
<br><label >Please provide your client UUID:</label><br/>
|
||||
<input type="text" name="clientUUID" value="436c4774-038f-4540-9c18-2691ca9b53d4" />
|
||||
<input type="submit" value="Proceed"/>
|
||||
</form>
|
||||
<div><br>You can also register new UUID. *some logic to register UUID*:
|
||||
<br><a th:text="${clientUUID}">clientUUID should be here</a>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="container">
|
||||
<div id="header"></div>
|
||||
<div id="container1">
|
||||
<div id="sidebar"></div>
|
||||
<div id="child-body">
|
||||
<div class="container">
|
||||
<div id="content">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
|
||||
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
||||
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
||||
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et
|
||||
commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.
|
||||
Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec
|
||||
lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est
|
||||
euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec
|
||||
fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget,
|
||||
consequat quis, neque</p>
|
||||
</div>
|
||||
<br>
|
||||
<div id="content1">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
|
||||
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
||||
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
||||
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et
|
||||
commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.
|
||||
Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec
|
||||
lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est
|
||||
euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec
|
||||
fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget,
|
||||
consequat quis, neque</p>
|
||||
</div>
|
||||
<br>
|
||||
<div id="content2">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
|
||||
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
||||
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
||||
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et
|
||||
commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.
|
||||
Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec
|
||||
lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est
|
||||
euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec
|
||||
fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget,
|
||||
consequat quis, neque</p>
|
||||
</div>
|
||||
<br>
|
||||
<div id="content3">
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
|
||||
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
||||
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
||||
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et
|
||||
commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.
|
||||
Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec
|
||||
lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est
|
||||
euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec
|
||||
fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget,
|
||||
consequat quis, neque</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="foot"></div>
|
||||
</div>
|
||||
<script>
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/navbar.html", function(data){
|
||||
$("#header").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/sidebar.html", function(data){
|
||||
$("#sidebar").html(data);
|
||||
});
|
||||
$.get("https://raw.githubusercontent.com/Szakalakamaka/viewpresenter/master/src/main/resources/templates/footer.html", function(data){
|
||||
$("#foot").html(data);
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
var list = document.getElementById("parentPage");
|
||||
<!--list.removeChild(list.childNodes[0]);-->
|
||||
|
||||
var table = document.getElementById('parentPage');
|
||||
var table1 = document.getElementById('parentPage');
|
||||
console.log(table1);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,128 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<title>Blog - Release11 - nowoczesne technologie IT.2</title>
|
||||
<meta name="description" content="Release<sup>11</sup> jest nowoczesną firma zajmującą się automatyzacją procesów biznesowych związanych z wymianą informacji pomiędzy różnymi systemami i zbudowaną w oparciu o uznawane na całym świecie mechanizmy i wzorce." />
|
||||
<meta name="generator" content="Quick.Cms.Ext v6.4" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="shortcut icon" href="templates/default/img/favicon.ico" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,700&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="templates/default/style.css" />
|
||||
<link rel="stylesheet" href="templates/default/style-sliders.css" />
|
||||
<link rel="stylesheet" href="templates/default/style-widgets.css" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="plugins/slick/slick.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="plugins/slick/slick-theme.css"/>
|
||||
|
||||
<link rel="stylesheet" href="plugins/menu/jquery.sidr.light.min.css" />
|
||||
<link rel="stylesheet" href="plugins/menu/hamburger.css" />
|
||||
<link rel="stylesheet" href="plugins/aos/aos2.css" />
|
||||
|
||||
<link rel="stylesheet" href="templates/default/responsive.css" />
|
||||
|
||||
<script src="plugins/jquery.min.js"></script>
|
||||
<script src="core/common.js"></script>
|
||||
<script src="core/libraries/quick.slider.min.js"></script>
|
||||
<meta property="og:url" content="http://rel.qtf.com.pl/blog.html" /><meta property="og:type" content="article" /><meta property="og:title" content="Blog" /><meta property="og:image" content="http://rel.qtf.com.pl/files/default_open_graph_image.jpg" />
|
||||
</head>
|
||||
<body id="page42" class="blog">
|
||||
<nav id="skiplinks" aria-label="skiplinks">
|
||||
<ul>
|
||||
<li><a href="#head2">Przejdź do menu głównego</a></li>
|
||||
<li><a href="#content">Przejdź do treści</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div id="header">
|
||||
<header id="head1"> <div class="container">
|
||||
<h1 id="logo"><a href="./"><img src="templates/default/img/Release11logo_color.svg" alt="Release11"/></a></h1>
|
||||
<nav class="menu-1" aria-label="menu-1"><ul><li><a href="./#slider-1">Start</a></li><li><a href="./#widget-2">Misja</a></li><li class=" drop-down"><a href="./#widget-1">Oferta</a><ul><li><a href="./#widget-9">Administracja systemami IT</a></li><li><a href="./#widget-10">NoSQL DataBases</a></li><li><a href="./#widget-11">Nowoczesna infrastruktura IT</a></li><li><a href="./#widget-12">Technologia XML</a></li><li><a href="./#widget-13">Usługi</a></li><li><a href="./#widget-14">Integracja systemów IT</a></li></ul></li><li><a href="./#widget-4">Bezpieczeństwo</a></li><li><a href="./#widget-5">Dlaczego My</a></li><li><a href="./blog.html">Blog</a></li><li class="selected"><a href="./tools.html">Narzędzia</a></li><li><a href="./#widget-6">Kontakt</a></li></ul></nav>
|
||||
<div class="hamburger hamburger--stand" id="hamburger-menu">
|
||||
<div class="hamburger-box">
|
||||
<div class="hamburger-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
<div id="container">
|
||||
|
||||
|
||||
<div id="body">
|
||||
<div class="container">
|
||||
<div id="content">
|
||||
<article id="page">
|
||||
<h1>Blog</h1><div class="content"><ul class="pages-list pages-4"><li id="page-46"><div class="image" data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-4.html"><img src="files/700/planszaban2_16x9.jpg" alt="" /></a></div><h2 data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-4.html">Tytuł Artykul 4</a></h2><time>24.08.2020</time><div class="description" data-aos="zoom-in" data-aos-offset="0"><p>Tekst 100 znaków</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque</p></div><li id="page-45"><div class="image" data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-3.html"><img src="files/700/plansza1_16x9.jpg" alt="" /></a></div><h2 data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-3.html">Tytuł Artykul 3</a></h2><time>24.08.2020</time><div class="description" data-aos="zoom-in" data-aos-offset="0"><p>Tekst 100 znaków</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque</p></div><li id="page-44"><div class="image" data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-2.html"><img src="files/700/plansza2_16x9.jpg" alt="" /></a></div><h2 data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-2.html">Tytuł Artykul 2</a></h2><time>24.08.2020</time><div class="description" data-aos="zoom-in" data-aos-offset="0"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque</p></div><li id="page-43"><div class="image" data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-1.html"><img src="files/700/planszatel_16x9.jpg" alt="" /></a></div><h2 data-aos="zoom-in" data-aos-offset="0"><a href="tytul-artykul-1.html">Tytuł Artykul 1</a></h2><time>24.08.2020</time><div class="description" data-aos="zoom-in" data-aos-offset="0"><p>Tekst 100 znaków</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque</p></div></ul></article>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="foot"> <footer>
|
||||
<div class="container">
|
||||
<div class="copy">© 2020 Release<sup>11</sup> - Wszelkie prawa zastrzeżone. <nav class="menu-2" aria-label="menu-2"><ul><li><a href="./polityka-prywatnosci.html">Polityka prywatności</a></li></ul></nav></div>
|
||||
<!--
|
||||
Read the license before you change the footer
|
||||
www.opensolution.org/licenses.html
|
||||
-->
|
||||
<div class="power"><a href="http://opensolution.org/">powered by Quick.Cms</a> | <a href="http://www.grafiqa.pl/">design grafiQa.pl</a></div>
|
||||
<div id="logoFoot"><a href="./"><img src="templates/default/img/Release11logo_szare.svg" alt="Release11" /></a></div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<script src="plugins/jquery.mobile.events-touch.min.js"></script>
|
||||
<script src="core/libraries/quick.box.min.js"></script>
|
||||
<script type="text/javascript" src="plugins/slick/slick.min.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$('#page-14 h2, #page-14 .description').click(function(e) {
|
||||
//jeżeli popup nie jest widoczny to go pokaż
|
||||
if (!$('.popup:visible').length) {
|
||||
$('.popup').fadeIn();
|
||||
}
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
//zdarzenie zamknięcia podpinamy pod przycisk close i pod tło popupa
|
||||
$('.popup .close, .popup .bg, .contact-panel.send .bg, .contact-panel.send .close').click(function() {
|
||||
$(this).parents('.popup, .contact-panel.send').fadeOut();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="plugins/menu/jquery.sidr.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#hamburger-menu').sidr({
|
||||
name: 'sidr-main',
|
||||
side: 'right',
|
||||
source: '.menu-1',
|
||||
onOpen:function() {
|
||||
$('#hamburger-menu').toggleClass('is-active');
|
||||
$('#header').addClass('open_menu');
|
||||
},
|
||||
onClose:function() {
|
||||
$('#hamburger-menu').toggleClass('is-active');
|
||||
$('#header').removeClass('open_menu');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$( window ).resize(function () {
|
||||
$.sidr('close', 'sidr');
|
||||
});
|
||||
</script>
|
||||
<script src="plugins/aos/aos.js"></script>
|
||||
<script>
|
||||
AOS.init();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,62 +0,0 @@
|
||||
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-11-02T15:54:49+0100",
|
||||
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<String, String> map = mockedMessageDto.getHttpHeaders();
|
||||
if ( map != null ) {
|
||||
mockedMessage.setHttpHeaders( new HashMap<String, String>( 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<String, String> map = mockedMessage.getHttpHeaders();
|
||||
if ( map != null ) {
|
||||
mockedMessageDto.httpHeaders( new HashMap<String, String>( map ) );
|
||||
}
|
||||
mockedMessageDto.httpStatus( mockedMessage.getHttpStatus() );
|
||||
|
||||
return mockedMessageDto.build();
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
com\release11\klaus\mappers\MockedMessageMapperImpl.class
|
||||
com\release11\klaus\model\Event$EventBuilder.class
|
||||
com\release11\klaus\model\Event.class
|
||||
com\release11\klaus\controller\KlausController.class
|
||||
com\release11\klaus\service\KlausServiceImpl.class
|
||||
com\release11\klaus\KlausApplication.class
|
||||
com\release11\klaus\repository\MockedResponseRepository.class
|
||||
com\release11\klaus\repository\EventRepositoryImpl.class
|
||||
com\release11\klaus\mappers\MockedMessageMapper.class
|
||||
com\release11\klaus\service\KlausService.class
|
||||
com\release11\klaus\service\EtrackService.class
|
||||
com\release11\klaus\model\MockedMessageDto.class
|
||||
com\release11\klaus\config\LocalDiscovery.class
|
||||
com\release11\klaus\model\constraints\HttpCodeValidation.class
|
||||
com\release11\klaus\utilis\RedisAppender.class
|
||||
com\release11\klaus\model\MockedMessageDto$MockedMessageDtoBuilder.class
|
||||
com\release11\klaus\config\RedisConfig.class
|
||||
com\release11\klaus\model\MockedMessage.class
|
||||
com\release11\klaus\controller\MvcExceptionHandler.class
|
||||
com\release11\klaus\model\EventRequestDto$EventRequestDtoBuilder.class
|
||||
com\release11\klaus\model\EventRequestDto.class
|
||||
com\release11\klaus\utilis\BusinessKey.class
|
||||
com\release11\klaus\controller\EventController.class
|
||||
com\release11\klaus\utilis\TrackingClient.class
|
||||
com\release11\klaus\config\SwaggerConfig.class
|
||||
com\release11\klaus\service\EtrackServiceImpl.class
|
||||
com\release11\klaus\controller\MainController.class
|
||||
com\release11\klaus\controller\KlausMvcController.class
|
||||
com\release11\klaus\repository\EventRepository.class
|
||||
com\release11\klaus\model\constraints\HttpCode.class
|
||||
@@ -1,26 +0,0 @@
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\controller\MainController.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\Event.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\repository\MockedResponseRepository.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\repository\EventRepository.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\EventRequestDto.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\controller\MvcExceptionHandler.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\config\LocalDiscovery.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\controller\EventController.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\utilis\RedisAppender.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\constraints\HttpCodeValidation.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\constraints\HttpCode.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\repository\EventRepositoryImpl.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\controller\KlausController.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\KlausApplication.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\mappers\MockedMessageMapper.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\MockedMessage.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\config\RedisConfig.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\config\SwaggerConfig.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\service\EtrackServiceImpl.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\service\KlausService.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\utilis\TrackingClient.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\controller\KlausMvcController.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\service\KlausServiceImpl.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\model\MockedMessageDto.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\service\EtrackService.java
|
||||
D:\phabricator\mockedservices-master\src\main\java\com\release11\klaus\utilis\BusinessKey.java
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user