Julian Leichert created OFBIZ-10060:
---------------------------------------
Summary: [FB] Package
org.apache.ofbiz.accounting.thirdparty.valuelink
Key: OFBIZ-10060
URL: https://issues.apache.org/jira/browse/OFBIZ-10060
Project: OFBiz
Issue Type: Sub-task
Affects Versions: Trunk
Reporter: Julian Leichert
Priority: Minor
ValueLinkApi.java:159, DM_DEFAULT_ENCODING
* Dm: Found reliance on default encoding in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.encryptPin(String):
String.getBytes()
Found a call to a method which will perform a byte to String (or String to
byte) conversion, and will assume that the default platform encoding is
suitable. This will cause the application behaviour to vary between platforms.
Use an alternative API and specify a charset name or Charset object explicitly.
ValueLinkApi.java:212, DM_DEFAULT_ENCODING
* Dm: Found reliance on default encoding in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.decryptPin(String):
new String(byte[])
Found a call to a method which will perform a byte to String (or String to
byte) conversion, and will assume that the default platform encoding is
suitable. This will cause the application behaviour to vary between platforms.
Use an alternative API and specify a charset name or Charset object explicitly.
ValueLinkApi.java:531, PZLA_PREFER_ZERO_LENGTH_ARRAYS
* PZLA: Should
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.generateMwk()
return a zero length array rather than null?
It is often a better design to return a length zero array rather than a null
reference to indicate that there are no results (i.e., an empty list of
results). This way, no explicit check for null is needed by clients of the
method.
On the other hand, using null to indicate "there is no answer to this question"
is probably appropriate. For example, File.listFiles() returns an empty list if
given a directory containing no files, and returns null if the file is not a
directory.
ValueLinkApi.java:566, PZLA_PREFER_ZERO_LENGTH_ARRAYS
* PZLA: Should
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.generateMwk(byte[])
return a zero length array rather than null?
It is often a better design to return a length zero array rather than a null
reference to indicate that there are no results (i.e., an empty list of
results). This way, no explicit check for null is needed by clients of the
method.
On the other hand, using null to indicate "there is no answer to this question"
is probably appropriate. For example, File.listFiles() returns an empty list if
given a directory containing no files, and returns null if the file is not a
directory.
ValueLinkApi.java:647, DC_DOUBLECHECK
* DC: Possible doublecheck on
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.mwkIndex in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.getWorkingKeyIndex()
This method may contain an instance of double-checked locking. This idiom is
not correct according to the semantics of the Java memory model. For more
information, see the web page
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html.
ValueLinkApi.java:910, DM_CONVERT_CASE
* Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.parseResponse(String)
A String is being converted to upper or lowercase, using the platform's default
encoding. This may result in improper conversions when used with international
characters. Use the
String.toUpperCase( Locale l )
String.toLowerCase( Locale l )
versions instead.
ValueLinkApi.java:967, DM_CONVERT_CASE
* Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi.parseHistoryResponse(String)
A String is being converted to upper or lowercase, using the platform's default
encoding. This may result in improper conversions when used with international
characters. Use the
String.toUpperCase( Locale l )
String.toLowerCase( Locale l )
versions instead.
ValueLinkServices.java:171, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.assignWorkingKey(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:255, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.activate(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:314, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.linkPhysicalCard(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:377, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.disablePin(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:445, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.redeem(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:515, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.reload(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:576, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.balanceInquire(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:633, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.transactionHistory(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:701, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
* RCN: Redundant nullcheck of response, which is known to be non-null in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.refund(DispatchContext,
Map)
This method contains a redundant check of a known non-null value against the
constant null.
ValueLinkServices.java:1202, RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE
* RCN: Nullcheck of activateResult at line 1202 of value previously
dereferenced in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.giftCardPurchase(DispatchContext,
Map)
A value is checked here to see whether it is null, but this value can't be null
because it was previously dereferenced and if it were null a null pointer
exception would have occurred at the earlier dereference. Essentially, this
code and the previous dereference disagree as to whether this value is allowed
to be null. Either the check is redundant or the previous dereference is
erroneous.
ValueLinkServices.java:1451, RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE
* RCN: Nullcheck of reloadResult at line 1451 of value previously dereferenced
in
org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkServices.giftCardReload(DispatchContext,
Map)
A value is checked here to see whether it is null, but this value can't be null
because it was previously dereferenced and if it were null a null pointer
exception would have occurred at the earlier dereference. Essentially, this
code and the previous dereference disagree as to whether this value is allowed
to be null. Either the check is redundant or the previous dereference is
erroneous.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)