update to current version
all initial features implemented tbd: etrack front
This commit is contained in:
13
.idea/libraries/Maven__com_cwbase_logback_redis_appender_1_1_6.xml
generated
Normal file
13
.idea/libraries/Maven__com_cwbase_logback_redis_appender_1_1_6.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: com.cwbase:logback-redis-appender:1.1.6">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/cwbase/logback-redis-appender/1.1.6/logback-redis-appender-1.1.6.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/cwbase/logback-redis-appender/1.1.6/logback-redis-appender-1.1.6-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/cwbase/logback-redis-appender/1.1.6/logback-redis-appender-1.1.6-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
generated
Normal file
13
.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: com.fasterxml:classmate:1.5.1">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.5.1/classmate-1.5.1-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/classmate/1.5.1/classmate-1.5.1-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml
generated
Normal file
13
.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/persistence/jakarta.persistence-api/2.2.3/jakarta.persistence-api-2.2.3.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/persistence/jakarta.persistence-api/2.2.3/jakarta.persistence-api-2.2.3-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/persistence/jakarta.persistence-api/2.2.3/jakarta.persistence-api-2.2.3-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml
generated
Normal file
13
.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: jakarta.validation:jakarta.validation-api:2.0.2">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml
generated
Normal file
13
.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.hibernate.validator:hibernate-validator:6.1.5.Final">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/validator/hibernate-validator/6.1.5.Final/hibernate-validator-6.1.5.Final.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/validator/hibernate-validator/6.1.5.Final/hibernate-validator-6.1.5.Final-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/validator/hibernate-validator/6.1.5.Final/hibernate-validator-6.1.5.Final-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
generated
Normal file
13
.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_3_1_RELEASE.xml
generated
Normal file
13
.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_3_1_RELEASE.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.springframework.boot:spring-boot-starter-validation:2.3.1.RELEASE">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-validation/2.3.1.RELEASE/spring-boot-starter-validation-2.3.1.RELEASE.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-validation/2.3.1.RELEASE/spring-boot-starter-validation-2.3.1.RELEASE-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-starter-validation/2.3.1.RELEASE/spring-boot-starter-validation-2.3.1.RELEASE-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml
generated
Normal file
13
.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_2_6_RELEASE.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.springframework.data:spring-data-redis:2.2.6.RELEASE">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/data/spring-data-redis/2.2.6.RELEASE/spring-data-redis-2.2.6.RELEASE.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/data/spring-data-redis/2.2.6.RELEASE/spring-data-redis-2.2.6.RELEASE-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/data/spring-data-redis/2.2.6.RELEASE/spring-data-redis-2.2.6.RELEASE-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.release11.klaus.model.constraints;
|
||||
|
||||
import javax.validation.Constraint;
|
||||
import javax.validation.Payload;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
|
||||
@Target({ ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Constraint(validatedBy = HttpCodeValidation.class )
|
||||
public @interface HttpCode {
|
||||
String message() default "must be a valid http code";
|
||||
|
||||
Class<?>[] groups() default { };
|
||||
Class<? extends Payload>[] payload() default { };
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.release11.klaus.model.constraints;
|
||||
|
||||
import com.release11.klaus.repository.MockedResponseRepository;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
||||
import javax.validation.ConstraintValidator;
|
||||
import javax.validation.ConstraintValidatorContext;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class HttpCodeValidation implements ConstraintValidator<HttpCode, Integer> {
|
||||
private Set<Integer> allowedValues;
|
||||
|
||||
@Override
|
||||
public void initialize(HttpCode targetEnum) {
|
||||
allowedValues = Stream.of(HttpStatus.values())
|
||||
.map(HttpStatus::value)
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(Integer integer, ConstraintValidatorContext context) {
|
||||
return allowedValues.contains(integer);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.release11.klaus.repository;
|
||||
|
||||
import com.release11.klaus.utilis.BusinessKey;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface LogsRepository {
|
||||
String getLogsByBusinessKeys(List<BusinessKey> businessKeys, ZonedDateTime zonedDateTime);
|
||||
}
|
||||
16
src/main/java/com/release11/klaus/utilis/BusinessKey.java
Normal file
16
src/main/java/com/release11/klaus/utilis/BusinessKey.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.release11.klaus.utilis;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
public enum BusinessKey {
|
||||
INTERFACE_NAME("interfaceName"),
|
||||
CLIENT_UUID("clientUUID"),
|
||||
MESSAGE_ID("messageId");
|
||||
|
||||
private final String phrase;
|
||||
|
||||
public String getReasonPhrase() {
|
||||
return this.phrase;
|
||||
}
|
||||
}
|
||||
18
src/main/java/com/release11/klaus/utilis/TrackingClient.java
Normal file
18
src/main/java/com/release11/klaus/utilis/TrackingClient.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package com.release11.klaus.utilis;
|
||||
|
||||
import org.slf4j.MDC;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public final class TrackingClient {
|
||||
|
||||
private TrackingClient(){};
|
||||
|
||||
public static void setBusinessKeys(Map<BusinessKey, String> businessKeysMap){
|
||||
for (Map.Entry<BusinessKey, String> entry : businessKeysMap.entrySet()) {
|
||||
MDC.put(entry.getKey().getReasonPhrase(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
26
src/main/resources/logback.xml
Normal file
26
src/main/resources/logback.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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.cwbase.logback.RedisAppender">
|
||||
<host>localhost</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>
|
||||
{"date" : "%d{yyyy-MM-dd}", "timestamp":"%d{HH:mm:ss}", "businessKeys": ["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>
|
||||
|
||||
|
||||
38
src/main/resources/static/js/main.js
Normal file
38
src/main/resources/static/js/main.js
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
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);
|
||||
}
|
||||
BIN
target/classes/META-INF/Klaus.kotlin_module
Normal file
BIN
target/classes/META-INF/Klaus.kotlin_module
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
target/classes/com/release11/klaus/utilis/BusinessKey.class
Normal file
BIN
target/classes/com/release11/klaus/utilis/BusinessKey.class
Normal file
Binary file not shown.
BIN
target/classes/com/release11/klaus/utilis/TrackingClient.class
Normal file
BIN
target/classes/com/release11/klaus/utilis/TrackingClient.class
Normal file
Binary file not shown.
26
target/classes/logback.xml
Normal file
26
target/classes/logback.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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.cwbase.logback.RedisAppender">
|
||||
<host>localhost</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>
|
||||
{"date" : "%d{yyyy-MM-dd}", "timestamp":"%d{HH:mm:ss}", "businessKeys": ["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>
|
||||
|
||||
|
||||
38
target/classes/static/js/main.js
Normal file
38
target/classes/static/js/main.js
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user