From d7b8ba3078c33ba3c43cc7d1b38ea07c20d14bbd Mon Sep 17 00:00:00 2001 From: Lukasz756 Date: Wed, 16 Oct 2024 09:03:46 +0200 Subject: [PATCH 1/2] AD-297 Deleted SubscriptionPaymentRequestFactory classes with its uses. --- .../resources/adyenv6subscription-spring.xml | 20 ++--- ...ubscriptionAdyenPaymentServiceFactory.java | 23 ------ .../SubscriptionPaymentRequestFactory.java | 79 ------------------- ...ltSubscriptionAdyenCheckoutApiService.java | 51 ------------ .../impl/SubscriptionOrderExecutor.java | 8 +- ...SubscriptionPaymentRequestFactoryTest.java | 58 -------------- 6 files changed, 11 insertions(+), 228 deletions(-) delete mode 100644 adyenv6subscription/src/com/adyen/v6/factory/SubscriptionAdyenPaymentServiceFactory.java delete mode 100644 adyenv6subscription/src/com/adyen/v6/factory/SubscriptionPaymentRequestFactory.java delete mode 100644 adyenv6subscription/src/com/adyen/v6/service/impl/DefaultSubscriptionAdyenCheckoutApiService.java delete mode 100644 adyenv6subscription/testsrc/com/adyen/v6/factory/SubscriptionPaymentRequestFactoryTest.java diff --git a/adyenv6subscription/resources/adyenv6subscription-spring.xml b/adyenv6subscription/resources/adyenv6subscription-spring.xml index c2e5d81d..7573a92a 100644 --- a/adyenv6subscription/resources/adyenv6subscription-spring.xml +++ b/adyenv6subscription/resources/adyenv6subscription-spring.xml @@ -10,16 +10,16 @@ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> - - - - - + + + + + - - - - + + + + @@ -36,7 +36,7 @@ - + diff --git a/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionAdyenPaymentServiceFactory.java b/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionAdyenPaymentServiceFactory.java deleted file mode 100644 index 44aa1ec9..00000000 --- a/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionAdyenPaymentServiceFactory.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.adyen.v6.factory; - -import com.adyen.v6.service.AdyenCheckoutApiService; -import com.adyen.v6.service.impl.DefaultSubscriptionAdyenCheckoutApiService; -import com.adyen.v6.strategy.AdyenMerchantAccountStrategy; -import de.hybris.platform.store.BaseStoreModel; - -public class SubscriptionAdyenPaymentServiceFactory extends AdyenPaymentServiceFactory { - - public SubscriptionAdyenPaymentServiceFactory(SubscriptionPaymentRequestFactory adyenRequestFactory, AdyenMerchantAccountStrategy adyenMerchantAccountStrategy) { - super(adyenRequestFactory, adyenMerchantAccountStrategy); - } - - @Override - public AdyenCheckoutApiService createAdyenCheckoutApiService(final BaseStoreModel baseStoreModel) { - String webMerchantAccount = adyenMerchantAccountStrategy.getWebMerchantAccount(baseStoreModel); - - final DefaultSubscriptionAdyenCheckoutApiService adyenPaymentService = new DefaultSubscriptionAdyenCheckoutApiService( - baseStoreModel, webMerchantAccount); - adyenPaymentService.setAdyenRequestFactory(getAdyenRequestFactory()); - return adyenPaymentService; - } -} diff --git a/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionPaymentRequestFactory.java b/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionPaymentRequestFactory.java deleted file mode 100644 index 3acb840f..00000000 --- a/adyenv6subscription/src/com/adyen/v6/factory/SubscriptionPaymentRequestFactory.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.adyen.v6.factory; - -import com.adyen.model.checkout.CheckoutPaymentMethod; -import com.adyen.model.checkout.PaymentRequest; -import com.adyen.model.recurring.RecurringDetailsRequest; -import com.adyen.v6.enums.RecurringContractMode; -import com.adyen.v6.model.RequestInfo; -import com.adyen.v6.utils.SubscriptionsUtils; -import de.hybris.platform.commercefacades.order.CartFacade; -import de.hybris.platform.commercefacades.order.data.CartData; -import de.hybris.platform.core.model.user.CustomerModel; -import de.hybris.platform.servicelayer.config.ConfigurationService; -import org.apache.commons.lang3.BooleanUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class SubscriptionPaymentRequestFactory extends AdyenRequestFactory { - - private static final Logger LOG = LoggerFactory.getLogger(SubscriptionPaymentRequestFactory.class); - - private CartFacade cartFacade; - - public SubscriptionPaymentRequestFactory(ConfigurationService configurationService) { - super(configurationService); - } - - @Override - public PaymentRequest createPaymentsRequest(String merchantAccount, CartData cartData, CheckoutPaymentMethod checkoutPaymentMethod, RequestInfo requestInfo, - CustomerModel customerModel, RecurringContractMode recurringContractMode, - Boolean guestUserTokenizationEnabled) { - - LOG.info("Creating PaymentsRequest for merchant account: {}", merchantAccount); - - if (BooleanUtils.isTrue(cartData.getSubscriptionOrder())) { - return createRecurringPaymentsRequest(merchantAccount, cartData, requestInfo, customerModel, - recurringContractMode, guestUserTokenizationEnabled); - } - - return createRegularPaymentsRequest(merchantAccount, cartData, requestInfo, customerModel, - recurringContractMode, guestUserTokenizationEnabled); - } - - private PaymentRequest createRegularPaymentsRequest(String merchantAccount, CartData cartData, RequestInfo requestInfo, - CustomerModel customerModel, RecurringContractMode recurringContractMode, - Boolean guestUserTokenizationEnabled) { - LOG.info("Creating regular PaymentsRequest..."); - PaymentRequest paymentsRequest = super.createPaymentsRequest(merchantAccount, cartData,null, requestInfo, - customerModel, recurringContractMode, guestUserTokenizationEnabled); - paymentsRequest.setShopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH); - - PaymentRequest.RecurringProcessingModelEnum recurringProcessingModel = BooleanUtils.isTrue( - SubscriptionsUtils.containsSubscription(getCartFacade().getSessionCart())) - ? PaymentRequest.RecurringProcessingModelEnum.SUBSCRIPTION - : PaymentRequest.RecurringProcessingModelEnum.CARDONFILE; - - paymentsRequest.setRecurringProcessingModel(recurringProcessingModel); - return paymentsRequest; - } - - @Override - public RecurringDetailsRequest createListRecurringDetailsRequest(String merchantAccount, String customerId) { - if (SubscriptionsUtils.containsSubscription(getCartFacade().getSessionCart())) { - return new RecurringDetailsRequest().merchantAccount(merchantAccount).shopperReference(customerId).selectRecurringContract(); - } else { - return new RecurringDetailsRequest().merchantAccount(merchantAccount).shopperReference(customerId).selectOneClickContract(); - } - } - - - - protected CartFacade getCartFacade() { - return cartFacade; - } - - public void setCartFacade(CartFacade cartFacade) { - this.cartFacade = cartFacade; - } -} diff --git a/adyenv6subscription/src/com/adyen/v6/service/impl/DefaultSubscriptionAdyenCheckoutApiService.java b/adyenv6subscription/src/com/adyen/v6/service/impl/DefaultSubscriptionAdyenCheckoutApiService.java deleted file mode 100644 index ba9143b6..00000000 --- a/adyenv6subscription/src/com/adyen/v6/service/impl/DefaultSubscriptionAdyenCheckoutApiService.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.adyen.v6.service.impl; - -import com.adyen.model.checkout.PaymentRequest; -import com.adyen.model.checkout.PaymentResponse; -import com.adyen.service.checkout.PaymentsApi; -import com.adyen.v6.model.RequestInfo; -import com.adyen.v6.service.DefaultAdyenCheckoutApiService; -import de.hybris.platform.commercefacades.order.data.CartData; -import de.hybris.platform.core.model.user.CustomerModel; -import de.hybris.platform.store.BaseStoreModel; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import static com.adyen.v6.utils.SubscriptionsUtils.containsSubscription; -import static com.adyen.v6.utils.SubscriptionsUtils.findRecurringProcessingModel; - -public class DefaultSubscriptionAdyenCheckoutApiService extends DefaultAdyenCheckoutApiService { - - protected static final Logger LOG = LogManager.getLogger(DefaultSubscriptionAdyenCheckoutApiService.class); - - public DefaultSubscriptionAdyenCheckoutApiService(final BaseStoreModel baseStore, final String merchantAccount) { - super(baseStore, merchantAccount); - } - - @Override - public PaymentResponse authorisePayment(final CartData cartData, final RequestInfo requestInfo, final CustomerModel customerModel) throws Exception { - LOG.debug("Authorize payment"); - - PaymentsApi paymentsApi = new PaymentsApi(client); - - PaymentRequest paymentsRequest = getAdyenRequestFactory().createPaymentsRequest(merchantAccount, - cartData, - null, - requestInfo, - customerModel, - baseStore.getAdyenRecurringContractMode(), - baseStore.getAdyenGuestUserTokenization()); - - if (BooleanUtils.isTrue(containsSubscription(cartData))) { - paymentsRequest.setShopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH); - paymentsRequest.setRecurringProcessingModel(findRecurringProcessingModel(cartData)); - paymentsRequest.setEnableRecurring(Boolean.TRUE); - } - LOG.debug(paymentsRequest); - PaymentResponse paymentsResponse = paymentsApi.payments(paymentsRequest); - LOG.debug(paymentsResponse); - return paymentsResponse; - } - -} diff --git a/adyenv6subscription/src/com/adyen/v6/service/impl/SubscriptionOrderExecutor.java b/adyenv6subscription/src/com/adyen/v6/service/impl/SubscriptionOrderExecutor.java index 5287425b..c4685afa 100644 --- a/adyenv6subscription/src/com/adyen/v6/service/impl/SubscriptionOrderExecutor.java +++ b/adyenv6subscription/src/com/adyen/v6/service/impl/SubscriptionOrderExecutor.java @@ -2,7 +2,6 @@ import com.adyen.model.checkout.PaymentResponse; import com.adyen.v6.factory.AdyenPaymentServiceFactory; -import com.adyen.v6.factory.SubscriptionAdyenPaymentServiceFactory; import com.adyen.v6.model.RequestInfo; import com.adyen.v6.service.AdyenTransactionService; import de.hybris.platform.commercefacades.order.data.CartData; @@ -42,8 +41,6 @@ public class SubscriptionOrderExecutor implements ImpersonationService.Executor< private KeyGenerator keyGenerator; private final AbstractOrderModel subscriptionOrder; - private SubscriptionAdyenPaymentServiceFactory subscriptionAdyenPaymentServiceFactory; - public SubscriptionOrderExecutor(final AbstractOrderModel subscriptionOrder) { this.subscriptionOrder = subscriptionOrder; @@ -58,7 +55,7 @@ public OrderModel execute() throws Exception { try { final RequestInfo request = new RequestInfo(); - final PaymentResponse paymentResponse = subscriptionAdyenPaymentServiceFactory + final PaymentResponse paymentResponse = adyenPaymentServiceFactory .createAdyenCheckoutApiService(baseStoreService.getCurrentBaseStore()) .authorisePayment(cartConverter.convert(cart), request, (CustomerModel) cart.getUser()); @@ -159,7 +156,4 @@ public void setKeyGenerator(KeyGenerator keyGenerator) { this.keyGenerator = keyGenerator; } - public void setSubscriptionAdyenPaymentServiceFactory(SubscriptionAdyenPaymentServiceFactory subscriptionAdyenPaymentServiceFactory) { - this.subscriptionAdyenPaymentServiceFactory = subscriptionAdyenPaymentServiceFactory; - } } diff --git a/adyenv6subscription/testsrc/com/adyen/v6/factory/SubscriptionPaymentRequestFactoryTest.java b/adyenv6subscription/testsrc/com/adyen/v6/factory/SubscriptionPaymentRequestFactoryTest.java deleted file mode 100644 index 579d37a3..00000000 --- a/adyenv6subscription/testsrc/com/adyen/v6/factory/SubscriptionPaymentRequestFactoryTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.adyen.v6.factory; - -import com.adyen.model.checkout.PaymentRequest; -import com.adyen.v6.enums.RecurringContractMode; -import com.adyen.v6.model.RequestInfo; -import de.hybris.platform.commercefacades.order.CartFacade; -import de.hybris.platform.commercefacades.order.data.CartData; -import de.hybris.platform.core.model.user.CustomerModel; -import de.hybris.platform.servicelayer.config.ConfigurationService; -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class SubscriptionPaymentRequestFactoryTest { - - - @Mock - private ConfigurationService configurationService; - - @Mock - private CartFacade cartFacade; - - @InjectMocks - private SubscriptionPaymentRequestFactory subscriptionPaymentRequestFactory; - - @Before - void setUp() { - MockitoAnnotations.openMocks(this); - } - - @Test - void testCreatePaymentsRequest() { - // Mocking necessary objects and methods - String merchantAccount = "merchantAccount"; - CartData cartData = mock(CartData.class); - RequestInfo requestInfo = mock(RequestInfo.class); - CustomerModel customerModel = mock(CustomerModel.class); - RecurringContractMode recurringContractMode = mock(RecurringContractMode.class); - Boolean guestUserTokenizationEnabled = Boolean.TRUE; - - when(cartData.getSubscriptionOrder()).thenReturn(Boolean.FALSE); - - // Call the method to be tested - PaymentRequest paymentsRequest = subscriptionPaymentRequestFactory.createPaymentsRequest(merchantAccount, - cartData, requestInfo, customerModel, recurringContractMode, guestUserTokenizationEnabled); - - // Verifications and assertions - assertNotNull(paymentsRequest); - assertEquals(PaymentRequest.ShopperInteractionEnum.CONTAUTH, paymentsRequest.getShopperInteraction()); - } -} From 1a461fe84c31f7ea63a734437f1f9b22690f5b86 Mon Sep 17 00:00:00 2001 From: Lukasz756 Date: Thu, 17 Oct 2024 12:35:09 +0200 Subject: [PATCH 2/2] AD-297 Deleted unused beans and properties from xml files. --- .../resources/adyenv6subscription-spring.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/adyenv6subscription/resources/adyenv6subscription-spring.xml b/adyenv6subscription/resources/adyenv6subscription-spring.xml index 7573a92a..3e0e7dae 100644 --- a/adyenv6subscription/resources/adyenv6subscription-spring.xml +++ b/adyenv6subscription/resources/adyenv6subscription-spring.xml @@ -10,17 +10,6 @@ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> - - - - - - - - - - - @@ -36,7 +25,6 @@ -