This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 5a64c3d Improved: Fix some bugs Spotbugs reports (OFBIZ-12386)
5a64c3d is described below
commit 5a64c3d27da31a7817310743e1842a3acb75d4b0
Author: Jacques Le Roux <[email protected]>
AuthorDate: Thu Dec 9 07:22:39 2021 +0100
Improved: Fix some bugs Spotbugs reports (OFBIZ-12386)
In exclude.xml:
removes Confidence lines, no need to complicate things
Adds 2 DC_DOUBLECHECK false reports; synchronized is used there (maybe not
the
best way but it's OK as is)
In ProductConfigWrapper::equals fixes use of == instead of equals (tested)
In UspsServices::uspsPriorityMailInternationalLabel fixes 2 possible null
dereferencements
In EntityExpr::checkRhsType fixes a possible null dereferencement
---
.../apache/ofbiz/product/config/ProductConfigWrapper.java | 2 +-
.../ofbiz/shipment/thirdparty/usps/UspsServices.java | 8 ++++++--
.../java/org/apache/ofbiz/entity/condition/EntityExpr.java | 3 ++-
spotbugs/exclude.xml | 14 ++++++++++----
4 files changed, 19 insertions(+), 8 deletions(-)
diff --git
a/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
b/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
index 1832a2c..05c0c7b 100644
---
a/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
+++
b/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
@@ -1093,7 +1093,7 @@ public class ProductConfigWrapper implements Serializable
{
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ConfigOption that = (ConfigOption) o;
- return that.getId() == getId()
+ return that.getId().equals(getId())
&& that.isSelected() == isSelected()
&& Objects.equals(availabilityDate, that.availabilityDate)
&& Objects.equals(componentList, that.componentList)
diff --git
a/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServices.java
b/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServices.java
index 2005570..2bcb5b2 100644
---
a/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServices.java
+++
b/applications/product/src/main/java/org/apache/ofbiz/shipment/thirdparty/usps/UspsServices.java
@@ -1640,7 +1640,9 @@ public class UspsServices {
Debug.logInfo(e, MODULE);
}
- UtilXml.addChildElementValue(itemDetail, "Description",
product.getString("productName"), packageDocument);
+ if (product != null) {
+ UtilXml.addChildElementValue(itemDetail, "Description",
product.getString("productName"), packageDocument);
+ }
UtilXml.addChildElementValue(itemDetail, "Quantity",
shipmentPackageContent.getBigDecimal("quantity")
.setScale(0, RoundingMode.CEILING).toPlainString(),
packageDocument);
String packageContentValue =
ShipmentWorker.getShipmentPackageContentValue(shipmentPackageContent).setScale(2,
@@ -1651,7 +1653,9 @@ public class UspsServices {
UtilXml.addChildElementValue(itemDetail, "NetPounds",
productPoundsOunces[0].toString(), packageDocument);
UtilXml.addChildElementValue(itemDetail, "NetOunces",
productPoundsOunces[1].toString(), packageDocument);
UtilXml.addChildElementValue(itemDetail, "HSTariffNumber", "",
packageDocument);
- UtilXml.addChildElementValue(itemDetail, "CountryOfOrigin",
originGeo.getString("geoName"), packageDocument);
+ if (originGeo != null) {
+ UtilXml.addChildElementValue(itemDetail,
"CountryOfOrigin", originGeo.getString("geoName"), packageDocument);
+ }
}
// Send the request
diff --git
a/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
b/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
index 9e87c5b..816f018 100644
---
a/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
+++
b/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
@@ -279,7 +279,8 @@ public final class EntityExpr implements EntityCondition {
Debug.logWarning(e, MODULE);
}
try {
- if
(!ObjectType.instanceOf(ObjectType.loadClass(rhsType.getJavaType()),
type.getJavaType())) {
+ if (rhsType != null
+ &&
!ObjectType.instanceOf(ObjectType.loadClass(rhsType.getJavaType()),
type.getJavaType())) {
String msg = "Warning using [" +
value.getClass().getName() + "]"
+ " and entity field [" +
modelEntity.getEntityName() + "." + curField.getName() + "]."
+ " The Java type [" + rhsType.getJavaType() + "]
of rhsFieldName : [" + rhsFieldName + "]"
diff --git a/spotbugs/exclude.xml b/spotbugs/exclude.xml
index 532c2b2..bc8821f 100644
--- a/spotbugs/exclude.xml
+++ b/spotbugs/exclude.xml
@@ -9,19 +9,25 @@
<Class name="org.apache.ofbiz.entity.GenericEntity" />
<Method name="clone" />
<Bug pattern="CN_IDIOM_NO_SUPER_CALL" />
- <Confidence value="1" />
</Match>
<Match>
<Class name="org.apache.ofbiz.entity.GenericPK" />
<Method name="clone" />
<Bug pattern="CN_IDIOM_NO_SUPER_CALL" />
- <Confidence value="1" />
</Match>
<Match>
<Class name="org.apache.ofbiz.entity.GenericValue" />
<Method name="clone" />
<Bug pattern="CN_IDIOM_NO_SUPER_CALL" />
- <Confidence value="1" />
</Match>
-
+ <Match>
+ <Class name="org.apache.ofbiz.webapp.view.ApacheFopWorker" />
+ <Method name="getFactoryInstance" />
+ <Bug pattern="DC_DOUBLECHECK" />
+ </Match>
+ <Match>
+ <Class
name="org.apache.ofbiz.accounting.thirdparty.valuelink.ValueLinkApi" />
+ <Method name="getWorkingKeyIndex" />
+ <Bug pattern="DC_DOUBLECHECK" />
+ </Match>
</FindBugsFilter>