diff --git a/core/src/main/java/org/apache/struts2/components/template/Template.java b/core/src/main/java/org/apache/struts2/components/template/Template.java index b6bbfdb0c..d4f39e6b5 100644 --- a/core/src/main/java/org/apache/struts2/components/template/Template.java +++ b/core/src/main/java/org/apache/struts2/components/template/Template.java @@ -89,4 +89,27 @@ public class Template implements Cloneable { protected Object clone() throws CloneNotSupportedException { return super.clone(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Template template = (Template) o; + + if (dir != null ? !dir.equals(template.dir) : template.dir != null) return false; + if (name != null ? !name.equals(template.name) : template.name != null) return false; + if (theme != null ? !theme.equals(template.theme) : template.theme != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = dir != null ? dir.hashCode() : 0; + result = 31 * result + (theme != null ? theme.hashCode() : 0); + result = 31 * result + (name != null ? name.hashCode() : 0); + return result; + } + }