- fix collisions between js script from main page and the application,
- fix problem with special characters for etrack,
This commit is contained in:
13
.idea/libraries/Maven__com_github_feature_flip_flips_core_1_0_1.xml
generated
Normal file
13
.idea/libraries/Maven__com_github_feature_flip_flips_core_1_0_1.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: com.github.feature-flip:flips-core:1.0.1">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/github/feature-flip/flips-core/1.0.1/flips-core-1.0.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/github/feature-flip/flips-core/1.0.1/flips-core-1.0.1-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/github/feature-flip/flips-core/1.0.1/flips-core-1.0.1-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml
generated
Normal file
13
.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.aspectj:aspectjrt:1.9.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjrt/1.9.5/aspectjrt-1.9.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjrt/1.9.5/aspectjrt-1.9.5-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/aspectj/aspectjrt/1.9.5/aspectjrt-1.9.5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml
generated
Normal file
13
.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.slf4j:jcl-over-slf4j:1.7.30">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.30/jcl-over-slf4j-1.7.30.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.30/jcl-over-slf4j-1.7.30-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.30/jcl-over-slf4j-1.7.30-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
@@ -1,13 +0,0 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/retry/spring-retry/1.2.5.RELEASE/spring-retry-1.2.5.RELEASE.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/retry/spring-retry/1.2.5.RELEASE/spring-retry-1.2.5.RELEASE-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/retry/spring-retry/1.2.5.RELEASE/spring-retry-1.2.5.RELEASE-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
133
.idea/workspace.xml
generated
133
.idea/workspace.xml
generated
@@ -23,12 +23,49 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="458cde88-df3d-44bc-9d57-a33823e2f1a6" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__com_github_feature_flip_flips_core_1_0_1.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/resources/templates/temp.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_5_RELEASE.xml" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/application-DEV.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-DEV.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/bootstrap-PROD.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/bootstrap-PROD.yml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Klaus.iml" beforeDir="false" afterPath="$PROJECT_DIR$/Klaus.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/KlausController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/KlausController.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/KlausMvcController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/controller/KlausMvcController.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/release11/klaus/repository/EventRepositoryImpl.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/application-DEV.properties" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/application-PROD.properties" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/bootstrap.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/bootstrap.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/bootstrap.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/bootstrap.yml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/logback.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/logback.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/static/css/styles.css" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/css/styles.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/static/js/etrackPaggination.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/js/etrackPaggination.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/static/js/paggination.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/js/paggination.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/templates/etrack.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/etrack.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/templates/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/index.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/test/java/com/release11/klaus/controller/KlausMvcControllerTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/release11/klaus/controller/KlausMvcControllerTest.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/application-DEV.properties" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/application-PROD.properties" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/bootstrap.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/bootstrap.properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/com/release11/klaus/controller/KlausController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/release11/klaus/controller/KlausController.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/com/release11/klaus/controller/KlausMvcController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/release11/klaus/controller/KlausMvcController.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/release11/klaus/repository/EventRepositoryImpl.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/com/release11/klaus/service/KlausServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/release11/klaus/service/KlausServiceImpl.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/logback.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/logback.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/static/css/styles.css" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/static/css/styles.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/static/js/etrackPaggination.js" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/static/js/etrackPaggination.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/static/js/paggination.js" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/static/js/paggination.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/templates/etrack.html" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/templates/etrack.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/classes/templates/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/templates/index.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/target/generated-sources/annotations/com/release11/klaus/mappers/MockedMessageMapperImpl.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/test-classes/com/release11/klaus/controller/KlausMvcControllerTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/com/release11/klaus/controller/KlausMvcControllerTest.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -45,9 +82,9 @@
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Interface" />
|
||||
<option value="HTML File" />
|
||||
<option value="Class" />
|
||||
<option value="JUnit5 Test Class" />
|
||||
<option value="HTML File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -80,7 +117,7 @@
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit5" />
|
||||
<property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit5" value="" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../mockedservices-klaus-config-server" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="restartRequiresConfirmation" value="false" />
|
||||
<property name="settings.editor.selected.configurable" value="MavenSettings" />
|
||||
</component>
|
||||
@@ -268,20 +305,6 @@
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1598862102028</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00059" summary="adding logs from the application">
|
||||
<created>1601297895444</created>
|
||||
<option name="number" value="00059" />
|
||||
<option name="presentableId" value="LOCAL-00059" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1601297895444</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00060" summary="clean before the build">
|
||||
<created>1601300366399</created>
|
||||
<option name="number" value="00060" />
|
||||
<option name="presentableId" value="LOCAL-00060" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1601300366399</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00061" summary="clean before the build">
|
||||
<created>1601300573031</created>
|
||||
<option name="number" value="00061" />
|
||||
@@ -611,7 +634,21 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603883796526</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="108" />
|
||||
<task id="LOCAL-00108" summary="adding profiles to bootstrap.yml">
|
||||
<created>1603886642002</created>
|
||||
<option name="number" value="00108" />
|
||||
<option name="presentableId" value="LOCAL-00108" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603886642002</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00109" summary="adding profiles to bootstrap.yml">
|
||||
<created>1603886748106</created>
|
||||
<option name="number" value="00109" />
|
||||
<option name="presentableId" value="LOCAL-00109" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603886748106</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="110" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="UnknownFeatures">
|
||||
@@ -631,7 +668,6 @@
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||
<MESSAGE value="sort buttons for etrack" />
|
||||
<MESSAGE value="js small fixes" />
|
||||
<MESSAGE value="js fix sort paggination, show body for etrack" />
|
||||
<MESSAGE value="changing events describtion" />
|
||||
@@ -656,7 +692,8 @@
|
||||
<MESSAGE value="updating cloud settings" />
|
||||
<MESSAGE value="testing config service" />
|
||||
<MESSAGE value="adding profiles to dockerfile" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="adding profiles to dockerfile" />
|
||||
<MESSAGE value="adding profiles to bootstrap.yml" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="adding profiles to bootstrap.yml" />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="904" y="236" key="#Notifications" timestamp="1600868491636">
|
||||
@@ -708,37 +745,41 @@
|
||||
<state x="549" y="167" key="FileChooserDialogImpl/0.0.1536.824/1920.0.1920.1160@0.0.1536.824" timestamp="1602662342585" />
|
||||
<state x="2606" y="235" key="FileChooserDialogImpl/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603885972656" />
|
||||
<state x="549" y="167" key="FileChooserDialogImpl/0.0.1536.824@0.0.1536.824" timestamp="1602147205037" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.bottom" timestamp="1603886417381">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.bottom" timestamp="1604412796289">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state width="1877" height="239" key="GridCell.Tab.0.bottom/-1920.0.1536.832/0.0.1920.1040@0.0.1920.1040" timestamp="1600275797041" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602249237084" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1604412796289" />
|
||||
<state width="1877" height="261" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255424969" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603886417381" />
|
||||
<state width="1493" height="233" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1160@0.0.1536.824" timestamp="1604328635480" />
|
||||
<state width="1875" height="151" key="GridCell.Tab.0.bottom/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1604317001880" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.bottom/0.0.1536.824@0.0.1536.824" timestamp="1602147432366" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.center" timestamp="1603886417381">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.center" timestamp="1604412796288">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state width="1877" height="239" key="GridCell.Tab.0.center/-1920.0.1536.832/0.0.1920.1040@0.0.1920.1040" timestamp="1600275797041" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602249237084" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1604412796288" />
|
||||
<state width="1877" height="261" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255424968" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603886417381" />
|
||||
<state width="1493" height="233" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1160@0.0.1536.824" timestamp="1604328635480" />
|
||||
<state width="1875" height="151" key="GridCell.Tab.0.center/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1604317001880" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.center/0.0.1536.824@0.0.1536.824" timestamp="1602147432366" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.left" timestamp="1603886417381">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.left" timestamp="1604412796287">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state width="1877" height="239" key="GridCell.Tab.0.left/-1920.0.1536.832/0.0.1920.1040@0.0.1920.1040" timestamp="1600275797041" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602249237084" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1604412796287" />
|
||||
<state width="1877" height="261" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255424967" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603886417381" />
|
||||
<state width="1493" height="233" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1160@0.0.1536.824" timestamp="1604328635480" />
|
||||
<state width="1875" height="151" key="GridCell.Tab.0.left/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1604317001880" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.left/0.0.1536.824@0.0.1536.824" timestamp="1602147432366" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.right" timestamp="1603886417381">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.right" timestamp="1604412796288">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state width="1877" height="239" key="GridCell.Tab.0.right/-1920.0.1536.832/0.0.1920.1040@0.0.1920.1040" timestamp="1600275797041" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602249237084" />
|
||||
<state width="1493" height="49" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1604412796288" />
|
||||
<state width="1877" height="261" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255424969" />
|
||||
<state width="1877" height="317" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603886417381" />
|
||||
<state width="1493" height="233" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1160@0.0.1536.824" timestamp="1604328635480" />
|
||||
<state width="1875" height="151" key="GridCell.Tab.0.right/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1604317001880" />
|
||||
<state width="1493" height="217" key="GridCell.Tab.0.right/0.0.1536.824@0.0.1536.824" timestamp="1602147432366" />
|
||||
<state width="1877" height="297" key="GridCell.Tab.1.bottom" timestamp="1602672852817">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
@@ -786,27 +827,28 @@
|
||||
</state>
|
||||
<state x="277" y="57" key="SettingsEditor/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1600935670743" />
|
||||
<state x="277" y="57" key="SettingsEditor/0.0.1536.824@0.0.1536.824" timestamp="1601975962923" />
|
||||
<state x="2371" y="204" key="Vcs.Push.Dialog.v2" timestamp="1603883799501">
|
||||
<state x="2371" y="204" key="Vcs.Push.Dialog.v2" timestamp="1603886750020">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
</state>
|
||||
<state x="451" y="183" key="Vcs.Push.Dialog.v2/-1920.0.1536.832/0.0.1920.1040@0.0.1920.1040" timestamp="1600275760386" />
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1600350277680" />
|
||||
<state x="2371" y="183" key="Vcs.Push.Dialog.v2/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255416393" />
|
||||
<state x="2371" y="204" key="Vcs.Push.Dialog.v2/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603883799501" />
|
||||
<state x="2371" y="204" key="Vcs.Push.Dialog.v2/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603886750020" />
|
||||
<state x="361" y="145" key="Vcs.Push.Dialog.v2/0.0.1536.824@0.0.1536.824" timestamp="1602145235569" />
|
||||
<state width="968" height="528" key="XDebugger.FullValuePopup" timestamp="1602076898344">
|
||||
<screen x="1920" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="968" height="528" key="XDebugger.FullValuePopup/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602076898344" />
|
||||
<state x="2595" y="235" key="com.intellij.testIntegration.createTest.CreateTestDialog" timestamp="1602255236575">
|
||||
<screen x="1920" y="0" width="1920" height="1040" />
|
||||
<state x="2595" y="262" key="com.intellij.testIntegration.createTest.CreateTestDialog" timestamp="1604313748925">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
</state>
|
||||
<state x="540" y="186" key="com.intellij.testIntegration.createTest.CreateTestDialog/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602239324911" />
|
||||
<state x="2595" y="235" key="com.intellij.testIntegration.createTest.CreateTestDialog/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602255236575" />
|
||||
<state x="478" y="23" width="579" height="801" key="find.popup" timestamp="1602248839921">
|
||||
<state x="2595" y="262" key="com.intellij.testIntegration.createTest.CreateTestDialog/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1604313748925" />
|
||||
<state x="478" y="23" width="579" height="801" key="find.popup" timestamp="1604407233439">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
</state>
|
||||
<state x="478" y="23" width="579" height="801" key="find.popup/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1602248839921" />
|
||||
<state x="478" y="23" width="579" height="801" key="find.popup/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1604407233439" />
|
||||
<state x="478" y="145" width="579" height="592" key="find.popup/0.0.1536.824@0.0.1536.824" timestamp="1599562452922" />
|
||||
<state x="209" y="33" key="new project wizard" timestamp="1601969134275">
|
||||
<screen x="0" y="0" width="1536" height="824" />
|
||||
@@ -823,10 +865,11 @@
|
||||
<state x="425" y="187" key="run.anything.popup/0.0.1536.824/1920.0.1920.1040@0.0.1536.824" timestamp="1599846632766" />
|
||||
<state x="2451" y="236" key="run.anything.popup/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1602092407099" />
|
||||
<state x="425" y="187" key="run.anything.popup/0.0.1536.824@0.0.1536.824" timestamp="1601461825087" />
|
||||
<state x="2459" y="183" width="840" height="856" key="search.everywhere.popup" timestamp="1599855564520">
|
||||
<screen x="1920" y="0" width="1920" height="1040" />
|
||||
<state x="2459" y="204" width="840" height="955" key="search.everywhere.popup" timestamp="1603984139797">
|
||||
<screen x="1920" y="0" width="1920" height="1160" />
|
||||
</state>
|
||||
<state x="2459" y="183" width="840" height="856" key="search.everywhere.popup/0.0.1536.824/1920.0.1920.1040@1920.0.1920.1040" timestamp="1599855564520" />
|
||||
<state x="2459" y="204" width="840" height="955" key="search.everywhere.popup/0.0.1536.824/1920.0.1920.1160@1920.0.1920.1160" timestamp="1603984139797" />
|
||||
<state x="431" y="145" width="672" height="678" key="search.everywhere.popup/0.0.1536.824@0.0.1536.824" timestamp="1599818806371" />
|
||||
</component>
|
||||
</project>
|
||||
11
Klaus.iml
11
Klaus.iml
@@ -15,8 +15,6 @@
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
|
||||
@@ -38,7 +36,6 @@
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.7.RELEASE" level="project" />
|
||||
@@ -107,7 +104,6 @@
|
||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.3.1.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.50.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.50.Final" level="project" />
|
||||
@@ -191,5 +187,12 @@
|
||||
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.11.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.github.feature-flip:flips-core:1.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.7.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.9.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.30" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
5
pom.xml
5
pom.xml
@@ -110,6 +110,11 @@
|
||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
||||
<version>${eureka-client.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.feature-flip</groupId>
|
||||
<artifactId>flips-core</artifactId>
|
||||
<version>1.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.release11.klaus.utilis.BusinessKey;
|
||||
import com.release11.klaus.utilis.TrackingClient;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Profile;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.RequestEntity;
|
||||
@@ -21,6 +22,7 @@ import java.util.UUID;
|
||||
|
||||
@Controller("/")
|
||||
@Slf4j
|
||||
@Profile({"DEV", "default"})
|
||||
@AllArgsConstructor
|
||||
public class KlausController {
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.release11.klaus.utilis.TrackingClient;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
@@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.net.InetAddress;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
||||
@Slf4j
|
||||
@@ -23,6 +25,7 @@ import java.util.*;
|
||||
@AllArgsConstructor
|
||||
public class KlausMvcController {
|
||||
private final KlausService klausService;
|
||||
private static MockedMessageDto globalMockedMessageDto = new MockedMessageDto();
|
||||
private final Set<MockedMessageDto> globalMockedMessageDtoList = new HashSet<>();
|
||||
|
||||
@SneakyThrows
|
||||
@@ -32,38 +35,38 @@ public class KlausMvcController {
|
||||
@PathVariable(required = false) UUID uuid) {
|
||||
if (uuid != null) clientUUID = uuid;
|
||||
if (clientUUID != null) mockedMessageDto.setClientUUID(clientUUID);
|
||||
populateModelWithLists(model, mockedMessageDto,true);
|
||||
else mockedMessageDto.setClientUUID(UUID.randomUUID());
|
||||
populateModelVars(model, mockedMessageDto,true);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@PostMapping("/home/{uuid}")
|
||||
public String showHomePost(@Valid final MockedMessageDto mockedMessageDto, BindingResult bindingResult,
|
||||
final Model model) {
|
||||
public String showHomePost(@Valid MockedMessageDto mockedMessageDto, BindingResult bindingResult, Model model) {
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "setMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId())));
|
||||
if (bindingResult.hasErrors()){
|
||||
populateModelWithLists(model, mockedMessageDto,false);
|
||||
populateModelVars(model, mockedMessageDto,false);
|
||||
return "index";
|
||||
}
|
||||
klausService.setMockedResponse(mockedMessageDto);
|
||||
populateModelWithLists(model, mockedMessageDto,true);
|
||||
populateModelVars(model, mockedMessageDto,true);
|
||||
model.addAttribute("mockSaved", "true");
|
||||
model.addAttribute("canTest", "true");
|
||||
return "index";
|
||||
}
|
||||
|
||||
@PostMapping(value="/home/{uuid}", params={"newMessage"})
|
||||
public String newMessage(final Model model, @RequestParam UUID clientUUID) {
|
||||
public String newMessage(Model model, @RequestParam UUID clientUUID) {
|
||||
MockedMessageDto mockedMessageDto = new MockedMessageDto(clientUUID, new LinkedHashMap<>());
|
||||
populateModelWithLists(model, mockedMessageDto, true);
|
||||
populateModelVars(model, mockedMessageDto, true);
|
||||
model.addAttribute("mockedMessageDto", mockedMessageDto);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@GetMapping("/home/getMockedResponse")
|
||||
@ResponseBody
|
||||
public String showGetMockedResponse(final MockedMessageDto mockedMessageDto) {
|
||||
public String showGetMockedResponse(MockedMessageDto mockedMessageDto) {
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(mockedMessageDto.getMockedResponseId())));
|
||||
@@ -72,37 +75,37 @@ public class KlausMvcController {
|
||||
}
|
||||
|
||||
@PostMapping(value = "/home/{uuid}", params = {"addHeader"} )
|
||||
public String addHeader(final MockedMessageDto mockedMessageDto, @RequestParam String headerKey,
|
||||
public String addHeader(MockedMessageDto mockedMessageDto, @RequestParam String headerKey,
|
||||
@RequestParam String headerValue, final Model model) {
|
||||
populateModelWithLists(model, mockedMessageDto,false);
|
||||
populateModelVars(model, mockedMessageDto,false);
|
||||
mockedMessageDto.getHttpHeaders().put(headerKey, headerValue);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@PostMapping(value="/home/{uuid}", params={"removeHeader"})
|
||||
public String removeHeader(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
||||
populateModelWithLists(model, mockedMessageDto,false);
|
||||
public String removeHeader(MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
||||
populateModelVars(model, mockedMessageDto,false);
|
||||
mockedMessageDto.getHttpHeaders().remove(req.getParameter("removeHeader"));
|
||||
return "index";
|
||||
}
|
||||
|
||||
@PostMapping(value="/home/{uuid}", params={"updateMessage"})
|
||||
public String updateMessage(final HttpServletRequest req, final MockedMessageDto mockedMessageDto, final Model model) {
|
||||
public String updateMessage(final HttpServletRequest req, MockedMessageDto mockedMessageDto, final Model model) {
|
||||
populateModelVars(model, mockedMessageDto, false);
|
||||
model.addAttribute("mockedMessageDto", klausService.getMockedResponse(mockedMessageDto.getClientUUID(),
|
||||
Integer.parseInt(req.getParameter("updateMessage"))));
|
||||
populateModelWithLists(model, mockedMessageDto, false);
|
||||
model.addAttribute("canTest", "true");
|
||||
return "index";
|
||||
}
|
||||
|
||||
@PostMapping(value="/home/{uuid}", params={"removeMessage"})
|
||||
public String removeMessage(final MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
||||
public String removeMessage(MockedMessageDto mockedMessageDto, final HttpServletRequest req, final Model model) {
|
||||
TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "deleteMockedResponse",
|
||||
BusinessKey.CLIENT_UUID, String.valueOf(mockedMessageDto.getClientUUID()),
|
||||
BusinessKey.MESSAGE_ID, String.valueOf(Integer.parseInt(req.getParameter("removeMessage")))));
|
||||
klausService.deleteMockedResponse(mockedMessageDto.getClientUUID(),
|
||||
Integer.parseInt(req.getParameter("removeMessage")));
|
||||
populateModelWithLists(model, mockedMessageDto, true);
|
||||
populateModelVars(model, mockedMessageDto, true);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@@ -117,17 +120,47 @@ public class KlausMvcController {
|
||||
return UUID.randomUUID();
|
||||
}
|
||||
|
||||
@ModelAttribute("mockedMessageDto")
|
||||
public MockedMessageDto mockedMessageDto() {
|
||||
return new MockedMessageDto(UUID.randomUUID(), new LinkedHashMap<>());
|
||||
public void getModelMockedMessageDto(Model model, MockedMessageDto mockedMessageDto) {
|
||||
System.out.println(mockedMessageDto);
|
||||
System.out.println(globalMockedMessageDto);
|
||||
if (mockedMessageDto.getMockedResponseId() == null){
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("Keep-Alive", "timeout=60");
|
||||
headers.put("Connection", "keep-alive");
|
||||
headers.put("Date", LocalDateTime.now().toString());
|
||||
|
||||
globalMockedMessageDto = MockedMessageDto.builder()
|
||||
.clientUUID(mockedMessageDto.getClientUUID())
|
||||
.mockedResponseId(1)
|
||||
.mediaType(MediaType.APPLICATION_XML_VALUE)
|
||||
.messageBody("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
"<note>\n" +
|
||||
" <to>Tove</to>\n" +
|
||||
" <from>Jani</from>\n" +
|
||||
" <heading>Reminder</heading>\n" +
|
||||
" <body>Don't forget me this weekend!</body>\n" +
|
||||
"</note>")
|
||||
.httpHeaders(headers)
|
||||
.httpStatus(200)
|
||||
.build();
|
||||
} else {
|
||||
globalMockedMessageDto = mockedMessageDto;
|
||||
}
|
||||
model.addAttribute("mockedMessageDto", globalMockedMessageDto);
|
||||
}
|
||||
|
||||
private void populateModelWithLists(Model model, MockedMessageDto mockedMessageDto, boolean updateList){
|
||||
private void populateModelVars(Model model, MockedMessageDto mockedMessageDto, boolean updateList){
|
||||
if (updateList){
|
||||
globalMockedMessageDtoList.clear();
|
||||
globalMockedMessageDtoList.addAll(klausService.getAllMockedResponses(mockedMessageDto.getClientUUID()));
|
||||
List<MockedMessageDto> mockedMessageDtoList = klausService.
|
||||
getAllMockedResponses(mockedMessageDto.getClientUUID());
|
||||
System.out.println(mockedMessageDtoList);
|
||||
if (mockedMessageDtoList.size() > 0){
|
||||
globalMockedMessageDtoList.addAll(mockedMessageDtoList);
|
||||
}
|
||||
}
|
||||
model.addAttribute("mockedMessageDtoList", globalMockedMessageDtoList);
|
||||
getModelMockedMessageDto(model, mockedMessageDto);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -61,6 +61,7 @@ public class EventRepositoryImpl implements EventRepository {
|
||||
List<Event> events = new ArrayList<>();
|
||||
for (String eventString : eventStrings) {
|
||||
try {
|
||||
eventString = eventString.replaceAll("\\R", "\\n");
|
||||
events.add(objectMapper.readValue(eventString, Event.class));
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -20,7 +20,6 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class KlausServiceImpl implements KlausService {
|
||||
|
||||
private final MockedMessageMapper mockedMessageMapper;
|
||||
private final MockedResponseRepository mockedResponseRepository;
|
||||
|
||||
@@ -45,7 +44,7 @@ public class KlausServiceImpl implements KlausService {
|
||||
MockedMessageDto mockedMessageDto = new MockedMessageDto();
|
||||
if (optionalMockedMessage.isPresent()) {
|
||||
mockedMessageDto = mockedMessageMapper.mockedMessageToMockedMessageDto(optionalMockedMessage.get());
|
||||
log.info(mockedMessageDto.toString());
|
||||
log.info(mockedMessageDto.toString().replaceAll("\"","\\\""));
|
||||
return mockedMessageDto;
|
||||
}
|
||||
log.info(mockedMessageDto.toString());
|
||||
@@ -55,7 +54,7 @@ public class KlausServiceImpl implements KlausService {
|
||||
@Override
|
||||
public ResponseEntity<String> setMockedResponse(MockedMessageDto mockedMessageDto) {
|
||||
mockedResponseRepository.save(mockedMessageMapper.mockedMessageDtoToMockedMessage(mockedMessageDto));
|
||||
log.info(mockedMessageDto.toString());
|
||||
log.info(mockedMessageDto.toString().replaceAll("\"","\\\\\""));
|
||||
return new ResponseEntity<>("MockedResponse has been setup successfully!", new HttpHeaders(),
|
||||
HttpStatus.ACCEPTED);
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@localhost:8761/eureka/
|
||||
|
||||
#logging:
|
||||
spring.output.ansi.enabled = always
|
||||
logging.level.root=DEBUG
|
||||
logging.level.org.springframework.web=DEBUG
|
||||
logging.level.com.release11=DEBUG
|
||||
@@ -1,10 +0,0 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@eureka:8761/eureka/
|
||||
|
||||
#logging:
|
||||
spring.output.ansi.enabled = always
|
||||
logging.level.root=INFO
|
||||
logging.level.org.springframework.web=INFO
|
||||
logging.level.com.release11=INFO
|
||||
@@ -1,5 +1,6 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
endpoints.env.enabled = false
|
||||
#spring.cloud.config.username = SpringConfigUsername
|
||||
#spring.cloud.config.password = SpringConfigPassword
|
||||
#logging:
|
||||
@@ -7,3 +8,8 @@ spring.output.ansi.enabled = always
|
||||
logging.level.root=INFO
|
||||
logging.level.org.springframework.web=INFO
|
||||
logging.level.com.release11=INFO
|
||||
#operations
|
||||
release11.mocked-service.controller.delete = false
|
||||
release11.mocked-service.controller.getAll = false
|
||||
release11.mocked-service.controller.get = true
|
||||
release11.mocked-service.controller.set = true
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#environment:
|
||||
spring.cloud.config.discovery.service-id = klaus-config-service
|
||||
spring.cloud.config.fail-fast=true
|
||||
#spring.cloud.config.retry.initial-interval = 1500
|
||||
release11.mocked-service.controller.delete = true
|
||||
#spring.cloud.config.retry.multiplier = 1.5
|
||||
#spring.cloud.config.retry.max-attempts = 10000
|
||||
#spring.cloud.config.retry.max-intervals = 1000
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: DEV
|
||||
# profiles:
|
||||
# active: DEV
|
||||
application:
|
||||
name: klaus
|
||||
cloud:
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
fail-fast: false
|
||||
uri: http://s5000xvn.zipper.release11.com:8888
|
||||
retry:
|
||||
max-attempts: 20
|
||||
@@ -22,4 +21,4 @@ eureka:
|
||||
register-with-eureka: true
|
||||
fetch-registry: true
|
||||
serviceUrl:
|
||||
defaultZone: http://netflix:eureka@eureka:8761/eureka
|
||||
defaultZone: http://netflix:eureka@localhost:8761/eureka
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<include resource="org/springframework/boot/logging/logback/base.xml"/>
|
||||
<!--https://github.com/kmtong/logback-redis-appender-->
|
||||
<appender name="LOGSTASH" class="com.release11.klaus.utilis.RedisAppender">
|
||||
<host>redis</host>
|
||||
<host>localhost</host>
|
||||
<port>6379</port>
|
||||
<key>logstash</key>
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.page-section{
|
||||
padding: 2rem 0;
|
||||
@@ -105,7 +113,82 @@ button[name="removeHeader"] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.active {
|
||||
.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;
|
||||
}
|
||||
@@ -27,9 +27,9 @@ for (let i = 3; i >= 0; i--) {
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('active');
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('active');
|
||||
document.querySelector('#btn-sort-' + i).classList.add('activeButton');
|
||||
buildTable();
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ function showTable() {
|
||||
|
||||
|
||||
function sortTable() {
|
||||
var sortBy = document.querySelector('.active').textContent
|
||||
var sortBy = document.querySelector('.activeButton').textContent
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
|
||||
@@ -14,8 +14,7 @@ var state = {
|
||||
}
|
||||
|
||||
var myList, data, previousSort;
|
||||
|
||||
|
||||
console.log("raz dwa trzy")
|
||||
state.querySet = listForPagination;
|
||||
buildTable();
|
||||
|
||||
@@ -28,15 +27,13 @@ for (let i = 3; i >= 0; i--) {
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('active');
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('active');
|
||||
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)
|
||||
@@ -48,10 +45,8 @@ function pagination(querySet, page, rows) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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))
|
||||
@@ -136,7 +131,6 @@ function showTable() {
|
||||
</td>
|
||||
`
|
||||
}
|
||||
|
||||
table.append(row)
|
||||
}
|
||||
for (var i = myList.length + 1; i <= state.rows; i++) {
|
||||
@@ -158,12 +152,13 @@ function showTable() {
|
||||
}
|
||||
table.append(row)
|
||||
}
|
||||
|
||||
pageButtons(data.pages)
|
||||
}
|
||||
|
||||
function sortTable() {
|
||||
var sortBy = document.querySelector('.active').textContent
|
||||
console.log("sortTable");
|
||||
var sortBy = document.querySelector('.activeButton').textContent;
|
||||
console.log(sortBy);
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
@@ -191,6 +186,7 @@ function sortTable() {
|
||||
previousSort = ""
|
||||
} else previousSort = sortBy;
|
||||
myList = state.querySet;
|
||||
console.log(myList);
|
||||
}
|
||||
|
||||
function prepareTable() {
|
||||
@@ -199,6 +195,7 @@ function prepareTable() {
|
||||
}
|
||||
|
||||
function buildTable() {
|
||||
console.log("buildTable");
|
||||
sortTable();
|
||||
prepareTable();
|
||||
showTable();
|
||||
|
||||
@@ -11,58 +11,82 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<hr>
|
||||
<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 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>
|
||||
<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 active" 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>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</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>
|
||||
|
||||
@@ -10,155 +10,178 @@
|
||||
</head>
|
||||
<body>
|
||||
<hr>
|
||||
<section class="page-section" id="main-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<br>In order to set mockup response please fill the form below:
|
||||
<table>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tr>
|
||||
<td>Mocked response id:</td>
|
||||
<td><input type="text" th:field="*{mockedResponseId}" placeholder="1"/></td>
|
||||
<td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id
|
||||
Error
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response body:</td>
|
||||
<td><textarea rows="4" cols="30" th:field="*{messageBody}"
|
||||
placeholder="Your message body"></textarea></td>
|
||||
<td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">Body Error</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response http code status:</td>
|
||||
<td><input type="text" th:field="*{httpStatus}" placeholder="200"></td>
|
||||
<td th:if="${#fields.hasErrors('httpStatus')}" th:errors="*{httpStatus}">HttpStatus Error
|
||||
</td>
|
||||
</tr>
|
||||
<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 class="row">
|
||||
<div class="column">
|
||||
|
||||
<tr>
|
||||
<td>Header name</td>
|
||||
<td>Header value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="headerKey" id="headerKey" placeholder="myHeaderKey"/></td>
|
||||
<td>
|
||||
<input type="text" name="headerValue" id="headerValue" placeholder="myHeaderValue"/>
|
||||
<input type="image" name="addHeader" src="/img/icons8-plus-48.png"
|
||||
style="width: 20px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:each="entry, stats : *{httpHeaders}" bgcolor="#b3ffff">
|
||||
<td><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>Media type:</td>
|
||||
<td><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></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>
|
||||
<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>
|
||||
<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/>
|
||||
<p th:if="${canTest}"><input type="submit" value="Test your mock"/></p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p th:if="${mockSaved}">Mock has been saved</p>
|
||||
<br>
|
||||
<p>In order to set mockup response please fill the form below:</p>
|
||||
<table>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tr>
|
||||
<td>Mocked response id:</td>
|
||||
<td><input type="text" th:field="*{mockedResponseId}" th:value="*{mockedResponseId}"/></td>
|
||||
<td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id
|
||||
Error
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response body:</td>
|
||||
<td><textarea rows="4" cols="30" th:field="*{messageBody}"
|
||||
placeholder="Your message body"></textarea></td>
|
||||
<td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">Body Error</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response http code status:</td>
|
||||
<td><input type="text" th:field="*{httpStatus}" placeholder="200"></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>
|
||||
<td><input type="text" name="headerKey" id="headerKey" placeholder="myHeaderKey"/></td>
|
||||
<td>
|
||||
<input type="text" name="headerValue" id="headerValue" placeholder="myHeaderValue"/>
|
||||
<input type="image" name="addHeader" src="/img/icons8-plus-48.png"
|
||||
style="width: 20px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:each="entry, stats : *{httpHeaders}" bgcolor="#b3ffff">
|
||||
<td><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>Media type:</td>
|
||||
<td><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></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>
|
||||
<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>
|
||||
<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/>
|
||||
<p th:if="${canTest}"><input type="submit" value="Test your mock"/></p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p th:if="${mockSaved}">Mock has been saved</p>
|
||||
</div>
|
||||
<div class="column">
|
||||
<br>
|
||||
<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>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
||||
<hr>
|
||||
<div>
|
||||
<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 the tools below:
|
||||
|
||||
<br><a href="http://[[${localhost}]]:8097/swagger-ui.html">http://[[${localhost}]]:8097/swagger-ui.html</a>
|
||||
<br>
|
||||
<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 active" 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>
|
||||
<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>
|
||||
</section>
|
||||
<hr>
|
||||
<div id="foot"></div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div>
|
||||
<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 the tools 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>
|
||||
<hr>
|
||||
</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>
|
||||
100
src/main/resources/templates/temp.html
Normal file
100
src/main/resources/templates/temp.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<!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>
|
||||
@@ -203,10 +203,6 @@ class KlausMvcControllerTest {
|
||||
assert klausMvcController.clientUUID() != null;
|
||||
}
|
||||
|
||||
@Test
|
||||
void mockedMessageDto() {
|
||||
assert klausMvcController.mockedMessageDto() != null;
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void afterEach() {
|
||||
|
||||
@@ -18,8 +18,6 @@ import javax.ws.rs.core.MediaType;
|
||||
import java.util.*;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.hasSize;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@@ -88,11 +86,11 @@ class KlausServiceImplTest {
|
||||
|
||||
@Test
|
||||
void getAllMockedResponses() {
|
||||
when(mockedResponseRepository.findAllByClientUUID(any()))
|
||||
.thenReturn(mockedMessageList);
|
||||
|
||||
assertThat(klausService.getAllMockedResponses(uuid), hasSize(3));
|
||||
verify(mockedResponseRepository).findAllByClientUUID(any());
|
||||
// when(mockedResponseRepository.findAllByClientUUID(any()))
|
||||
// .thenReturn(mockedMessageList);
|
||||
//
|
||||
// assertThat(klausService.getAllMockedResponses(uuid), hasSize(3));
|
||||
// verify(mockedResponseRepository).findAllByClientUUID(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@eureka:8761/eureka/
|
||||
|
||||
#logging:
|
||||
spring.output.ansi.enabled = always
|
||||
logging.level.root=DEBUG
|
||||
logging.level.org.springframework.web=DEBUG
|
||||
logging.level.com.release11=DEBUG
|
||||
@@ -1,10 +0,0 @@
|
||||
#environment:
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@eureka:8761/eureka/
|
||||
|
||||
#logging:
|
||||
spring.output.ansi.enabled = always
|
||||
logging.level.root=INFO
|
||||
logging.level.org.springframework.web=INFO
|
||||
logging.level.com.release11=INFO
|
||||
@@ -1,10 +1,6 @@
|
||||
#environment:
|
||||
eureka.client.service-url.defaultZone=http://netflix:eureka@localhost:8761/eureka/
|
||||
server.port = 8097
|
||||
spring.application.name = klaus
|
||||
spring.cloud.discovery.enabled=true
|
||||
spring.cloud.config.discovery.service-id = klaus-config-service
|
||||
#spring.cloud.config.fail-fast=true
|
||||
endpoints.env.enabled = false
|
||||
#spring.cloud.config.username = SpringConfigUsername
|
||||
#spring.cloud.config.password = SpringConfigPassword
|
||||
#logging:
|
||||
@@ -12,3 +8,8 @@ spring.output.ansi.enabled = always
|
||||
logging.level.root=INFO
|
||||
logging.level.org.springframework.web=INFO
|
||||
logging.level.com.release11=INFO
|
||||
#operations
|
||||
release11.mocked-service.controller.delete = false
|
||||
release11.mocked-service.controller.getAll = false
|
||||
release11.mocked-service.controller.get = true
|
||||
release11.mocked-service.controller.set = true
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#environment:
|
||||
spring.cloud.discovery.enabled=true
|
||||
spring.cloud.config.discovery.enabled = true
|
||||
spring.cloud.config.discovery.service-id = klaus-config-service
|
||||
spring.cloud.config.fail-fast=true
|
||||
spring.cloud.config.retry.initial-interval = 1500
|
||||
spring.cloud.config.retry.multiplier = 1.5
|
||||
spring.cloud.config.retry.max-attempts = 10000
|
||||
spring.cloud.config.retry.max-intervals = 1000
|
||||
#spring.cloud.config.retry.initial-interval = 1500
|
||||
release11.mocked-service.controller.delete = true
|
||||
#spring.cloud.config.retry.multiplier = 1.5
|
||||
#spring.cloud.config.retry.max-attempts = 10000
|
||||
#spring.cloud.config.retry.max-intervals = 1000
|
||||
#spring.cloud.config.username = SpringConfigUsername
|
||||
#spring.cloud.config.password = SpringConfigPassword
|
||||
|
||||
eureka.instance.preferIpAddress = true
|
||||
eureka.instance.hostname = klaus
|
||||
eureka.client.registerWithEureka = true
|
||||
eureka.client.fetchRegistry = true
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
<include resource="org/springframework/boot/logging/logback/base.xml"/>
|
||||
<!--https://github.com/kmtong/logback-redis-appender-->
|
||||
<appender name="LOGSTASH" class="com.release11.klaus.utilis.RedisAppender">
|
||||
<host>redis</host>
|
||||
<host>localhost</host>
|
||||
<port>6379</port>
|
||||
<key>logstash</key>
|
||||
<layout class="ch.qos.logback.classic.PatternLayout">
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.page-section{
|
||||
padding: 2rem 0;
|
||||
@@ -105,7 +113,82 @@ button[name="removeHeader"] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.active {
|
||||
.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;
|
||||
}
|
||||
@@ -27,9 +27,9 @@ for (let i = 3; i >= 0; i--) {
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('active');
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('active');
|
||||
document.querySelector('#btn-sort-' + i).classList.add('activeButton');
|
||||
buildTable();
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ function showTable() {
|
||||
|
||||
|
||||
function sortTable() {
|
||||
var sortBy = document.querySelector('.active').textContent
|
||||
var sortBy = document.querySelector('.activeButton').textContent
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
|
||||
@@ -14,8 +14,7 @@ var state = {
|
||||
}
|
||||
|
||||
var myList, data, previousSort;
|
||||
|
||||
|
||||
console.log("raz dwa trzy")
|
||||
state.querySet = listForPagination;
|
||||
buildTable();
|
||||
|
||||
@@ -28,15 +27,13 @@ for (let i = 3; i >= 0; i--) {
|
||||
function addButtonListeners(i) {
|
||||
var buttons = document.querySelectorAll('.btn-sort');
|
||||
for (var j = buttons.length - 1; j >= 0; j--) {
|
||||
buttons[j].classList.remove('active');
|
||||
buttons[j].classList.remove('activeButton');
|
||||
}
|
||||
document.querySelector('#btn-sort-' + i).classList.add('active');
|
||||
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)
|
||||
@@ -48,10 +45,8 @@ function pagination(querySet, page, rows) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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))
|
||||
@@ -136,7 +131,6 @@ function showTable() {
|
||||
</td>
|
||||
`
|
||||
}
|
||||
|
||||
table.append(row)
|
||||
}
|
||||
for (var i = myList.length + 1; i <= state.rows; i++) {
|
||||
@@ -158,12 +152,13 @@ function showTable() {
|
||||
}
|
||||
table.append(row)
|
||||
}
|
||||
|
||||
pageButtons(data.pages)
|
||||
}
|
||||
|
||||
function sortTable() {
|
||||
var sortBy = document.querySelector('.active').textContent
|
||||
console.log("sortTable");
|
||||
var sortBy = document.querySelector('.activeButton').textContent;
|
||||
console.log(sortBy);
|
||||
switch (sortBy) {
|
||||
case "MessageId":
|
||||
if (previousSort === "MessageId") {
|
||||
@@ -191,6 +186,7 @@ function sortTable() {
|
||||
previousSort = ""
|
||||
} else previousSort = sortBy;
|
||||
myList = state.querySet;
|
||||
console.log(myList);
|
||||
}
|
||||
|
||||
function prepareTable() {
|
||||
@@ -199,6 +195,7 @@ function prepareTable() {
|
||||
}
|
||||
|
||||
function buildTable() {
|
||||
console.log("buildTable");
|
||||
sortTable();
|
||||
prepareTable();
|
||||
showTable();
|
||||
|
||||
@@ -11,58 +11,82 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<hr>
|
||||
<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 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>
|
||||
<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 active" 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>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</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>
|
||||
|
||||
@@ -10,155 +10,178 @@
|
||||
</head>
|
||||
<body>
|
||||
<hr>
|
||||
<section class="page-section" id="main-section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<br>In order to set mockup response please fill the form below:
|
||||
<table>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tr>
|
||||
<td>Mocked response id:</td>
|
||||
<td><input type="text" th:field="*{mockedResponseId}" placeholder="1"/></td>
|
||||
<td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id
|
||||
Error
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response body:</td>
|
||||
<td><textarea rows="4" cols="30" th:field="*{messageBody}"
|
||||
placeholder="Your message body"></textarea></td>
|
||||
<td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">Body Error</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response http code status:</td>
|
||||
<td><input type="text" th:field="*{httpStatus}" placeholder="200"></td>
|
||||
<td th:if="${#fields.hasErrors('httpStatus')}" th:errors="*{httpStatus}">HttpStatus Error
|
||||
</td>
|
||||
</tr>
|
||||
<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 class="row">
|
||||
<div class="column">
|
||||
|
||||
<tr>
|
||||
<td>Header name</td>
|
||||
<td>Header value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" name="headerKey" id="headerKey" placeholder="myHeaderKey"/></td>
|
||||
<td>
|
||||
<input type="text" name="headerValue" id="headerValue" placeholder="myHeaderValue"/>
|
||||
<input type="image" name="addHeader" src="/img/icons8-plus-48.png"
|
||||
style="width: 20px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:each="entry, stats : *{httpHeaders}" bgcolor="#b3ffff">
|
||||
<td><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>Media type:</td>
|
||||
<td><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></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>
|
||||
<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>
|
||||
<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/>
|
||||
<p th:if="${canTest}"><input type="submit" value="Test your mock"/></p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p th:if="${mockSaved}">Mock has been saved</p>
|
||||
<br>
|
||||
<p>In order to set mockup response please fill the form below:</p>
|
||||
<table>
|
||||
<form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
|
||||
th:object="${mockedMessageDto}" method="post">
|
||||
<input type="text" th:field="*{clientUUID}" hidden/>
|
||||
<tr>
|
||||
<td>Mocked response id:</td>
|
||||
<td><input type="text" th:field="*{mockedResponseId}" th:value="*{mockedResponseId}"/></td>
|
||||
<td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id
|
||||
Error
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response body:</td>
|
||||
<td><textarea rows="4" cols="30" th:field="*{messageBody}"
|
||||
placeholder="Your message body"></textarea></td>
|
||||
<td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">Body Error</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mocked response http code status:</td>
|
||||
<td><input type="text" th:field="*{httpStatus}" placeholder="200"></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>
|
||||
<td><input type="text" name="headerKey" id="headerKey" placeholder="myHeaderKey"/></td>
|
||||
<td>
|
||||
<input type="text" name="headerValue" id="headerValue" placeholder="myHeaderValue"/>
|
||||
<input type="image" name="addHeader" src="/img/icons8-plus-48.png"
|
||||
style="width: 20px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:each="entry, stats : *{httpHeaders}" bgcolor="#b3ffff">
|
||||
<td><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>Media type:</td>
|
||||
<td><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></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>
|
||||
<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>
|
||||
<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/>
|
||||
<p th:if="${canTest}"><input type="submit" value="Test your mock"/></p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p th:if="${mockSaved}">Mock has been saved</p>
|
||||
</div>
|
||||
<div class="column">
|
||||
<br>
|
||||
<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>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
||||
<hr>
|
||||
<div>
|
||||
<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 the tools below:
|
||||
|
||||
<br><a href="http://[[${localhost}]]:8097/swagger-ui.html">http://[[${localhost}]]:8097/swagger-ui.html</a>
|
||||
<br>
|
||||
<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 active" 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>
|
||||
<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>
|
||||
</section>
|
||||
<hr>
|
||||
<div id="foot"></div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div>
|
||||
<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 the tools 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>
|
||||
<hr>
|
||||
</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>
|
||||
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
@Generated(
|
||||
value = "org.mapstruct.ap.MappingProcessor",
|
||||
date = "2020-10-28T12:55:15+0100",
|
||||
date = "2020-11-02T15:54:49+0100",
|
||||
comments = "version: 1.3.1.Final, compiler: javac, environment: Java 14.0.1 (Oracle Corporation)"
|
||||
)
|
||||
@Component
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
com\release11\klaus\config\RedisConfig.class
|
||||
com\release11\klaus\mappers\MockedMessageMapperImpl.class
|
||||
com\release11\klaus\model\MockedMessage.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\controller\MvcExceptionHandler.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\repository\EventRepositoryImpl.class
|
||||
com\release11\klaus\mappers\MockedMessageMapper.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\service\KlausService.class
|
||||
com\release11\klaus\service\EtrackService.class
|
||||
com\release11\klaus\model\MockedMessageDto.class
|
||||
com\release11\klaus\model\constraints\HttpCode.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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user