- 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
	 Szakalakamaka
					Szakalakamaka