You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2019/01/14 14:07:35 UTC
svn commit: r1851254 -
/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
Author: mbrohl
Date: Mon Jan 14 14:07:35 2019
New Revision: 1851254
URL: http://svn.apache.org/viewvc?rev=1851254&view=rev
Log:
Fixed: Blank page is displayed on ecommerce
(OFBIZ-10741)
Fixed recursions in hashCode methods introduced wth OFBIZ-9774.
Thanks Arpit Mor for reporting, Jacques Le Roux amd Priya Sharma for
review and helpful hints.
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java?rev=1851254&r1=1851253&r2=1851254&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/config/ProductConfigWrapper.java Mon Jan 14 14:07:35 2019
@@ -531,36 +531,25 @@ public class ProductConfigWrapper implem
}
@Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof ConfigItem)) {
- return false;
- }
- ConfigItem ci = (ConfigItem)obj;
- if (!configItem.getString("configItemId").equals(ci.getConfigItem().getString("configItemId"))) {
- return false;
- }
- List<ConfigOption> opts = ci.getOptions();
- if (options.size() != opts.size()) {
- return false;
- }
- for (int i = 0; i < options.size(); i++) {
- ConfigOption co = options.get(i);
- if (!co.equals(opts.get(i))) {
- return false;
- }
- }
- return true;
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ConfigItem that = (ConfigItem) o;
+ return Objects.equals(getConfigItem(), that.getConfigItem()) &&
+ Objects.equals(getConfigItemAssoc(), that.getConfigItemAssoc()) &&
+ Objects.equals(getOptions(), that.getOptions());
}
@Override
- public String toString() {
- return configItem.getString("configItemId");
+ public int hashCode() {
+ return Objects.hash(getConfigItem(), getConfigItemAssoc(), getOptions());
}
@Override
- public int hashCode() {
- return Objects.hash(configItem, configItemAssoc, content, options, first);
+ public String toString() {
+ return configItem.getString("configItemId");
}
+
}
public class ConfigOption implements java.io.Serializable {
@@ -815,41 +804,27 @@ public class ProductConfigWrapper implem
return componentOptions;
}
-
@Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + getOuterType().hashCode();
- result = prime * result + ((componentList == null) ? 0 : componentList.hashCode());
- result = prime * result + ((componentOptions == null) ? 0 : componentOptions.hashCode());
- return result;
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ConfigOption that = (ConfigOption) o;
+ return Objects.equals(availabilityDate, that.availabilityDate) &&
+ Objects.equals(componentList, that.componentList) &&
+ Objects.equals(getComponentOptions(), that.getComponentOptions()) &&
+ Objects.equals(configOption, that.configOption);
}
-
@Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof ConfigOption)) {
- return false;
- }
- ConfigOption co = (ConfigOption)obj;
- if (componentOptions != null && !componentOptions.equals(co.getComponentOptions())) {
- return false;
- }
-
- return isSelected() == co.isSelected();
+ public int hashCode() {
+ return Objects.hash(availabilityDate, componentList, getComponentOptions(), configOption);
}
-
@Override
public String toString() {
return configOption.getString("configItemId") + "/" + configOption.getString("configOptionId") + (isSelected()? "*": "");
}
- private ProductConfigWrapper getOuterType() {
- return ProductConfigWrapper.this;
- }
-
}
}