Author: mbrohl
Date: Sat Oct 7 10:57:14 2017
New Revision: 1811407
URL: http://svn.apache.org/viewvc?rev=1811407&view=rev
Log:
Improved: Fixing defects reported by FindBugs, package
org.apache.ofbiz.accounting.thirdparty.clearcommerce.
(OFBIZ-9454)
Thanks Kyra Pritzel-Hentley for reporting and providing the patch.
Modified:
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java
Modified:
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java?rev=1811407&r1=1811406&r2=1811407&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java
Sat Oct 7 10:57:14 2017
@@ -75,7 +75,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(authResponseDoc) > 4) { // 5 and higher,
process error from HSBC
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("authResult", new Boolean(false));
+ result.put("authResult", Boolean.FALSE);
result.put("processAmount", BigDecimal.ZERO);
result.put("authRefNum", getReferenceNum(authResponseDoc));
List<String> messages = getMessageList(authResponseDoc);
@@ -106,7 +106,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(creditResponseDoc) > 4) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("creditResult", new Boolean(false));
+ result.put("creditResult", Boolean.FALSE);
result.put("creditAmount", BigDecimal.ZERO);
result.put("creditRefNum", getReferenceNum(creditResponseDoc));
List<String> messages = getMessageList(creditResponseDoc);
@@ -141,7 +141,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(captureResponseDoc) > 4) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("captureResult", new Boolean(false));
+ result.put("captureResult", Boolean.FALSE);
result.put("captureAmount", BigDecimal.ZERO);
result.put("captureRefNum", getReferenceNum(captureResponseDoc));
List<String> messages = getMessageList(captureResponseDoc);
@@ -175,7 +175,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(releaseResponseDoc) > 4) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("releaseResult", new Boolean(false));
+ result.put("releaseResult", Boolean.FALSE);
result.put("releaseAmount", BigDecimal.ZERO);
result.put("releaseRefNum", getReferenceNum(releaseResponseDoc));
List<String> messages = getMessageList(releaseResponseDoc);
@@ -198,7 +198,7 @@ public class CCPaymentServices {
}
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("releaseResult", Boolean.valueOf(true));
+ result.put("releaseResult", Boolean.TRUE);
result.put("releaseCode", authTransaction.getString("gatewayCode"));
result.put("releaseAmount", authTransaction.getBigDecimal("amount"));
result.put("releaseRefNum", authTransaction.getString("referenceNum"));
@@ -232,7 +232,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(refundResponseDoc) > 4) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("refundResult", new Boolean(false));
+ result.put("refundResult", Boolean.FALSE);
result.put("refundAmount", BigDecimal.ZERO);
result.put("refundRefNum", getReferenceNum(refundResponseDoc));
List<String> messages = getMessageList(refundResponseDoc);
@@ -267,7 +267,7 @@ public class CCPaymentServices {
if (getMessageListMaxSev(reauthResponseDoc) > 4) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("reauthResult", new Boolean(false));
+ result.put("reauthResult", Boolean.FALSE);
result.put("reauthAmount", BigDecimal.ZERO);
result.put("reauthRefNum", getReferenceNum(reauthResponseDoc));
List<String> messages = getMessageList(reauthResponseDoc);
@@ -389,7 +389,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("authResult", Boolean.valueOf(true));
+ result.put("authResult", Boolean.TRUE);
result.put("authCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -397,7 +397,7 @@ public class CCPaymentServices {
String authAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("processAmount", new
BigDecimal(authAmountStr).movePointLeft(2));
} else {
- result.put("authResult", Boolean.valueOf(false));
+ result.put("authResult", Boolean.FALSE);
result.put("processAmount", BigDecimal.ZERO);
}
@@ -435,7 +435,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("creditResult", Boolean.valueOf(true));
+ result.put("creditResult", Boolean.TRUE);
result.put("creditCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -443,7 +443,7 @@ public class CCPaymentServices {
String creditAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("creditAmount", new
BigDecimal(creditAmountStr).movePointLeft(2));
} else {
- result.put("creditResult", Boolean.valueOf(false));
+ result.put("creditResult", Boolean.FALSE);
result.put("creditAmount", BigDecimal.ZERO);
}
@@ -469,7 +469,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("captureResult", Boolean.valueOf(true));
+ result.put("captureResult", Boolean.TRUE);
result.put("captureCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -477,7 +477,7 @@ public class CCPaymentServices {
String captureAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("captureAmount", new
BigDecimal(captureAmountStr).movePointLeft(2));
} else {
- result.put("captureResult", Boolean.valueOf(false));
+ result.put("captureResult", Boolean.FALSE);
result.put("captureAmount", BigDecimal.ZERO);
}
@@ -503,7 +503,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("releaseResult", Boolean.valueOf(true));
+ result.put("releaseResult", Boolean.TRUE);
result.put("releaseCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -511,7 +511,7 @@ public class CCPaymentServices {
String releaseAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("releaseAmount", new
BigDecimal(releaseAmountStr).movePointLeft(2));
} else {
- result.put("releaseResult", Boolean.valueOf(false));
+ result.put("releaseResult", Boolean.FALSE);
result.put("releaseAmount", BigDecimal.ZERO);
}
@@ -537,7 +537,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("refundResult", Boolean.valueOf(true));
+ result.put("refundResult", Boolean.TRUE);
result.put("refundCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -545,7 +545,7 @@ public class CCPaymentServices {
String refundAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("refundAmount", new
BigDecimal(refundAmountStr).movePointLeft(2));
} else {
- result.put("refundResult", Boolean.valueOf(false));
+ result.put("refundResult", Boolean.FALSE);
result.put("refundAmount", BigDecimal.ZERO);
}
@@ -571,7 +571,7 @@ public class CCPaymentServices {
String errorCode = UtilXml.childElementValue(procResponseElement,
"CcErrCode");
if ("1".equals(errorCode)) {
- result.put("reauthResult", Boolean.valueOf(true));
+ result.put("reauthResult", Boolean.TRUE);
result.put("reauthCode",
UtilXml.childElementValue(transactionElement, "AuthCode"));
Element currentTotalsElement =
UtilXml.firstChildElement(transactionElement, "CurrentTotals");
@@ -579,7 +579,7 @@ public class CCPaymentServices {
String reauthAmountStr = UtilXml.childElementValue(totalsElement,
"Total");
result.put("reauthAmount", new
BigDecimal(reauthAmountStr).movePointLeft(2));
} else {
- result.put("reauthResult", Boolean.valueOf(false));
+ result.put("reauthResult", Boolean.FALSE);
result.put("reauthAmount", BigDecimal.ZERO);
}
@@ -752,6 +752,7 @@ public class CCPaymentServices {
private static void appendPaymentMechNode(Element element, GenericValue
creditCard, String cardSecurityCode, String localeCode) {
+ final int securityCodeLength = 4;
Document document = element.getOwnerDocument();
Element paymentMechElement = UtilXml.addChildElement(element,
"PaymentMech", document);
@@ -766,13 +767,13 @@ public class CCPaymentServices {
expiresElement.setAttribute("Locale", localeCode);
if (UtilValidate.isNotEmpty(cardSecurityCode)) {
- // Cvv2Val must be exactly 4 characters
- if (cardSecurityCode.length() < 4) {
- while (cardSecurityCode.length() < 4) {
- cardSecurityCode = cardSecurityCode + " ";
- }
- } else if (cardSecurityCode.length() > 4) {
- cardSecurityCode = cardSecurityCode.substring(0, 4);
+ // Cvv2Val must be exactly securityCodeLength characters
+ if (cardSecurityCode.length() < securityCodeLength) {
+ // space padding on right side of cardSecurityCode
+ cardSecurityCode = String.format("%-" + securityCodeLength +
"s", cardSecurityCode);
+
+ } else if (cardSecurityCode.length() > securityCodeLength) {
+ cardSecurityCode = cardSecurityCode.substring(0,
securityCodeLength);
}
UtilXml.addChildElementValue(creditCardElement, "Cvv2Val",
cardSecurityCode, document);
UtilXml.addChildElementValue(creditCardElement, "Cvv2Indicator",
"1", document);
@@ -898,7 +899,7 @@ public class CCPaymentServices {
} catch (TransformerException e) {
throw new ClearCommerceException("Error serializing
requestDocument: " + e.getMessage());
}
-
+
String xmlString = os.toString();
if (Debug.verboseOn()) {
Modified:
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java?rev=1811407&r1=1811406&r2=1811407&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/clearcommerce/CCServicesTest.java
Sat Oct 7 10:57:14 2017
@@ -97,9 +97,10 @@ public class CCServicesTest extends OFBi
String responseMessage = (String)
result.get(ModelService.RESPONSE_MESSAGE);
Debug.logInfo("[testCCAuth] responseMessage: " + responseMessage,
module);
TestCase.assertEquals("Service result is success",
ModelService.RESPOND_SUCCESS, responseMessage);
+ TestCase.assertNotNull("Service returned null for parameter
authResult.", result.get("authResult"));
- if (((Boolean) result.get("authResult")).equals(new
Boolean(false))) { // returnCode ok?
- Debug.logInfo("[testAuth] Error Messages from ClearCommerce: "
+ result.get("internalRespMsgs"), module);
+ if ((Boolean.TRUE).equals((Boolean) result.get("authResult"))) {
// returnCode ok?
+ Debug.logInfo("[testAuth] Error Messages from ClearCommerce:"
+ result.get("internalRespMsgs"), module);
TestCase.fail("Returned messages:" +
result.get("internalRespMsgs"));
}
@@ -127,8 +128,9 @@ public class CCServicesTest extends OFBi
String responseMessage = (String)
result.get(ModelService.RESPONSE_MESSAGE);
Debug.logInfo("[testCCCredit] responseMessage: " +
responseMessage, module);
TestCase.assertEquals("Service result is success",
ModelService.RESPOND_SUCCESS, responseMessage);
+ TestCase.assertNotNull("Service returned null for parameter
creditResult.", result.get("creditResult"));
- if (((Boolean) result.get("creditResult")).equals(new
Boolean(false))) { // returnCode ok?
+ if ((Boolean.FALSE).equals((Boolean) result.get("creditResult")))
{ // returnCode ok?
Debug.logInfo("[testCCCredit] Error Messages from
ClearCommerce: " + result.get("internalRespMsgs"), module);
TestCase.fail("Returned messages:" +
result.get("internalRespMsgs"));
}
@@ -159,7 +161,9 @@ public class CCServicesTest extends OFBi
String responseMessage = (String)
result.get(ModelService.RESPONSE_MESSAGE);
Debug.logInfo("[testPurchaseDescription] responseMessage: " +
responseMessage, module);
TestCase.assertEquals("Service result is success",
ModelService.RESPOND_SUCCESS, responseMessage); // service completed ok?
- if (((Boolean) result.get("creditResult")).equals(new
Boolean(false))) { // returnCode ok?
+ TestCase.assertNotNull("Service returned null for parameter
creditResult.", result.get("creditResult"));
+
+ if ((Boolean.FALSE).equals((Boolean) result.get("creditResult")))
{ // returnCode ok?
Debug.logInfo("[testPurchaseSubscription] Error Messages from
ClearCommerce: " + result.get("internalRespMsgs"), module);
TestCase.fail("Returned messages:" +
result.get("internalRespMsgs"));
}
@@ -206,7 +210,9 @@ cancelled. If the order is to be resumed
String responseMessage = (String)
result.get(ModelService.RESPONSE_MESSAGE);
Debug.logInfo("[testPurchaseDescription] responseMessage: " +
responseMessage, module);
TestCase.assertEquals("Reporting service",
ModelService.RESPOND_SUCCESS, responseMessage); // service completed ok?
- if (((Boolean) result.get("creditResult")).equals(new
Boolean(false))) { // returnCode ok?
+ TestCase.assertNotNull("Service returned null for parameter
creditResult.", result.get("creditResult"));
+
+ if ((Boolean.FALSE).equals((Boolean) result.get("creditResult")))
{ // returnCode ok?
Debug.logInfo("[testReport] Error Messages from ClearCommerce:
" + result.get("internalRespMsgs"), module);
TestCase.fail("Returned messages:" +
result.get("internalRespMsgs"));
}