From 2ffabd165b19692bdc1dad6b513021dd2b7d5177 Mon Sep 17 00:00:00 2001 From: sushama anilghadage Date: Wed, 25 Mar 2026 02:54:48 -0400 Subject: [PATCH 1/3] Commiting changes for upgrading sdk compatible to java 21. --- gradle.properties | 6 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../java/io/github/vantiv/sdk/TestAuth.java | 6 +- .../io/github/vantiv/sdk/TestBatchFile.java | 2 +- .../io/github/vantiv/sdk/TestCapture.java | 4 +- .../vantiv/sdk/TestCaptureGivenAuth.java | 4 +- .../java/io/github/vantiv/sdk/TestCredit.java | 4 +- .../sdk/TestDepositTransactionReversal.java | 4 +- .../github/vantiv/sdk/TestForceCapture.java | 4 +- .../io/github/vantiv/sdk/TestFraudCheck.java | 2 +- .../vantiv/sdk/TestQueryTransaction.java | 76 ------------------- .../sdk/TestRefundTransactionReversal.java | 4 +- .../java/io/github/vantiv/sdk/TestSale.java | 6 +- .../java/io/github/vantiv/sdk/TestToken.java | 2 +- .../vantiv/sdk/CnpBatchFileRequest.java | 6 +- .../vantiv/sdk/CnpBatchFileResponse.java | 2 +- .../io/github/vantiv/sdk/CnpBatchRequest.java | 8 +- .../github/vantiv/sdk/CnpBatchResponse.java | 8 +- .../java/io/github/vantiv/sdk/CnpContext.java | 4 +- .../io/github/vantiv/sdk/CnpFileResponse.java | 6 +- .../java/io/github/vantiv/sdk/CnpOnline.java | 9 ++- .../github/vantiv/sdk/CnpRFRFileRequest.java | 6 +- .../github/vantiv/sdk/CnpRFRFileResponse.java | 2 +- .../io/github/vantiv/sdk/CnpRFRResponse.java | 6 +- .../io/github/vantiv/sdk/JAXBConverters.java | 2 +- .../TlidValidationActionIndicatorType.java | 6 +- .../vantiv/sdk/TypeOfDigitalCurrencyEnum.java | 6 +- src/main/xsd/bindings.xml | 4 +- .../vantiv/sdk/TestCnpBatchFileRequest.java | 4 +- .../vantiv/sdk/TestCnpBatchRequest.java | 4 +- .../io/github/vantiv/sdk/TestCnpContext.java | 2 +- .../io/github/vantiv/sdk/TestCnpOnline.java | 6 +- .../github/vantiv/sdk/TestEnumerations.java | 6 +- 33 files changed, 75 insertions(+), 148 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6bd38e94..d0b95c01 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ -DIST_DIR_15=build/dist/java15 +DIST_DIR_21=build/dist/java21 JAR_VERSION=12.49.0 -KIT_DIR=build/kit/java15 -KIT_DEPENDENCIES_DIR=build/kit/java15/dependencies +KIT_DIR=build/kit/java21 +KIT_DEPENDENCIES_DIR=build/kit/java21/dependencies OPENSFTP_DIR=lib/opensftp-0.3.0 SCHEMA_VERSION=12.49 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fce..d30212c0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestAuth.java b/src/functionalTest/java/io/github/vantiv/sdk/TestAuth.java index 9dbd2748..a2641db4 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestAuth.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestAuth.java @@ -232,7 +232,7 @@ public void simpleAuthWithApplepayAndSecondaryAmount() throws Exception { authorization.setApplepay(applepayType); AuthorizationResponse response = cnp.authorize(authorization); - assertEquals(new Long(110),response.getApplepayResponse().getTransactionAmount()); + assertEquals(Long.valueOf(110),response.getApplepayResponse().getTransactionAmount()); assertEquals("sandbox", response.getLocation()); } @@ -705,8 +705,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestBatchFile.java b/src/functionalTest/java/io/github/vantiv/sdk/TestBatchFile.java index 27aa79f5..9b56223f 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestBatchFile.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestBatchFile.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Properties; -import javax.xml.bind.JAXBException; +import jakarta.xml.bind.JAXBException; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestCapture.java b/src/functionalTest/java/io/github/vantiv/sdk/TestCapture.java index 8364236c..e8d4f9f5 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestCapture.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestCapture.java @@ -127,8 +127,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestCaptureGivenAuth.java b/src/functionalTest/java/io/github/vantiv/sdk/TestCaptureGivenAuth.java index 67bf0cda..3e805d63 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestCaptureGivenAuth.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestCaptureGivenAuth.java @@ -429,8 +429,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestCredit.java b/src/functionalTest/java/io/github/vantiv/sdk/TestCredit.java index c932f410..b3a0bfdb 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestCredit.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestCredit.java @@ -269,8 +269,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestDepositTransactionReversal.java b/src/functionalTest/java/io/github/vantiv/sdk/TestDepositTransactionReversal.java index 9fa739f5..d32c8a5d 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestDepositTransactionReversal.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestDepositTransactionReversal.java @@ -97,8 +97,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestForceCapture.java b/src/functionalTest/java/io/github/vantiv/sdk/TestForceCapture.java index 4e03686c..55c76fbe 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestForceCapture.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestForceCapture.java @@ -143,8 +143,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestFraudCheck.java b/src/functionalTest/java/io/github/vantiv/sdk/TestFraudCheck.java index 987ce912..db2a9bd9 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestFraudCheck.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestFraudCheck.java @@ -46,7 +46,7 @@ public void testFraudCheck() throws Exception { AdvancedFraudResultsType advancedFraudResultsType = fraudCheckResponse.getAdvancedFraudResults(); assertEquals("pass", advancedFraudResultsType.getDeviceReviewStatus()); - assertEquals(new Integer(42), advancedFraudResultsType.getDeviceReputationScore()); + assertEquals(Integer.valueOf(42), advancedFraudResultsType.getDeviceReputationScore()); assertEquals(5, advancedFraudResultsType.getTriggeredRules().size()); } } diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java b/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java index 11e7696f..f00fb72a 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java @@ -111,81 +111,5 @@ public void simpleQueryTransaction_transactionNotFoundWrongActionType() throws E queryTransaction.setOrigId("orgId5"); queryTransaction.setOrigActionType(ActionTypeEnum.R); queryTransaction.setReportGroup("default"); - - TransactionTypeWithReportGroup response = cnp.queryTransaction(queryTransaction); - QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; - assertEquals("findId", queryTransactionResponse.getId()); - assertEquals("customerId", queryTransactionResponse.getCustomerId()); - assertEquals("151", queryTransactionResponse.getResponse()); - assertEquals("Original transaction not found", queryTransactionResponse.getMessage()); - assertNull(queryTransactionResponse.getResultsMax10()); - assertEquals("sandbox", queryTransactionResponse.getLocation()); - } - - @Test - public void simpleQueryTransaction_queryTransactionUnavailaleResponse() throws Exception { - QueryTransaction queryTransaction = new QueryTransaction(); - queryTransaction.setId("findId"); - queryTransaction.setCustomerId("customerId"); - queryTransaction.setOrigId("orgId"); - queryTransaction.setOrigActionType(ActionTypeEnum.A); - queryTransaction.setReportGroup("default"); - - TransactionTypeWithReportGroup response = cnp.queryTransaction(queryTransaction); - QueryTransactionUnavailableResponse queryTransactionResponse = (QueryTransactionUnavailableResponse) response; - assertEquals("findId", queryTransactionResponse.getId()); - assertEquals("customerId", queryTransactionResponse.getCustomerId()); - assertEquals("152", queryTransactionResponse.getResponse()); - assertEquals("Original transaction found but response not yet available", queryTransactionResponse.getMessage()); - assertEquals("sandbox", queryTransactionResponse.getLocation()); - } - @Test - public void transactionFoundInSecondarySiteAndPrimarySiteUnavailable() throws Exception { - QueryTransaction queryTransaction = new QueryTransaction(); - queryTransaction.setId("findId"); - queryTransaction.setCustomerId("customerId"); - queryTransaction.setOrigId("orgId1"); - queryTransaction.setOrigActionType(ActionTypeEnum.A); - queryTransaction.setReportGroup("default"); - - TransactionTypeWithReportGroup response = new CnpOnline(getCnpProperty("https://payments.east.vantivprelive.com/vap/communicator/online1", "https://www.testvantivcnp.com/sandbox/communicator/online")).queryTransaction(queryTransaction); - QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; - assertEquals("findId", queryTransactionResponse.getId()); - assertEquals("customerId", queryTransactionResponse.getCustomerId()); - //assertEquals("150", queryTransactionResponse.getResponse()); - assertEquals("Original transaction found", queryTransactionResponse.getMessage()); - assertEquals(1, queryTransactionResponse.getResultsMax10().getTransactionResponses().size()); - assertEquals("sandbox", queryTransactionResponse.getLocation()); - } - @Test - public void queryTransaction_notFoundinBothSites() throws Exception { - queryTransaction = new QueryTransaction(); - queryTransaction.setId("findId"); - queryTransaction.setCustomerId("customerId"); - queryTransaction.setOrigId("orgId5"); - queryTransaction.setOrigActionType(ActionTypeEnum.R); - queryTransaction.setReportGroup("default"); - CommManager.reset(); - TransactionTypeWithReportGroup response = new CnpOnline(getCnpProperty("https://www.testvantivcnp.com/sandbox/communicator/online", "https://www.testvantivcnp.com/sandbox/communicator/online")).queryTransaction(queryTransaction); - QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; - assertEquals("Original transaction not found", queryTransactionResponse.getMessage()); - assertEquals("151", queryTransactionResponse.getResponse()); - } - - Properties getCnpProperty(String url1, String url2) { - Properties cnpProperty = new Properties(); - cnpProperty.setProperty("username", "SDKTEAM12"); - cnpProperty.setProperty("password", "V2b9F4k7"); - cnpProperty.setProperty("merchantId", "1288791"); - cnpProperty.setProperty("reportGroup", "Default Report Group"); - cnpProperty.setProperty("printxml", "true"); - cnpProperty.setProperty("proxyHost", "usproxy.dlb.corp.vantiv.com"); - cnpProperty.setProperty("proxyPort", "8080"); - cnpProperty.setProperty("multiSiteUrl1", url1); - cnpProperty.setProperty("multiSiteUrl2", url2); - cnpProperty.setProperty("oltpEncryptionPayload", "true"); - cnpProperty.setProperty("oltpEncryptionKeySequence", "10000"); - cnpProperty.setProperty("oltpEncryptionKeyPath", "/home/buildvwr/pgpKeyOltp/cnpOltpEncryptionKey.asc"); - return cnpProperty; } } \ No newline at end of file diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestRefundTransactionReversal.java b/src/functionalTest/java/io/github/vantiv/sdk/TestRefundTransactionReversal.java index 012dcc46..0d3aee08 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestRefundTransactionReversal.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestRefundTransactionReversal.java @@ -97,8 +97,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestSale.java b/src/functionalTest/java/io/github/vantiv/sdk/TestSale.java index 7307f643..6e5e1bd3 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestSale.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestSale.java @@ -134,7 +134,7 @@ public void simpleSaleWithApplepayAndSecondaryAmount() throws Exception{ sale.setId("id"); SaleResponse response = cnp.sale(sale); assertEquals("Insufficient Funds", response.getMessage()); - assertEquals(new Long(110),response.getApplepayResponse().getTransactionAmount()); + assertEquals(Long.valueOf(110),response.getApplepayResponse().getTransactionAmount()); assertEquals("sandbox", response.getLocation()); } @@ -574,8 +574,8 @@ private PassengerTransportData passengerTransportData(){ passengerTransportData.setCreditReasonIndicator(CreditReasonIndicatorEnum.C); passengerTransportData.setTicketChangeIndicator(TicketChangeIndicatorEnum.C); passengerTransportData.setTicketIssuerAddress("IssuerAddress"); - passengerTransportData.setExchangeAmount(new Long(110)); - passengerTransportData.setExchangeFeeAmount(new Long(112)); + passengerTransportData.setExchangeAmount(Long.valueOf(110)); + passengerTransportData.setExchangeFeeAmount(Long.valueOf(112)); passengerTransportData.setExchangeTicketNumber("ExchangeNumber"); passengerTransportData.getTripLegDatas().add(addTripLegData()); return passengerTransportData; diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestToken.java b/src/functionalTest/java/io/github/vantiv/sdk/TestToken.java index 188438e8..cdaece47 100755 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestToken.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestToken.java @@ -91,7 +91,7 @@ public void simpleTokenWithApplepay() throws Exception{ token.setId("id"); RegisterTokenResponse response = cnp.registerToken(token); assertEquals("Account number was successfully registered", response.getMessage()); - assertEquals(new Long(0),response.getApplepayResponse().getTransactionAmount()); + assertEquals(Long.valueOf(0),response.getApplepayResponse().getTransactionAmount()); assertEquals("sandbox", response.getLocation()); } diff --git a/src/main/java/io/github/vantiv/sdk/CnpBatchFileRequest.java b/src/main/java/io/github/vantiv/sdk/CnpBatchFileRequest.java index 3d02fed0..7f641b50 100755 --- a/src/main/java/io/github/vantiv/sdk/CnpBatchFileRequest.java +++ b/src/main/java/io/github/vantiv/sdk/CnpBatchFileRequest.java @@ -6,9 +6,9 @@ import java.util.List; import java.util.Properties; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; import io.github.vantiv.sdk.generate.Authentication; import io.github.vantiv.sdk.generate.CnpRequest; diff --git a/src/main/java/io/github/vantiv/sdk/CnpBatchFileResponse.java b/src/main/java/io/github/vantiv/sdk/CnpBatchFileResponse.java index f2d2a50e..642dd971 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpBatchFileResponse.java +++ b/src/main/java/io/github/vantiv/sdk/CnpBatchFileResponse.java @@ -2,7 +2,7 @@ import java.io.File; -import javax.xml.bind.JAXBException; +import jakarta.xml.bind.JAXBException; public class CnpBatchFileResponse extends CnpFileResponse{ diff --git a/src/main/java/io/github/vantiv/sdk/CnpBatchRequest.java b/src/main/java/io/github/vantiv/sdk/CnpBatchRequest.java index c550baca..d7a78019 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpBatchRequest.java +++ b/src/main/java/io/github/vantiv/sdk/CnpBatchRequest.java @@ -7,10 +7,10 @@ import java.text.SimpleDateFormat; import java.util.Properties; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; import io.github.vantiv.sdk.generate.*; import org.bouncycastle.openpgp.PGPException; diff --git a/src/main/java/io/github/vantiv/sdk/CnpBatchResponse.java b/src/main/java/io/github/vantiv/sdk/CnpBatchResponse.java index 58da07ea..91a66fd3 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpBatchResponse.java +++ b/src/main/java/io/github/vantiv/sdk/CnpBatchResponse.java @@ -4,10 +4,10 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import io.github.vantiv.sdk.generate.BatchResponse; import io.github.vantiv.sdk.generate.CnpTransactionInterface; diff --git a/src/main/java/io/github/vantiv/sdk/CnpContext.java b/src/main/java/io/github/vantiv/sdk/CnpContext.java index 75f7855c..b3c384f1 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpContext.java +++ b/src/main/java/io/github/vantiv/sdk/CnpContext.java @@ -1,7 +1,7 @@ package io.github.vantiv.sdk; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; import io.github.vantiv.sdk.generate.ObjectFactory; diff --git a/src/main/java/io/github/vantiv/sdk/CnpFileResponse.java b/src/main/java/io/github/vantiv/sdk/CnpFileResponse.java index 6d231634..26d1d425 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpFileResponse.java +++ b/src/main/java/io/github/vantiv/sdk/CnpFileResponse.java @@ -4,9 +4,9 @@ import java.io.IOException; import java.io.StringReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import io.github.vantiv.sdk.generate.CnpResponse; diff --git a/src/main/java/io/github/vantiv/sdk/CnpOnline.java b/src/main/java/io/github/vantiv/sdk/CnpOnline.java index 597bbe87..96d25a38 100755 --- a/src/main/java/io/github/vantiv/sdk/CnpOnline.java +++ b/src/main/java/io/github/vantiv/sdk/CnpOnline.java @@ -10,11 +10,12 @@ import java.nio.file.Paths; import java.util.Properties; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import javax.xml.XMLConstants; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; diff --git a/src/main/java/io/github/vantiv/sdk/CnpRFRFileRequest.java b/src/main/java/io/github/vantiv/sdk/CnpRFRFileRequest.java index 3ab8d577..a874f218 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpRFRFileRequest.java +++ b/src/main/java/io/github/vantiv/sdk/CnpRFRFileRequest.java @@ -10,9 +10,9 @@ import java.math.BigInteger; import java.util.Properties; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; import io.github.vantiv.sdk.generate.Authentication; import io.github.vantiv.sdk.generate.CnpRequest; diff --git a/src/main/java/io/github/vantiv/sdk/CnpRFRFileResponse.java b/src/main/java/io/github/vantiv/sdk/CnpRFRFileResponse.java index 8279bc16..1b039264 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpRFRFileResponse.java +++ b/src/main/java/io/github/vantiv/sdk/CnpRFRFileResponse.java @@ -2,7 +2,7 @@ import java.io.File; -import javax.xml.bind.JAXBException; +import jakarta.xml.bind.JAXBException; /** * Container class holding the RFR response diff --git a/src/main/java/io/github/vantiv/sdk/CnpRFRResponse.java b/src/main/java/io/github/vantiv/sdk/CnpRFRResponse.java index c2c8acd6..7100da95 100644 --- a/src/main/java/io/github/vantiv/sdk/CnpRFRResponse.java +++ b/src/main/java/io/github/vantiv/sdk/CnpRFRResponse.java @@ -2,9 +2,9 @@ import java.io.StringReader; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import io.github.vantiv.sdk.generate.RFRResponse; diff --git a/src/main/java/io/github/vantiv/sdk/JAXBConverters.java b/src/main/java/io/github/vantiv/sdk/JAXBConverters.java index e7970054..1da8952a 100644 --- a/src/main/java/io/github/vantiv/sdk/JAXBConverters.java +++ b/src/main/java/io/github/vantiv/sdk/JAXBConverters.java @@ -8,7 +8,7 @@ public static Calendar parseDate(String value){ if(value == null){ return null; } - return (javax.xml.bind.DatatypeConverter.parseDate(value)); + return (jakarta.xml.bind.DatatypeConverter.parseDate(value)); } public static String printDate(Calendar value){ diff --git a/src/main/java/io/github/vantiv/sdk/TlidValidationActionIndicatorType.java b/src/main/java/io/github/vantiv/sdk/TlidValidationActionIndicatorType.java index 8cdf7b34..88e0f4fa 100644 --- a/src/main/java/io/github/vantiv/sdk/TlidValidationActionIndicatorType.java +++ b/src/main/java/io/github/vantiv/sdk/TlidValidationActionIndicatorType.java @@ -1,8 +1,8 @@ package io.github.vantiv.sdk; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlType; @XmlType(name = "tlidValidationActionIndicatorType") @XmlEnum(Integer.class) diff --git a/src/main/java/io/github/vantiv/sdk/TypeOfDigitalCurrencyEnum.java b/src/main/java/io/github/vantiv/sdk/TypeOfDigitalCurrencyEnum.java index 5ac7cb6e..263345ef 100644 --- a/src/main/java/io/github/vantiv/sdk/TypeOfDigitalCurrencyEnum.java +++ b/src/main/java/io/github/vantiv/sdk/TypeOfDigitalCurrencyEnum.java @@ -1,8 +1,8 @@ package io.github.vantiv.sdk; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlType; +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlEnumValue; +import jakarta.xml.bind.annotation.XmlType; // This class is deprecated we are going to delete this class in upcoming version. @XmlType(name = "typeOfDigitalCurrencyEnum") @XmlEnum diff --git a/src/main/xsd/bindings.xml b/src/main/xsd/bindings.xml index 59cbfae7..01732797 100755 --- a/src/main/xsd/bindings.xml +++ b/src/main/xsd/bindings.xml @@ -1,6 +1,6 @@ - diff --git a/src/test/java/io/github/vantiv/sdk/TestCnpBatchFileRequest.java b/src/test/java/io/github/vantiv/sdk/TestCnpBatchFileRequest.java index f31e9396..3d124162 100644 --- a/src/test/java/io/github/vantiv/sdk/TestCnpBatchFileRequest.java +++ b/src/test/java/io/github/vantiv/sdk/TestCnpBatchFileRequest.java @@ -7,8 +7,8 @@ import java.io.FileNotFoundException; import java.util.Properties; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; import org.junit.Before; import org.junit.Test; diff --git a/src/test/java/io/github/vantiv/sdk/TestCnpBatchRequest.java b/src/test/java/io/github/vantiv/sdk/TestCnpBatchRequest.java index 38b26ced..2b0eb8ec 100644 --- a/src/test/java/io/github/vantiv/sdk/TestCnpBatchRequest.java +++ b/src/test/java/io/github/vantiv/sdk/TestCnpBatchRequest.java @@ -7,8 +7,8 @@ import java.math.BigInteger; import java.util.Properties; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; import io.github.vantiv.sdk.generate.*; import org.junit.Before; diff --git a/src/test/java/io/github/vantiv/sdk/TestCnpContext.java b/src/test/java/io/github/vantiv/sdk/TestCnpContext.java index e4ef203a..595231f9 100644 --- a/src/test/java/io/github/vantiv/sdk/TestCnpContext.java +++ b/src/test/java/io/github/vantiv/sdk/TestCnpContext.java @@ -2,7 +2,7 @@ import static org.junit.Assert.assertSame; -import javax.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBContext; import io.github.vantiv.sdk.generate.ObjectFactory; import org.junit.Test; diff --git a/src/test/java/io/github/vantiv/sdk/TestCnpOnline.java b/src/test/java/io/github/vantiv/sdk/TestCnpOnline.java index d94f23d8..bd64d6ec 100755 --- a/src/test/java/io/github/vantiv/sdk/TestCnpOnline.java +++ b/src/test/java/io/github/vantiv/sdk/TestCnpOnline.java @@ -6,7 +6,7 @@ import org.junit.Test; import org.mockito.Mock; -import javax.xml.bind.JAXBElement; +import jakarta.xml.bind.JAXBElement; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; @@ -104,7 +104,7 @@ public void testAuthWithApplepayAndSecondaryAmountAndWallet() throws Exception { AuthorizationResponse authorize = cnp.authorize(authorization); assertEquals(123L, authorize.getCnpTxnId()); assertEquals("123455", authorize.getApplepayResponse().getApplicationPrimaryAccountNumber()); - assertEquals(new Long(106), authorize.getApplepayResponse().getTransactionAmount()); + assertEquals(Long.valueOf(106), authorize.getApplepayResponse().getTransactionAmount()); assertEquals("sandbox", authorize.getLocation()); } @@ -2764,7 +2764,7 @@ public void testFraudCheck() throws Exception { FraudCheckResponse fraudCheckResponse = cnp.fraudCheck(fraudCheck); AdvancedFraudResultsType advancedFraudResultsType = fraudCheckResponse.getAdvancedFraudResults(); assertEquals("pass", advancedFraudResultsType.getDeviceReviewStatus()); - assertEquals(new Integer(42), advancedFraudResultsType.getDeviceReputationScore()); + assertEquals(Integer.valueOf(42), advancedFraudResultsType.getDeviceReputationScore()); assertEquals(5, advancedFraudResultsType.getTriggeredRules().size()); assertEquals("sandbox", fraudCheckResponse.getLocation()); } diff --git a/src/test/java/io/github/vantiv/sdk/TestEnumerations.java b/src/test/java/io/github/vantiv/sdk/TestEnumerations.java index d91caae1..b8762c07 100644 --- a/src/test/java/io/github/vantiv/sdk/TestEnumerations.java +++ b/src/test/java/io/github/vantiv/sdk/TestEnumerations.java @@ -4,8 +4,10 @@ import java.io.StringWriter; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import io.github.vantiv.sdk.generate.*; import org.junit.Test; From be0751280bad287089bf20a83916046f30e38dba Mon Sep 17 00:00:00 2001 From: sushama anilghadage Date: Wed, 25 Mar 2026 03:07:37 -0400 Subject: [PATCH 2/3] Commiting build.gradle related changes for upgrading sdk compatible to java 21. --- build.gradle | 147 ++++++++++++++++++++++------------- samples/auth/build.gradle | 14 ++-- samples/batch/build.gradle | 2 +- samples/capture/build.gradle | 8 +- samples/credit/build.gradle | 2 +- samples/echeck/build.gradle | 8 +- samples/other/build.gradle | 14 ++-- samples/paypage/build.gradle | 2 +- samples/sale/build.gradle | 2 +- samples/token/build.gradle | 4 +- 10 files changed, 119 insertions(+), 84 deletions(-) diff --git a/build.gradle b/build.gradle index 5c21fcde..ce4e1c6a 100755 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,22 @@ apply plugin : 'maven-publish' group = 'io.github.vantiv' version = JAR_VERSION +ext.xjcGeneratedDir = "$buildDir/generated/sources/xjc/main/java" + +// ---- Java 21 toolchain & bytecode target (root + all subprojects) ---- +allprojects { + plugins.withId('java') { + java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + } + } +} + + repositories { maven { url "http://repo1.maven.org/maven2" @@ -14,23 +30,17 @@ repositories { } configurations { - all{ + all { resolutionStrategy { } } - functionalTestImplementation.extendsFrom testImplementation - functionalTestRuntimeOnly.extendsFrom runtimeOnly - - certificationTestImplementation.extendsFrom functionalTestImplementation - certificationTestRuntimeOnly.extendsFrom functionalTestRuntimeOnly - generateJAXB.extendsFrom mainRuntime } sourceSets { main{ java{ - srcDirs += "$buildDir/generated" + srcDirs += xjcGeneratedDir } } functionalTest { @@ -47,25 +57,47 @@ sourceSets { } } -dependencies{ + +configurations.named('functionalTestImplementation') { + extendsFrom(configurations.testImplementation) +} + +configurations.named('functionalTestRuntimeOnly') { + extendsFrom(configurations.runtimeOnly) +} + +configurations.named('certificationTestImplementation') { + extendsFrom(configurations.functionalTestImplementation) +} + +configurations.named('certificationTestRuntimeOnly') { + extendsFrom(configurations.functionalTestRuntimeOnly) +} + + +dependencies { + implementation group: 'com.jcraft', name: 'jsch', version: '0.1.55' - implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0' - implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.4' - implementation group: 'commons-io', name: 'commons-io', version: '2.18.0' - implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' - implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.2.1' - implementation group: 'org.bouncycastle', name: 'bcpg-jdk18on', version: '1.78.1' - implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15to18', version: '1.78' - - testImplementation group: 'junit', name: 'junit', version: '4.13.2' - testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.11.0' - testImplementation 'org.slf4j:slf4j-nop:1.7.36' - - generateJAXB group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: '2.3.5' + implementation group: 'commons-io',name: 'commons-io',version: '2.18.0' + implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.4.3' + implementation group: 'org.bouncycastle',name: 'bcpg-jdk18on',version: '1.80' + implementation group: 'org.bouncycastle',name: 'bcprov-jdk18on', version: '1.80' + implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.2 ' + implementation 'org.glassfish.jaxb:jaxb-runtime:4.0.6' + + + testImplementation group: 'junit',name: 'junit', version: '4.13.2' + testImplementation group: 'org.mockito',name: 'mockito-core',version: '5.17.0' + testImplementation 'org.slf4j:slf4j-nop:2.0.17' + + + // JAXB XJC code generator (Jakarta JAXB 4.x) + generateJAXB group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '4.0.5' + generateJAXB group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '4.0.6' + } -////////// PLUGIN CONFIGURATION ////////// -//sourceCompatibility=1.7 +////////// PLUGIN CONFIGURATION ////////// clean { // temporary, we need to change the tests to generate output inside build folder @@ -80,20 +112,29 @@ jar{ manifest { attributes("Implementation-Title":"Cnp SDK For Java 1.5 and greater", "Implementation-Version":"${JAR_VERSION}","Implementation-Vendor":"Cnp&Co","Main-Class":"io.github.vantiv.sdk.Setup") } - getDestinationDirectory().set(file("${DIST_DIR_15}/lib")) + // Produce a self-contained distributable jar for file-based consumers. + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } + exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA' + + getDestinationDirectory().set(file("${DIST_DIR_21}/lib")) getArchiveFileName().set("cnp-sdk-for-java-${JAR_VERSION}.jar") } task javadocJar(type:Jar){ dependsOn javadoc getArchiveClassifier().set('javadoc') - getDestinationDirectory().set(file("$buildDir/kit/java15/doc")) + getDestinationDirectory().set(file("$buildDir/kit/java21/doc")) from tasks.javadoc } test { - reports.junitXml.destination(file("$buildDir/test-results/unit")) - reports.html.destination(file("$buildDir/reports/tests/unit")) + reports { + junitXml.outputLocation = file("$buildDir/test-results/unit") + html.outputLocation = file("$buildDir/reports/tests/unit") + } } ////////// CUSTOM TASKS /////////// @@ -111,8 +152,8 @@ task processXsd (type: Copy) { } doLast { - ant.replaceregexp(file:"$xsdOutput/cnpTransaction_v${SCHEMA_VERSION}.xsd", match:"(attributeFormDefault=\"unqualified\")>", replace:"\\1 xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\" jaxb:version=\"2.0\">", byline:true) - ant.replaceregexp(file:"$xsdOutput/cnpCommon_v${SCHEMA_VERSION}.xsd", match:"(elementFormDefault=\"qualified\")>", replace:"\\1 xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\" jaxb:version=\"2.0\">", byline:true) + ant.replaceregexp(file:"$xsdOutput/cnpTransaction_v${SCHEMA_VERSION}.xsd", match:"(attributeFormDefault=\"unqualified\")>", replace:"\\1 xmlns:jaxb=\"https://jakarta.ee/xml/ns/jaxb\" jaxb:version=\"3.0\">", byline:true) + ant.replaceregexp(file:"$xsdOutput/cnpCommon_v${SCHEMA_VERSION}.xsd", match:"(elementFormDefault=\"qualified\")>", replace:"\\1 xmlns:jaxb=\"https://jakarta.ee/xml/ns/jaxb\" jaxb:version=\"3.0\">", byline:true) ant.replaceregexp(file:"$xsdOutput/cnpTransaction_v${SCHEMA_VERSION}.xsd", match:"", replace:" ", byline:true) ant.replaceregexp(file:"$xsdOutput/cnpTransaction_v${SCHEMA_VERSION}.xsd", match:"", replace:" ", byline:true) ant.replaceregexp(file:"$xsdOutput/cnpTransaction_v${SCHEMA_VERSION}.xsd", match:"", replace:" ", byline:true) @@ -179,7 +220,7 @@ task generateJaxbClasses(dependsOn: processXsd) { eclipseClasspath.dependsOn it ext.bindingsFile = "src/main/xsd/bindings.xml" - ext.generatedDir = "${buildDir}/generated" + ext.generatedDir = xjcGeneratedDir inputs.dir processXsd.xsdOutput inputs.file bindingsFile @@ -202,8 +243,10 @@ task testFunctional(type:Test, dependsOn: functionalTestClasses){ classpath = sourceSets.functionalTest.runtimeClasspath mustRunAfter test testClassesDirs = sourceSets.functionalTest.output.classesDirs - reports.junitXml.destination(file("$buildDir/test-results/functional")) - reports.html.destination(file("$buildDir/reports/tests/functional")) + reports { + junitXml.outputLocation = file("$buildDir/test-results/functional") + html.outputLocation = file("$buildDir/reports/tests/functional") + } } task testCertification(type:Test, dependsOn: certificationTestClasses){ @@ -211,34 +254,26 @@ task testCertification(type:Test, dependsOn: certificationTestClasses){ classpath = sourceSets.certificationTest.runtimeClasspath mustRunAfter testFunctional testClassesDirs = sourceSets.certificationTest.output.classesDirs - reports.junitXml.destination(file("$buildDir/test-results/certification")) - reports.html.destination(file("$buildDir/reports/tests/certification")) + reports { + junitXml.outputLocation = file("$buildDir/test-results/certification") + html.outputLocation = file("$buildDir/reports/tests/certification") + } } task copyJarToKit(type:Copy, dependsOn:[check,jar]){ - from "${DIST_DIR_15}/lib/cnp-sdk-for-java-${JAR_VERSION}.jar" + from "${DIST_DIR_21}/lib/cnp-sdk-for-java-${JAR_VERSION}.jar" from "LICENSE" into KIT_DIR } task copyLibsToKit(type:Copy, dependsOn:check){ - from configurations.runtimeClasspath.asFileTree.matching{ - include '**/activation*' - include '**/jaxb-api*' - include '**/jaxb-impl*' - include '**/jsr173*' - include '**/commons-logging-1.1.1*' - include '**/commons-codec*' - include '**/fluent-hc*' - include '**/httpclient*' - include '**/httpcore*' - include '**/httpmime*' - include '**/jsch*' - include '**/commons-io*' - include '**/bcpg-jdk18on*' - include '**/bcprov-ext-jdk15to18*' - } - + // Copy ALL resolved runtime jars (direct + transitive) so consumers using + // the kit never need to add dependencies manually. + // Covers: jsch, commons-io, httpclient5, httpcore5, httpcore5-h2, slf4j-api, + // bcpg-jdk18on, bcprov-jdk18on, jakarta.xml.bind-api, jaxb-runtime, + // jaxb-core, txw2, istack-commons-runtime, angus-activation, + // jakarta.activation-api — and any future transitive additions. + from configurations.runtimeClasspath into KIT_DEPENDENCIES_DIR } @@ -246,17 +281,17 @@ task tarKit(type:Tar, dependsOn:[copyJarToKit, copyLibsToKit]){ compression = Compression.GZIP getDestinationDirectory().set(file("$buildDir/kit")) getArchiveFileName().set("cnp-sdk-for-java-${JAR_VERSION}.tar.gz") - from "$buildDir/kit/java15" + from "$buildDir/kit/java21" } task zipKit(type:Zip, dependsOn:[copyJarToKit, copyLibsToKit]){ getDestinationDirectory().set(file("$buildDir/kit")) getArchiveFileName().set("cnp-sdk-for-java-${JAR_VERSION}.zip") - from "$buildDir/kit/java15" + from "$buildDir/kit/java21" } task kit(dependsOn:[tarKit, zipKit]){ -if (JavaVersion.current().isJava8Compatible()) { +if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_21)) { allprojects { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') diff --git a/samples/auth/build.gradle b/samples/auth/build.gradle index 3872a2f0..24c6d32a 100755 --- a/samples/auth/build.gradle +++ b/samples/auth/build.gradle @@ -10,39 +10,39 @@ repositories { } task execAuthExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.AuthExample' + mainClass = 'io.github.vantiv.sdk.samples.AuthExample' classpath = sourceSets.main.runtimeClasspath } task execAuthReversalExample(type:JavaExec) { check.dependsOn it - main='io.github.vantiv.sdk.samples.AuthReversalExample' + mainClass = 'io.github.vantiv.sdk.samples.AuthReversalExample' classpath = sourceSets.main.runtimeClasspath } task execAuthWithTokenExample(type:JavaExec) { check.dependsOn it - main='io.github.vantiv.sdk.samples.AuthWithTokenExample' + mainClass = 'io.github.vantiv.sdk.samples.AuthWithTokenExample' classpath = sourceSets.main.runtimeClasspath } task execFullLifeCycleExample(type:JavaExec) { check.dependsOn it - main='io.github.vantiv.sdk.samples.FullLifeCycleExample' + mainClass = 'io.github.vantiv.sdk.samples.FullLifeCycleExample' classpath = sourceSets.main.runtimeClasspath } task execSampleDetailTax(type:JavaExec) { check.dependsOn it - main='io.github.vantiv.sdk.samples.SampleDetailTax' + mainClass = 'io.github.vantiv.sdk.samples.SampleDetailTax' classpath = sourceSets.main.runtimeClasspath } task execAuthExampleInterac(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.AuthExampleInterac' + mainClass = 'io.github.vantiv.sdk.samples.AuthExampleInterac' classpath = sourceSets.main.runtimeClasspath } task execAuthExampleInterac1(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.AuthExampleInterac1' + mainClass = 'io.github.vantiv.sdk.samples.AuthExampleInterac1' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/batch/build.gradle b/samples/batch/build.gradle index 716d8492..88d9480c 100755 --- a/samples/batch/build.gradle +++ b/samples/batch/build.gradle @@ -10,7 +10,7 @@ repositories { } task execSamples(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.MechaBatch' + mainClass = 'io.github.vantiv.sdk.samples.MechaBatch' classpath = sourceSets.main.runtimeClasspath diff --git a/samples/capture/build.gradle b/samples/capture/build.gradle index cc6d3581..9c4c842b 100755 --- a/samples/capture/build.gradle +++ b/samples/capture/build.gradle @@ -10,23 +10,23 @@ repositories { } task execCaptureExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.CaptureExample' + mainClass = 'io.github.vantiv.sdk.samples.CaptureExample' classpath = sourceSets.main.runtimeClasspath } task execCaptureGivenAuthExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.CaptureGivenAuthExample' + mainClass = 'io.github.vantiv.sdk.samples.CaptureGivenAuthExample' classpath = sourceSets.main.runtimeClasspath } task execCapturePartialExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.CapturePartialExample' + mainClass = 'io.github.vantiv.sdk.samples.CapturePartialExample' classpath = sourceSets.main.runtimeClasspath } task execForceCaptureExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.ForceCaptureExample' + mainClass = 'io.github.vantiv.sdk.samples.ForceCaptureExample' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/credit/build.gradle b/samples/credit/build.gradle index 2556d8cd..2c3f2454 100755 --- a/samples/credit/build.gradle +++ b/samples/credit/build.gradle @@ -10,7 +10,7 @@ repositories { } task execCreditExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.CreditExample' + mainClass = 'io.github.vantiv.sdk.samples.CreditExample' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/echeck/build.gradle b/samples/echeck/build.gradle index 7aca1a51..41401d25 100755 --- a/samples/echeck/build.gradle +++ b/samples/echeck/build.gradle @@ -10,23 +10,23 @@ repositories { } task execEcheckCreditExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.EcheckCreditExample' + mainClass = 'io.github.vantiv.sdk.samples.EcheckCreditExample' classpath = sourceSets.main.runtimeClasspath } task execEcheckRedepositExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.EcheckRedepositExample' + mainClass = 'io.github.vantiv.sdk.samples.EcheckRedepositExample' classpath = sourceSets.main.runtimeClasspath } task execEcheckSaleExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.EcheckSaleExample' + mainClass = 'io.github.vantiv.sdk.samples.EcheckSaleExample' classpath = sourceSets.main.runtimeClasspath } task execEcheckVerificationExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.EcheckVerificationExample' + mainClass = 'io.github.vantiv.sdk.samples.EcheckVerificationExample' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/other/build.gradle b/samples/other/build.gradle index 7e961b12..94c1ee7a 100755 --- a/samples/other/build.gradle +++ b/samples/other/build.gradle @@ -10,38 +10,38 @@ repositories { } task execMultiCurrencyExample2(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.MultiCurrencyExample2' + mainClass = 'io.github.vantiv.sdk.samples.MultiCurrencyExample2' classpath = sourceSets.main.runtimeClasspath } task execAvsOnlyExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.AvsOnlyExample' + mainClass = 'io.github.vantiv.sdk.samples.AvsOnlyExample' classpath = sourceSets.main.runtimeClasspath } task execMultiCurrencyExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.MultiCurrencyExample' + mainClass = 'io.github.vantiv.sdk.samples.MultiCurrencyExample' classpath = sourceSets.main.runtimeClasspath } task execMultiCurrencyMultiReportGroupSale(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.MultiCurrencyMultiReportGroupSale' + mainClass = 'io.github.vantiv.sdk.samples.MultiCurrencyMultiReportGroupSale' classpath = sourceSets.main.runtimeClasspath } task execOrphanedRefundExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.OrphanedRefundExample' + mainClass = 'io.github.vantiv.sdk.samples.OrphanedRefundExample' classpath = sourceSets.main.runtimeClasspath } task execVoidExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.VoidExample' + mainClass = 'io.github.vantiv.sdk.samples.VoidExample' classpath = sourceSets.main.runtimeClasspath } task execRfrExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.RfrCnpExample' + mainClass = 'io.github.vantiv.sdk.samples.RfrCnpExample' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/paypage/build.gradle b/samples/paypage/build.gradle index c029d642..0203a7c6 100755 --- a/samples/paypage/build.gradle +++ b/samples/paypage/build.gradle @@ -10,7 +10,7 @@ repositories { } task execPaypageRegistrationIdToTokenExample (type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.PaypageRegistrationIdToTokenExample' + mainClass = 'io.github.vantiv.sdk.samples.PaypageRegistrationIdToTokenExample' classpath = sourceSets.main.runtimeClasspath } diff --git a/samples/sale/build.gradle b/samples/sale/build.gradle index 8c3ece6b..edc59f83 100755 --- a/samples/sale/build.gradle +++ b/samples/sale/build.gradle @@ -10,7 +10,7 @@ repositories { } task execSaleExample(type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.SaleExample' + mainClass = 'io.github.vantiv.sdk.samples.SaleExample' classpath = sourceSets.main.runtimeClasspath diff --git a/samples/token/build.gradle b/samples/token/build.gradle index 919db730..b8392976 100755 --- a/samples/token/build.gradle +++ b/samples/token/build.gradle @@ -10,12 +10,12 @@ repositories { } task execRegisterTokenExample (type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.RegisterTokenExample' + mainClass = 'io.github.vantiv.sdk.samples.RegisterTokenExample' classpath = sourceSets.main.runtimeClasspath } task execSaleWithTokenExample (type:JavaExec){ check.dependsOn it - main='io.github.vantiv.sdk.samples.SaleWithTokenExample' + mainClass = 'io.github.vantiv.sdk.samples.SaleWithTokenExample' classpath = sourceSets.main.runtimeClasspath } From fbcc4fc561d0e91e60c15de1563d33307edbd7f9 Mon Sep 17 00:00:00 2001 From: sushama anilghadage Date: Thu, 9 Apr 2026 03:13:55 -0400 Subject: [PATCH 3/3] commiting changes for source compatibility to java17 --- build.gradle | 20 +++-- .../vantiv/sdk/TestQueryTransaction.java | 77 +++++++++++++++++++ 2 files changed, 91 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index ce4e1c6a..789acc0b 100755 --- a/build.gradle +++ b/build.gradle @@ -9,15 +9,20 @@ version = JAR_VERSION ext.xjcGeneratedDir = "$buildDir/generated/sources/xjc/main/java" -// ---- Java 21 toolchain & bytecode target (root + all subprojects) ---- +// ---- Java toolchain + Java 17 baseline bytecode (runs on 17 through 21) ---- allprojects { plugins.withId('java') { java { toolchain { languageVersion = JavaLanguageVersion.of(21) } - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + // Use the Java 17 API surface to keep artifacts compatible with Java 17+ runtimes. + tasks.withType(JavaCompile).configureEach { + options.release = 17 } } } @@ -82,17 +87,20 @@ dependencies { implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.4.3' implementation group: 'org.bouncycastle',name: 'bcpg-jdk18on',version: '1.80' implementation group: 'org.bouncycastle',name: 'bcprov-jdk18on', version: '1.80' - implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.2 ' + api 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.5' implementation 'org.glassfish.jaxb:jaxb-runtime:4.0.6' - + implementation 'org.slf4j:slf4j-simple:2.0.17' + testImplementation 'org.slf4j:slf4j-nop:2.0.17' testImplementation group: 'junit',name: 'junit', version: '4.13.2' testImplementation group: 'org.mockito',name: 'mockito-core',version: '5.17.0' - testImplementation 'org.slf4j:slf4j-nop:2.0.17' + + // JAXB XJC code generator (Jakarta JAXB 4.x) generateJAXB group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '4.0.5' + generateJAXB group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.5' generateJAXB group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '4.0.6' } diff --git a/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java b/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java index f00fb72a..88735eb6 100644 --- a/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java +++ b/src/functionalTest/java/io/github/vantiv/sdk/TestQueryTransaction.java @@ -111,5 +111,82 @@ public void simpleQueryTransaction_transactionNotFoundWrongActionType() throws E queryTransaction.setOrigId("orgId5"); queryTransaction.setOrigActionType(ActionTypeEnum.R); queryTransaction.setReportGroup("default"); + + TransactionTypeWithReportGroup response = cnp.queryTransaction(queryTransaction); + QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; + assertEquals("findId", queryTransactionResponse.getId()); + assertEquals("customerId", queryTransactionResponse.getCustomerId()); + assertEquals("151", queryTransactionResponse.getResponse()); + assertEquals("Original transaction not found", queryTransactionResponse.getMessage()); + assertNull(queryTransactionResponse.getResultsMax10()); + assertEquals("sandbox", queryTransactionResponse.getLocation()); + } + + @Test + public void simpleQueryTransaction_queryTransactionUnavailaleResponse() throws Exception { + QueryTransaction queryTransaction = new QueryTransaction(); + queryTransaction.setId("findId"); + queryTransaction.setCustomerId("customerId"); + queryTransaction.setOrigId("orgId"); + queryTransaction.setOrigActionType(ActionTypeEnum.A); + queryTransaction.setReportGroup("default"); + + TransactionTypeWithReportGroup response = cnp.queryTransaction(queryTransaction); + QueryTransactionUnavailableResponse queryTransactionResponse = (QueryTransactionUnavailableResponse) response; + assertEquals("findId", queryTransactionResponse.getId()); + assertEquals("customerId", queryTransactionResponse.getCustomerId()); + assertEquals("152", queryTransactionResponse.getResponse()); + assertEquals("Original transaction found but response not yet available", queryTransactionResponse.getMessage()); + assertEquals("sandbox", queryTransactionResponse.getLocation()); } + @Test + public void transactionFoundInSecondarySiteAndPrimarySiteUnavailable() throws Exception { + QueryTransaction queryTransaction = new QueryTransaction(); + queryTransaction.setId("findId"); + queryTransaction.setCustomerId("customerId"); + queryTransaction.setOrigId("orgId1"); + queryTransaction.setOrigActionType(ActionTypeEnum.A); + queryTransaction.setReportGroup("default"); + + TransactionTypeWithReportGroup response = new CnpOnline(getCnpProperty("https://payments.east.vantivprelive.com/vap/communicator/online1", "https://www.testvantivcnp.com/sandbox/communicator/online")).queryTransaction(queryTransaction); + QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; + assertEquals("findId", queryTransactionResponse.getId()); + assertEquals("customerId", queryTransactionResponse.getCustomerId()); + //assertEquals("150", queryTransactionResponse.getResponse()); + assertEquals("Original transaction found", queryTransactionResponse.getMessage()); + assertEquals(1, queryTransactionResponse.getResultsMax10().getTransactionResponses().size()); + assertEquals("sandbox", queryTransactionResponse.getLocation()); + } + @Test + public void queryTransaction_notFoundinBothSites() throws Exception { + queryTransaction = new QueryTransaction(); + queryTransaction.setId("findId"); + queryTransaction.setCustomerId("customerId"); + queryTransaction.setOrigId("orgId5"); + queryTransaction.setOrigActionType(ActionTypeEnum.R); + queryTransaction.setReportGroup("default"); + CommManager.reset(); + TransactionTypeWithReportGroup response = new CnpOnline(getCnpProperty("https://www.testvantivcnp.com/sandbox/communicator/online", "https://www.testvantivcnp.com/sandbox/communicator/online")).queryTransaction(queryTransaction); + QueryTransactionResponse queryTransactionResponse = (QueryTransactionResponse) response; + assertEquals("Original transaction not found", queryTransactionResponse.getMessage()); + assertEquals("151", queryTransactionResponse.getResponse()); + } + + Properties getCnpProperty(String url1, String url2) { + Properties cnpProperty = new Properties(); + cnpProperty.setProperty("username", "SDKTEAM12"); + cnpProperty.setProperty("password", "V2b9F4k7"); + cnpProperty.setProperty("merchantId", "1288791"); + cnpProperty.setProperty("reportGroup", "Default Report Group"); + cnpProperty.setProperty("printxml", "true"); + cnpProperty.setProperty("proxyHost", "usproxy.dlb.corp.vantiv.com"); + cnpProperty.setProperty("proxyPort", "8080"); + cnpProperty.setProperty("multiSiteUrl1", url1); + cnpProperty.setProperty("multiSiteUrl2", url2); + cnpProperty.setProperty("oltpEncryptionPayload", "true"); + cnpProperty.setProperty("oltpEncryptionKeySequence", "10000"); + cnpProperty.setProperty("oltpEncryptionKeyPath", "/home/buildvwr/pgpKeyOltp/cnpOltpEncryptionKey.asc"); + return cnpProperty; + } + } \ No newline at end of file