Commit 9d941807 authored by Ramu Dosapati's avatar Ramu Dosapati

Retrieving data from mongodb

parent 3f36a8e2
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="16" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11 (2)" project-jdk-type="JavaSDK" />
<component name="ProjectType"> <component name="ProjectType">
<option name="id" value="jpab" /> <option name="id" value="jpab" />
</component> </component>
......
...@@ -5,120 +5,63 @@ ...@@ -5,120 +5,63 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="74de7a75-0f1f-4bb1-a2d0-c35110f29f4d" name="Changes" comment=""> <list default="true" id="74de7a75-0f1f-4bb1-a2d0-c35110f29f4d" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/checksums/checksums.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/checksums/checksums.lock" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/jpa-buddy.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/executionHistory/executionHistory.bin" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/executionHistory/executionHistory.lock" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingServiceData.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/fileHashes/fileHashes.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/fileHashes/fileHashes.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_2_11.xml" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/7.4/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.4/fileHashes/resourceHashesCache.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__ch_qos_logback_logback_core_1_2_11.xml" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_13_4.xml" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/file-system.probe" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/file-system.probe" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_jayway_jsonpath_json_path_2_7_0.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_buffer_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_codec_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_codec_dns_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_codec_http2_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_codec_http_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_codec_socks_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_common_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_handler_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_handler_proxy_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_resolver_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_resolver_dns_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_resolver_dns_classes_macos_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_resolver_dns_native_macos_osx_x86_64_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_transport_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_transport_classes_epoll_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_netty_netty_transport_native_unix_common_4_1_84_Final.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_projectreactor_netty_reactor_netty_core_1_0_24.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_projectreactor_netty_reactor_netty_http_1_0_24.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_projectreactor_reactor_core_3_4_24.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__io_projectreactor_reactor_test_3_4_24.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__jakarta_activation_jakarta_activation_api_1_2_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__jakarta_annotation_jakarta_annotation_api_1_3_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_12_18.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_12_18.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__net_minidev_accessors_smart_2_4_8.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__net_minidev_json_smart_2_4_8.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_apache_logging_log4j_log4j_api_2_17_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_apiguardian_apiguardian_api_1_1_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_assertj_assertj_core_3_22_0.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_hamcrest_hamcrest_2_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_jupiter_junit_jupiter_5_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_jupiter_junit_jupiter_api_5_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_jupiter_junit_jupiter_params_5_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_platform_junit_platform_commons_1_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_junit_platform_junit_platform_engine_1_8_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mockito_mockito_core_4_5_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mockito_mockito_junit_jupiter_4_5_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mongodb_bson_4_6_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mongodb_bson_record_codec_4_6_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mongodb_mongodb_driver_core_4_6_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_mongodb_mongodb_driver_reactivestreams_4_6_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_objenesis_objenesis_3_2.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_opentest4j_opentest4j_1_2_0.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_ow2_asm_asm_9_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_projectlombok_lombok_1_18_24.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_4.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_skyscreamer_jsonassert_1_5_1.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_slf4j_jul_to_slf4j_1_7_36.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_36.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_autoconfigure_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_data_mongodb_reactive_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_json_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_logging_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_reactor_netty_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_test_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_starter_webflux_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_test_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_boot_spring_boot_test_autoconfigure_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_data_spring_data_commons_2_7_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_data_spring_data_mongodb_3_4_5.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_aop_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_beans_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_context_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_core_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_expression_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_jcl_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_test_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_tx_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_web_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_springframework_spring_webflux_5_3_23.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_xmlunit_xmlunit_core_2_9_0.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Gradle__org_yaml_snakeyaml_1_30.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/safeway-pricing-pod.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/safeway-pricing-pod.main.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/safeway-pricing-pod.test.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" /> <change beforePath="$PROJECT_DIR$/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gradlew" beforeDir="false" afterPath="$PROJECT_DIR$/gradlew" afterDir="false" /> <change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/SafewayPricingPodApplication.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/SafewayPricingPodApplication.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gradlew.bat" beforeDir="false" afterPath="$PROJECT_DIR$/gradlew.bat" afterDir="false" /> <change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/controller/PricingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/controller/PricingController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/dto/ItemDetails.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/dto/SaleDetailsDto$SaleDetailsDtoBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/dto/SaleDetailsDto$SaleDetailsDtoBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/dto/SaleDetailsDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/dto/SaleDetailsDto.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/DivisionDetails$DivisionDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/DivisionDetails$DivisionDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/DivisionDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/DivisionDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/ItemDetails$ItemDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/ItemDetails$ItemDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/ItemDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/ItemDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceArea$PriceAreaBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceArea$PriceAreaBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceArea.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceArea.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceAreaDetails$PriceAreaDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceAreaDetails$PriceAreaDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceAreaDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceAreaDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceDetails$PriceDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceDetails$PriceDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/PriceDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/SaleDetails$SaleDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/SaleDetails$SaleDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/SaleDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/SaleDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreDetails$StoreDetailsBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreDetails$StoreDetailsBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreDetails.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreDetails.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreGroup$StoreGroupBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreGroup$StoreGroupBuilder.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreGroup.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/entity/StoreGroup.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/exception/PricingException.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/exception/PricingException.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/repository/PricingRepository.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/service/PricingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/service/PricingService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/service/PricingServiceData.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/service/PricingServiceData.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/util/AppUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/build/classes/java/main/com/safeway/pricing/safeway/util/AppUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/resources/main/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/build/resources/main/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/build/tmp/compileJava/previous-compilation-data.bin" beforeDir="false" afterPath="$PROJECT_DIR$/build/tmp/compileJava/previous-compilation-data.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/SafewayPricingPodApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/SafewayPricingPodApplication.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/controller/PricingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/controller/PricingController.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/controller/PricingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/controller/PricingController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/dto/ItemDetails.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/dto/SaleDetailsDto.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/DivisionDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/DivisionDetails.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/DivisionDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/DivisionDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/ItemDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/ItemDetails.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/ItemDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/ItemDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceArea.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceArea.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceAreaDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceAreaDetails.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceAreaDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceAreaDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceDetails.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/PriceDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/SaleDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/SaleDetails.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/SaleDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/SaleDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreDetails.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreDetails.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreGroup.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreGroup.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreGroup.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/entity/StoreGroup.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingService.java" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/repository/PricingRepository.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingServiceData.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/service/PricingServiceData.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/util/AppUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/safeway/pricing/safeway/util/AppUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-prod.properties" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
...@@ -133,9 +76,28 @@ ...@@ -133,9 +76,28 @@
<component name="ExternalProjectsManager"> <component name="ExternalProjectsManager">
<system id="GRADLE"> <system id="GRADLE">
<state> <state>
<task path="$PROJECT_DIR$">
<activation />
</task>
<projects_view> <projects_view>
<tree_state> <tree_state>
<expand /> <expand>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="safeway-pricing-pod" type="f1a62948:ProjectNode" />
</path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="safeway-pricing-pod" type="f1a62948:ProjectNode" />
<item name="Tasks" type="e4a08cd1:TasksNode" />
</path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="safeway-pricing-pod" type="f1a62948:ProjectNode" />
<item name="Tasks" type="e4a08cd1:TasksNode" />
<item name="build" type="c8890929:TasksNode$1" />
</path>
</expand>
<select /> <select />
</tree_state> </tree_state>
</projects_view> </projects_view>
...@@ -165,13 +127,27 @@ ...@@ -165,13 +127,27 @@
"RunOnceActivity.OpenProjectViewOnStart": "true", "RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true", "RunOnceActivity.ShowReadmeOnStart": "true",
"SHARE_PROJECT_CONFIGURATION_FILES": "true", "SHARE_PROJECT_CONFIGURATION_FILES": "true",
"last_opened_file_path": "C:/Users/rdosapati/Downloads/rxJava/rxJava", "last_opened_file_path": "D:/Safeway/safeway-pricing-pod/src/main/java/com/safeway/pricing/safeway/dto",
"project.structure.last.edited": "Modules", "project.structure.last.edited": "SDKs",
"project.structure.proportion": "0.15", "project.structure.proportion": "0.15",
"project.structure.side.proportion": "0.2" "project.structure.side.proportion": "0.2",
"settings.editor.selected.configurable": "preferences.lookFeel"
} }
}]]></component> }]]></component>
<component name="RunManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway\dto" />
<recent name="D:\Safeway\safeway-pricing-pod\src\main\resources" />
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway" />
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway\rx" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway\dto" />
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway\repository" />
<recent name="D:\Safeway\safeway-pricing-pod\src\main\java\com\safeway\pricing\safeway\modelmapper" />
</key>
</component>
<component name="RunManager" selected="Application.SafewayPricingPodApplication">
<configuration name="SafewayPricingPodApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> <configuration name="SafewayPricingPodApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.safeway.pricing.safeway.SafewayPricingPodApplication" /> <option name="MAIN_CLASS_NAME" value="com.safeway.pricing.safeway.SafewayPricingPodApplication" />
<module name="safeway-pricing-pod.main" /> <module name="safeway-pricing-pod.main" />
...@@ -185,8 +161,44 @@ ...@@ -185,8 +161,44 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="Test" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="com.safeway.pricing.safeway.filereader.Test" />
<module name="safeway-pricing-pod.main" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="com.safeway.pricing.safeway.filereader.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="safeway-pricing-pod [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="build" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Gradle.safeway-pricing-pod [build]" />
<item itemvalue="Application.Test" />
<item itemvalue="Application.SafewayPricingPodApplication" /> <item itemvalue="Application.SafewayPricingPodApplication" />
</list> </list>
</recent_temporary> </recent_temporary>
......
...@@ -19,13 +19,18 @@ repositories { ...@@ -19,13 +19,18 @@ repositories {
} }
dependencies { dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.1.0'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-mongodb', version: '2.7.5'
implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.springframework.boot:spring-boot-starter-webflux'
compileOnly 'org.projectlombok:lombok' compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test' testImplementation 'io.projectreactor:reactor-test'
implementation group: 'io.reactivex', name: 'rxjava', version: '1.3.8'
implementation 'org.springframework.kafka:spring-kafka'
testImplementation 'org.springframework.kafka:spring-kafka-test'
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0' implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
compileOnly group: 'org.json', name: 'json', version: '20180813'
} }
tasks.named('test') { tasks.named('test') {
......
com.safeway.pricing.safeway.SafewayPricingPodApplication
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - SafewayPricingPodApplicationTests</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>SafewayPricingPodApplicationTests</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt;
<a href="../packages/com.safeway.pricing.safeway.html">com.safeway.pricing.safeway</a> &gt; SafewayPricingPodApplicationTests</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.714s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Tests</a>
</li>
<li>
<a href="#tab1">Standard output</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Tests</h2>
<table>
<thead>
<tr>
<th>Test</th>
<th>Duration</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td class="success">contextLoads()</td>
<td class="success">0.714s</td>
<td class="success">passed</td>
</tr>
</table>
</div>
<div id="tab1" class="tab">
<h2>Standard output</h2>
<span class="code">
<pre>13:47:12.403 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
13:47:12.425 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
13:47:12.493 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
13:47:12.517 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests], using SpringBootContextLoader
13:47:12.528 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: class path resource [com/safeway/pricing/safeway/SafewayPricingPodApplicationTests-context.xml] does not exist
13:47:12.531 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: class path resource [com/safeway/pricing/safeway/SafewayPricingPodApplicationTestsContext.groovy] does not exist
13:47:12.532 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
13:47:12.533 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: SafewayPricingPodApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
13:47:12.686 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]
13:47:13.119 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\Safeway\safeway-pricing-pod\build\classes\java\main\com\safeway\pricing\safeway\SafewayPricingPodApplication.class]
13:47:13.126 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.safeway.pricing.safeway.SafewayPricingPodApplication for test class com.safeway.pricing.safeway.SafewayPricingPodApplicationTests
13:47:13.422 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: using defaults.
13:47:13.424 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
13:47:13.436 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [javax/servlet/ServletContext]
13:47:13.451 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@619bd14c, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@323e8306, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@a23a01d, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4acf72b6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@7561db12, org.springframework.test.context.transaction.TransactionalTestExecutionListener@3301500b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@24b52d3e, org.springframework.test.context.event.EventPublishingTestExecutionListener@15deb1dc, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@6e9c413e, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@57a4d5ee, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@5af5def9, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@3a45c42a, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@36dce7ed, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@47a64f7d]
13:47:13.456 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@13c612bd testClass = SafewayPricingPodApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [ReactiveWebMergedContextConfiguration@3ef41c66 testClass = SafewayPricingPodApplicationTests, locations = '{}', classes = '{class com.safeway.pricing.safeway.SafewayPricingPodApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@1ef3efa8, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@61884cb1, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@79da1ec0, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@27953a83, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3918c187, org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizer@242aa8d9, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@748741cb], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map[[empty]]], class annotated with @DirtiesContext [false] with mode [null].
13:47:13.474 [Test worker] DEBUG org.springframework.test.context.support.DependencyInjectionTestExecutionListener - Performing dependency injection for test context [[DefaultTestContext@13c612bd testClass = SafewayPricingPodApplicationTests, testInstance = com.safeway.pricing.safeway.SafewayPricingPodApplicationTests@3d829787, testMethod = [null], testException = [null], mergedContextConfiguration = [ReactiveWebMergedContextConfiguration@3ef41c66 testClass = SafewayPricingPodApplicationTests, locations = '{}', classes = '{class com.safeway.pricing.safeway.SafewayPricingPodApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@1ef3efa8, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@61884cb1, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@79da1ec0, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@27953a83, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3918c187, org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizer@242aa8d9, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@748741cb], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -&gt; false]]].
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.7.5)
2022-11-22 13:47:14.068 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : Starting SafewayPricingPodApplicationTests using Java 11.0.15 on HYD-LAP-00446 with PID 3440 (started by rdosapati in D:\Safeway\safeway-pricing-pod)
2022-11-22 13:47:14.072 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : No active profile set, falling back to 1 default profile: &quot;default&quot;
2022-11-22 13:47:15.924 INFO 3440 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Reactive MongoDB repositories in DEFAULT mode.
2022-11-22 13:47:15.943 INFO 3440 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12 ms. Found 0 Reactive MongoDB repository interfaces.
2022-11-22 13:47:19.438 INFO 3440 --- [ Test worker] org.mongodb.driver.client : MongoClient with metadata {&quot;driver&quot;: {&quot;name&quot;: &quot;mongo-java-driver|reactive-streams|spring-boot&quot;, &quot;version&quot;: &quot;4.6.1&quot;}, &quot;os&quot;: {&quot;type&quot;: &quot;Windows&quot;, &quot;name&quot;: &quot;Windows 10&quot;, &quot;architecture&quot;: &quot;amd64&quot;, &quot;version&quot;: &quot;10.0&quot;}, &quot;platform&quot;: &quot;Java/Microsoft/11.0.15+10-LTS&quot;} created with settings MongoClientSettings{readPreference=primary, writeConcern=WriteConcern{w=null, wTimeout=null ms, journal=null}, retryWrites=true, retryReads=true, readConcern=ReadConcern{level=null}, credential=null, streamFactoryFactory=NettyStreamFactoryFactory{eventLoopGroup=io.netty.channel.nio.NioEventLoopGroup@5ee581db, socketChannelClass=class io.netty.channel.socket.nio.NioSocketChannel, allocator=PooledByteBufAllocator(directByDefault: true), sslContext=null}, commandListeners=[], codecRegistry=ProvidersCodecRegistry{codecProviders=[ValueCodecProvider{}, BsonValueCodecProvider{}, DBRefCodecProvider{}, DBObjectCodecProvider{}, DocumentCodecProvider{}, IterableCodecProvider{}, MapCodecProvider{}, GeoJsonCodecProvider{}, GridFSFileCodecProvider{}, Jsr310CodecProvider{}, JsonObjectCodecProvider{}, BsonCodecProvider{}, EnumCodecProvider{}, com.mongodb.Jep395RecordCodecProvider@5a6efe33]}, clusterSettings={hosts=[localhost:27017], srvServiceName=mongodb, mode=SINGLE, requiredClusterType=UNKNOWN, requiredReplicaSetName='null', serverSelector='null', clusterListeners='[]', serverSelectionTimeout='30000 ms', localThreshold='30000 ms'}, socketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=0, receiveBufferSize=0, sendBufferSize=0}, heartbeatSocketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=10000, receiveBufferSize=0, sendBufferSize=0}, connectionPoolSettings=ConnectionPoolSettings{maxSize=100, minSize=0, maxWaitTimeMS=120000, maxConnectionLifeTimeMS=0, maxConnectionIdleTimeMS=0, maintenanceInitialDelayMS=0, maintenanceFrequencyMS=60000, connectionPoolListeners=[], maxConnecting=2}, serverSettings=ServerSettings{heartbeatFrequencyMS=10000, minHeartbeatFrequencyMS=500, serverListeners='[]', serverMonitorListeners='[]'}, sslSettings=SslSettings{enabled=false, invalidHostNameAllowed=false, context=null}, applicationName='null', compressorList=[], uuidRepresentation=JAVA_LEGACY, serverApi=null, autoEncryptionSettings=null, contextProvider=null}
2022-11-22 13:47:21.397 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : Started SafewayPricingPodApplicationTests in 7.887 seconds (JVM running for 13.513)
</pre>
</span>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at 22-Nov-2022, 1:47:24 PM</p>
</div>
</div>
</body>
</html>
body {
margin: 0;
padding: 0;
font-family: sans-serif;
font-size: 12pt;
}
body, a, a:visited {
color: #303030;
}
#content {
padding-left: 50px;
padding-right: 50px;
padding-top: 30px;
padding-bottom: 30px;
}
#content h1 {
font-size: 160%;
margin-bottom: 10px;
}
#footer {
margin-top: 100px;
font-size: 80%;
white-space: nowrap;
}
#footer, #footer a {
color: #a0a0a0;
}
#line-wrapping-toggle {
vertical-align: middle;
}
#label-for-line-wrapping-toggle {
vertical-align: middle;
}
ul {
margin-left: 0;
}
h1, h2, h3 {
white-space: nowrap;
}
h2 {
font-size: 120%;
}
ul.tabLinks {
padding-left: 0;
padding-top: 10px;
padding-bottom: 10px;
overflow: auto;
min-width: 800px;
width: auto !important;
width: 800px;
}
ul.tabLinks li {
float: left;
height: 100%;
list-style: none;
padding-left: 10px;
padding-right: 10px;
padding-top: 5px;
padding-bottom: 5px;
margin-bottom: 0;
-moz-border-radius: 7px;
border-radius: 7px;
margin-right: 25px;
border: solid 1px #d4d4d4;
background-color: #f0f0f0;
}
ul.tabLinks li:hover {
background-color: #fafafa;
}
ul.tabLinks li.selected {
background-color: #c5f0f5;
border-color: #c5f0f5;
}
ul.tabLinks a {
font-size: 120%;
display: block;
outline: none;
text-decoration: none;
margin: 0;
padding: 0;
}
ul.tabLinks li h2 {
margin: 0;
padding: 0;
}
div.tab {
}
div.selected {
display: block;
}
div.deselected {
display: none;
}
div.tab table {
min-width: 350px;
width: auto !important;
width: 350px;
border-collapse: collapse;
}
div.tab th, div.tab table {
border-bottom: solid #d0d0d0 1px;
}
div.tab th {
text-align: left;
white-space: nowrap;
padding-left: 6em;
}
div.tab th:first-child {
padding-left: 0;
}
div.tab td {
white-space: nowrap;
padding-left: 6em;
padding-top: 5px;
padding-bottom: 5px;
}
div.tab td:first-child {
padding-left: 0;
}
div.tab td.numeric, div.tab th.numeric {
text-align: right;
}
span.code {
display: inline-block;
margin-top: 0em;
margin-bottom: 1em;
}
span.code pre {
font-size: 11pt;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
margin: 0;
background-color: #f7f7f7;
border: solid 1px #d0d0d0;
min-width: 700px;
width: auto !important;
width: 700px;
}
span.wrapped pre {
word-wrap: break-word;
white-space: pre-wrap;
word-break: break-all;
}
label.hidden {
display: none;
}
\ No newline at end of file
#summary {
margin-top: 30px;
margin-bottom: 40px;
}
#summary table {
border-collapse: collapse;
}
#summary td {
vertical-align: top;
}
.breadcrumbs, .breadcrumbs a {
color: #606060;
}
.infoBox {
width: 110px;
padding-top: 15px;
padding-bottom: 15px;
text-align: center;
}
.infoBox p {
margin: 0;
}
.counter, .percent {
font-size: 120%;
font-weight: bold;
margin-bottom: 8px;
}
#duration {
width: 125px;
}
#successRate, .summaryGroup {
border: solid 2px #d0d0d0;
-moz-border-radius: 10px;
border-radius: 10px;
}
#successRate {
width: 140px;
margin-left: 35px;
}
#successRate .percent {
font-size: 180%;
}
.success, .success a {
color: #008000;
}
div.success, #successRate.success {
background-color: #bbd9bb;
border-color: #008000;
}
.failures, .failures a {
color: #b60808;
}
.skipped, .skipped a {
color: #c09853;
}
div.failures, #successRate.failures {
background-color: #ecdada;
border-color: #b60808;
}
ul.linkList {
padding-left: 0;
}
ul.linkList li {
list-style: none;
margin-bottom: 5px;
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Test Summary</title>
<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
<script src="js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Test Summary</h1>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.714s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Packages</a>
</li>
<li>
<a href="#tab1">Classes</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Packages</h2>
<table>
<thead>
<tr>
<th>Package</th>
<th>Tests</th>
<th>Failures</th>
<th>Ignored</th>
<th>Duration</th>
<th>Success rate</th>
</tr>
</thead>
<tbody>
<tr>
<td class="success">
<a href="packages/com.safeway.pricing.safeway.html">com.safeway.pricing.safeway</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.714s</td>
<td class="success">100%</td>
</tr>
</tbody>
</table>
</div>
<div id="tab1" class="tab">
<h2>Classes</h2>
<table>
<thead>
<tr>
<th>Class</th>
<th>Tests</th>
<th>Failures</th>
<th>Ignored</th>
<th>Duration</th>
<th>Success rate</th>
</tr>
</thead>
<tbody>
<tr>
<td class="success">
<a href="classes/com.safeway.pricing.safeway.SafewayPricingPodApplicationTests.html">com.safeway.pricing.safeway.SafewayPricingPodApplicationTests</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.714s</td>
<td class="success">100%</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at 22-Nov-2022, 1:47:24 PM</p>
</div>
</div>
</body>
</html>
(function (window, document) {
"use strict";
var tabs = {};
function changeElementClass(element, classValue) {
if (element.getAttribute("className")) {
element.setAttribute("className", classValue);
} else {
element.setAttribute("class", classValue);
}
}
function getClassAttribute(element) {
if (element.getAttribute("className")) {
return element.getAttribute("className");
} else {
return element.getAttribute("class");
}
}
function addClass(element, classValue) {
changeElementClass(element, getClassAttribute(element) + " " + classValue);
}
function removeClass(element, classValue) {
changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
}
function initTabs() {
var container = document.getElementById("tabs");
tabs.tabs = findTabs(container);
tabs.titles = findTitles(tabs.tabs);
tabs.headers = findHeaders(container);
tabs.select = select;
tabs.deselectAll = deselectAll;
tabs.select(0);
return true;
}
function getCheckBox() {
return document.getElementById("line-wrapping-toggle");
}
function getLabelForCheckBox() {
return document.getElementById("label-for-line-wrapping-toggle");
}
function findCodeBlocks() {
var spans = document.getElementById("tabs").getElementsByTagName("span");
var codeBlocks = [];
for (var i = 0; i < spans.length; ++i) {
if (spans[i].className.indexOf("code") >= 0) {
codeBlocks.push(spans[i]);
}
}
return codeBlocks;
}
function forAllCodeBlocks(operation) {
var codeBlocks = findCodeBlocks();
for (var i = 0; i < codeBlocks.length; ++i) {
operation(codeBlocks[i], "wrapped");
}
}
function toggleLineWrapping() {
var checkBox = getCheckBox();
if (checkBox.checked) {
forAllCodeBlocks(addClass);
} else {
forAllCodeBlocks(removeClass);
}
}
function initControls() {
if (findCodeBlocks().length > 0) {
var checkBox = getCheckBox();
var label = getLabelForCheckBox();
checkBox.onclick = toggleLineWrapping;
checkBox.checked = false;
removeClass(label, "hidden");
}
}
function switchTab() {
var id = this.id.substr(1);
for (var i = 0; i < tabs.tabs.length; i++) {
if (tabs.tabs[i].id === id) {
tabs.select(i);
break;
}
}
return false;
}
function select(i) {
this.deselectAll();
changeElementClass(this.tabs[i], "tab selected");
changeElementClass(this.headers[i], "selected");
while (this.headers[i].firstChild) {
this.headers[i].removeChild(this.headers[i].firstChild);
}
var h2 = document.createElement("H2");
h2.appendChild(document.createTextNode(this.titles[i]));
this.headers[i].appendChild(h2);
}
function deselectAll() {
for (var i = 0; i < this.tabs.length; i++) {
changeElementClass(this.tabs[i], "tab deselected");
changeElementClass(this.headers[i], "deselected");
while (this.headers[i].firstChild) {
this.headers[i].removeChild(this.headers[i].firstChild);
}
var a = document.createElement("A");
a.setAttribute("id", "ltab" + i);
a.setAttribute("href", "#tab" + i);
a.onclick = switchTab;
a.appendChild(document.createTextNode(this.titles[i]));
this.headers[i].appendChild(a);
}
}
function findTabs(container) {
return findChildElements(container, "DIV", "tab");
}
function findHeaders(container) {
var owner = findChildElements(container, "UL", "tabLinks");
return findChildElements(owner[0], "LI", null);
}
function findTitles(tabs) {
var titles = [];
for (var i = 0; i < tabs.length; i++) {
var tab = tabs[i];
var header = findChildElements(tab, "H2", null)[0];
header.parentNode.removeChild(header);
if (header.innerText) {
titles.push(header.innerText);
} else {
titles.push(header.textContent);
}
}
return titles;
}
function findChildElements(container, name, targetClass) {
var elements = [];
var children = container.childNodes;
for (var i = 0; i < children.length; i++) {
var child = children.item(i);
if (child.nodeType === 1 && child.nodeName === name) {
if (targetClass && child.className.indexOf(targetClass) < 0) {
continue;
}
elements.push(child);
}
}
return elements;
}
// Entry point.
window.onload = function() {
initTabs();
initControls();
};
} (window, window.document));
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<title>Test results - Package com.safeway.pricing.safeway</title>
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
<script src="../js/report.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<h1>Package com.safeway.pricing.safeway</h1>
<div class="breadcrumbs">
<a href="../index.html">all</a> &gt; com.safeway.pricing.safeway</div>
<div id="summary">
<table>
<tr>
<td>
<div class="summaryGroup">
<table>
<tr>
<td>
<div class="infoBox" id="tests">
<div class="counter">1</div>
<p>tests</p>
</div>
</td>
<td>
<div class="infoBox" id="failures">
<div class="counter">0</div>
<p>failures</p>
</div>
</td>
<td>
<div class="infoBox" id="ignored">
<div class="counter">0</div>
<p>ignored</p>
</div>
</td>
<td>
<div class="infoBox" id="duration">
<div class="counter">0.714s</div>
<p>duration</p>
</div>
</td>
</tr>
</table>
</div>
</td>
<td>
<div class="infoBox success" id="successRate">
<div class="percent">100%</div>
<p>successful</p>
</div>
</td>
</tr>
</table>
</div>
<div id="tabs">
<ul class="tabLinks">
<li>
<a href="#tab0">Classes</a>
</li>
</ul>
<div id="tab0" class="tab">
<h2>Classes</h2>
<table>
<thread>
<tr>
<th>Class</th>
<th>Tests</th>
<th>Failures</th>
<th>Ignored</th>
<th>Duration</th>
<th>Success rate</th>
</tr>
</thread>
<tr>
<td class="success">
<a href="../classes/com.safeway.pricing.safeway.SafewayPricingPodApplicationTests.html">SafewayPricingPodApplicationTests</a>
</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>0.714s</td>
<td class="success">100%</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<p>
<div>
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label>
</div>Generated by
<a href="http://www.gradle.org">Gradle 7.4</a> at 22-Nov-2022, 1:47:24 PM</p>
</div>
</div>
</body>
</html>
server.port=8789
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://localhost:8789
spring.username = ${userName}
server.port=8788
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://safeway.com
#spring.active.profiles=prod
server.port=8789 server.port=8789
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://localhost:8789
spring.data.mongodb.database=pricingdb
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
\ No newline at end of file
spring:
data:
mongodb:
database: pricingdb
host: localhost
port: 27017
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="com.safeway.pricing.safeway.SafewayPricingPodApplicationTests" tests="1" skipped="0" failures="0" errors="0" timestamp="2022-11-22T08:17:21" hostname="HYD-LAP-00446" time="0.714">
<properties/>
<testcase name="contextLoads()" classname="com.safeway.pricing.safeway.SafewayPricingPodApplicationTests" time="0.714"/>
<system-out><![CDATA[13:47:12.403 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
13:47:12.425 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
13:47:12.493 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
13:47:12.517 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests], using SpringBootContextLoader
13:47:12.528 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: class path resource [com/safeway/pricing/safeway/SafewayPricingPodApplicationTests-context.xml] does not exist
13:47:12.531 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: class path resource [com/safeway/pricing/safeway/SafewayPricingPodApplicationTestsContext.groovy] does not exist
13:47:12.532 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
13:47:12.533 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: SafewayPricingPodApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
13:47:12.686 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]
13:47:13.119 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\Safeway\safeway-pricing-pod\build\classes\java\main\com\safeway\pricing\safeway\SafewayPricingPodApplication.class]
13:47:13.126 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.safeway.pricing.safeway.SafewayPricingPodApplication for test class com.safeway.pricing.safeway.SafewayPricingPodApplicationTests
13:47:13.422 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.safeway.pricing.safeway.SafewayPricingPodApplicationTests]: using defaults.
13:47:13.424 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
13:47:13.436 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [javax/servlet/ServletContext]
13:47:13.451 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@619bd14c, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@323e8306, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@a23a01d, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4acf72b6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@7561db12, org.springframework.test.context.transaction.TransactionalTestExecutionListener@3301500b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@24b52d3e, org.springframework.test.context.event.EventPublishingTestExecutionListener@15deb1dc, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@6e9c413e, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@57a4d5ee, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@5af5def9, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@3a45c42a, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@36dce7ed, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@47a64f7d]
13:47:13.456 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@13c612bd testClass = SafewayPricingPodApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [ReactiveWebMergedContextConfiguration@3ef41c66 testClass = SafewayPricingPodApplicationTests, locations = '{}', classes = '{class com.safeway.pricing.safeway.SafewayPricingPodApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@1ef3efa8, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@61884cb1, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@79da1ec0, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@27953a83, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3918c187, org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizer@242aa8d9, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@748741cb], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map[[empty]]], class annotated with @DirtiesContext [false] with mode [null].
13:47:13.474 [Test worker] DEBUG org.springframework.test.context.support.DependencyInjectionTestExecutionListener - Performing dependency injection for test context [[DefaultTestContext@13c612bd testClass = SafewayPricingPodApplicationTests, testInstance = com.safeway.pricing.safeway.SafewayPricingPodApplicationTests@3d829787, testMethod = [null], testException = [null], mergedContextConfiguration = [ReactiveWebMergedContextConfiguration@3ef41c66 testClass = SafewayPricingPodApplicationTests, locations = '{}', classes = '{class com.safeway.pricing.safeway.SafewayPricingPodApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@1ef3efa8, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@61884cb1, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@79da1ec0, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@27953a83, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3918c187, org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizer@242aa8d9, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@748741cb], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]].
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.7.5)
2022-11-22 13:47:14.068 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : Starting SafewayPricingPodApplicationTests using Java 11.0.15 on HYD-LAP-00446 with PID 3440 (started by rdosapati in D:\Safeway\safeway-pricing-pod)
2022-11-22 13:47:14.072 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : No active profile set, falling back to 1 default profile: "default"
2022-11-22 13:47:15.924 INFO 3440 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Reactive MongoDB repositories in DEFAULT mode.
2022-11-22 13:47:15.943 INFO 3440 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12 ms. Found 0 Reactive MongoDB repository interfaces.
2022-11-22 13:47:19.438 INFO 3440 --- [ Test worker] org.mongodb.driver.client : MongoClient with metadata {"driver": {"name": "mongo-java-driver|reactive-streams|spring-boot", "version": "4.6.1"}, "os": {"type": "Windows", "name": "Windows 10", "architecture": "amd64", "version": "10.0"}, "platform": "Java/Microsoft/11.0.15+10-LTS"} created with settings MongoClientSettings{readPreference=primary, writeConcern=WriteConcern{w=null, wTimeout=null ms, journal=null}, retryWrites=true, retryReads=true, readConcern=ReadConcern{level=null}, credential=null, streamFactoryFactory=NettyStreamFactoryFactory{eventLoopGroup=io.netty.channel.nio.NioEventLoopGroup@5ee581db, socketChannelClass=class io.netty.channel.socket.nio.NioSocketChannel, allocator=PooledByteBufAllocator(directByDefault: true), sslContext=null}, commandListeners=[], codecRegistry=ProvidersCodecRegistry{codecProviders=[ValueCodecProvider{}, BsonValueCodecProvider{}, DBRefCodecProvider{}, DBObjectCodecProvider{}, DocumentCodecProvider{}, IterableCodecProvider{}, MapCodecProvider{}, GeoJsonCodecProvider{}, GridFSFileCodecProvider{}, Jsr310CodecProvider{}, JsonObjectCodecProvider{}, BsonCodecProvider{}, EnumCodecProvider{}, com.mongodb.Jep395RecordCodecProvider@5a6efe33]}, clusterSettings={hosts=[localhost:27017], srvServiceName=mongodb, mode=SINGLE, requiredClusterType=UNKNOWN, requiredReplicaSetName='null', serverSelector='null', clusterListeners='[]', serverSelectionTimeout='30000 ms', localThreshold='30000 ms'}, socketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=0, receiveBufferSize=0, sendBufferSize=0}, heartbeatSocketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=10000, receiveBufferSize=0, sendBufferSize=0}, connectionPoolSettings=ConnectionPoolSettings{maxSize=100, minSize=0, maxWaitTimeMS=120000, maxConnectionLifeTimeMS=0, maxConnectionIdleTimeMS=0, maintenanceInitialDelayMS=0, maintenanceFrequencyMS=60000, connectionPoolListeners=[], maxConnecting=2}, serverSettings=ServerSettings{heartbeatFrequencyMS=10000, minHeartbeatFrequencyMS=500, serverListeners='[]', serverMonitorListeners='[]'}, sslSettings=SslSettings{enabled=false, invalidHostNameAllowed=false, context=null}, applicationName='null', compressorList=[], uuidRepresentation=JAVA_LEGACY, serverApi=null, autoEncryptionSettings=null, contextProvider=null}
2022-11-22 13:47:21.397 INFO 3440 --- [ Test worker] .s.p.s.SafewayPricingPodApplicationTests : Started SafewayPricingPodApplicationTests in 7.887 seconds (JVM running for 13.513)
]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>
Manifest-Version: 1.0
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.safeway.pricing.safeway.SafewayPricingPodApplication
Spring-Boot-Version: 2.7.5
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx
Spring-Boot-Layers-Index: BOOT-INF/layers.idx
Manifest-Version: 1.0
package com.safeway.pricing.safeway; package com.safeway.pricing.safeway;
import com.safeway.pricing.safeway.client.SafewayClient;
/*import com.safeway.pricing.safeway.entity.PriceDetails;
import com.safeway.pricing.safeway.filereader.ExcelReader;
import com.safeway.pricing.safeway.kafka.SendKafkaMessage;*/
import lombok.extern.slf4j.Slf4j;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import reactor.core.publisher.Flux;
import java.io.FileInputStream;
@SpringBootApplication @SpringBootApplication
public class SafewayPricingPodApplication { public class SafewayPricingPodApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(SafewayPricingPodApplication.class, args); SpringApplication.run(SafewayPricingPodApplication.class, args);
} }
@Bean
public ModelMapper modelMapper(){
return new ModelMapper();
}
} }
package com.safeway.pricing.safeway.client;
import com.safeway.pricing.safeway.entity.PriceDetails;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;
@Component
public class SafewayClient {
@Value("${client.host}")
private String clientHost;
WebClient client = WebClient.create(clientHost);
public Flux<PriceDetails> getAllPricingDetails() {
return client.get().uri("/safeway/pricingdetails").accept(MediaType.APPLICATION_JSON).retrieve()
.bodyToFlux(PriceDetails.class);
}
}
package com.safeway.pricing.safeway.config;
import org.springframework.context.annotation.Bean;
import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.server.RouterFunction;
import static org.springframework.web.reactive.function.server.RequestPredicates.GET;
import static org.springframework.web.reactive.function.server.RequestPredicates.accept;
import static org.springframework.web.reactive.function.server.RouterFunctions.route;
//@Configuration
public class RouteConfig {
@Bean
RouterFunction<?> routerFunction(RouterHandlers routerHandlers){
return route(GET("/safeway/storedetails/{storeName}").and(accept(MediaType.APPLICATION_JSON)),routerHandlers::getStoreDetails).
andRoute(GET("/safeway/pricingdetails").and(accept(MediaType.APPLICATION_JSON)),routerHandlers::getPricingDetails);
}
}
package com.safeway.pricing.safeway.config;
import com.safeway.pricing.safeway.entity.PriceDetails;
import com.safeway.pricing.safeway.entity.StoreDetails;
import com.safeway.pricing.safeway.service.PricingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.reactive.function.server.ServerRequest;
import org.springframework.web.reactive.function.server.ServerResponse;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.time.Duration;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class RouterHandlers {
@Autowired
private PricingService pricingService;
public Mono<ServerResponse> getStoreDetails(ServerRequest serverRequest){
pricingService.getStoreDetails(serverRequest.pathVariable("storeName"));
return ServerResponse.ok().body(pricingService.getStoreDetailsMany().asFlux(),StoreDetails.class);
}
public Mono<ServerResponse> getPricingDetails(ServerRequest serverRequest){
return ServerResponse.ok().body(pricingService.getPricingDetails(),PriceDetails.class);
}
}
package com.safeway.pricing.safeway.controller; package com.safeway.pricing.safeway.controller;
import com.safeway.pricing.safeway.dto.ItemDetailsDTO;
import com.safeway.pricing.safeway.dto.SaleDetailsDTO;
import com.safeway.pricing.safeway.dto.StoreGroupDTO;
import com.safeway.pricing.safeway.entity.PriceAreaDetails; import com.safeway.pricing.safeway.entity.PriceAreaDetails;
import com.safeway.pricing.safeway.entity.PriceDetails; import com.safeway.pricing.safeway.entity.PriceDetails;
import com.safeway.pricing.safeway.entity.StoreDetails; import com.safeway.pricing.safeway.entity.StoreDetails;
import com.safeway.pricing.safeway.service.PricingService; import com.safeway.pricing.safeway.service.PricingService;
import com.safeway.pricing.safeway.util.AppUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux; import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import reactor.core.publisher.Sinks;
import rx.Observable;
import rx.Observer;
import java.util.List;
@RestController @RestController
@RequestMapping("/safeway") @RequestMapping("/safeway")
...@@ -20,19 +27,40 @@ public class PricingController { ...@@ -20,19 +27,40 @@ public class PricingController {
@Autowired @Autowired
private PricingService pricingService; private PricingService pricingService;
@GetMapping("/storedetails/{storeName}")
@GetMapping(value="/storedetails/{storeName}",produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<StoreDetails> getStoreDetails(@PathVariable String storeName){ public Flux<StoreDetails> getStoreDetails(@PathVariable String storeName){
return pricingService.getStoreDetails(storeName); pricingService.getStoreDetails(storeName);
return pricingService.getStoreDetailsMany().asFlux();
} }
@GetMapping("/pricingdetails")
@GetMapping(value="/pricingdetails")
public Flux<PriceDetails> getPricingDetails(){ public Flux<PriceDetails> getPricingDetails(){
return pricingService.getPricingDetails(); return pricingService.getPricingDetails();
} }
@GetMapping("/priceareadetails") @PostMapping(value="/addstoredetails")
public Mono<PriceAreaDetails> getPriceAreaDetails(){ public Mono<StoreDetails> addStoreDetails(@RequestBody StoreDetails storeDetails){
return pricingService.getPriceAreaDetails(); return pricingService.addStoreDetails(storeDetails);
}
@GetMapping("/allItemDetails")
public Flux<ItemDetailsDTO> allItemDetails() {
return this.pricingService.getItemDetails();
}
@GetMapping("/allStoreGroup")
public Flux<StoreGroupDTO> allStoreGroup() {
return this.pricingService.getStoreGroups();
}
@GetMapping("/allSaleDetails")
public Flux<SaleDetailsDTO> allSaleDetails() {
return this.pricingService.getSalesDetails();
} }
} }
package com.safeway.pricing.safeway.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DivisionDetailsDTO {
private String divisionId;
private String division;
private int pinCode;
private String city;
}
package com.safeway.pricing.safeway.dto;
public class ItemDetails {
}
package com.safeway.pricing.safeway.dto;
import com.safeway.pricing.safeway.entity.SaleDetails;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ItemDetailsDTO {
private String itemId;
private String department;
private String category;
private String subCategory;
private double currentPrice;
private SaleDetails saleDetails;
}
package com.safeway.pricing.safeway.dto;
import com.safeway.pricing.safeway.entity.DivisionDetails;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PriceAreaDTO {
private String priceAreaId;
private DivisionDetails divisionDetails;
private double price;
private List<String> storeGroupId;
}
package com.safeway.pricing.safeway.dto;
import com.safeway.pricing.safeway.entity.PriceArea;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PriceAreaDetailsDTO {
private List<PriceArea> priceAreas;
}
package com.safeway.pricing.safeway.dto;
import com.safeway.pricing.safeway.entity.ItemDetails;
import com.safeway.pricing.safeway.entity.SaleDetails;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PriceDetailsDTO {
private SaleDetails saleDetails;
private List<ItemDetails> itemDetailsList;
}
...@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; ...@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class SaleDetailsDto { public class SaleDetailsDTO {
private double currentVolume; private double currentVolume;
private double newVolume; private double newVolume;
private double currentSales; private double currentSales;
......
package com.safeway.pricing.safeway.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class StoreDetailsDTO {
private String storeId;
private String storeName;
private String divisionId;
}
package com.safeway.pricing.safeway.dto;
import com.safeway.pricing.safeway.entity.StoreDetails;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class StoreGroupDTO {
private String storeGroupId;
private List<StoreDetails> storeDetailsList;
}
...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document; ...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection = "Division Details") @Document(collection = "Division_Details")
public class DivisionDetails { public class DivisionDetails {
@Id @Id
private String divisionId; private String divisionId;
......
...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document; ...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection = "Item Details") @Document(collection = "Item_Details")
public class ItemDetails { public class ItemDetails {
@Id @Id
private String itemId; private String itemId;
......
...@@ -14,7 +14,7 @@ import java.util.List; ...@@ -14,7 +14,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection = "Price Area") @Document(collection = "Price_Area")
public class PriceArea { public class PriceArea {
@Id @Id
private String priceAreaId; private String priceAreaId;
......
...@@ -12,7 +12,7 @@ import java.util.List; ...@@ -12,7 +12,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection="Price Area Details") @Document(collection="PriceArea_Details")
public class PriceAreaDetails { public class PriceAreaDetails {
@Id @Id
private List<PriceArea> priceAreas; private List<PriceArea> priceAreas;
......
...@@ -12,7 +12,7 @@ import java.util.List; ...@@ -12,7 +12,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection="Price Details") @Document(collection="Price_Details")
public class PriceDetails { public class PriceDetails {
private SaleDetails saleDetails; private SaleDetails saleDetails;
private List<ItemDetails> itemDetailsList; private List<ItemDetails> itemDetailsList;
......
...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document; ...@@ -11,7 +11,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection="Sale Details") @Document(collection="Sale_Details")
public class SaleDetails { public class SaleDetails {
@Id @Id
private String id; private String id;
......
...@@ -13,7 +13,7 @@ import java.util.List; ...@@ -13,7 +13,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@Document(collection = "Store Group") @Document(collection = "Store_Group")
public class StoreGroup { public class StoreGroup {
@Id @Id
private String storeGroupId; private String storeGroupId;
......
package com.safeway.pricing.safeway.modelmapper;
import com.safeway.pricing.safeway.dto.ItemDetailsDTO;
import com.safeway.pricing.safeway.entity.ItemDetails;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class ItemDetailsModelMapper {
@Autowired
private ModelMapper modelMapper;
public ItemDetailsDTO itemDetailsDTO(ItemDetails itemDetails) {
ItemDetailsDTO itemDetailsDTO = this.modelMapper.map(itemDetails, ItemDetailsDTO.class);
return itemDetailsDTO;
}
}
package com.safeway.pricing.safeway.modelmapper;
import com.safeway.pricing.safeway.dto.ItemDetailsDTO;
import com.safeway.pricing.safeway.dto.SaleDetailsDTO;
import com.safeway.pricing.safeway.entity.ItemDetails;
import com.safeway.pricing.safeway.entity.SaleDetails;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class SaleDetailsModelMapper {
@Autowired
private ModelMapper modelMapper;
public SaleDetailsDTO saleDetailsDTO(SaleDetails saleDetails) {
SaleDetailsDTO saleDetailsDTO = this.modelMapper.map(saleDetails, SaleDetailsDTO.class);
return saleDetailsDTO;
}
}
package com.safeway.pricing.safeway.modelmapper;
import com.safeway.pricing.safeway.dto.ItemDetailsDTO;
import com.safeway.pricing.safeway.dto.StoreGroupDTO;
import com.safeway.pricing.safeway.entity.ItemDetails;
import com.safeway.pricing.safeway.entity.StoreGroup;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class StoreGroupModelMapper {
@Autowired
private ModelMapper modelMapper;
public StoreGroupDTO storeGroupDTOtoreGroup(StoreGroup storeGroup) {
StoreGroupDTO storeGroupDTOtoreGroup = this.modelMapper.map(storeGroup, StoreGroupDTO.class);
return storeGroupDTOtoreGroup;
}
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.DivisionDetails;
import com.safeway.pricing.safeway.entity.SaleDetails;
import com.safeway.pricing.safeway.entity.StoreDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@Repository
public interface DivisionDetailsRepository extends MongoRepository<DivisionDetails,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.ItemDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ItemDetailsRepository extends MongoRepository<ItemDetails,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.PriceAreaDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PriceAreaDetailsRepository extends MongoRepository<PriceAreaDetails,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.PriceArea;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PriceAreaRepository extends MongoRepository<PriceArea,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.PriceDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PriceDetailsRepository extends MongoRepository<PriceDetails,String> {
}
package com.safeway.pricing.safeway.repository;
public interface PricingRepository {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.SaleDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@Repository
public interface SaleDetailsRepository extends MongoRepository<SaleDetails,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.StoreDetails;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface StoreDetailsRepository extends MongoRepository<StoreDetails,String> {
}
package com.safeway.pricing.safeway.repository;
import com.safeway.pricing.safeway.entity.StoreGroup;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.ReactiveMongoRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface StoreGroupRepository extends MongoRepository<StoreGroup,String> {
}
package com.safeway.pricing.safeway.service; package com.safeway.pricing.safeway.service;
import com.safeway.pricing.safeway.dto.ItemDetailsDTO;
import com.safeway.pricing.safeway.dto.SaleDetailsDTO;
import com.safeway.pricing.safeway.dto.StoreGroupDTO;
import com.safeway.pricing.safeway.entity.PriceAreaDetails; import com.safeway.pricing.safeway.entity.PriceAreaDetails;
import com.safeway.pricing.safeway.entity.PriceDetails; import com.safeway.pricing.safeway.entity.PriceDetails;
import com.safeway.pricing.safeway.entity.StoreDetails; import com.safeway.pricing.safeway.entity.StoreDetails;
import com.safeway.pricing.safeway.modelmapper.ItemDetailsModelMapper;
import com.safeway.pricing.safeway.modelmapper.SaleDetailsModelMapper;
import com.safeway.pricing.safeway.modelmapper.StoreGroupModelMapper;
import com.safeway.pricing.safeway.repository.*;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux; import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import reactor.core.publisher.Sinks;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@Data
public class PricingService { public class PricingService {
private Sinks.Many<StoreDetails> storeDetailsMany=null;
@Autowired @Autowired
private PricingServiceData pricingServiceData; private PricingServiceData pricingServiceData;
public Flux<StoreDetails> getStoreDetails(String storeName) { @Autowired
private ItemDetailsRepository repository;
@Autowired
private ItemDetailsModelMapper itemDetailsModelMapper;
@Autowired
private SaleDetailsRepository saleDetailsRepository;
@Autowired
private SaleDetailsModelMapper saleDetailsModelMapper;
@Autowired
private StoreGroupRepository storeGroupRepository;
@Autowired
private StoreGroupModelMapper storeGroupModelMapper;
public void createSink(){
storeDetailsMany=Sinks.many().replay().all();
}
public void getStoreDetails(String storeName) {
List<StoreDetails> storeDetailsList=pricingServiceData.getStoreDetails(); List<StoreDetails> storeDetailsList=pricingServiceData.getStoreDetails();
List<StoreDetails> storeDetailsList1=storeDetailsList.stream().filter(storeDetails -> storeDetails.getStoreName().equals(storeName)).collect(Collectors.toList()); List<StoreDetails> storeDetailsList1=storeDetailsList.stream().filter(storeDetails -> storeDetails.getStoreName().equalsIgnoreCase(storeName)).collect(Collectors.toList());
return Flux.fromIterable(storeDetailsList1); Flux.fromIterable(storeDetailsList1).subscribe(storeDetails -> storeDetailsMany.tryEmitNext(storeDetails));
} }
public Flux<PriceDetails> getPricingDetails(){ public Flux<PriceDetails> getPricingDetails(){
...@@ -31,4 +65,21 @@ public class PricingService { ...@@ -31,4 +65,21 @@ public class PricingService {
PriceAreaDetails priceAreaDetails=pricingServiceData.getPriceAreaDetails(); PriceAreaDetails priceAreaDetails=pricingServiceData.getPriceAreaDetails();
return Mono.just(priceAreaDetails); return Mono.just(priceAreaDetails);
} }
public Mono<StoreDetails> addStoreDetails(StoreDetails storeDetails){
return pricingServiceData.addStore(storeDetails).doOnNext(storeDetails1 -> storeDetailsMany.tryEmitNext(storeDetails1));
}
public Flux<ItemDetailsDTO> getItemDetails() {
return Flux.fromIterable(this.repository.findAll())
.map(dto -> itemDetailsModelMapper.itemDetailsDTO(dto));
}
public Flux<StoreGroupDTO> getStoreGroups() {
return Flux.fromIterable(this.storeGroupRepository.findAll())
.map(dto -> storeGroupModelMapper.storeGroupDTOtoreGroup(dto));
}
public Flux<SaleDetailsDTO> getSalesDetails() {
return Flux.fromIterable(this.saleDetailsRepository.findAll()).map(dto->saleDetailsModelMapper.saleDetailsDTO(dto));
}
} }
...@@ -3,17 +3,18 @@ package com.safeway.pricing.safeway.service; ...@@ -3,17 +3,18 @@ package com.safeway.pricing.safeway.service;
import com.safeway.pricing.safeway.entity.*; import com.safeway.pricing.safeway.entity.*;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
public class PricingServiceData { public class PricingServiceData {
List<StoreDetails> storeDetailsList=new ArrayList<>();
public List<DivisionDetails> getDivisionDetails(){ public List<DivisionDetails> getDivisionDetails(){
List<DivisionDetails> list=new ArrayList<>(); List<DivisionDetails> list=new ArrayList<>();
DivisionDetails divisionDetails=DivisionDetails.builder().divisionId("Div01").division("Hyderabad").city("Madhapoor").pinCode(12).build(); DivisionDetails divisionDetails=DivisionDetails.builder().divisionId("Div01").division("Hyderabad").city("Madhapur").pinCode(12).build();
DivisionDetails divisionDetails1=DivisionDetails.builder().divisionId("Div02").division("Hyderabad").city("Kondapoor").pinCode(35).build(); DivisionDetails divisionDetails1=DivisionDetails.builder().divisionId("Div02").division("Hyderabad").city("Kondapur").pinCode(35).build();
list.add(divisionDetails); list.add(divisionDetails);
list.add(divisionDetails1); list.add(divisionDetails1);
return list; return list;
...@@ -38,18 +39,27 @@ public class PricingServiceData { ...@@ -38,18 +39,27 @@ public class PricingServiceData {
} }
public List<StoreDetails> getStoreDetails(){ public List<StoreDetails> getStoreDetails(){
List<StoreDetails> list=new ArrayList<>();
List<DivisionDetails> divisionDetailsList=getDivisionDetails(); List<DivisionDetails> divisionDetailsList=getDivisionDetails();
StoreDetails storeDetails= StoreDetails.builder().storeId("Store01").storeName("Vijetha").divisionId(divisionDetailsList.get(0).getDivisionId()).build(); StoreDetails storeDetails= StoreDetails.builder().storeId("Store01").storeName("Vijetha").divisionId(divisionDetailsList.get(0).getDivisionId()).build();
StoreDetails storeDetails1= StoreDetails.builder().storeId("Store02").storeName("RathnaDeep").divisionId(divisionDetailsList.get(0).getDivisionId()).build(); StoreDetails storeDetails1= StoreDetails.builder().storeId("Store02").storeName("RathnaDeep").divisionId(divisionDetailsList.get(0).getDivisionId()).build();
StoreDetails storeDetails4=StoreDetails.builder().storeId("Store05").storeName("Vijetha").divisionId(divisionDetailsList.get(0).getDivisionId()).build();
StoreDetails storeDetails2= StoreDetails.builder().storeId("Store03").storeName("Vijetha").divisionId(divisionDetailsList.get(1).getDivisionId()).build(); StoreDetails storeDetails2= StoreDetails.builder().storeId("Store03").storeName("Vijetha").divisionId(divisionDetailsList.get(1).getDivisionId()).build();
StoreDetails storeDetails3= StoreDetails.builder().storeId("Store04").storeName("RathnaDeep").divisionId(divisionDetailsList.get(1).getDivisionId()).build(); StoreDetails storeDetails3= StoreDetails.builder().storeId("Store04").storeName("RathnaDeep").divisionId(divisionDetailsList.get(1).getDivisionId()).build();
list.add(storeDetails); storeDetailsList.add(storeDetails);
list.add(storeDetails1); storeDetailsList.add(storeDetails1);
list.add(storeDetails2); storeDetailsList.add(storeDetails2);
list.add(storeDetails3); storeDetailsList.add(storeDetails3);
return list; storeDetailsList.add(storeDetails4);
return storeDetailsList;
}
public Mono<StoreDetails> addStore(StoreDetails storeDetails){
Boolean flag=storeDetailsList.add(storeDetails);
if(flag){
return Mono.just(storeDetails);
}
else
return null ;
} }
public List<StoreGroup> getStoreGroups(){ public List<StoreGroup> getStoreGroups(){
......
package com.safeway.pricing.safeway.util; package com.safeway.pricing.safeway.util;
import java.util.ArrayList;
import java.util.List;
public class AppUtil { public class AppUtil {
public static List<String> values = new ArrayList<>();
} }
server.port=8789
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://localhost:8789
spring.username = ${userName}
server.port=8788
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://safeway.com
#spring.active.profiles=prod
server.port=8789 server.port=8789
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
client.host=http://localhost:8789
spring.data.mongodb.database=pricingdb
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
\ No newline at end of file
spring:
data:
mongodb:
database: pricingdb
host: localhost
port: 27017
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment