From 4f653249c8b6e946234a9503ffd632123cb41d4f Mon Sep 17 00:00:00 2001 From: HammanBello Date: Sat, 1 Apr 2023 10:32:27 +0100 Subject: [PATCH 1/5] first-commit --- .github/workflows/main_cicdforjava.yml | 56 +++++++++++++++++++ .github/workflows/main_javaone2022.yml | 56 +++++++++++++++++++ .github/workflows/main_jcon2022.yml | 56 +++++++++++++++++++ .idea/.gitignore | 8 +++ .idea/DevOpsforJavaShops.iml | 9 +++ .idea/compiler.xml | 22 ++++++++ .idea/encodings.xml | 7 +++ .idea/jarRepositories.xml | 20 +++++++ ...__ch_qos_logback_logback_classic_1_2_3.xml | 13 +++++ ...ven__ch_qos_logback_logback_core_1_2_3.xml | 13 +++++ .../Maven__com_azure_azure_core_1_3_0.xml | 13 +++++ ..._com_azure_azure_core_http_netty_1_3_0.xml | 13 +++++ ...zure_azure_data_appconfiguration_1_1_0.xml | 13 +++++ .../Maven__com_azure_azure_identity_1_0_4.xml | 13 +++++ ..._azure_security_keyvault_secrets_4_1_1.xml | 13 +++++ .../Maven__com_fasterxml_classmate_1_5_1.xml | 13 +++++ ...ackson_core_jackson_annotations_2_11_2.xml | 13 +++++ ...erxml_jackson_core_jackson_core_2_11_2.xml | 13 +++++ ...l_jackson_core_jackson_databind_2_11_2.xml | 13 +++++ ...taformat_jackson_dataformat_xml_2_11_2.xml | 13 +++++ ..._datatype_jackson_datatype_jdk8_2_11_2.xml | 13 +++++ ...atatype_jackson_datatype_jsr310_2_11_2.xml | 13 +++++ ...jackson_module_jaxb_annotations_2_11_2.xml | 13 +++++ ..._jackson_module_parameter_names_2_11_2.xml | 13 +++++ ...fasterxml_woodstox_woodstox_core_6_2_1.xml | 13 +++++ ...b_stephenc_jcip_jcip_annotations_1_0_1.xml | 13 +++++ ...Maven__com_google_code_gson_gson_2_8_6.xml | 13 +++++ ...n__com_jayway_jsonpath_json_path_2_4_0.xml | 13 +++++ ...m_microsoft_azure_msal4j_0_5_0_preview.xml | 13 +++++ ...ud_azure_appconfiguration_config_1_1_5.xml | 13 +++++ ...zure_appconfiguration_config_web_1_1_5.xml | 13 +++++ ...g_cloud_azure_feature_management_1_2_2.xml | 13 +++++ ...oud_azure_feature_management_web_1_2_2.xml | 13 +++++ .../Maven__com_nimbusds_content_type_2_0.xml | 13 +++++ .../Maven__com_nimbusds_lang_tag_1_4_4.xml | 13 +++++ ...aven__com_nimbusds_nimbus_jose_jwt_8_8.xml | 13 +++++ ...en__com_nimbusds_oauth2_oidc_sdk_7_1_1.xml | 13 +++++ .../Maven__com_sun_mail_javax_mail_1_6_1.xml | 13 +++++ ...ogle_android_json_0_0_20131108_vaadin1.xml | 13 +++++ ...aven__commons_codec_commons_codec_1_14.xml | 13 +++++ ...en__io_netty_netty_buffer_4_1_51_Final.xml | 13 +++++ ...ven__io_netty_netty_codec_4_1_51_Final.xml | 13 +++++ ...o_netty_netty_codec_http2_4_1_51_Final.xml | 13 +++++ ...io_netty_netty_codec_http_4_1_51_Final.xml | 13 +++++ ...o_netty_netty_codec_socks_4_1_51_Final.xml | 13 +++++ ...en__io_netty_netty_common_4_1_51_Final.xml | 13 +++++ ...n__io_netty_netty_handler_4_1_51_Final.xml | 13 +++++ ...netty_netty_handler_proxy_4_1_51_Final.xml | 13 +++++ ...__io_netty_netty_resolver_4_1_51_Final.xml | 13 +++++ ...tcnative_boringssl_static_2_0_31_Final.xml | 13 +++++ ..._io_netty_netty_transport_4_1_51_Final.xml | 13 +++++ ...native_epoll_linux_x86_64_4_1_51_Final.xml | 13 +++++ ...nsport_native_unix_common_4_1_51_Final.xml | 13 +++++ ...tor_netty_reactor_netty_0_9_11_RELEASE.xml | 13 +++++ ...jectreactor_reactor_core_3_3_9_RELEASE.xml | 13 +++++ ...ctivation_jakarta_activation_api_1_2_2.xml | 13 +++++ ...nnotation_jakarta_annotation_api_1_3_5.xml | 13 +++++ ...alidation_jakarta_validation_api_2_0_2.xml | 13 +++++ ...ta_xml_bind_jakarta_xml_bind_api_2_3_3.xml | 13 +++++ ...Maven__javax_activation_activation_1_1.xml | 13 +++++ ...aven__net_bytebuddy_byte_buddy_1_10_14.xml | 13 +++++ ...net_bytebuddy_byte_buddy_agent_1_10_14.xml | 13 +++++ .../Maven__net_java_dev_jna_jna_5_4_0.xml | 13 +++++ ...n__net_java_dev_jna_jna_platform_5_4_0.xml | 13 +++++ ...Maven__net_minidev_accessors_smart_1_2.xml | 13 +++++ .../Maven__net_minidev_json_smart_2_3.xml | 13 +++++ ..._org_apache_commons_commons_lang3_3_10.xml | 13 +++++ ...pache_httpcomponents_httpclient_4_5_12.xml | 13 +++++ ..._apache_httpcomponents_httpcore_4_4_13.xml | 13 +++++ ..._apache_logging_log4j_log4j_api_2_13_3.xml | 13 +++++ ...he_logging_log4j_log4j_to_slf4j_2_13_3.xml | 13 +++++ ..._tomcat_embed_tomcat_embed_core_9_0_37.xml | 13 +++++ ...at_embed_tomcat_embed_websocket_9_0_37.xml | 13 +++++ ..._org_apiguardian_apiguardian_api_1_1_0.xml | 13 +++++ ...Maven__org_assertj_assertj_core_3_16_1.xml | 13 +++++ ...rg_attoparser_attoparser_2_0_5_RELEASE.xml | 13 +++++ ..._org_codehaus_woodstox_stax2_api_4_2_1.xml | 13 +++++ .../Maven__org_glassfish_jakarta_el_3_0_3.xml | 13 +++++ .../Maven__org_hamcrest_hamcrest_2_2.xml | 13 +++++ ...idator_hibernate_validator_6_1_5_Final.xml | 13 +++++ ...boss_logging_jboss_logging_3_4_1_Final.xml | 13 +++++ ..._org_junit_jupiter_junit_jupiter_5_6_2.xml | 13 +++++ ..._junit_jupiter_junit_jupiter_api_5_6_2.xml | 13 +++++ ...nit_jupiter_junit_jupiter_engine_5_6_2.xml | 13 +++++ ...nit_jupiter_junit_jupiter_params_5_6_2.xml | 13 +++++ ..._platform_junit_platform_commons_1_6_2.xml | 13 +++++ ...t_platform_junit_platform_engine_1_6_2.xml | 13 +++++ .../Maven__org_mockito_mockito_core_3_3_3.xml | 13 +++++ ...rg_mockito_mockito_junit_jupiter_3_3_3.xml | 13 +++++ .../Maven__org_nanohttpd_nanohttpd_2_3_1.xml | 13 +++++ .../Maven__org_objenesis_objenesis_2_6.xml | 13 +++++ ...Maven__org_opentest4j_opentest4j_1_2_0.xml | 13 +++++ .../Maven__org_ow2_asm_asm_5_0_4.xml | 13 +++++ ...aven__org_projectlombok_lombok_1_18_12.xml | 13 +++++ ...reactivestreams_reactive_streams_1_0_3.xml | 13 +++++ ...aven__org_skyscreamer_jsonassert_1_5_0.xml | 13 +++++ ...Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml | 13 +++++ .../Maven__org_slf4j_jul_to_slf4j_1_7_30.xml | 13 +++++ .../Maven__org_slf4j_slf4j_api_1_7_30.xml | 13 +++++ ...amework_boot_spring_boot_2_3_3_RELEASE.xml | 13 +++++ ...pring_boot_autoconfigure_2_3_3_RELEASE.xml | 13 +++++ ..._autoconfigure_processor_2_3_3_RELEASE.xml | 13 +++++ ...boot_spring_boot_starter_2_3_3_RELEASE.xml | 13 +++++ ...spring_boot_starter_json_2_3_3_RELEASE.xml | 13 +++++ ...ing_boot_starter_logging_2_3_3_RELEASE.xml | 13 +++++ ...spring_boot_starter_test_2_3_3_RELEASE.xml | 13 +++++ ...g_boot_starter_thymeleaf_2_3_3_RELEASE.xml | 13 +++++ ...ring_boot_starter_tomcat_2_3_3_RELEASE.xml | 13 +++++ ..._spring_boot_starter_web_2_3_3_RELEASE.xml | 13 +++++ ...rk_boot_spring_boot_test_2_3_3_RELEASE.xml | 13 +++++ ..._boot_test_autoconfigure_2_3_3_RELEASE.xml | 13 +++++ ...oud_spring_cloud_context_2_1_0_RELEASE.xml | 13 +++++ ...y_spring_security_crypto_5_3_4_RELEASE.xml | 13 +++++ ...ringframework_spring_aop_5_2_8_RELEASE.xml | 13 +++++ ...ngframework_spring_beans_5_2_8_RELEASE.xml | 13 +++++ ...framework_spring_context_5_2_8_RELEASE.xml | 13 +++++ ...ingframework_spring_core_5_2_8_RELEASE.xml | 13 +++++ ...mework_spring_expression_5_2_8_RELEASE.xml | 13 +++++ ...ringframework_spring_jcl_5_2_8_RELEASE.xml | 13 +++++ ...ingframework_spring_test_5_2_8_RELEASE.xml | 13 +++++ ...ringframework_spring_web_5_2_8_RELEASE.xml | 13 +++++ ...gframework_spring_webmvc_5_2_8_RELEASE.xml | 13 +++++ ...ymeleaf_extras_java8time_3_0_4_RELEASE.xml | 13 +++++ ...org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml | 13 +++++ ...eleaf_thymeleaf_spring5_3_0_11_RELEASE.xml | 13 +++++ ..._org_unbescape_unbescape_1_1_6_RELEASE.xml | 13 +++++ .../Maven__org_xmlunit_xmlunit_core_2_7_0.xml | 13 +++++ .../Maven__org_yaml_snakeyaml_1_26.xml | 13 +++++ .idea/misc.xml | 11 ++++ .idea/modules.xml | 9 +++ .idea/vcs.xml | 6 ++ demo/pom.xml | 2 +- 132 files changed, 1821 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/main_cicdforjava.yml create mode 100644 .github/workflows/main_javaone2022.yml create mode 100644 .github/workflows/main_jcon2022.yml create mode 100644 .idea/.gitignore create mode 100644 .idea/DevOpsforJavaShops.iml create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml create mode 100644 .idea/libraries/Maven__com_azure_azure_core_1_3_0.xml create mode 100644 .idea/libraries/Maven__com_azure_azure_core_http_netty_1_3_0.xml create mode 100644 .idea/libraries/Maven__com_azure_azure_data_appconfiguration_1_1_0.xml create mode 100644 .idea/libraries/Maven__com_azure_azure_identity_1_0_4.xml create mode 100644 .idea/libraries/Maven__com_azure_azure_security_keyvault_secrets_4_1_1.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_2.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_6_2_1.xml create mode 100644 .idea/libraries/Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml create mode 100644 .idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml create mode 100644 .idea/libraries/Maven__com_microsoft_azure_msal4j_0_5_0_preview.xml create mode 100644 .idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_1_1_5.xml create mode 100644 .idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_web_1_1_5.xml create mode 100644 .idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_1_2_2.xml create mode 100644 .idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_web_1_2_2.xml create mode 100644 .idea/libraries/Maven__com_nimbusds_content_type_2_0.xml create mode 100644 .idea/libraries/Maven__com_nimbusds_lang_tag_1_4_4.xml create mode 100644 .idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_8_8.xml create mode 100644 .idea/libraries/Maven__com_nimbusds_oauth2_oidc_sdk_7_1_1.xml create mode 100644 .idea/libraries/Maven__com_sun_mail_javax_mail_1_6_1.xml create mode 100644 .idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_14.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_buffer_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_http2_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_http_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_socks_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_common_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_handler_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_resolver_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_tcnative_boringssl_static_2_0_31_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_transport_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_51_Final.xml create mode 100644 .idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_11_RELEASE.xml create mode 100644 .idea/libraries/Maven__io_projectreactor_reactor_core_3_3_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml create mode 100644 .idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml create mode 100644 .idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml create mode 100644 .idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml create mode 100644 .idea/libraries/Maven__javax_activation_activation_1_1.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_14.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_14.xml create mode 100644 .idea/libraries/Maven__net_java_dev_jna_jna_5_4_0.xml create mode 100644 .idea/libraries/Maven__net_java_dev_jna_jna_platform_5_4_0.xml create mode 100644 .idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml create mode 100644 .idea/libraries/Maven__net_minidev_json_smart_2_3.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_10.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_12.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_37.xml create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_37.xml create mode 100644 .idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml create mode 100644 .idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml create mode 100644 .idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2_1.xml create mode 100644 .idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml create mode 100644 .idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_1_5_Final.xml create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml create mode 100644 .idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_6_2.xml create mode 100644 .idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_6_2.xml create mode 100644 .idea/libraries/Maven__org_mockito_mockito_core_3_3_3.xml create mode 100644 .idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml create mode 100644 .idea/libraries/Maven__org_nanohttpd_nanohttpd_2_3_1.xml create mode 100644 .idea/libraries/Maven__org_objenesis_objenesis_2_6.xml create mode 100644 .idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml create mode 100644 .idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml create mode 100644 .idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml create mode 100644 .idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml create mode 100644 .idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_processor_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_3_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_4_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jcl_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_test_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_5_2_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_xmlunit_xmlunit_core_2_7_0.xml create mode 100644 .idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.github/workflows/main_cicdforjava.yml b/.github/workflows/main_cicdforjava.yml new file mode 100644 index 0000000..9c2a6b8 --- /dev/null +++ b/.github/workflows/main_cicdforjava.yml @@ -0,0 +1,56 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy JAR app to Azure Web App - cicdforjava + +env: # Or as an environment variable + APP_CONFIGURATION_CONNECTION_STRING: ${{ secrets.APP_CONFIGURATION_CONNECTION_STRING }} + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Java version + uses: actions/setup-java@v1 + with: + java-version: '11' + + - name: Build with Maven + run: mvn clean install + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v2 + with: + name: java-app + path: '${{ github.workspace }}/target/*.jar' + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'Production' + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v2 + with: + name: java-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: 'cicdforjava' + slot-name: 'Production' + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_DD3CC5BB8E9C4EDCB55272AFF02015EE }} + package: '*.jar' diff --git a/.github/workflows/main_javaone2022.yml b/.github/workflows/main_javaone2022.yml new file mode 100644 index 0000000..17a8afc --- /dev/null +++ b/.github/workflows/main_javaone2022.yml @@ -0,0 +1,56 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy JAR app to Azure Web App - javaone2022 + +env: # Or as an environment variable + APP_CONFIGURATION_CONNECTION_STRING: ${{ secrets.APP_CONFIGURATION_CONNECTION_STRING }} + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Java version + uses: actions/setup-java@v1 + with: + java-version: '11' + + - name: Build with Maven + run: mvn clean install + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v2 + with: + name: java-app + path: '${{ github.workspace }}/target/*.jar' + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'Production' + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v2 + with: + name: java-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: 'javaone2022' + slot-name: 'Production' + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_122A8330BEE64808A7A99FA376FA6E53 }} + package: '*.jar' diff --git a/.github/workflows/main_jcon2022.yml b/.github/workflows/main_jcon2022.yml new file mode 100644 index 0000000..eca10cd --- /dev/null +++ b/.github/workflows/main_jcon2022.yml @@ -0,0 +1,56 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy JAR app to Azure Web App - jcon2022 + +env: # Or as an environment variable + APP_CONFIGURATION_CONNECTION_STRING: ${{ secrets.APP_CONFIGURATION_CONNECTION_STRING }} + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Java version + uses: actions/setup-java@v1 + with: + java-version: '11' + + - name: Build with Maven + run: mvn clean install + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v2 + with: + name: java-app + path: '${{ github.workspace }}/target/*.jar' + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'Production' + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v2 + with: + name: java-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: 'jcon2022' + slot-name: 'Production' + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_D879B6B8ECBB40058752DFE84596BC79 }} + package: '*.jar' diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/DevOpsforJavaShops.iml b/.idea/DevOpsforJavaShops.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/DevOpsforJavaShops.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 0000000..cb923d1 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..04aab64 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ 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 0000000..6fec8f4 --- /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 0000000..9eb8596 --- /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_azure_azure_core_1_3_0.xml b/.idea/libraries/Maven__com_azure_azure_core_1_3_0.xml new file mode 100644 index 0000000..f5a7d03 --- /dev/null +++ b/.idea/libraries/Maven__com_azure_azure_core_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_azure_azure_core_http_netty_1_3_0.xml b/.idea/libraries/Maven__com_azure_azure_core_http_netty_1_3_0.xml new file mode 100644 index 0000000..37898a9 --- /dev/null +++ b/.idea/libraries/Maven__com_azure_azure_core_http_netty_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_azure_azure_data_appconfiguration_1_1_0.xml b/.idea/libraries/Maven__com_azure_azure_data_appconfiguration_1_1_0.xml new file mode 100644 index 0000000..52cb263 --- /dev/null +++ b/.idea/libraries/Maven__com_azure_azure_data_appconfiguration_1_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_azure_azure_identity_1_0_4.xml b/.idea/libraries/Maven__com_azure_azure_identity_1_0_4.xml new file mode 100644 index 0000000..fb5156e --- /dev/null +++ b/.idea/libraries/Maven__com_azure_azure_identity_1_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_azure_azure_security_keyvault_secrets_4_1_1.xml b/.idea/libraries/Maven__com_azure_azure_security_keyvault_secrets_4_1_1.xml new file mode 100644 index 0000000..7cb9dd2 --- /dev/null +++ b/.idea/libraries/Maven__com_azure_azure_security_keyvault_secrets_4_1_1.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 0000000..bc7d7fd --- /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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_2.xml new file mode 100644 index 0000000..6447563 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_2.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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_2.xml new file mode 100644 index 0000000..4923956 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_2.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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_2.xml new file mode 100644 index 0000000..bb59715 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_11_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_11_2.xml new file mode 100644 index 0000000..4ffab42 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_11_2.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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_2.xml new file mode 100644 index 0000000..c22af69 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_2.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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_2.xml new file mode 100644 index 0000000..dd6fb59 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_11_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_11_2.xml new file mode 100644 index 0000000..1ff34e7 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_11_2.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_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_2.xml new file mode 100644 index 0000000..22aba0a --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_6_2_1.xml b/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_6_2_1.xml new file mode 100644 index 0000000..ee7cea9 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml b/.idea/libraries/Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml new file mode 100644 index 0000000..6fe105a --- /dev/null +++ b/.idea/libraries/Maven__com_github_stephenc_jcip_jcip_annotations_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.xml new file mode 100644 index 0000000..82a9f20 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_6.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 0000000..f19f6eb --- /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_microsoft_azure_msal4j_0_5_0_preview.xml b/.idea/libraries/Maven__com_microsoft_azure_msal4j_0_5_0_preview.xml new file mode 100644 index 0000000..727d96b --- /dev/null +++ b/.idea/libraries/Maven__com_microsoft_azure_msal4j_0_5_0_preview.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_1_1_5.xml b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_1_1_5.xml new file mode 100644 index 0000000..de23bdc --- /dev/null +++ b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_web_1_1_5.xml b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_web_1_1_5.xml new file mode 100644 index 0000000..8e32f91 --- /dev/null +++ b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_appconfiguration_config_web_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_1_2_2.xml b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_1_2_2.xml new file mode 100644 index 0000000..20b5a4a --- /dev/null +++ b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_web_1_2_2.xml b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_web_1_2_2.xml new file mode 100644 index 0000000..7c8724a --- /dev/null +++ b/.idea/libraries/Maven__com_microsoft_azure_spring_cloud_azure_feature_management_web_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_nimbusds_content_type_2_0.xml b/.idea/libraries/Maven__com_nimbusds_content_type_2_0.xml new file mode 100644 index 0000000..2d8cd94 --- /dev/null +++ b/.idea/libraries/Maven__com_nimbusds_content_type_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_nimbusds_lang_tag_1_4_4.xml b/.idea/libraries/Maven__com_nimbusds_lang_tag_1_4_4.xml new file mode 100644 index 0000000..81aa85c --- /dev/null +++ b/.idea/libraries/Maven__com_nimbusds_lang_tag_1_4_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_8_8.xml b/.idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_8_8.xml new file mode 100644 index 0000000..781948e --- /dev/null +++ b/.idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_8_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_nimbusds_oauth2_oidc_sdk_7_1_1.xml b/.idea/libraries/Maven__com_nimbusds_oauth2_oidc_sdk_7_1_1.xml new file mode 100644 index 0000000..18e7206 --- /dev/null +++ b/.idea/libraries/Maven__com_nimbusds_oauth2_oidc_sdk_7_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_mail_javax_mail_1_6_1.xml b/.idea/libraries/Maven__com_sun_mail_javax_mail_1_6_1.xml new file mode 100644 index 0000000..b679b2a --- /dev/null +++ b/.idea/libraries/Maven__com_sun_mail_javax_mail_1_6_1.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 0000000..b8581a6 --- /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__commons_codec_commons_codec_1_14.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml new file mode 100644 index 0000000..50b8f2b --- /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__io_netty_netty_buffer_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_51_Final.xml new file mode 100644 index 0000000..68df79d --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_4_1_51_Final.xml new file mode 100644 index 0000000..62ec8c2 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_51_Final.xml new file mode 100644 index 0000000..9f5def2 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_51_Final.xml new file mode 100644 index 0000000..34624d5 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_51_Final.xml new file mode 100644 index 0000000..cff0e15 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_common_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_common_4_1_51_Final.xml new file mode 100644 index 0000000..36e612e --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_common_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_4_1_51_Final.xml new file mode 100644 index 0000000..fb10871 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_51_Final.xml new file mode 100644 index 0000000..aaae26c --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_resolver_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_51_Final.xml new file mode 100644 index 0000000..0281c5e --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_tcnative_boringssl_static_2_0_31_Final.xml b/.idea/libraries/Maven__io_netty_netty_tcnative_boringssl_static_2_0_31_Final.xml new file mode 100644 index 0000000..95ff652 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_tcnative_boringssl_static_2_0_31_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_4_1_51_Final.xml new file mode 100644 index 0000000..425736e --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_51_Final.xml new file mode 100644 index 0000000..29275ce --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_51_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_51_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_51_Final.xml new file mode 100644 index 0000000..783e2a2 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_51_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_11_RELEASE.xml b/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_11_RELEASE.xml new file mode 100644 index 0000000..b1374ef --- /dev/null +++ b/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_11_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_9_RELEASE.xml b/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_9_RELEASE.xml new file mode 100644 index 0000000..a2d7d5a --- /dev/null +++ b/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_9_RELEASE.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 0000000..be90656 --- /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 0000000..cba9dd2 --- /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_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 0000000..e66afb9 --- /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 0000000..04213f7 --- /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_activation_1_1.xml b/.idea/libraries/Maven__javax_activation_activation_1_1.xml new file mode 100644 index 0000000..180d587 --- /dev/null +++ b/.idea/libraries/Maven__javax_activation_activation_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_14.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_14.xml new file mode 100644 index 0000000..395cf07 --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_14.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_14.xml new file mode 100644 index 0000000..9e75f7e --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_java_dev_jna_jna_5_4_0.xml b/.idea/libraries/Maven__net_java_dev_jna_jna_5_4_0.xml new file mode 100644 index 0000000..c2c22c5 --- /dev/null +++ b/.idea/libraries/Maven__net_java_dev_jna_jna_5_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_4_0.xml b/.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_4_0.xml new file mode 100644 index 0000000..b115dfb --- /dev/null +++ b/.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_4_0.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 0000000..b3d3858 --- /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 0000000..1083023 --- /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__org_apache_commons_commons_lang3_3_10.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_10.xml new file mode 100644 index 0000000..00de553 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_10.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 0000000..9cb68a2 --- /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 0000000..b475675 --- /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_logging_log4j_log4j_api_2_13_3.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml new file mode 100644 index 0000000..8ad4996 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.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_3.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml new file mode 100644 index 0000000..57e6ac4 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.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_37.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_37.xml new file mode 100644 index 0000000..7e39935 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_37.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_37.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_37.xml new file mode 100644 index 0000000..6a30056 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_37.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 0000000..f854ab0 --- /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_assertj_assertj_core_3_16_1.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_16_1.xml new file mode 100644 index 0000000..8976500 --- /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_attoparser_attoparser_2_0_5_RELEASE.xml b/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml new file mode 100644 index 0000000..5bad7db --- /dev/null +++ b/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2_1.xml b/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2_1.xml new file mode 100644 index 0000000..ec7331f --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2_1.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 0000000..ae5020d --- /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_hamcrest_hamcrest_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..6b5496f --- /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_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 0000000..6d045ad --- /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_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 0000000..0b76247 --- /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 0000000..7171153 --- /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 0000000..ef160d2 --- /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 0000000..fc4c644 --- /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 0000000..45b4af3 --- /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 0000000..f2699b9 --- /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 0000000..c13a302 --- /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_mockito_mockito_core_3_3_3.xml b/.idea/libraries/Maven__org_mockito_mockito_core_3_3_3.xml new file mode 100644 index 0000000..d2f4afa --- /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 0000000..6c02a63 --- /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_nanohttpd_nanohttpd_2_3_1.xml b/.idea/libraries/Maven__org_nanohttpd_nanohttpd_2_3_1.xml new file mode 100644 index 0000000..b91ab0d --- /dev/null +++ b/.idea/libraries/Maven__org_nanohttpd_nanohttpd_2_3_1.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 0000000..af41e3b --- /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 0000000..fbc1b16 --- /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 0000000..0bf8cf2 --- /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_1_18_12.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml new file mode 100644 index 0000000..46cf8a8 --- /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_reactivestreams_reactive_streams_1_0_3.xml b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml new file mode 100644 index 0000000..f17253b --- /dev/null +++ b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.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 0000000..c4c54d6 --- /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_jcl_over_slf4j_1_7_30.xml b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml new file mode 100644 index 0000000..f92b959 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.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 0000000..27229ce --- /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 0000000..02b6812 --- /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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_3_RELEASE.xml new file mode 100644 index 0000000..1588f27 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_3_RELEASE.xml new file mode 100644 index 0000000..fa079d0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_processor_2_3_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_processor_2_3_3_RELEASE.xml new file mode 100644 index 0000000..dd1edcc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_processor_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_3_RELEASE.xml new file mode 100644 index 0000000..3054a6d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_3_RELEASE.xml new file mode 100644 index 0000000..7afa32e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_3_RELEASE.xml new file mode 100644 index 0000000..e7fa79a --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_3_RELEASE.xml new file mode 100644 index 0000000..3f04cb1 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_3_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_3_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_3_3_RELEASE.xml new file mode 100644 index 0000000..3ec5cc3 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_3_RELEASE.xml new file mode 100644 index 0000000..81ea9f7 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_3_RELEASE.xml new file mode 100644 index 0000000..b4a78ac --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_3_RELEASE.xml new file mode 100644 index 0000000..5170448 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_3_3_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_3_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_3_RELEASE.xml new file mode 100644 index 0000000..d988cdc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_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_1_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml new file mode 100644 index 0000000..1f4c064 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_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_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_4_RELEASE.xml new file mode 100644 index 0000000..64f9cc9 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_3_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_5_2_8_RELEASE.xml new file mode 100644 index 0000000..000f9ff --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_5_2_8_RELEASE.xml new file mode 100644 index 0000000..ca7aa33 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_5_2_8_RELEASE.xml new file mode 100644 index 0000000..3194e8e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_5_2_8_RELEASE.xml new file mode 100644 index 0000000..e7d5de5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_5_2_8_RELEASE.xml new file mode 100644 index 0000000..2d2456d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_8_RELEASE.xml new file mode 100644 index 0000000..4fea859 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_test_5_2_8_RELEASE.xml new file mode 100644 index 0000000..5fa25dc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_test_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_2_8_RELEASE.xml new file mode 100644 index 0000000..ae46cf0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_8_RELEASE.xml new file mode 100644 index 0000000..d584e24 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml new file mode 100644 index 0000000..7b246ae --- /dev/null +++ b/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml new file mode 100644 index 0000000..7b72bab --- /dev/null +++ b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml new file mode 100644 index 0000000..3370587 --- /dev/null +++ b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml b/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml new file mode 100644 index 0000000..2334aa0 --- /dev/null +++ b/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.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 0000000..006a8d3 --- /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 0000000..e998675 --- /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 0000000..210e31f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3fba155 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/demo/pom.xml b/demo/pom.xml index 06039c9..bb96cab 100644 --- a/demo/pom.xml +++ b/demo/pom.xml @@ -44,7 +44,7 @@ com.microsoft.azure spring-cloud-azure-feature-management-web - 1.1.5 + 1.2.2 org.springframework.boot From ab80723b4e7032891e7e88b72feaaa9b58a6dfe4 Mon Sep 17 00:00:00 2001 From: AHMADOU HAMMAN BELLO <58246309+halbello@users.noreply.github.com> Date: Sat, 1 Apr 2023 12:12:29 +0100 Subject: [PATCH 2/5] Add or update the Azure App Service build and deployment workflow config --- .github/workflows/main_fafniradventure.yml | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/main_fafniradventure.yml diff --git a/.github/workflows/main_fafniradventure.yml b/.github/workflows/main_fafniradventure.yml new file mode 100644 index 0000000..ec27104 --- /dev/null +++ b/.github/workflows/main_fafniradventure.yml @@ -0,0 +1,53 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy WAR app to Azure Web App - fafnirAdventure + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Java version + uses: actions/setup-java@v1 + with: + java-version: '11' + + - name: Build with Maven + run: mvn clean install + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v2 + with: + name: java-app + path: '${{ github.workspace }}/target/*.war' + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'Production' + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v2 + with: + name: java-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: 'fafnirAdventure' + slot-name: 'Production' + publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_3E89BD7A0738405FB0102BA2E829C57B }} + package: '*.war' From 7fdb69c10bc6fee93b8fb5fde10b6223c2c44e7c Mon Sep 17 00:00:00 2001 From: HammanBello Date: Sat, 1 Apr 2023 22:17:15 +0100 Subject: [PATCH 3/5] first-commit2 --- demo/.gitignore => (2).gitignore | 0 .idea/DevOpsforJavaShops.iml | 148 +++++- .idea/compiler.xml | 4 +- .idea/encodings.xml | 2 + .idea/misc.xml | 1 + .idea/modules.xml | 1 - .../wrapper/MavenWrapperDownloader.java | 0 .../wrapper/maven-wrapper.properties | 0 demo.iml | 149 ++++++ demo/.mvn/wrapper/maven-wrapper.jar | Bin 50710 -> 0 bytes .../001_workshop_Prerequisites.md | 60 +-- Exercise1.md => media/Exercise1.md | 0 Exercise2.md => media/Exercise2.md | 0 Exercise3.md => media/Exercise3.md | 0 Exercise4.md => media/Exercise4.md | 0 Exercise5.md => media/Exercise5.md | 0 Exercise6.md => media/Exercise6.md | 0 Exercise7.md => media/Exercise7.md | 0 README.md => media/README.md | 274 +++++----- demo/mvnw => mvnw | 0 demo/mvnw.cmd => mvnw.cmd | 0 demo/pom.xml => pom.xml | 0 .../com/example/demo/DemoApplication.java | 0 .../com/example/demo/HelloController.java | 27 + .../com/example/demo}/MessageProperties.java | 34 +- .../main/resources/application.properties | 0 .../main/resources/bootstrap.properties | 0 {demo/src => src}/main/resources/favicon.ico | Bin .../resources/package}/HelloController.java | 50 +- .../resources/package}/MessageProperties.java | 34 +- .../main/resources/static/CSS/main.css | 54 +- .../main/resources/static/images/bit.png | Bin .../main/resources/templates/welcome.html | 100 ++-- .../example/demo/DemoApplicationTests.java | 0 target/classes/application.properties | 1 + target/classes/bootstrap.properties | 1 + target/classes/favicon.ico | Bin 0 -> 33091 bytes .../classes}/package/HelloController.java | 50 +- target/classes/package/MessageProperties.java | 18 + target/classes/static/CSS/main.css | 28 + target/classes/static/images/bit.png | Bin 0 -> 114415 bytes target/classes/templates/welcome.html | 51 ++ .../compile/default-compile/createdFiles.lst | 3 + .../compile/default-compile/inputFiles.lst | 3 + .../default-testCompile/createdFiles.lst | 1 + .../default-testCompile/inputFiles.lst | 1 + ...-com.example.demo.DemoApplicationTests.xml | 490 ++++++++++++++++++ .../com.example.demo.DemoApplicationTests.txt | 10 + 48 files changed, 1261 insertions(+), 334 deletions(-) rename demo/.gitignore => (2).gitignore (100%) rename {demo/.mvn => .mvn}/wrapper/MavenWrapperDownloader.java (100%) rename {demo/.mvn => .mvn}/wrapper/maven-wrapper.properties (100%) create mode 100644 demo.iml delete mode 100644 demo/.mvn/wrapper/maven-wrapper.jar rename 001_workshop_Prerequisites.md => media/001_workshop_Prerequisites.md (97%) rename Exercise1.md => media/Exercise1.md (100%) rename Exercise2.md => media/Exercise2.md (100%) rename Exercise3.md => media/Exercise3.md (100%) rename Exercise4.md => media/Exercise4.md (100%) rename Exercise5.md => media/Exercise5.md (100%) rename Exercise6.md => media/Exercise6.md (100%) rename Exercise7.md => media/Exercise7.md (100%) rename README.md => media/README.md (96%) rename demo/mvnw => mvnw (100%) rename demo/mvnw.cmd => mvnw.cmd (100%) rename demo/pom.xml => pom.xml (100%) rename {demo/src => src}/main/java/com/example/demo/DemoApplication.java (100%) create mode 100644 src/main/java/com/example/demo/HelloController.java rename {demo/src/main/resources/package => src/main/java/com/example/demo}/MessageProperties.java (96%) rename {demo/src => src}/main/resources/application.properties (100%) rename {demo/src => src}/main/resources/bootstrap.properties (100%) rename {demo/src => src}/main/resources/favicon.ico (100%) rename {demo/src/main/java/com/example/demo => src/main/resources/package}/HelloController.java (96%) rename {demo/src/main/java/com/example/demo => src/main/resources/package}/MessageProperties.java (96%) rename {demo/src => src}/main/resources/static/CSS/main.css (92%) rename {demo/src => src}/main/resources/static/images/bit.png (100%) rename {demo/src => src}/main/resources/templates/welcome.html (98%) rename {demo/src => src}/test/java/com/example/demo/DemoApplicationTests.java (100%) create mode 100644 target/classes/application.properties create mode 100644 target/classes/bootstrap.properties create mode 100644 target/classes/favicon.ico rename {demo/src/main/resources => target/classes}/package/HelloController.java (96%) create mode 100644 target/classes/package/MessageProperties.java create mode 100644 target/classes/static/CSS/main.css create mode 100644 target/classes/static/images/bit.png create mode 100644 target/classes/templates/welcome.html create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/surefire-reports/TEST-com.example.demo.DemoApplicationTests.xml create mode 100644 target/surefire-reports/com.example.demo.DemoApplicationTests.txt diff --git a/demo/.gitignore b/ (2).gitignore similarity index 100% rename from demo/.gitignore rename to (2).gitignore diff --git a/.idea/DevOpsforJavaShops.iml b/.idea/DevOpsforJavaShops.iml index d6ebd48..1bfc85e 100644 --- a/.idea/DevOpsforJavaShops.iml +++ b/.idea/DevOpsforJavaShops.iml @@ -1,9 +1,149 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index cb923d1..752c0ee 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,15 +7,17 @@ - + + diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 04aab64..4436d6c 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,5 +3,7 @@ + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 210e31f..2c7689f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,6 +4,7 @@ diff --git a/.idea/modules.xml b/.idea/modules.xml index 3fba155..5d37e06 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,7 +3,6 @@ - \ No newline at end of file diff --git a/demo/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java similarity index 100% rename from demo/.mvn/wrapper/MavenWrapperDownloader.java rename to .mvn/wrapper/MavenWrapperDownloader.java diff --git a/demo/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from demo/.mvn/wrapper/maven-wrapper.properties rename to .mvn/wrapper/maven-wrapper.properties diff --git a/demo.iml b/demo.iml new file mode 100644 index 0000000..1bfc85e --- /dev/null +++ b/demo.iml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/.mvn/wrapper/maven-wrapper.jar b/demo/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50710 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 EfAhh=DF6Tf diff --git a/001_workshop_Prerequisites.md b/media/001_workshop_Prerequisites.md similarity index 97% rename from 001_workshop_Prerequisites.md rename to media/001_workshop_Prerequisites.md index 02ba001..d5e688a 100644 --- a/001_workshop_Prerequisites.md +++ b/media/001_workshop_Prerequisites.md @@ -1,30 +1,30 @@ -# 001_workshop Prerequisites - -## Minimal Laptop requirements - -- A Mac, Windows 10 or Linux Laptop connected to the internet. A hard-wired connection is recommended for streaming. - -Make sure the following are installed on your laptop: - -- [Visual Studio Code](https://code.visualstudio.com/Download) -- [Java Development Kit](https://docs.microsoft.com/en-us/java/azure/jdk) version 8 or higher. -- [Apache Maven version 3.0](https://maven.apache.org/download.cgi) or higher. -- The [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) -- No prior knowledge of Azure is required, just an open mind and curiosity about learning Azure -- Basic exposure to terminal / command line - -## Azure prerequisites - - - This workshop requires an Azure account - Sign up for an Azure trial account if you don't have one already at https://azure.microsoft.com/free - -## GitHub prerequisites - - - This workshop requires a GitHub account that can run GitHub actions. - - You should be able to to fork and clone a git repo from GitHub - - PRO TIP : Signing into GitHub via VS Code before the workshop to save a little time. - - Also feel free to fork and clone these repos: - - https://github.com/bbenz/devopsforjavashops-TestABAzureDevOPs - - https://github.com/bbenz/devopsforjavashops-TestFeatureFlags - - - +# 001_workshop Prerequisites + +## Minimal Laptop requirements + +- A Mac, Windows 10 or Linux Laptop connected to the internet. A hard-wired connection is recommended for streaming. + +Make sure the following are installed on your laptop: + +- [Visual Studio Code](https://code.visualstudio.com/Download) +- [Java Development Kit](https://docs.microsoft.com/en-us/java/azure/jdk) version 8 or higher. +- [Apache Maven version 3.0](https://maven.apache.org/download.cgi) or higher. +- The [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) +- No prior knowledge of Azure is required, just an open mind and curiosity about learning Azure +- Basic exposure to terminal / command line + +## Azure prerequisites + + - This workshop requires an Azure account - Sign up for an Azure trial account if you don't have one already at https://azure.microsoft.com/free + +## GitHub prerequisites + + - This workshop requires a GitHub account that can run GitHub actions. + - You should be able to to fork and clone a git repo from GitHub + - PRO TIP : Signing into GitHub via VS Code before the workshop to save a little time. + - Also feel free to fork and clone these repos: + - https://github.com/bbenz/devopsforjavashops-TestABAzureDevOPs + - https://github.com/bbenz/devopsforjavashops-TestFeatureFlags + + + diff --git a/Exercise1.md b/media/Exercise1.md similarity index 100% rename from Exercise1.md rename to media/Exercise1.md diff --git a/Exercise2.md b/media/Exercise2.md similarity index 100% rename from Exercise2.md rename to media/Exercise2.md diff --git a/Exercise3.md b/media/Exercise3.md similarity index 100% rename from Exercise3.md rename to media/Exercise3.md diff --git a/Exercise4.md b/media/Exercise4.md similarity index 100% rename from Exercise4.md rename to media/Exercise4.md diff --git a/Exercise5.md b/media/Exercise5.md similarity index 100% rename from Exercise5.md rename to media/Exercise5.md diff --git a/Exercise6.md b/media/Exercise6.md similarity index 100% rename from Exercise6.md rename to media/Exercise6.md diff --git a/Exercise7.md b/media/Exercise7.md similarity index 100% rename from Exercise7.md rename to media/Exercise7.md diff --git a/README.md b/media/README.md similarity index 96% rename from README.md rename to media/README.md index 0663043..b0e66c6 100644 --- a/README.md +++ b/media/README.md @@ -1,137 +1,137 @@ -# Workshop: DevOps for Java Shops - ->DevOps is great, if you have the people, processes and tools to support it. In this session I’ll highlight the easiest ways for developers to work with their IT organizations and partners to deliver their Java code to the cloud using GitHub, including the best ways to reliably make updates and maintain production java code. The focus is on real-world examples using command line tools, free tools including GitHub Actions, and free SDKs and tools available on GitHub. - - -## Workshop delivery -I'm happy to deliver this as a workshop or presentation at destinations worldwide, and also to support anyone else who wants to deliver this, especially in local languages. - -## Prerequisites -Here are list of free and open source [prerequisites](001_workshop_Prerequisites.md) - -# Agenda - -## DevOps with Azure - -### Introduction - -### Exercise 1 – Fork and Clone GitHub repositories for this workshop -[Go To Exercise](Exercise1.md) - - Fork and clone a main branch - - Making changes to the local repo - - Staging - - Committing - -### Azure Basics - - Resource Groups - - Target environments - VMs, App Service, ACI, Kubernetes - -### Exercise 2 - Set up Azure for this workshop -[Go To Exercise](Exercise2.md) - - Create a resource group - - Create a staging server - - Create a production server - - Create a deployment slot on the production server - - Set the deployment slot to 50% traffic - - - ### Feature Flags - - Azure App configuration Manager - - Options for filters - - Connecting apps to Feature Manager - - Feature flags in action - -### Exercise 3 - Setting up feature flags -[Go To Exercise](Exercise3.md) - - [Related Materials on Microsoft Docs](https://cda.ms/1XD) - - Create an App Configuration Store - - Add a feature Manager - - Set the percentage filter - -### DevOps Introduction - - People, process and products - - Builds - - Releases - - Infrastructure as code - -### Azure DevOps Introduction - - Azure Organizations - - Azure Projects - - Boards - - Repos - - Pipelines - - Release Pipelines - - Test Plans - - Artifacts - - GitHub Extensions - -### Exercise – 4 - Azure DevOps for CI -[Go To Exercise](Exercise4.md) - - - Connect a repo to an Azure DevOps project using the Azure Pipelines extension in the GitHub marketplace - - Choose the default build template - - Replace the default template with a provided template - - Add and run the customized build template - - Review hosted agents - - Review the build log - -### Exercise 5 – Azure DevOps for CD -[Go To Exercise](Exercise5.md) - - Create a new Release pipeline - Staging - Production - Deployment Slot - - Set up pre-and post deployment approvals - - Review automated options - - Set up CD trigger - - Run the release pipeline - - Review the release - -### Exercise 6 - A/B testing -[Go To Exercise](Exercise6.md) - - Make a change in GitHub - - Commit and Push - - Review the change - Build - Release - Staging - Deployment slot - - Review the changes and function of deployment slots - - Approve the change – post-deployment approval - - Approve the change – pre-deployment approval - -## DevOps with GitHub - -### GitHub Actions Introduction -[Related materials on Microsoft Learn ](https://cda.ms/1XF) - -[Related Materials on Microsoft Docs](https://cda.ms/1XG) - - Workflows - - Action blocks - - Triggers - - Runners - - Checkin and Checkout - - Logs - -### GitHub Actions for CI and CD - [Related materials on Microsoft Learn ](https://cda.ms/1XH) - - Using a Template - - Building - - Working with Artifacts - - Testing - - Automating Reviews - -### Exercise 7 - Generating a template with deployment manager -[Go To Exercise](Exercise7.md) - - - Deploy to an Azure Web App - - Review the workflow results - - Set up a connection string to the App Configuration store - - Restart the application -- Review the workflow template - -### Summary and Review - - - +# Workshop: DevOps for Java Shops + +>DevOps is great, if you have the people, processes and tools to support it. In this session I’ll highlight the easiest ways for developers to work with their IT organizations and partners to deliver their Java code to the cloud using GitHub, including the best ways to reliably make updates and maintain production java code. The focus is on real-world examples using command line tools, free tools including GitHub Actions, and free SDKs and tools available on GitHub. + + +## Workshop delivery +I'm happy to deliver this as a workshop or presentation at destinations worldwide, and also to support anyone else who wants to deliver this, especially in local languages. + +## Prerequisites +Here are list of free and open source [prerequisites](001_workshop_Prerequisites.md) + +# Agenda + +## DevOps with Azure + +### Introduction + +### Exercise 1 – Fork and Clone GitHub repositories for this workshop +[Go To Exercise](Exercise1.md) + - Fork and clone a main branch + - Making changes to the local repo + - Staging + - Committing + +### Azure Basics + - Resource Groups + - Target environments - VMs, App Service, ACI, Kubernetes + +### Exercise 2 - Set up Azure for this workshop +[Go To Exercise](Exercise2.md) + - Create a resource group + - Create a staging server + - Create a production server + - Create a deployment slot on the production server + - Set the deployment slot to 50% traffic + + + ### Feature Flags + - Azure App configuration Manager + - Options for filters + - Connecting apps to Feature Manager + - Feature flags in action + +### Exercise 3 - Setting up feature flags +[Go To Exercise](Exercise3.md) + + [Related Materials on Microsoft Docs](https://cda.ms/1XD) + - Create an App Configuration Store + - Add a feature Manager + - Set the percentage filter + +### DevOps Introduction + - People, process and products + - Builds + - Releases + - Infrastructure as code + +### Azure DevOps Introduction + - Azure Organizations + - Azure Projects + - Boards + - Repos + - Pipelines + - Release Pipelines + - Test Plans + - Artifacts + - GitHub Extensions + +### Exercise – 4 - Azure DevOps for CI +[Go To Exercise](Exercise4.md) + + - Connect a repo to an Azure DevOps project using the Azure Pipelines extension in the GitHub marketplace + - Choose the default build template + - Replace the default template with a provided template + - Add and run the customized build template + - Review hosted agents + - Review the build log + +### Exercise 5 – Azure DevOps for CD +[Go To Exercise](Exercise5.md) + - Create a new Release pipeline + Staging + Production + Deployment Slot + - Set up pre-and post deployment approvals + - Review automated options + - Set up CD trigger + - Run the release pipeline + - Review the release + +### Exercise 6 - A/B testing +[Go To Exercise](Exercise6.md) + - Make a change in GitHub + - Commit and Push + - Review the change + Build + Release + Staging + Deployment slot + - Review the changes and function of deployment slots + - Approve the change – post-deployment approval + - Approve the change – pre-deployment approval + +## DevOps with GitHub + +### GitHub Actions Introduction +[Related materials on Microsoft Learn ](https://cda.ms/1XF) + +[Related Materials on Microsoft Docs](https://cda.ms/1XG) + - Workflows + - Action blocks + - Triggers + - Runners + - Checkin and Checkout + - Logs + +### GitHub Actions for CI and CD + [Related materials on Microsoft Learn ](https://cda.ms/1XH) + - Using a Template + - Building + - Working with Artifacts + - Testing + - Automating Reviews + +### Exercise 7 - Generating a template with deployment manager +[Go To Exercise](Exercise7.md) + + - Deploy to an Azure Web App + - Review the workflow results + - Set up a connection string to the App Configuration store + - Restart the application +- Review the workflow template + +### Summary and Review + + + diff --git a/demo/mvnw b/mvnw similarity index 100% rename from demo/mvnw rename to mvnw diff --git a/demo/mvnw.cmd b/mvnw.cmd similarity index 100% rename from demo/mvnw.cmd rename to mvnw.cmd diff --git a/demo/pom.xml b/pom.xml similarity index 100% rename from demo/pom.xml rename to pom.xml diff --git a/demo/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java similarity index 100% rename from demo/src/main/java/com/example/demo/DemoApplication.java rename to src/main/java/com/example/demo/DemoApplication.java diff --git a/src/main/java/com/example/demo/HelloController.java b/src/main/java/com/example/demo/HelloController.java new file mode 100644 index 0000000..87cdb34 --- /dev/null +++ b/src/main/java/com/example/demo/HelloController.java @@ -0,0 +1,27 @@ +package com.example.demo; + +import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; + +//import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; +import org.springframework.web.bind.annotation.GetMapping; + + +@Controller +@ConfigurationProperties("controller") +public class HelloController { + + private FeatureManager featureManager; + + public HelloController(FeatureManager featureManager) { + this.featureManager = featureManager; + } + + @GetMapping("/welcome") + public String mainWithParam(Model model) { + model.addAttribute("Beta", featureManager.isEnabledAsync("featureManagement.Beta").block()); + return "welcome"; + } +} \ No newline at end of file diff --git a/demo/src/main/resources/package/MessageProperties.java b/src/main/java/com/example/demo/MessageProperties.java similarity index 96% rename from demo/src/main/resources/package/MessageProperties.java rename to src/main/java/com/example/demo/MessageProperties.java index a46c52d..ddfc09a 100644 --- a/demo/src/main/resources/package/MessageProperties.java +++ b/src/main/java/com/example/demo/MessageProperties.java @@ -1,18 +1,18 @@ -package com.example.demo; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -@Configuration -@ConfigurationProperties(prefix = "config") -public class MessageProperties { - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } +package com.example.demo; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "config") +public class MessageProperties { + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } } \ No newline at end of file diff --git a/demo/src/main/resources/application.properties b/src/main/resources/application.properties similarity index 100% rename from demo/src/main/resources/application.properties rename to src/main/resources/application.properties diff --git a/demo/src/main/resources/bootstrap.properties b/src/main/resources/bootstrap.properties similarity index 100% rename from demo/src/main/resources/bootstrap.properties rename to src/main/resources/bootstrap.properties diff --git a/demo/src/main/resources/favicon.ico b/src/main/resources/favicon.ico similarity index 100% rename from demo/src/main/resources/favicon.ico rename to src/main/resources/favicon.ico diff --git a/demo/src/main/java/com/example/demo/HelloController.java b/src/main/resources/package/HelloController.java similarity index 96% rename from demo/src/main/java/com/example/demo/HelloController.java rename to src/main/resources/package/HelloController.java index f956f97..f6dd8a0 100644 --- a/demo/src/main/java/com/example/demo/HelloController.java +++ b/src/main/resources/package/HelloController.java @@ -1,26 +1,26 @@ -package com.example.demo; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; - -import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; -import org.springframework.web.bind.annotation.GetMapping; - - -@Controller -@ConfigurationProperties("controller") -public class HelloController { - - private FeatureManager featureManager; - - public HelloController(FeatureManager featureManager) { - this.featureManager = featureManager; - } - - @GetMapping("/welcome") - public String mainWithParam(Model model) { - model.addAttribute("Beta", featureManager.isEnabledAsync("featureManagement.Beta").block()); - return "welcome"; - } +package com.example.demo; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; + +import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; +import org.springframework.web.bind.annotation.GetMapping; + + +@Controller +@ConfigurationProperties("controller") +public class HelloController { + + private FeatureManager featureManager; + + public HelloController(FeatureManager featureManager) { + this.featureManager = featureManager; + } + + @GetMapping("/welcome") + public String mainWithParam(Model model) { + model.addAttribute("Beta", featureManager.isEnabledAsync("featureManagement.Beta").block()); + return "welcome"; + } } \ No newline at end of file diff --git a/demo/src/main/java/com/example/demo/MessageProperties.java b/src/main/resources/package/MessageProperties.java similarity index 96% rename from demo/src/main/java/com/example/demo/MessageProperties.java rename to src/main/resources/package/MessageProperties.java index a46c52d..ddfc09a 100644 --- a/demo/src/main/java/com/example/demo/MessageProperties.java +++ b/src/main/resources/package/MessageProperties.java @@ -1,18 +1,18 @@ -package com.example.demo; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -@Configuration -@ConfigurationProperties(prefix = "config") -public class MessageProperties { - private String message; - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } +package com.example.demo; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "config") +public class MessageProperties { + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } } \ No newline at end of file diff --git a/demo/src/main/resources/static/CSS/main.css b/src/main/resources/static/CSS/main.css similarity index 92% rename from demo/src/main/resources/static/CSS/main.css rename to src/main/resources/static/CSS/main.css index 26fc9d5..ea8b295 100644 --- a/demo/src/main/resources/static/CSS/main.css +++ b/src/main/resources/static/CSS/main.css @@ -1,28 +1,28 @@ -html { - position: relative; - min-height: 100%; -} -body { - margin-bottom: 60px; -} -.footer { - position: absolute; - bottom: 0; - width: 100%; - height: 60px; - line-height: 60px; - background-color: #f5f5f5; -} - -body > .container { - padding: 60px 15px 0; -} - -.footer > .container { - padding-right: 15px; - padding-left: 15px; -} - -code { - font-size: 80%; +html { + position: relative; + min-height: 100%; +} +body { + margin-bottom: 60px; +} +.footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + line-height: 60px; + background-color: #f5f5f5; +} + +body > .container { + padding: 60px 15px 0; +} + +.footer > .container { + padding-right: 15px; + padding-left: 15px; +} + +code { + font-size: 80%; } \ No newline at end of file diff --git a/demo/src/main/resources/static/images/bit.png b/src/main/resources/static/images/bit.png similarity index 100% rename from demo/src/main/resources/static/images/bit.png rename to src/main/resources/static/images/bit.png diff --git a/demo/src/main/resources/templates/welcome.html b/src/main/resources/templates/welcome.html similarity index 98% rename from demo/src/main/resources/templates/welcome.html rename to src/main/resources/templates/welcome.html index e6e28e8..e1e77c4 100644 --- a/demo/src/main/resources/templates/welcome.html +++ b/src/main/resources/templates/welcome.html @@ -1,51 +1,51 @@ - - - - - - Feature Management with Spring Cloud Azure - - - - - - - - - - -
- - -
-
-

Welcome

-

Learn more about Feature Management with Spring Cloud Azure

- BIT! -
-
-
- © 2019 - Projects -
- -
- + + + + + + Feature Management with Spring Cloud Azure + + + + + + + + + + +
+ + +
+
+

Welcome

+

Learn more about Feature Management with Spring Cloud Azure

+ BIT! +
+
+
+ © 2019 - Projects +
+ +
+ \ No newline at end of file diff --git a/demo/src/test/java/com/example/demo/DemoApplicationTests.java b/src/test/java/com/example/demo/DemoApplicationTests.java similarity index 100% rename from demo/src/test/java/com/example/demo/DemoApplicationTests.java rename to src/test/java/com/example/demo/DemoApplicationTests.java diff --git a/target/classes/application.properties b/target/classes/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/target/classes/application.properties @@ -0,0 +1 @@ + diff --git a/target/classes/bootstrap.properties b/target/classes/bootstrap.properties new file mode 100644 index 0000000..83311e7 --- /dev/null +++ b/target/classes/bootstrap.properties @@ -0,0 +1 @@ +spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} diff --git a/target/classes/favicon.ico b/target/classes/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..92264f3cba7c144863039159aac7efb3e1122433 GIT binary patch literal 33091 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 literal 0 HcmV?d00001 diff --git a/demo/src/main/resources/package/HelloController.java b/target/classes/package/HelloController.java similarity index 96% rename from demo/src/main/resources/package/HelloController.java rename to target/classes/package/HelloController.java index f956f97..f6dd8a0 100644 --- a/demo/src/main/resources/package/HelloController.java +++ b/target/classes/package/HelloController.java @@ -1,26 +1,26 @@ -package com.example.demo; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; - -import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; -import org.springframework.web.bind.annotation.GetMapping; - - -@Controller -@ConfigurationProperties("controller") -public class HelloController { - - private FeatureManager featureManager; - - public HelloController(FeatureManager featureManager) { - this.featureManager = featureManager; - } - - @GetMapping("/welcome") - public String mainWithParam(Model model) { - model.addAttribute("Beta", featureManager.isEnabledAsync("featureManagement.Beta").block()); - return "welcome"; - } +package com.example.demo; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; + +import com.microsoft.azure.spring.cloud.feature.manager.FeatureManager; +import org.springframework.web.bind.annotation.GetMapping; + + +@Controller +@ConfigurationProperties("controller") +public class HelloController { + + private FeatureManager featureManager; + + public HelloController(FeatureManager featureManager) { + this.featureManager = featureManager; + } + + @GetMapping("/welcome") + public String mainWithParam(Model model) { + model.addAttribute("Beta", featureManager.isEnabledAsync("featureManagement.Beta").block()); + return "welcome"; + } } \ No newline at end of file diff --git a/target/classes/package/MessageProperties.java b/target/classes/package/MessageProperties.java new file mode 100644 index 0000000..ddfc09a --- /dev/null +++ b/target/classes/package/MessageProperties.java @@ -0,0 +1,18 @@ +package com.example.demo; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "config") +public class MessageProperties { + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} \ No newline at end of file diff --git a/target/classes/static/CSS/main.css b/target/classes/static/CSS/main.css new file mode 100644 index 0000000..ea8b295 --- /dev/null +++ b/target/classes/static/CSS/main.css @@ -0,0 +1,28 @@ +html { + position: relative; + min-height: 100%; +} +body { + margin-bottom: 60px; +} +.footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + line-height: 60px; + background-color: #f5f5f5; +} + +body > .container { + padding: 60px 15px 0; +} + +.footer > .container { + padding-right: 15px; + padding-left: 15px; +} + +code { + font-size: 80%; +} \ No newline at end of file diff --git a/target/classes/static/images/bit.png b/target/classes/static/images/bit.png new file mode 100644 index 0000000000000000000000000000000000000000..df92cb58136764c872cdf23da02f4039bac7e1ee GIT binary patch literal 114415 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 {BgdmYVKoY@i7CM1zvL`(<+LR9jYl0fiCw)i*7K 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 literal 0 HcmV?d00001 diff --git a/target/classes/templates/welcome.html b/target/classes/templates/welcome.html new file mode 100644 index 0000000..e1e77c4 --- /dev/null +++ b/target/classes/templates/welcome.html @@ -0,0 +1,51 @@ + + + + + + Feature Management with Spring Cloud Azure + + + + + + + + + + +
+ + +
+
+

Welcome

+

Learn more about Feature Management with Spring Cloud Azure

+ BIT! +
+
+
+ © 2019 - Projects +
+ +
+ + \ No newline at end of file diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..00f09d9 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,3 @@ +com\example\demo\DemoApplication.class +com\example\demo\HelloController.class +com\example\demo\MessageProperties.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..b3f0640 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,3 @@ +C:\Users\hambe\Desktop\fafnirAdventure-main\DevOpsforJavaShops\src\main\java\com\example\demo\HelloController.java +C:\Users\hambe\Desktop\fafnirAdventure-main\DevOpsforJavaShops\src\main\java\com\example\demo\DemoApplication.java +C:\Users\hambe\Desktop\fafnirAdventure-main\DevOpsforJavaShops\src\main\java\com\example\demo\MessageProperties.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e4dca50 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1 @@ +com\example\demo\DemoApplicationTests.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..9424a10 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +C:\Users\hambe\Desktop\fafnirAdventure-main\DevOpsforJavaShops\src\test\java\com\example\demo\DemoApplicationTests.java diff --git a/target/surefire-reports/TEST-com.example.demo.DemoApplicationTests.xml b/target/surefire-reports/TEST-com.example.demo.DemoApplicationTests.xml new file mode 100644 index 0000000..a2afcc3 --- /dev/null +++ b/target/surefire-reports/TEST-com.example.demo.DemoApplicationTests.xml @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + java.lang.IllegalStateException: Failed to load ApplicationContext +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). +Caused by: java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + + true]], class annotated with @DirtiesContext [false] with mode [null]. +22:16:37.019 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true} +2023-04-01 22:16:37.693 INFO 16948 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$56d1c8fa] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-04-01 22:16:37.893 WARN 16948 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). +2023-04-01 22:16:37.898 INFO 16948 --- [ main] ConditionEvaluationReportLoggingListener : + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2023-04-01 22:16:37.906 ERROR 16948 --- [ main] o.s.boot.SpringApplication : Application run failed + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:797) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:538) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:191) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:105) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:71) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:346) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[na:na] + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na] + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:340) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:263) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.Optional.orElseGet(Optional.java:369) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2] +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:415) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:884) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 96 common frames omitted +Caused by: java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at com.microsoft.azure.spring.cloud.config.resource.Connection.(Connection.java:35) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.stores.ConfigStore.validateAndInit(ConfigStore.java:106) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.lambda$validateAndInit$0(AppConfigurationProperties.java:129) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.validateAndInit(AppConfigurationProperties.java:125) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 109 common frames omitted + +2023-04-01 22:16:37.911 ERROR 16948 --- [ main] o.s.boot.SpringApplication : Application run failed + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:797) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:538) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:191) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:105) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:71) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:346) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[na:na] + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na] + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:340) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:263) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.Optional.orElseGet(Optional.java:369) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2] +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:415) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:884) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 96 common frames omitted +Caused by: java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at com.microsoft.azure.spring.cloud.config.resource.Connection.(Connection.java:35) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.stores.ConfigStore.validateAndInit(ConfigStore.java:106) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.lambda$validateAndInit$0(AppConfigurationProperties.java:129) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.validateAndInit(AppConfigurationProperties.java:125) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 109 common frames omitted + +2023-04-01 22:16:37.916 ERROR 16948 --- [ main] o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@2a8d39c4] to prepare test instance [com.example.demo.DemoApplicationTests@573284a5] + +java.lang.IllegalStateException: Failed to load ApplicationContext + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:346) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:341) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[na:na] + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na] + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na] + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) ~[na:na] + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) ~[na:na] + at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:340) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:263) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at java.base/java.util.Optional.orElseGet(Optional.java:369) ~[na:na] + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71) ~[junit-jupiter-engine-5.6.2.jar:5.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) ~[junit-platform-engine-1.6.2.jar:1.6.2] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2] + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2] +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:797) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:538) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1176) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:191) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:105) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:71) ~[spring-cloud-context-2.1.0.RELEASE.jar:2.1.0.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-2.3.3.RELEASE.jar:2.3.3.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ~[spring-test-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 65 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:415) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:884) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:788) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 96 common frames omitted +Caused by: java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + at com.microsoft.azure.spring.cloud.config.resource.Connection.(Connection.java:35) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.stores.ConfigStore.validateAndInit(ConfigStore.java:106) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.lambda$validateAndInit$0(AppConfigurationProperties.java:129) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) ~[na:na] + at com.microsoft.azure.spring.cloud.config.AppConfigurationProperties.validateAndInit(AppConfigurationProperties.java:125) ~[spring-cloud-azure-appconfiguration-config-1.1.5.jar:1.1.5] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE] + ... 109 common frames omitted + +]]> + + \ No newline at end of file diff --git a/target/surefire-reports/com.example.demo.DemoApplicationTests.txt b/target/surefire-reports/com.example.demo.DemoApplicationTests.txt new file mode 100644 index 0000000..b4d9539 --- /dev/null +++ b/target/surefire-reports/com.example.demo.DemoApplicationTests.txt @@ -0,0 +1,10 @@ +------------------------------------------------------------------------------- +Test set: com.example.demo.DemoApplicationTests +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.548 s <<< FAILURE! - in com.example.demo.DemoApplicationTests +contextLoads Time elapsed: 0 s <<< ERROR! +java.lang.IllegalStateException: Failed to load ApplicationContext +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'initConnectionString' defined in class path resource [com/microsoft/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.class]: Unsatisfied dependency expressed through method 'initConnectionString' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.cloud.azure.appconfiguration-com.microsoft.azure.spring.cloud.config.AppConfigurationProperties': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). +Caused by: java.lang.IllegalStateException: Connection string does not follow format Endpoint=([^;]+);Id=([^;]+);Secret=([^;]+). + From 7966475291ffd48d5d633e43cf834518b644176d Mon Sep 17 00:00:00 2001 From: HammanBello Date: Mon, 3 Apr 2023 15:18:06 +0100 Subject: [PATCH 4/5] first-commit2 --- .github/workflows/main_fafniradventure.yml | 3 +++ {.github/workflows => ideas}/main_cicdforjava.yml | 0 {.github/workflows => ideas}/main_javaone2022.yml | 0 {.github/workflows => ideas}/main_jcon2022.yml | 0 src/main/resources/bootstrap.properties | 2 +- 5 files changed, 4 insertions(+), 1 deletion(-) rename {.github/workflows => ideas}/main_cicdforjava.yml (100%) rename {.github/workflows => ideas}/main_javaone2022.yml (100%) rename {.github/workflows => ideas}/main_jcon2022.yml (100%) diff --git a/.github/workflows/main_fafniradventure.yml b/.github/workflows/main_fafniradventure.yml index ec27104..22af261 100644 --- a/.github/workflows/main_fafniradventure.yml +++ b/.github/workflows/main_fafniradventure.yml @@ -3,6 +3,9 @@ name: Build and deploy WAR app to Azure Web App - fafnirAdventure +env: # Or as an environment variable + APP_CONFIGURATION_CONNECTION_STRING: ${{ secrets.APP_CONFIGURATION_CONNECTION_STRING }} + on: push: branches: diff --git a/.github/workflows/main_cicdforjava.yml b/ideas/main_cicdforjava.yml similarity index 100% rename from .github/workflows/main_cicdforjava.yml rename to ideas/main_cicdforjava.yml diff --git a/.github/workflows/main_javaone2022.yml b/ideas/main_javaone2022.yml similarity index 100% rename from .github/workflows/main_javaone2022.yml rename to ideas/main_javaone2022.yml diff --git a/.github/workflows/main_jcon2022.yml b/ideas/main_jcon2022.yml similarity index 100% rename from .github/workflows/main_jcon2022.yml rename to ideas/main_jcon2022.yml diff --git a/src/main/resources/bootstrap.properties b/src/main/resources/bootstrap.properties index 83311e7..3c6866e 100644 --- a/src/main/resources/bootstrap.properties +++ b/src/main/resources/bootstrap.properties @@ -1 +1 @@ -spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} +#spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} From 963b28a6704f78d5e0972e7261a182a66949670f Mon Sep 17 00:00:00 2001 From: HammanBello Date: Mon, 3 Apr 2023 15:21:03 +0100 Subject: [PATCH 5/5] first-commit2 --- src/main/resources/bootstrap.properties | 2 +- target/classes/bootstrap.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/bootstrap.properties b/src/main/resources/bootstrap.properties index 3c6866e..83311e7 100644 --- a/src/main/resources/bootstrap.properties +++ b/src/main/resources/bootstrap.properties @@ -1 +1 @@ -#spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} +spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} diff --git a/target/classes/bootstrap.properties b/target/classes/bootstrap.properties index 83311e7..3c6866e 100644 --- a/target/classes/bootstrap.properties +++ b/target/classes/bootstrap.properties @@ -1 +1 @@ -spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING} +#spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING}