diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..73f69e09
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/TestBackJava.iml b/.idea/TestBackJava.iml
new file mode 100644
index 00000000..d6ebd480
--- /dev/null
+++ b/.idea/TestBackJava.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 00000000..171a2090
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 00000000..4fd8b548
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..d2fb11ad
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 00000000..712ab9d9
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Java_EE_6_Java_EE_6.xml b/.idea/libraries/Java_EE_6_Java_EE_6.xml
new file mode 100644
index 00000000..91301dfe
--- /dev/null
+++ b/.idea/libraries/Java_EE_6_Java_EE_6.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml
new file mode 100644
index 00000000..b8d93d8e
--- /dev/null
+++ b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml
new file mode 100644
index 00000000..6fec8f43
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml
new file mode 100644
index 00000000..9eb8596a
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
new file mode 100644
index 00000000..bc7d7fd8
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_0.xml
new file mode 100644
index 00000000..32a9faac
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_0.xml
new file mode 100644
index 00000000..8c0738d9
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_0.xml
new file mode 100644
index 00000000..0c83f99d
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_csv_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_csv_2_11_0.xml
new file mode 100644
index 00000000..392318e4
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_csv_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_0.xml
new file mode 100644
index 00000000..60262705
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_0.xml
new file mode 100644
index 00000000..fa76777b
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_0.xml
new file mode 100644
index 00000000..825f8a0f
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_paranamer_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_paranamer_2_11_0.xml
new file mode 100644
index 00000000..ee4954f5
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_paranamer_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_scala_2_12_2_11_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_scala_2_12_2_11_0.xml
new file mode 100644
index 00000000..30906180
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_scala_2_12_2_11_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_4_7.xml b/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_4_7.xml
new file mode 100644
index 00000000..c567ea25
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_4_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml
new file mode 100644
index 00000000..2888f96d
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_guava_guava_20_0.xml b/.idea/libraries/Maven__com_google_guava_guava_20_0.xml
new file mode 100644
index 00000000..c5bd322e
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_guava_guava_20_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml
new file mode 100644
index 00000000..233670dd
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_h2database_h2_1_4_200.xml b/.idea/libraries/Maven__com_h2database_h2_1_4_200.xml
new file mode 100644
index 00000000..98dbdb5a
--- /dev/null
+++ b/.idea/libraries/Maven__com_h2database_h2_1_4_200.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml
new file mode 100644
index 00000000..f19f6eb3
--- /dev/null
+++ b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml
new file mode 100644
index 00000000..fea99f02
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_11.xml b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_11.xml
new file mode 100644
index 00000000..c4e94e64
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_xml_bind_jaxb_core_2_3_0_1.xml b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_core_2_3_0_1.xml
new file mode 100644
index 00000000..a5b09e03
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_core_2_3_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_3_0_1.xml b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_3_0_1.xml
new file mode 100644
index 00000000..30e23683
--- /dev/null
+++ b/.idea/libraries/Maven__com_sun_xml_bind_jaxb_impl_2_3_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_8.xml b/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_8.xml
new file mode 100644
index 00000000..87c076a7
--- /dev/null
+++ b/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_typesafe_scala_logging_scala_logging_2_12_3_9_2.xml b/.idea/libraries/Maven__com_typesafe_scala_logging_scala_logging_2_12_3_9_2.xml
new file mode 100644
index 00000000..ea49230f
--- /dev/null
+++ b/.idea/libraries/Maven__com_typesafe_scala_logging_scala_logging_2_12_3_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
new file mode 100644
index 00000000..b8581a6f
--- /dev/null
+++ b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_yammer_metrics_metrics_core_2_2_0.xml b/.idea/libraries/Maven__com_yammer_metrics_metrics_core_2_2_0.xml
new file mode 100644
index 00000000..fc159c55
--- /dev/null
+++ b/.idea/libraries/Maven__com_yammer_metrics_metrics_core_2_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml
new file mode 100644
index 00000000..97e22912
--- /dev/null
+++ b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml b/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml
new file mode 100644
index 00000000..55a1fa86
--- /dev/null
+++ b/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml
new file mode 100644
index 00000000..50b8f2b1
--- /dev/null
+++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml
new file mode 100644
index 00000000..3b9dcc07
--- /dev/null
+++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml
new file mode 100644
index 00000000..f8084ec2
--- /dev/null
+++ b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml b/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml
new file mode 100644
index 00000000..12ac32ca
--- /dev/null
+++ b/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml
new file mode 100644
index 00000000..05344763
--- /dev/null
+++ b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml
new file mode 100644
index 00000000..47e101ee
--- /dev/null
+++ b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_core_1_5_1.xml b/.idea/libraries/Maven__io_micrometer_micrometer_core_1_5_1.xml
new file mode 100644
index 00000000..0db69cb0
--- /dev/null
+++ b/.idea/libraries/Maven__io_micrometer_micrometer_core_1_5_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_buffer_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_49_Final.xml
new file mode 100644
index 00000000..9247b162
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_codec_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_4_1_49_Final.xml
new file mode 100644
index 00000000..a3b1c84c
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_codec_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_common_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_common_4_1_49_Final.xml
new file mode 100644
index 00000000..0219231f
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_common_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_handler_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_4_1_49_Final.xml
new file mode 100644
index 00000000..00e798d4
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_handler_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_resolver_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_49_Final.xml
new file mode 100644
index 00000000..a080e6b4
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_transport_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_4_1_49_Final.xml
new file mode 100644
index 00000000..f0b77412
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_transport_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_49_Final.xml
new file mode 100644
index 00000000..dcb41765
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_49_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_49_Final.xml
new file mode 100644
index 00000000..f44d0e17
--- /dev/null
+++ b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_49_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml
new file mode 100644
index 00000000..03588dc9
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml
new file mode 100644
index 00000000..4a47148b
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml
new file mode 100644
index 00000000..f934649a
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml
new file mode 100644
index 00000000..7898a19c
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml
new file mode 100644
index 00000000..4ed7d0d2
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml
new file mode 100644
index 00000000..c40ef9ff
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml
new file mode 100644
index 00000000..0700f01d
--- /dev/null
+++ b/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml b/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml
new file mode 100644
index 00000000..1c4a6212
--- /dev/null
+++ b/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml b/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml
new file mode 100644
index 00000000..395508ff
--- /dev/null
+++ b/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml
new file mode 100644
index 00000000..be90656e
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
new file mode 100644
index 00000000..cba9dd24
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml
new file mode 100644
index 00000000..c11957d9
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml
new file mode 100644
index 00000000..5b31fe50
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml b/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml
new file mode 100644
index 00000000..e66afb95
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml
new file mode 100644
index 00000000..04213f73
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_activation_javax_activation_api_1_2_0.xml b/.idea/libraries/Maven__javax_activation_javax_activation_api_1_2_0.xml
new file mode 100644
index 00000000..ff49512a
--- /dev/null
+++ b/.idea/libraries/Maven__javax_activation_javax_activation_api_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_3_1.xml b/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_3_1.xml
new file mode 100644
index 00000000..059f88ff
--- /dev/null
+++ b/.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__junit_junit_4_13.xml b/.idea/libraries/Maven__junit_junit_4_13.xml
new file mode 100644
index 00000000..59fc5c46
--- /dev/null
+++ b/.idea/libraries/Maven__junit_junit_4_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_20.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_20.xml
new file mode 100644
index 00000000..b06bf8c1
--- /dev/null
+++ b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_20.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_10.xml
new file mode 100644
index 00000000..20795c87
--- /dev/null
+++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_10.xml
new file mode 100644
index 00000000..95d3a562
--- /dev/null
+++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml b/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml
new file mode 100644
index 00000000..b3d38583
--- /dev/null
+++ b/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml b/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml
new file mode 100644
index 00000000..10830235
--- /dev/null
+++ b/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_sf_jopt_simple_jopt_simple_5_0_4.xml b/.idea/libraries/Maven__net_sf_jopt_simple_jopt_simple_5_0_4.xml
new file mode 100644
index 00000000..1ef51739
--- /dev/null
+++ b/.idea/libraries/Maven__net_sf_jopt_simple_jopt_simple_5_0_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_core_1_16_0.xml b/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_core_1_16_0.xml
new file mode 100644
index 00000000..6a13ee00
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_core_1_16_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_metrics_1_16_0.xml b/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_metrics_1_16_0.xml
new file mode 100644
index 00000000..fad2c82a
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_calcite_avatica_avatica_metrics_1_16_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_12.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_12.xml
new file mode 100644
index 00000000..9cb68a28
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml
new file mode 100644
index 00000000..b475675a
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_connect_api_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_connect_api_2_5_0.xml
new file mode 100644
index 00000000..c4ee2259
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_connect_api_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_connect_json_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_connect_json_2_5_0.xml
new file mode 100644
index 00000000..2b6c3e7b
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_connect_json_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_2_5_0.xml
new file mode 100644
index 00000000..528ecc19
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_test_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_test_2_5_0.xml
new file mode 100644
index 00000000..9b11564a
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_2_12_test_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_5_0.xml
new file mode 100644
index 00000000..12cf794d
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_clients_test_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_clients_test_2_5_0.xml
new file mode 100644
index 00000000..c6e947aa
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_clients_test_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_streams_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_streams_2_5_0.xml
new file mode 100644
index 00000000..3ebb0b7a
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_streams_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_kafka_kafka_streams_test_utils_2_5_0.xml b/.idea/libraries/Maven__org_apache_kafka_kafka_streams_test_utils_2_5_0.xml
new file mode 100644
index 00000000..eb7dd6cd
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_kafka_kafka_streams_test_utils_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_2.xml
new file mode 100644
index 00000000..35caff21
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_2.xml
new file mode 100644
index 00000000..5788de2c
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_35.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_35.xml
new file mode 100644
index 00000000..5f6eb5bd
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_35.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_35.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_35.xml
new file mode 100644
index 00000000..6f147a50
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_35.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_yetus_audience_annotations_0_5_0.xml b/.idea/libraries/Maven__org_apache_yetus_audience_annotations_0_5_0.xml
new file mode 100644
index 00000000..5237f9d6
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_yetus_audience_annotations_0_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_7.xml b/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_7.xml
new file mode 100644
index 00000000..7d9c9988
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_jute_3_5_7.xml b/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_jute_3_5_7.xml
new file mode 100644
index 00000000..073352d4
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_jute_3_5_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
new file mode 100644
index 00000000..f854ab00
--- /dev/null
+++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml
new file mode 100644
index 00000000..1a387a4d
--- /dev/null
+++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml
new file mode 100644
index 00000000..89765002
--- /dev/null
+++ b/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml
new file mode 100644
index 00000000..99a17742
--- /dev/null
+++ b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml
new file mode 100644
index 00000000..4e0490fa
--- /dev/null
+++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml
new file mode 100644
index 00000000..98eb5499
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml
new file mode 100644
index 00000000..77f3bad5
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_dom4j_dom4j_2_1_3.xml b/.idea/libraries/Maven__org_dom4j_dom4j_2_1_3.xml
new file mode 100644
index 00000000..10fb46ae
--- /dev/null
+++ b/.idea/libraries/Maven__org_dom4j_dom4j_2_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml b/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml
new file mode 100644
index 00000000..ae5020d6
--- /dev/null
+++ b/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_3.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_3.xml
new file mode 100644
index 00000000..23fbd58d
--- /dev/null
+++ b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_3.xml b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_3.xml
new file mode 100644
index 00000000..67d5d9ec
--- /dev/null
+++ b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml
new file mode 100644
index 00000000..6b5496ff
--- /dev/null
+++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml b/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml
new file mode 100644
index 00000000..6908885f
--- /dev/null
+++ b/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_0_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_0_Final.xml
new file mode 100644
index 00000000..1fd775b5
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_0_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_5_4_15_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_5_4_15_Final.xml
new file mode 100644
index 00000000..07f1a722
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_hibernate_core_5_4_15_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml b/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml
new file mode 100644
index 00000000..6d045ad9
--- /dev/null
+++ b/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_24_0_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_24_0_GA.xml
new file mode 100644
index 00000000..a9de551c
--- /dev/null
+++ b/.idea/libraries/Maven__org_javassist_javassist_3_24_0_GA.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_jandex_2_1_3_Final.xml b/.idea/libraries/Maven__org_jboss_jandex_2_1_3_Final.xml
new file mode 100644
index 00000000..7d3834f6
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_jandex_2_1_3_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
new file mode 100644
index 00000000..0b76247c
--- /dev/null
+++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml
new file mode 100644
index 00000000..71711536
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml
new file mode 100644
index 00000000..ef160d24
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml
new file mode 100644
index 00000000..fc4c644e
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml
new file mode 100644
index 00000000..45b4af37
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_6_2.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_6_2.xml
new file mode 100644
index 00000000..f2699b95
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_6_2.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_6_2.xml
new file mode 100644
index 00000000..c13a302c
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml
new file mode 100644
index 00000000..697c91f9
--- /dev/null
+++ b/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml b/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml
new file mode 100644
index 00000000..bf681698
--- /dev/null
+++ b/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_lz4_lz4_java_1_7_1.xml b/.idea/libraries/Maven__org_lz4_lz4_java_1_7_1.xml
new file mode 100644
index 00000000..dfa9c100
--- /dev/null
+++ b/.idea/libraries/Maven__org_lz4_lz4_java_1_7_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml
new file mode 100644
index 00000000..87cb599b
--- /dev/null
+++ b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_3_3_3.xml b/.idea/libraries/Maven__org_mockito_mockito_core_3_3_3.xml
new file mode 100644
index 00000000..d2f4afa3
--- /dev/null
+++ b/.idea/libraries/Maven__org_mockito_mockito_core_3_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml
new file mode 100644
index 00000000..6c02a637
--- /dev/null
+++ b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
new file mode 100644
index 00000000..af41e3b6
--- /dev/null
+++ b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
new file mode 100644
index 00000000..fbc1b163
--- /dev/null
+++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml
new file mode 100644
index 00000000..0bf8cf2b
--- /dev/null
+++ b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_0_10_1.xml b/.idea/libraries/Maven__org_projectlombok_lombok_0_10_1.xml
new file mode 100644
index 00000000..e46a908c
--- /dev/null
+++ b/.idea/libraries/Maven__org_projectlombok_lombok_0_10_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml
new file mode 100644
index 00000000..46cf8a8e
--- /dev/null
+++ b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_rocksdb_rocksdbjni_5_18_3.xml b/.idea/libraries/Maven__org_rocksdb_rocksdbjni_5_18_3.xml
new file mode 100644
index 00000000..5f0633ec
--- /dev/null
+++ b/.idea/libraries/Maven__org_rocksdb_rocksdbjni_5_18_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_scala_lang_modules_scala_collection_compat_2_12_2_1_3.xml b/.idea/libraries/Maven__org_scala_lang_modules_scala_collection_compat_2_12_2_1_3.xml
new file mode 100644
index 00000000..fc6d8416
--- /dev/null
+++ b/.idea/libraries/Maven__org_scala_lang_modules_scala_collection_compat_2_12_2_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_scala_lang_modules_scala_java8_compat_2_12_0_9_0.xml b/.idea/libraries/Maven__org_scala_lang_modules_scala_java8_compat_2_12_0_9_0.xml
new file mode 100644
index 00000000..5bb314af
--- /dev/null
+++ b/.idea/libraries/Maven__org_scala_lang_modules_scala_java8_compat_2_12_0_9_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml b/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml
new file mode 100644
index 00000000..80b67f7a
--- /dev/null
+++ b/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_12_10.xml b/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_12_10.xml
new file mode 100644
index 00000000..ab4bd031
--- /dev/null
+++ b/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_12_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml
new file mode 100644
index 00000000..c4c54d6d
--- /dev/null
+++ b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
new file mode 100644
index 00000000..27229ce3
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml
new file mode 100644
index 00000000..02b6812c
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..90f25ec2
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..4eaf24be
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..304d3508
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..04b7e815
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..62ebf135
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..cad03dc6
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..c2ad696f
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..c351d132
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..ab4aefaf
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..1e42b8c7
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..7ad02a12
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..1e8947a5
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..b4b9a361
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..0db4e6e8
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..5f80bf83
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..412e2a43
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..eaa7fa8e
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..c1f15075
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..473ffe1c
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..6a0f124d
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_3_RELEASE.xml
new file mode 100644
index 00000000..e8ee528a
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_3_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_3_RELEASE.xml
new file mode 100644
index 00000000..ffafcceb
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_3_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..528e750b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..d3ae6517
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..47372a5a
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_security_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_security_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..5286a271
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_security_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_3_RELEASE.xml
new file mode 100644
index 00000000..777f23ea
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_3_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_oauth2_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_oauth2_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..62a3522a
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_oauth2_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_security_2_2_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_security_2_2_2_RELEASE.xml
new file mode 100644
index 00000000..8a0865d0
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_security_2_2_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..8e81cfb1
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_2_0_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_2_0_0_RELEASE.xml
new file mode 100644
index 00000000..33e244e9
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_2_0_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_3_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_3_0_RELEASE.xml
new file mode 100644
index 00000000..17e3bf8d
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_3_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_relational_2_0_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_2_0_0_RELEASE.xml
new file mode 100644
index 00000000..b5277164
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_2_0_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_0_RELEASE.xml
new file mode 100644
index 00000000..5e123d45
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_1_RELEASE.xml
new file mode 100644
index 00000000..4f638ca1
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_2_5_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_test_2_5_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_test_2_5_0_RELEASE.xml
new file mode 100644
index 00000000..85283e10
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_kafka_spring_kafka_test_2_5_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml
new file mode 100644
index 00000000..fbc04529
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml
new file mode 100644
index 00000000..7e6f096b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_5_RELEASE.xml
new file mode 100644
index 00000000..3077cc07
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_5_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_oauth_boot_spring_security_oauth2_autoconfigure_2_1_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_oauth_boot_spring_security_oauth2_autoconfigure_2_1_2_RELEASE.xml
new file mode 100644
index 00000000..14c0bdcc
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_oauth_boot_spring_security_oauth2_autoconfigure_2_1_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_oauth_spring_security_oauth2_2_3_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_oauth_spring_security_oauth2_2_3_4_RELEASE.xml
new file mode 100644
index 00000000..6f02016e
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_oauth_spring_security_oauth2_2_3_4_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_3_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_3_2_RELEASE.xml
new file mode 100644
index 00000000..0583ef95
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_3_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_3_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_3_2_RELEASE.xml
new file mode 100644
index 00000000..66310daf
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_3_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_2_RELEASE.xml
new file mode 100644
index 00000000..9ccd5a90
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_jwt_1_0_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_jwt_1_0_9_RELEASE.xml
new file mode 100644
index 00000000..579ed4fd
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_jwt_1_0_9_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml
new file mode 100644
index 00000000..60972566
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_test_5_3_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_test_5_3_2_RELEASE.xml
new file mode 100644
index 00000000..20dccd00
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_test_5_3_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_3_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_3_2_RELEASE.xml
new file mode 100644
index 00000000..9d702d21
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_3_2_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..e31c2b2b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_aop_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..13dcc807
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_aspects_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..753001ae
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_beans_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_context_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..9de0f4a6
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_context_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_core_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..44ad8a83
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_core_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..fc53f6db
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_expression_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..b148bc1e
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..b93db12b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_messaging_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_messaging_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..a5e79305
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_messaging_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_orm_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..0db37c38
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_orm_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_test_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_test_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..d92d9bb5
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_test_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..a77080cb
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_tx_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..cf52b843
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_web_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_6_RELEASE.xml
new file mode 100644
index 00000000..c7f247be
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml
new file mode 100644
index 00000000..8da5da89
--- /dev/null
+++ b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_7_0.xml b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_7_0.xml
new file mode 100644
index 00000000..006a8d34
--- /dev/null
+++ b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_7_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
new file mode 100644
index 00000000..e998675a
--- /dev/null
+++ b/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..e516bcc6
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..a02ed6c2
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 00000000..e96534fb
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 15d8f685..6e0d5ef9 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,74 @@
-# Show me the code
+# Empresa Altran
+
+### # Kaique Nogueira
+
+Iniciar projeto:
+ - docker-compose build
+ - docker-compose up -d
+```
+Utilizado
+ Kafka
+ Mysql
+```
+Iniciar os projetos
+ - managerauth
+ - Cliente
+ - operadoraintegracao
+
+### Post: Gerar Token de Acesso
+ http://localhost:8081/oauth/token
+ -- user:admin
+ -- password admin
+
+ - Body: form-data
+ - grant_type:password
+ - username:client
+ - password:clientpwd
+
+### Post: URL de Acesso
+ - http://localhost:8081/usuario
+ - Header
+ -- Authorization
+ -- Bearer :Token
+
+### Post: Inclusão de Gastos
+ http://localhost:8082/orders
+ - Ex Body: { "descricao": "Mercado", "valor": "180" , "codigousuario": "1" , "data": "05-11-2020"}
+
+### Post: Criar Cliente
+ http://localhost:8083/clientes
+ - Ex Body: {"name":"Kaique","cpf":"02512502825","password":"123456"}
+
+### Get: Listar Cliente
+ http://localhost:8083/clientes/listar
+
+### Get: Listar gastos por cliente
+ http://localhost:8083/clientes/gastosCliente/1
+
+### Get: Listar gastos por cliente e data
+ http://localhost:8083/clientes/gastosCliente/1/05-11-2020
+
+### Post: Criar Categoria
+ http://localhost:8083/clientes/categoria/
+ - Ex Body: {"categoria": "Geral","descricao": "Mercado" }
+
+
+### Get: Listar categorias criadas
+ http://localhost:8083/clientes/categoria
-### # DESAFIO:
API REST para Gestão de Gastos!
+
+
```
Funcionalidade: Integração de gastos por cartão
Apenas sistemas credenciados poderão incluir novos gastos
É esperado um volume de 100.000 inclusões por segundo
Os gastos, serão informados atraves do protoloco JSON, seguindo padrão:
{ "descricao": "alfanumerico", "valor": double americano, "codigousuario": numerico, "data": Data dem formato UTC }
+
+
```
```
Funcionalidade: Listagem de gastos*
diff --git a/cliente/.mvn/wrapper/MavenWrapperDownloader.java b/cliente/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 00000000..a45eb6ba
--- /dev/null
+++ b/cliente/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ private static final String WRAPPER_VERSION = "0.5.6";
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if (mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if (mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if (!outputFile.getParentFile().exists()) {
+ if (!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+ String username = System.getenv("MVNW_USERNAME");
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
+ }
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/cliente/mvnw b/cliente/mvnw
new file mode 100644
index 00000000..3c8a5537
--- /dev/null
+++ b/cliente/mvnw
@@ -0,0 +1,322 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ]; then
+
+ if [ -f /etc/mavenrc ]; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ]; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+darwin=false
+mingw=false
+case "$(uname)" in
+CYGWIN*) cygwin=true ;;
+MINGW*) mingw=true ;;
+Darwin*)
+ darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="$(/usr/libexec/java_home)"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ]; then
+ if [ -r /etc/gentoo-release ]; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+if [ -z "$M2_HOME" ]; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+ done
+
+ saveddir=$(pwd)
+
+ M2_HOME=$(dirname "$PRG")/..
+
+ # make it fully qualified
+ M2_HOME=$(cd "$M2_HOME" && pwd)
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --unix "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="$( (
+ cd "$M2_HOME"
+ pwd
+ ))"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="$( (
+ cd "$JAVA_HOME"
+ pwd
+ ))"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
+ if $darwin; then
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f \"$javaExecutable\")"
+ fi
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(which java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ]; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]; then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ]; do
+ if [ -d "$wdir"/.mvn ]; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(
+ cd "$wdir/.."
+ pwd
+ )
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' <"$1")"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(pwd)")
+if [ -z "$BASE_DIR" ]; then
+ exit 1
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in wrapperUrl)
+ jarUrl="$value"
+ break
+ ;;
+ esac
+ done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --path --windows "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/ClienteApplication.java b/cliente/src/main/java/org/springframework/boot/cliente/ClienteApplication.java
new file mode 100644
index 00000000..f8007336
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/ClienteApplication.java
@@ -0,0 +1,39 @@
+package org.springframework.boot.cliente;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+
+@SpringBootApplication
+@EnableFeignClients
+@EnableResourceServer
+public class ClienteApplication {
+
+ @Bean
+ public RequestInterceptor getInterceptorDeAutenticacao() {
+ return new RequestInterceptor() {
+ @Override
+ public void apply(RequestTemplate template) {
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ if(authentication == null) {
+ return;
+ }
+
+ OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)authentication.getDetails();
+ template.header("Authorization", "Bearer" + details.getTokenValue());
+ }
+ };
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(ClienteApplication.class, args);
+ }
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/config/ResourceServerConfigurer.java b/cliente/src/main/java/org/springframework/boot/cliente/config/ResourceServerConfigurer.java
new file mode 100644
index 00000000..22c945de
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/config/ResourceServerConfigurer.java
@@ -0,0 +1,17 @@
+package org.springframework.boot.cliente.config;
+
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
+
+@Configuration
+public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
+
+ @Override
+ public void configure(HttpSecurity http) throws Exception {
+
+ http.authorizeRequests()
+ .antMatchers("/**,swagger-ui").hasRole("USER_ACESS");
+ }
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/config/SwaggerConfig.java b/cliente/src/main/java/org/springframework/boot/cliente/config/SwaggerConfig.java
new file mode 100644
index 00000000..a6a5c67a
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/config/SwaggerConfig.java
@@ -0,0 +1,41 @@
+package org.springframework.boot.cliente.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig extends WebMvcConfigurationSupport {
+ @Bean
+ public Docket productApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("com.crm"))
+ .build()
+ .apiInfo(metaData());
+ }
+ private ApiInfo metaData() {
+ return new ApiInfoBuilder()
+ .title("Spring Boot REST API")
+ .description("\"Spring Boot REST API\"")
+ .version("1.0.0")
+.license("Apache License Version 2.0")
+.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0\"")
+.build();
+ }
+ @Override
+ protected void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler("swagger-ui.html")
+ .addResourceLocations("classpath:/META-INF/resources/");
+ registry.addResourceHandler("/webjars/**")
+ .addResourceLocations("classpath:/META-INF/resources/webjars/");
+ }
+ }
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/controller/ClienteController.java b/cliente/src/main/java/org/springframework/boot/cliente/controller/ClienteController.java
new file mode 100644
index 00000000..b9246ae0
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/controller/ClienteController.java
@@ -0,0 +1,56 @@
+package org.springframework.boot.cliente.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.cliente.dto.ClienteDTO;
+import org.springframework.boot.cliente.model.Billing;
+import org.springframework.boot.cliente.model.Categoria;
+import org.springframework.boot.cliente.model.Cliente;
+import org.springframework.boot.cliente.service.ClienteService;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.*;
+
+
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/clientes")
+public class ClienteController {
+
+ @Autowired
+ ClienteService clienteService;
+
+ @PostMapping
+ public Cliente criarCliente(@RequestBody ClienteDTO cliente) {
+ return clienteService.novoCliente(cliente);
+ }
+
+ @GetMapping("/listar")
+ public List listaClientes(){
+ return clienteService.lista();
+ }
+
+ @GetMapping("gastosCliente/{id}")
+ public List listarGastosByCliente(@PathVariable Long id){
+ return clienteService.listaGastosCliente(id);
+ }
+
+ @GetMapping("gastosCliente/{id}/{data}")
+ public List listarGastosByCliente(@PathVariable Long id, @PathVariable @DateTimeFormat(pattern = "dd-MM-yyyy") Date data ){
+ return clienteService.listaGastosClienteData(id,data);
+ }
+
+ @PostMapping("categoria")
+ public Categoria criarCategoria(@RequestBody Categoria categoria){
+ return clienteService.criarCategoria(categoria);
+ }
+
+
+ @GetMapping("categoria")
+ public List criarCategoria(){
+ return clienteService.listarCategoria();
+ }
+
+
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/dto/BillingDTO.java b/cliente/src/main/java/org/springframework/boot/cliente/dto/BillingDTO.java
new file mode 100644
index 00000000..641d7791
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/dto/BillingDTO.java
@@ -0,0 +1,33 @@
+package org.springframework.boot.cliente.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.cliente.model.Billing;
+import org.springframework.boot.cliente.model.Cliente;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Getter
+@Setter
+public class BillingDTO implements Serializable {
+
+ private Long codigousuario;
+ private String descricao;
+ private Integer valor;
+
+ @JsonFormat(pattern="dd-MM-yyyy")
+ private Date data;
+
+ public Billing billingDtoToBilling(){
+ Billing billing = new Billing();
+ billing.setCodigousuario(this.codigousuario);
+ billing.setDescricao(this.descricao);
+ billing.setValor(this.valor);
+ billing.setData(this.data);
+ return billing;
+ }
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/dto/ClienteDTO.java b/cliente/src/main/java/org/springframework/boot/cliente/dto/ClienteDTO.java
new file mode 100644
index 00000000..76fec690
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/dto/ClienteDTO.java
@@ -0,0 +1,14 @@
+package org.springframework.boot.cliente.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ClienteDTO {
+
+ private String name;
+ private String cpf;
+ private String password;
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/model/Billing.java b/cliente/src/main/java/org/springframework/boot/cliente/model/Billing.java
new file mode 100644
index 00000000..ca4b4ec6
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/model/Billing.java
@@ -0,0 +1,37 @@
+package org.springframework.boot.cliente.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.*;
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Entity
+@Getter
+@Setter
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class Billing {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "billing_id_seq")
+ @SequenceGenerator(name = "billing_id_seq", sequenceName = "billing_id_seq", allocationSize = 1)
+ private Long id;
+
+ @NotNull(message = "Usuario não pode ser nulo")
+ private Long codigousuario;
+
+ @NotNull(message = "Descriçao não pode ser nula")
+ private String descricao;
+
+ @NotNull(message = "Valor não pode ser nulo")
+ private Integer valor;
+
+ @NotNull(message = "Data não pode ser nula")
+ @JsonFormat(pattern="dd-MM-yyyy")
+ private Date data;
+
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/model/Categoria.java b/cliente/src/main/java/org/springframework/boot/cliente/model/Categoria.java
new file mode 100644
index 00000000..12639629
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/model/Categoria.java
@@ -0,0 +1,30 @@
+package org.springframework.boot.cliente.model;
+
+import lombok.*;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Entity
+@Getter
+@Setter
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class Categoria {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "categoria_id_seq")
+ @SequenceGenerator(name = "categoria_id_seq", sequenceName = "categoria_id_seq", allocationSize = 1)
+ @Column(name = "categotia_id")
+ private Long id;
+
+ @NotNull(message = "categoria não pode ser nula")
+ private String categoria;
+
+ @NotNull(message = "categoria não pode ser nula")
+ private String descricao;
+
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/model/Cliente.java b/cliente/src/main/java/org/springframework/boot/cliente/model/Cliente.java
new file mode 100644
index 00000000..e21870a2
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/model/Cliente.java
@@ -0,0 +1,36 @@
+package org.springframework.boot.cliente.model;
+
+import lombok.*;
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+@Entity
+@Getter
+@Setter
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class Cliente {
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "cliente_id_seq")
+ @SequenceGenerator(name = "cliente_id_seq", sequenceName = "cliente_id_seq", allocationSize = 1)
+ @Column(name = "client_id")
+ private Long id;
+
+ @NotNull
+ @Size(max = 200)
+ private String name;
+
+ @NotNull
+ @Size(max = 200)
+ private String cpf;
+
+ @NotNull
+ @Size(max = 200)
+ private String password;
+
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/repository/BillingRepository.java b/cliente/src/main/java/org/springframework/boot/cliente/repository/BillingRepository.java
new file mode 100644
index 00000000..2825084b
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/repository/BillingRepository.java
@@ -0,0 +1,26 @@
+package org.springframework.boot.cliente.repository;
+
+import org.springframework.boot.cliente.model.Billing;
+import org.springframework.boot.cliente.model.Cliente;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+
+import java.awt.print.Pageable;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+
+@Repository
+public interface BillingRepository extends JpaRepository {
+
+ List findByCodigousuario(@Param("codigousuario") Long codigousuario);
+
+
+ @Query("SELECT t FROM Billing t WHERE LOWER(t.codigousuario) = LOWER(:codigousuario) and t.data = :paramData ")
+ List findByData(@Param("codigousuario") Long codigousuario,@Param("paramData") Date paramData );
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/repository/CategoriaRepository.java b/cliente/src/main/java/org/springframework/boot/cliente/repository/CategoriaRepository.java
new file mode 100644
index 00000000..a953ddcb
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/repository/CategoriaRepository.java
@@ -0,0 +1,7 @@
+package org.springframework.boot.cliente.repository;
+
+import org.springframework.boot.cliente.model.Categoria;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface CategoriaRepository extends JpaRepository {
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/repository/ClienteReposiroty.java b/cliente/src/main/java/org/springframework/boot/cliente/repository/ClienteReposiroty.java
new file mode 100644
index 00000000..893a569d
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/repository/ClienteReposiroty.java
@@ -0,0 +1,7 @@
+package org.springframework.boot.cliente.repository;
+
+import org.springframework.boot.cliente.model.Cliente;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ClienteReposiroty extends JpaRepository {
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/service/BillingConsumer.java b/cliente/src/main/java/org/springframework/boot/cliente/service/BillingConsumer.java
new file mode 100644
index 00000000..769ea5a3
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/service/BillingConsumer.java
@@ -0,0 +1,28 @@
+package org.springframework.boot.cliente.service;
+
+
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.kafka.annotation.KafkaListener;
+import org.springframework.stereotype.Component;
+
+@Component
+@Slf4j
+public class BillingConsumer {
+
+ @Autowired
+ BillingService billingService;
+
+ @KafkaListener(topics = "${order.topic}", groupId = "${spring.kafka.consumer.group-id}")
+ public void consumer(ConsumerRecord consumerRecord) {
+ log.info("key: " + consumerRecord.key());
+ log.info("Headers: " + consumerRecord.headers());
+ log.info("Partion: " + consumerRecord.partition());
+ log.info("Order: " + consumerRecord.value());
+
+ billingService.saveOrder(consumerRecord.value());
+
+ }
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/service/BillingService.java b/cliente/src/main/java/org/springframework/boot/cliente/service/BillingService.java
new file mode 100644
index 00000000..6923ed84
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/service/BillingService.java
@@ -0,0 +1,44 @@
+package org.springframework.boot.cliente.service;
+
+import lombok.extern.slf4j.Slf4j;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.cliente.dto.BillingDTO;
+
+import org.springframework.boot.cliente.repository.BillingRepository;
+import org.springframework.stereotype.Service;
+
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.Locale;
+
+@Service
+@Slf4j
+public class BillingService {
+
+ @Autowired
+ BillingRepository billingRepository;
+
+ public void saveOrder(Object consumerRecord) {
+
+ try{
+ JSONObject obj = new JSONObject(consumerRecord.toString());
+
+ BillingDTO billingDTO = new BillingDTO();
+ billingDTO.setCodigousuario(obj.getLong("codigousuario"));
+ billingDTO.setDescricao(obj.getString("descricao"));
+ billingDTO.setValor(Integer.parseInt(obj.getString("valor").replace(",",".")));
+ String jsonDate = obj.getString("data");
+ SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
+ Date date = formatter.parse(jsonDate);
+ billingDTO.setData(date);
+
+ billingRepository.save(billingDTO.billingDtoToBilling());
+ } catch (Exception e){
+ System.out.println("Nao foi possivel salvar a ordem: " + consumerRecord);
+ }
+ }
+
+}
diff --git a/cliente/src/main/java/org/springframework/boot/cliente/service/ClienteService.java b/cliente/src/main/java/org/springframework/boot/cliente/service/ClienteService.java
new file mode 100644
index 00000000..aee46948
--- /dev/null
+++ b/cliente/src/main/java/org/springframework/boot/cliente/service/ClienteService.java
@@ -0,0 +1,62 @@
+package org.springframework.boot.cliente.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.cliente.dto.ClienteDTO;
+import org.springframework.boot.cliente.model.Billing;
+import org.springframework.boot.cliente.model.Categoria;
+import org.springframework.boot.cliente.model.Cliente;
+import org.springframework.boot.cliente.repository.BillingRepository;
+import org.springframework.boot.cliente.repository.CategoriaRepository;
+import org.springframework.boot.cliente.repository.ClienteReposiroty;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class ClienteService {
+
+ @Autowired
+ ClienteReposiroty clienteReposiroty;
+
+ @Autowired
+ BillingRepository billingRepository;
+
+
+ @Autowired
+ CategoriaRepository categoriaRepository;
+
+
+ public Cliente novoCliente(ClienteDTO dto) {
+ Cliente cliente = new Cliente();
+ cliente.setName(dto.getName());
+ cliente.setCpf(dto.getCpf());
+ cliente.setPassword(dto.getPassword());
+
+ clienteReposiroty.save(cliente);
+ return cliente;
+ }
+
+ public List lista() {
+ return clienteReposiroty.findAll();
+ }
+
+ public List listaGastosCliente(Long id) {
+ return billingRepository.findByCodigousuario(id);
+ }
+
+
+ public List listaGastosClienteData(Long id, Date data) {
+ return billingRepository.findByData(id, data);
+ }
+
+ public Categoria criarCategoria(Categoria categoria) {
+ return categoriaRepository.save(categoria);
+ }
+
+ public List listarCategoria() {
+ return categoriaRepository.findAll();
+ }
+}
diff --git a/cliente/src/test/java/org/springframework/boot/cliente/ClienteApplicationTests.java b/cliente/src/test/java/org/springframework/boot/cliente/ClienteApplicationTests.java
new file mode 100644
index 00000000..e23a873b
--- /dev/null
+++ b/cliente/src/test/java/org/springframework/boot/cliente/ClienteApplicationTests.java
@@ -0,0 +1,13 @@
+package org.springframework.boot.cliente;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class ClienteApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000..3e95eca0
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,37 @@
+version: '3.7'
+services:
+ zookeeper:
+ container_name: zookeeper_container
+ image: confluentinc/cp-zookeeper:5.2.1
+ environment:
+ ZOOKEEPER_CLIENT_PORT: 2181
+ ZOOKEEPER_TICK_TIME: 2000
+ ZOOKEEPER_SYNC_LIMIT: 2
+
+ kafka:
+ container_name: kafka_container
+ image: confluentinc/cp-kafka:5.2.1
+ ports:
+ - "9092:9092"
+ depends_on:
+ - zookeeper
+ environment:
+ KAFKA_BROKER_ID: 1
+ KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+ KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
+
+ mysql_cliente:
+ container_name: mysql_cliente
+ image: mysql:5.7
+ restart: always
+ environment:
+ MYSQL_DATABASE: 'dbcliente'
+ MYSQL_USER: 'cliente'
+ MYSQL_PASSWORD: 'cliente'
+ MYSQL_ROOT_PASSWORD: 'root'
+ ports:
+ - '3306:3306'
+ expose:
+ - '3306'
diff --git a/lib/javax.ejb.jar b/lib/javax.ejb.jar
new file mode 100644
index 00000000..4ebf5ecd
Binary files /dev/null and b/lib/javax.ejb.jar differ
diff --git a/lib/javax.jms.jar b/lib/javax.jms.jar
new file mode 100644
index 00000000..d31451ad
Binary files /dev/null and b/lib/javax.jms.jar differ
diff --git a/lib/javax.persistence.jar b/lib/javax.persistence.jar
new file mode 100644
index 00000000..21d80e0e
Binary files /dev/null and b/lib/javax.persistence.jar differ
diff --git a/lib/javax.resource.jar b/lib/javax.resource.jar
new file mode 100644
index 00000000..696a2345
Binary files /dev/null and b/lib/javax.resource.jar differ
diff --git a/lib/javax.servlet.jar b/lib/javax.servlet.jar
new file mode 100644
index 00000000..0519e4a4
Binary files /dev/null and b/lib/javax.servlet.jar differ
diff --git a/lib/javax.servlet.jsp.jar b/lib/javax.servlet.jsp.jar
new file mode 100644
index 00000000..9c0631ce
Binary files /dev/null and b/lib/javax.servlet.jsp.jar differ
diff --git a/lib/javax.servlet.jsp.jstl.jar b/lib/javax.servlet.jsp.jstl.jar
new file mode 100644
index 00000000..7be17cc7
Binary files /dev/null and b/lib/javax.servlet.jsp.jstl.jar differ
diff --git a/lib/javax.transaction.jar b/lib/javax.transaction.jar
new file mode 100644
index 00000000..729c6952
Binary files /dev/null and b/lib/javax.transaction.jar differ
diff --git a/managerauth/.gitignore b/managerauth/.gitignore
new file mode 100644
index 00000000..a2a3040a
--- /dev/null
+++ b/managerauth/.gitignore
@@ -0,0 +1,31 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/managerauth/.mvn/wrapper/MavenWrapperDownloader.java b/managerauth/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 00000000..a45eb6ba
--- /dev/null
+++ b/managerauth/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ private static final String WRAPPER_VERSION = "0.5.6";
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if (mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if (mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if (!outputFile.getParentFile().exists()) {
+ if (!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+ String username = System.getenv("MVNW_USERNAME");
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
+ }
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/managerauth/.mvn/wrapper/maven-wrapper.jar b/managerauth/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 00000000..2cc7d4a5
Binary files /dev/null and b/managerauth/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/managerauth/.mvn/wrapper/maven-wrapper.properties b/managerauth/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 00000000..642d572c
--- /dev/null
+++ b/managerauth/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
diff --git a/managerauth/mvnw b/managerauth/mvnw
new file mode 100644
index 00000000..3c8a5537
--- /dev/null
+++ b/managerauth/mvnw
@@ -0,0 +1,322 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ]; then
+
+ if [ -f /etc/mavenrc ]; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ]; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+darwin=false
+mingw=false
+case "$(uname)" in
+CYGWIN*) cygwin=true ;;
+MINGW*) mingw=true ;;
+Darwin*)
+ darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="$(/usr/libexec/java_home)"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ]; then
+ if [ -r /etc/gentoo-release ]; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+if [ -z "$M2_HOME" ]; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+ done
+
+ saveddir=$(pwd)
+
+ M2_HOME=$(dirname "$PRG")/..
+
+ # make it fully qualified
+ M2_HOME=$(cd "$M2_HOME" && pwd)
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --unix "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="$( (
+ cd "$M2_HOME"
+ pwd
+ ))"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="$( (
+ cd "$JAVA_HOME"
+ pwd
+ ))"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
+ if $darwin; then
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f \"$javaExecutable\")"
+ fi
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(which java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ]; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]; then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ]; do
+ if [ -d "$wdir"/.mvn ]; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(
+ cd "$wdir/.."
+ pwd
+ )
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' <"$1")"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(pwd)")
+if [ -z "$BASE_DIR" ]; then
+ exit 1
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in wrapperUrl)
+ jarUrl="$value"
+ break
+ ;;
+ esac
+ done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --path --windows "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/managerauth/mvnw.cmd b/managerauth/mvnw.cmd
new file mode 100644
index 00000000..c8d43372
--- /dev/null
+++ b/managerauth/mvnw.cmd
@@ -0,0 +1,182 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/managerauth/pom.xml b/managerauth/pom.xml
new file mode 100644
index 00000000..6af0f355
--- /dev/null
+++ b/managerauth/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.0.RELEASE
+
+
+ com.altran.desafio.gastos
+ managerauth
+ 0.0.1-SNAPSHOT
+ managerauth
+ Demo project for Spring Boot
+
+
+ 14
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-oauth2
+ 2.2.2.RELEASE
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.security
+ spring-security-test
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/AuthorizationServerConfigurer.java b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/AuthorizationServerConfigurer.java
new file mode 100644
index 00000000..3dc0ea41
--- /dev/null
+++ b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/AuthorizationServerConfigurer.java
@@ -0,0 +1,41 @@
+package com.altran.desafio.gastos.managerauth;
+
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
+import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
+import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
+
+@Configuration
+public class AuthorizationServerConfigurer extends AuthorizationServerConfigurerAdapter{
+
+ @Autowired
+ private AuthenticationManager authenticationManager;
+
+
+
+ @Autowired
+ private UserDetailsService detailsService;
+
+ @Autowired
+ private PasswordEncoder passwordEncoder;
+
+ @Override
+ public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
+ clients.inMemory()
+ .withClient("admin")
+ .secret(passwordEncoder.encode("admin"))
+ .authorizedGrantTypes("password")
+ .scopes("any");
+ }
+
+ @Override
+ public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
+ endpoints.authenticationManager(authenticationManager)
+ .userDetailsService(detailsService);
+ }
+}
diff --git a/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/ManagerauthApplication.java b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/ManagerauthApplication.java
new file mode 100644
index 00000000..a5847e7b
--- /dev/null
+++ b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/ManagerauthApplication.java
@@ -0,0 +1,27 @@
+package com.altran.desafio.gastos.managerauth;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.security.Principal;
+
+@SpringBootApplication
+@EnableAuthorizationServer
+@EnableResourceServer
+@RestController
+public class ManagerauthApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ManagerauthApplication.class, args);
+ }
+
+ @RequestMapping("/usuario")
+ public Principal use(Principal user) {
+ return user;
+ }
+
+}
diff --git a/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/WebSercurityConfigurer.java b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/WebSercurityConfigurer.java
new file mode 100644
index 00000000..a76fe756
--- /dev/null
+++ b/managerauth/src/main/java/com/altran/desafio/gastos/managerauth/WebSercurityConfigurer.java
@@ -0,0 +1,41 @@
+package com.altran.desafio.gastos.managerauth;
+
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+@Configuration
+public class WebSercurityConfigurer extends WebSecurityConfigurerAdapter{
+
+ @Override @Bean
+ public AuthenticationManager authenticationManagerBean() throws Exception {
+ // TODO Auto-generated method stub
+ return super.authenticationManagerBean();
+ }
+
+ @Override @Bean
+ protected UserDetailsService userDetailsService() {
+ // TODO Auto-generated method stub
+ return super.userDetailsService();
+ }
+
+ @Bean
+ public PasswordEncoder passwordEnconder() {
+ return new BCryptPasswordEncoder();
+ }
+
+ @Override
+ protected void configure(AuthenticationManagerBuilder auth) throws Exception {
+ auth.inMemoryAuthentication()
+ .passwordEncoder(passwordEnconder())
+ .withUser("client")
+ .password(passwordEnconder().encode("clientpwd"))
+ .roles("USER_ACESS");
+ }
+}
diff --git a/managerauth/src/main/resources/application.properties b/managerauth/src/main/resources/application.properties
new file mode 100644
index 00000000..e5ba667f
--- /dev/null
+++ b/managerauth/src/main/resources/application.properties
@@ -0,0 +1 @@
+server.port: 8081
diff --git a/managerauth/src/test/java/com/altran/desafio/gastos/managerauth/ManagerauthApplicationTests.java b/managerauth/src/test/java/com/altran/desafio/gastos/managerauth/ManagerauthApplicationTests.java
new file mode 100644
index 00000000..97b71b06
--- /dev/null
+++ b/managerauth/src/test/java/com/altran/desafio/gastos/managerauth/ManagerauthApplicationTests.java
@@ -0,0 +1,13 @@
+package com.altran.desafio.gastos.managerauth;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class ManagerauthApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/operadoraintegracao/.mvn/wrapper/MavenWrapperDownloader.java b/operadoraintegracao/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 00000000..a45eb6ba
--- /dev/null
+++ b/operadoraintegracao/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ private static final String WRAPPER_VERSION = "0.5.6";
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if (mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if (mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if (!outputFile.getParentFile().exists()) {
+ if (!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+ String username = System.getenv("MVNW_USERNAME");
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
+ }
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/operadoraintegracao/mvnw b/operadoraintegracao/mvnw
new file mode 100644
index 00000000..3c8a5537
--- /dev/null
+++ b/operadoraintegracao/mvnw
@@ -0,0 +1,322 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ]; then
+
+ if [ -f /etc/mavenrc ]; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ]; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+darwin=false
+mingw=false
+case "$(uname)" in
+CYGWIN*) cygwin=true ;;
+MINGW*) mingw=true ;;
+Darwin*)
+ darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="$(/usr/libexec/java_home)"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ]; then
+ if [ -r /etc/gentoo-release ]; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+if [ -z "$M2_HOME" ]; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+ done
+
+ saveddir=$(pwd)
+
+ M2_HOME=$(dirname "$PRG")/..
+
+ # make it fully qualified
+ M2_HOME=$(cd "$M2_HOME" && pwd)
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --unix "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="$( (
+ cd "$M2_HOME"
+ pwd
+ ))"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="$( (
+ cd "$JAVA_HOME"
+ pwd
+ ))"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr \"$javaExecutable\" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! $(expr "$readLink" : '\([^ ]*\)') = "no" ]; then
+ if $darwin; then
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaExecutable="$(cd \"$javaHome\" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f \"$javaExecutable\")"
+ fi
+ javaHome="$(dirname \"$javaExecutable\")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(which java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ]; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]; then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ]; do
+ if [ -d "$wdir"/.mvn ]; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(
+ cd "$wdir/.."
+ pwd
+ )
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' <"$1")"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(pwd)")
+if [ -z "$BASE_DIR" ]; then
+ exit 1
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in wrapperUrl)
+ jarUrl="$value"
+ break
+ ;;
+ esac
+ done <"$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl >/dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=$(cygpath --path --windows "$M2_HOME")
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/operadoraintegracao/pom.xml b/operadoraintegracao/pom.xml
new file mode 100644
index 00000000..7ccb96c0
--- /dev/null
+++ b/operadoraintegracao/pom.xml
@@ -0,0 +1,112 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.0.RELEASE
+
+
+ com.altran.desafio.gastos
+ operadoraintegracao
+ 0.0.1-SNAPSHOT
+ operadoraintegracao
+ Geracao de gastos enviado pela operadora do cartao
+
+
+ 14
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.kafka
+ spring-kafka
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+ org.springframework.kafka
+ spring-kafka-test
+ test
+
+
+ org.springframework.security
+ spring-security-test
+ test
+
+
+ org.projectlombok
+ lombok
+ 0.10.1
+ provided
+
+
+ io.springfox
+ springfox-swagger2
+ 2.9.2
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.9.2
+ compile
+
+
+ org.springframework.security
+ spring-security-config
+
+
+ org.springframework.cloud
+ spring-cloud-starter-oauth2
+ 2.2.2.RELEASE
+
+
+ org.springframework.security
+ spring-security-web
+
+
+ org.springframework.cloud
+ spring-cloud-openfeign-core
+ 2.2.2.RELEASE
+
+
+ io.github.openfeign
+ feign-core
+ 10.7.4
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplication.java b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplication.java
new file mode 100644
index 00000000..c81550f2
--- /dev/null
+++ b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplication.java
@@ -0,0 +1,41 @@
+package com.altran.desafio.gastos.operadoraintegracao;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+
+@SpringBootApplication
+@EnableFeignClients
+@EnableResourceServer
+public class OperadoraintegracaoApplication {
+
+ @Bean
+ public RequestInterceptor getInterceptorDeAutenticacao() {
+ return new RequestInterceptor() {
+ @Override
+ public void apply(RequestTemplate template) {
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ if(authentication == null) {
+ return;
+ }
+
+ OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)authentication.getDetails();
+ System.out.println("detais "+ authentication.getDetails());
+ template.header("Authorization", "Bearer" + details.getTokenValue());
+ }
+ };
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(OperadoraintegracaoApplication.class, args);
+ }
+
+
+ }
diff --git a/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/ResourceServerConfigurer.java b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/ResourceServerConfigurer.java
new file mode 100644
index 00000000..778208d7
--- /dev/null
+++ b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/ResourceServerConfigurer.java
@@ -0,0 +1,16 @@
+package com.altran.desafio.gastos.operadoraintegracao.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
+
+@Configuration
+public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter{
+
+ @Override
+ public void configure(HttpSecurity http) throws Exception {
+
+ http.authorizeRequests()
+ .antMatchers("/orders/**,/swagger-ui").hasRole("USER_ACESS");
+ }
+}
diff --git a/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/SwaggerConfig.java b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/SwaggerConfig.java
new file mode 100644
index 00000000..b1d8ca2d
--- /dev/null
+++ b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/config/SwaggerConfig.java
@@ -0,0 +1,41 @@
+package com.altran.desafio.gastos.operadoraintegracao.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig extends WebMvcConfigurationSupport {
+ @Bean
+ public Docket productApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("com.crm"))
+ .build()
+ .apiInfo(metaData());
+ }
+ private ApiInfo metaData() {
+ return new ApiInfoBuilder()
+ .title("Spring Boot REST API")
+ .description("\"Spring Boot REST API\"")
+ .version("1.0.0")
+.license("Apache License Version 2.0")
+.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0\"")
+.build();
+ }
+ @Override
+ protected void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler("swagger-ui.html")
+ .addResourceLocations("classpath:/META-INF/resources/");
+ registry.addResourceHandler("/webjars/**")
+ .addResourceLocations("classpath:/META-INF/resources/webjars/");
+ }
+ }
diff --git a/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderController.java b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderController.java
new file mode 100644
index 00000000..9cef610e
--- /dev/null
+++ b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderController.java
@@ -0,0 +1,24 @@
+package com.altran.desafio.gastos.operadoraintegracao.controller;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/orders")
+@Slf4j
+public class OrderController {
+
+ private final OrderProducer orderProducer;
+
+ public OrderController(OrderProducer orderProducer) {
+ this.orderProducer = orderProducer;
+ }
+
+ @RequestMapping(method = RequestMethod.POST)
+ public void send(@RequestBody String order) {
+ orderProducer.send(order);
+ }
+}
diff --git a/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderProducer.java b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderProducer.java
new file mode 100644
index 00000000..4755e0b9
--- /dev/null
+++ b/operadoraintegracao/src/main/java/com/altran/desafio/gastos/operadoraintegracao/controller/OrderProducer.java
@@ -0,0 +1,26 @@
+package com.altran.desafio.gastos.operadoraintegracao.controller;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.UUID;
+
+@Component
+public class OrderProducer {
+
+ @Value("${order.topic}")
+ private String orderTopic;
+
+ private final KafkaTemplate kafkaTemplate;
+
+ public OrderProducer(final KafkaTemplate kafkaTemplate) {
+ this.kafkaTemplate = kafkaTemplate;
+ }
+
+ public void send(final @RequestBody String order) {
+ final String mensageKey = UUID.randomUUID().toString();
+ kafkaTemplate.send(orderTopic, mensageKey, order);
+ }
+}
diff --git a/operadoraintegracao/src/test/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplicationTests.java b/operadoraintegracao/src/test/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplicationTests.java
new file mode 100644
index 00000000..ade859cf
--- /dev/null
+++ b/operadoraintegracao/src/test/java/com/altran/desafio/gastos/operadoraintegracao/OperadoraintegracaoApplicationTests.java
@@ -0,0 +1,13 @@
+package com.altran.desafio.gastos.operadoraintegracao;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class OperadoraintegracaoApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}