Author: markt
Date: Mon Jan  2 20:18:01 2012
New Revision: 1226539

URL: http://svn.apache.org/viewvc?rev=1226539&view=rev
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52405
Servlet 3.0 Rev A updates
Item 12 of 20
Identical resources in fragments are retained

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEjb.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEnvironment.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextHandler.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextLocalEjb.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResource.java
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceEnvRef.java
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceLink.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestination.java
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestinationRef.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ResourceBase.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan  2 20:18:01 2012
@@ -1 +1 @@
-/tomcat/trunk:1156115,1156171,1156276,1156304,1156519,1156530,1156602,1157015,1157018,1157151,1157198,1157204,1157810,1157832,1157834,1157847,1157908,1157939,1158155,1158160,1158176,1158195,1158198-1158199,1158227,1158331,1158334-1158335,1158426,1160347,1160592,1160611,1160619,1160626,1160639,1160652,1160720-1160721,1160772,1160774,1160776,1161303,1161310,1161322,1161339,1161486,1161540,1161549,1161584,1162082,1162149,1162169,1162721,1162769,1162836,1162932,1163630,1164419,1164438,1164469,1164480,1164567,1165234,1165247-1165248,1165253,1165273,1165282,1165309,1165331,1165338,1165347,1165360-1165361,1165367-1165368,1165602,1165608,1165677,1165693,1165721,1165723,1165728,1165730,1165738,1165746,1165765,1165777,1165918,1165921,1166077,1166150-1166151,1166290,1166366,1166620,1166686,1166693,1166752,1166757,1167368,1167394,1169447,1170647,1171692,1172233-1172234,1172236,1172269,1172278,1172282,1172556,1172610,1172664,1172689,1172711,1173020-1173021,1173082,1173088,1173090,1173096
 
,1173241,1173256,1173288,1173333,1173342,1173461,1173614,1173630,1173659,1173722,1174061,1174239,1174322,1174325,1174329-1174330,1174337-1174339,1174343,1174353,1174799,1174882,1174884,1174975,1174983,1175155,1175158,1175167,1175182,1175190,1175201,1175272,1175275,1175283,1175582,1175589-1175590,1175594,1175602,1175613,1175633,1175690,1175713,1175798,1175889,1175896,1175907,1176584,1176590,1176799,1177050,1177060,1177125,1177152,1177160,1177245,1177850,1177862,1177978,1178209,1178228,1178233,1178449,1178542,1178681,1178684,1178721,1179268,1179274,1180261,1180865,1180891,1180894,1180907,1181028,1181123,1181125,1181136,1181291,1181743,1182796,1183078,1183105,1183142,1183328,1183339-1183340,1183492-1183494,1183605,1184917,1184919,1185018,1185020,1185200,1185588,1185626,1185756,1185758,1186011,1186042-1186045,1186104,1186123,1186137,1186153,1186254,1186257,1186377-1186379,1186479-1186480,1186712,1186743,1186750,1186763,1186890-1186892,1186894,1186949,1187018,1187027-1187028,1187
 
381,1187753,1187755,1187775,1187801,1187806,1187809,1187827,1188301,1188303-1188305,1188399,1188822,1188930-1188931,1189116,1189129,1189183,1189240,1189256,1189386,1189413-1189414,1189477,1189685,1189805,1189857,1189864,1189882,1190034,1190185,1190279,1190339,1190371,1190388-1190389,1190474,1190481,1194915,1195222-1195223,1195531,1195899,1195905,1195943,1195949,1195953,1195955,1195965,1195968,1196175,1196212,1196223,1196304-1196305,1196735,1196825,1196827,1197158,1197261,1197263,1197299-1197300,1197305,1197339-1197340,1197343,1197382,1197386-1197387,1197480,1197578,1198497,1198528,1198552,1198602,1198604,1198607,1198622,1198640,1198696,1198707,1199418,1199432,1199436,1199513,1199529,1199980,1199996,1200056,1200089,1200106-1200107,1200263,1200316,1200320,1200398-1200399,1200445-1200446,1200555,1200627,1200696,1200725,1200937,1200941,1201069,1201087,1201180,1201235-1201237,1201508,1201521,1201542,1201545-1201546,1201548,1201555-1201556,1201568,1201576,1201608,1201921-1201922,1
 
201931,1202035,1202039,1202271,1202565,1202578,1202705,1202828,1202860,1203047-1203052,1203078,1203091,1203253,1203278,1204182,1204856,1204867,1204936,1204938,1204982,1205033,1205065,1205082,1205097,1205112,1206200,1207692,1208046,1208073,1208096,1208114,1208145,1208772,1209194,1209277-1209278,1209686-1209731,1210894,1212091,1212095,1212099,1212118,1213469,1213906,1214853,1214855,1214864,1215115,1215118-1215119,1215121,1220293,1220295,1221038,1221842,1222189,1222201,1222276,1222300,1222690,1222850,1222852,1222855,1224607,1224617,1224648-1224652,1224657,1224662-1224663,1224682,1224801,1224910,1225000,1225219,1225343,1225465,1225627,1225629,1225634,1226069,1226158-1226159,1226177,1226196,1226214-1226215,1226385,1226394,1226500
+/tomcat/trunk:1156115,1156171,1156276,1156304,1156519,1156530,1156602,1157015,1157018,1157151,1157198,1157204,1157810,1157832,1157834,1157847,1157908,1157939,1158155,1158160,1158176,1158195,1158198-1158199,1158227,1158331,1158334-1158335,1158426,1160347,1160592,1160611,1160619,1160626,1160639,1160652,1160720-1160721,1160772,1160774,1160776,1161303,1161310,1161322,1161339,1161486,1161540,1161549,1161584,1162082,1162149,1162169,1162721,1162769,1162836,1162932,1163630,1164419,1164438,1164469,1164480,1164567,1165234,1165247-1165248,1165253,1165273,1165282,1165309,1165331,1165338,1165347,1165360-1165361,1165367-1165368,1165602,1165608,1165677,1165693,1165721,1165723,1165728,1165730,1165738,1165746,1165765,1165777,1165918,1165921,1166077,1166150-1166151,1166290,1166366,1166620,1166686,1166693,1166752,1166757,1167368,1167394,1169447,1170647,1171692,1172233-1172234,1172236,1172269,1172278,1172282,1172556,1172610,1172664,1172689,1172711,1173020-1173021,1173082,1173088,1173090,1173096
 
,1173241,1173256,1173288,1173333,1173342,1173461,1173614,1173630,1173659,1173722,1174061,1174239,1174322,1174325,1174329-1174330,1174337-1174339,1174343,1174353,1174799,1174882,1174884,1174975,1174983,1175155,1175158,1175167,1175182,1175190,1175201,1175272,1175275,1175283,1175582,1175589-1175590,1175594,1175602,1175613,1175633,1175690,1175713,1175798,1175889,1175896,1175907,1176584,1176590,1176799,1177050,1177060,1177125,1177152,1177160,1177245,1177850,1177862,1177978,1178209,1178228,1178233,1178449,1178542,1178681,1178684,1178721,1179268,1179274,1180261,1180865,1180891,1180894,1180907,1181028,1181123,1181125,1181136,1181291,1181743,1182796,1183078,1183105,1183142,1183328,1183339-1183340,1183492-1183494,1183605,1184917,1184919,1185018,1185020,1185200,1185588,1185626,1185756,1185758,1186011,1186042-1186045,1186104,1186123,1186137,1186153,1186254,1186257,1186377-1186379,1186479-1186480,1186712,1186743,1186750,1186763,1186890-1186892,1186894,1186949,1187018,1187027-1187028,1187
 
381,1187753,1187755,1187775,1187801,1187806,1187809,1187827,1188301,1188303-1188305,1188399,1188822,1188930-1188931,1189116,1189129,1189183,1189240,1189256,1189386,1189413-1189414,1189477,1189685,1189805,1189857,1189864,1189882,1190034,1190185,1190279,1190339,1190371,1190388-1190389,1190474,1190481,1194915,1195222-1195223,1195531,1195899,1195905,1195943,1195949,1195953,1195955,1195965,1195968,1196175,1196212,1196223,1196304-1196305,1196735,1196825,1196827,1197158,1197261,1197263,1197299-1197300,1197305,1197339-1197340,1197343,1197382,1197386-1197387,1197480,1197578,1198497,1198528,1198552,1198602,1198604,1198607,1198622,1198640,1198696,1198707,1199418,1199432,1199436,1199513,1199529,1199980,1199996,1200056,1200089,1200106-1200107,1200263,1200316,1200320,1200398-1200399,1200445-1200446,1200555,1200627,1200696,1200725,1200937,1200941,1201069,1201087,1201180,1201235-1201237,1201508,1201521,1201542,1201545-1201546,1201548,1201555-1201556,1201568,1201576,1201608,1201921-1201922,1
 
201931,1202035,1202039,1202271,1202565,1202578,1202705,1202828,1202860,1203047-1203052,1203078,1203091,1203253,1203278,1204182,1204856,1204867,1204936,1204938,1204982,1205033,1205065,1205082,1205097,1205112,1206200,1207692,1208046,1208073,1208096,1208114,1208145,1208772,1209194,1209277-1209278,1209686-1209731,1210894,1212091,1212095,1212099,1212118,1213469,1213906,1214853,1214855,1214864,1215115,1215118-1215119,1215121,1220293,1220295,1221038,1221842,1222189,1222201,1222276,1222300,1222690,1222850,1222852,1222855,1224607,1224617,1224648-1224652,1224657,1224662-1224663,1224682,1224801,1224910,1225000,1225219,1225343,1225465,1225627,1225629,1225634,1226069,1226158-1226159,1226177,1226196,1226214-1226215,1226385,1226394,1226500,1226537-1226538

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEjb.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEjb.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEjb.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEjb.java Mon 
Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -28,7 +26,6 @@ package org.apache.catalina.deploy;
  * @author Peter Rossbach (p...@apache.org)
  * @version $Id$
  */
-
 public class ContextEjb extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -116,4 +113,50 @@ public class ContextEjb extends Resource
     }
 
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + ((home == null) ? 0 : home.hashCode());
+        result = prime * result + ((link == null) ? 0 : link.hashCode());
+        result = prime * result + ((remote == null) ? 0 : remote.hashCode());
+        return result;
+    }
+
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextEjb other = (ContextEjb) obj;
+        if (home == null) {
+            if (other.home != null) {
+                return false;
+            }
+        } else if (!home.equals(other.home)) {
+            return false;
+        }
+        if (link == null) {
+            if (other.link != null) {
+                return false;
+            }
+        } else if (!link.equals(other.link)) {
+            return false;
+        }
+        if (remote == null) {
+            if (other.remote != null) {
+                return false;
+            }
+        } else if (!remote.equals(other.remote)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEnvironment.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEnvironment.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEnvironment.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextEnvironment.java 
Mon Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -26,7 +24,6 @@ package org.apache.catalina.deploy;
  * @author Craig R. McClanahan
  * @version $Id$
  */
-
 public class ContextEnvironment extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -94,4 +91,39 @@ public class ContextEnvironment extends 
 
     }
 
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + (override ? 1231 : 1237);
+        result = prime * result + ((value == null) ? 0 : value.hashCode());
+        return result;
+    }
+
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextEnvironment other = (ContextEnvironment) obj;
+        if (override != other.override) {
+            return false;
+        }
+        if (value == null) {
+            if (other.value != null) {
+                return false;
+            }
+        } else if (!value.equals(other.value)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextHandler.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextHandler.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextHandler.java 
Mon Jan  2 20:18:01 2012
@@ -148,8 +148,65 @@ public class ContextHandler extends Reso
         }
         sb.append("]");
         return (sb.toString());
+    }
+
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result +
+                ((handlerclass == null) ? 0 : handlerclass.hashCode());
+        result = prime * result +
+                ((portNames == null) ? 0 : portNames.hashCode());
+        result = prime * result +
+                ((soapHeaders == null) ? 0 : soapHeaders.hashCode());
+        result = prime * result +
+                ((soapRoles == null) ? 0 : soapRoles.hashCode());
+        return result;
     }
 
 
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextHandler other = (ContextHandler) obj;
+        if (handlerclass == null) {
+            if (other.handlerclass != null) {
+                return false;
+            }
+        } else if (!handlerclass.equals(other.handlerclass)) {
+            return false;
+        }
+        if (portNames == null) {
+            if (other.portNames != null) {
+                return false;
+            }
+        } else if (!portNames.equals(other.portNames)) {
+            return false;
+        }
+        if (soapHeaders == null) {
+            if (other.soapHeaders != null) {
+                return false;
+            }
+        } else if (!soapHeaders.equals(other.soapHeaders)) {
+            return false;
+        }
+        if (soapRoles == null) {
+            if (other.soapRoles != null) {
+                return false;
+            }
+        } else if (!soapRoles.equals(other.soapRoles)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextLocalEjb.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextLocalEjb.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextLocalEjb.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextLocalEjb.java 
Mon Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -28,7 +26,6 @@ package org.apache.catalina.deploy;
  * @author Peter Rossbach (p...@apache.org)
  * @version $Id$
  */
-
 public class ContextLocalEjb extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -111,6 +108,53 @@ public class ContextLocalEjb extends Res
         }
         sb.append("]");
         return (sb.toString());
+    }
+
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + ((home == null) ? 0 : home.hashCode());
+        result = prime * result + ((link == null) ? 0 : link.hashCode());
+        result = prime * result + ((local == null) ? 0 : local.hashCode());
+        return result;
+    }
 
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextLocalEjb other = (ContextLocalEjb) obj;
+        if (home == null) {
+            if (other.home != null) {
+                return false;
+            }
+        } else if (!home.equals(other.home)) {
+            return false;
+        }
+        if (link == null) {
+            if (other.link != null) {
+                return false;
+            }
+        } else if (!link.equals(other.link)) {
+            return false;
+        }
+        if (local == null) {
+            if (other.local != null) {
+                return false;
+            }
+        } else if (!local.equals(other.local)) {
+            return false;
+        }
+        return true;
     }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResource.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResource.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResource.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResource.java 
Mon Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -28,7 +26,6 @@ package org.apache.catalina.deploy;
  * @author Peter Rossbach (p...@apache.org)
  * @version $Id$
  */
-
 public class ContextResource extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -128,7 +125,58 @@ public class ContextResource extends Res
         }
         sb.append("]");
         return (sb.toString());
+    }
 
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + ((auth == null) ? 0 : auth.hashCode());
+        result = prime * result +
+                ((closeMethod == null) ? 0 : closeMethod.hashCode());
+        result = prime * result + ((scope == null) ? 0 : scope.hashCode());
+        result = prime * result + (singleton ? 1231 : 1237);
+        return result;
     }
 
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextResource other = (ContextResource) obj;
+        if (auth == null) {
+            if (other.auth != null) {
+                return false;
+            }
+        } else if (!auth.equals(other.auth)) {
+            return false;
+        }
+        if (closeMethod == null) {
+            if (other.closeMethod != null) {
+                return false;
+            }
+        } else if (!closeMethod.equals(other.closeMethod)) {
+            return false;
+        }
+        if (scope == null) {
+            if (other.scope != null) {
+                return false;
+            }
+        } else if (!scope.equals(other.scope)) {
+            return false;
+        }
+        if (singleton != other.singleton) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceEnvRef.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceEnvRef.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceEnvRef.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceEnvRef.java 
Mon Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -27,7 +25,6 @@ package org.apache.catalina.deploy;
  * @author Peter Rossbach (p...@apache.org)
  * @version $Id$
  */
-
 public class ContextResourceEnvRef extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -68,9 +65,33 @@ public class ContextResourceEnvRef exten
         sb.append(override);
         sb.append("]");
         return (sb.toString());
-
     }
 
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + (override ? 1231 : 1237);
+        return result;
+    }
+
 
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextResourceEnvRef other = (ContextResourceEnvRef) obj;
+        if (override != other.override) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceLink.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceLink.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceLink.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextResourceLink.java 
Mon Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 
@@ -28,7 +26,6 @@ package org.apache.catalina.deploy;
  * @author Peter Rossbach (Peter Rossbach (p...@apache.org))
  * @version $Id$
  */
-
 public class ContextResourceLink extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -81,7 +78,45 @@ public class ContextResourceLink extends
         }
         sb.append("]");
         return (sb.toString());
+    }
 
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + ((factory == null) ? 0 : factory.hashCode());
+        result = prime * result + ((global == null) ? 0 : global.hashCode());
+        return result;
     }
 
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextResourceLink other = (ContextResourceLink) obj;
+        if (factory == null) {
+            if (other.factory != null) {
+                return false;
+            }
+        } else if (!factory.equals(other.factory)) {
+            return false;
+        }
+        if (global == null) {
+            if (other.global != null) {
+                return false;
+            }
+        } else if (!global.equals(other.global)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ContextService.java 
Mon Jan  2 20:18:01 2012
@@ -14,10 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Iterator;
 
@@ -29,7 +28,6 @@ import java.util.Iterator;
  * @author Fabien Carrion
  * @version $Id$
  */
-
 public class ContextService extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -188,7 +186,7 @@ public class ContextService extends Reso
      *
      * The instantiation of the handler have to be done.
      */
-    private HashMap<String, ContextHandler> handlers =
+    private final HashMap<String, ContextHandler> handlers =
         new HashMap<String, ContextHandler>();
 
     public Iterator<String> getHandlers() {
@@ -262,7 +260,97 @@ public class ContextService extends Reso
         }
         sb.append("]");
         return (sb.toString());
+    }
+
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result +
+                ((displayname == null) ? 0 : displayname.hashCode());
+        result = prime * result +
+                ((handlers == null) ? 0 : handlers.hashCode());
+        result = prime *
+                result +
+                ((jaxrpcmappingfile == null) ? 0 : 
jaxrpcmappingfile.hashCode());
+        result = prime * result +
+                ((largeIcon == null) ? 0 : largeIcon.hashCode());
+        result = prime * result +
+                ((serviceInterface == null) ? 0 : serviceInterface.hashCode());
+        result = prime * result + Arrays.hashCode(serviceqname);
+        result = prime * result +
+                ((smallIcon == null) ? 0 : smallIcon.hashCode());
+        result = prime * result +
+                ((wsdlfile == null) ? 0 : wsdlfile.hashCode());
+        return result;
     }
 
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ContextService other = (ContextService) obj;
+        if (displayname == null) {
+            if (other.displayname != null) {
+                return false;
+            }
+        } else if (!displayname.equals(other.displayname)) {
+            return false;
+        }
+        if (handlers == null) {
+            if (other.handlers != null) {
+                return false;
+            }
+        } else if (!handlers.equals(other.handlers)) {
+            return false;
+        }
+        if (jaxrpcmappingfile == null) {
+            if (other.jaxrpcmappingfile != null) {
+                return false;
+            }
+        } else if (!jaxrpcmappingfile.equals(other.jaxrpcmappingfile)) {
+            return false;
+        }
+        if (largeIcon == null) {
+            if (other.largeIcon != null) {
+                return false;
+            }
+        } else if (!largeIcon.equals(other.largeIcon)) {
+            return false;
+        }
+        if (serviceInterface == null) {
+            if (other.serviceInterface != null) {
+                return false;
+            }
+        } else if (!serviceInterface.equals(other.serviceInterface)) {
+            return false;
+        }
+        if (!Arrays.equals(serviceqname, other.serviceqname)) {
+            return false;
+        }
+        if (smallIcon == null) {
+            if (other.smallIcon != null) {
+                return false;
+            }
+        } else if (!smallIcon.equals(other.smallIcon)) {
+            return false;
+        }
+        if (wsdlfile == null) {
+            if (other.wsdlfile != null) {
+                return false;
+            }
+        } else if (!wsdlfile.equals(other.wsdlfile)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestination.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestination.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestination.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestination.java 
Mon Jan  2 20:18:01 2012
@@ -14,11 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
-
 /**
  * <p>Representation of a message destination for a web application, as
  * represented in a <code>&lt;message-destination&gt;</code> element
@@ -28,7 +25,6 @@ package org.apache.catalina.deploy;
  * @version $Id$
  * @since Tomcat 5.0
  */
-
 public class MessageDestination extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -108,8 +104,56 @@ public class MessageDestination extends 
         }
         sb.append("]");
         return (sb.toString());
+    }
+
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result +
+                ((displayName == null) ? 0 : displayName.hashCode());
+        result = prime * result +
+                ((largeIcon == null) ? 0 : largeIcon.hashCode());
+        result = prime * result +
+                ((smallIcon == null) ? 0 : smallIcon.hashCode());
+        return result;
     }
 
 
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        MessageDestination other = (MessageDestination) obj;
+        if (displayName == null) {
+            if (other.displayName != null) {
+                return false;
+            }
+        } else if (!displayName.equals(other.displayName)) {
+            return false;
+        }
+        if (largeIcon == null) {
+            if (other.largeIcon != null) {
+                return false;
+            }
+        } else if (!largeIcon.equals(other.largeIcon)) {
+            return false;
+        }
+        if (smallIcon == null) {
+            if (other.smallIcon != null) {
+                return false;
+            }
+        } else if (!smallIcon.equals(other.smallIcon)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestinationRef.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestinationRef.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestinationRef.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/MessageDestinationRef.java 
Mon Jan  2 20:18:01 2012
@@ -14,11 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
-
 /**
  * <p>Representation of a message destination reference for a web application,
  * as represented in a <code>&lt;message-destination-ref&gt;</code> element
@@ -28,7 +25,6 @@ package org.apache.catalina.deploy;
  * @version $Id$
  * @since Tomcat 5.0
  */
-
 public class MessageDestinationRef extends ResourceBase {
 
     private static final long serialVersionUID = 1L;
@@ -93,8 +89,45 @@ public class MessageDestinationRef exten
         }
         sb.append("]");
         return (sb.toString());
+    }
+
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = super.hashCode();
+        result = prime * result + ((link == null) ? 0 : link.hashCode());
+        result = prime * result + ((usage == null) ? 0 : usage.hashCode());
+        return result;
     }
 
 
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!super.equals(obj)) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        MessageDestinationRef other = (MessageDestinationRef) obj;
+        if (link == null) {
+            if (other.link != null) {
+                return false;
+            }
+        } else if (!link.equals(other.link)) {
+            return false;
+        }
+        if (usage == null) {
+            if (other.usage != null) {
+                return false;
+            }
+        } else if (!usage.equals(other.usage)) {
+            return false;
+        }
+        return true;
+    }
 }

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ResourceBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ResourceBase.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ResourceBase.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ResourceBase.java Mon 
Jan  2 20:18:01 2012
@@ -14,8 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.deploy;
 
 import java.io.Serializable;
@@ -31,7 +29,6 @@ import java.util.List;
  * @author Peter Rossbach (p...@apache.org)
  * @version $Id$
  */
-
 public class ResourceBase implements Serializable, Injectable {
 
     private static final long serialVersionUID = 1L;
@@ -129,8 +126,75 @@ public class ResourceBase implements Ser
         return injectionTargets;
     }
 
-    // -------------------------------------------------------- Package Methods
 
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result +
+                ((description == null) ? 0 : description.hashCode());
+        result = prime * result +
+                ((injectionTargets == null) ? 0 : injectionTargets.hashCode());
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        result = prime * result +
+                ((properties == null) ? 0 : properties.hashCode());
+        result = prime * result + ((type == null) ? 0 : type.hashCode());
+        return result;
+    }
+
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        ResourceBase other = (ResourceBase) obj;
+        if (description == null) {
+            if (other.description != null) {
+                return false;
+            }
+        } else if (!description.equals(other.description)) {
+            return false;
+        }
+        if (injectionTargets == null) {
+            if (other.injectionTargets != null) {
+                return false;
+            }
+        } else if (!injectionTargets.equals(other.injectionTargets)) {
+            return false;
+        }
+        if (name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!name.equals(other.name)) {
+            return false;
+        }
+        if (properties == null) {
+            if (other.properties != null) {
+                return false;
+            }
+        } else if (!properties.equals(other.properties)) {
+            return false;
+        }
+        if (type == null) {
+            if (other.type != null) {
+                return false;
+            }
+        } else if (!type.equals(other.type)) {
+            return false;
+        }
+        return true;
+    }
+
+
+    // -------------------------------------------------------- Package Methods
 
     /**
      * The NamingResources with which we are associated (if any).
@@ -144,6 +208,4 @@ public class ResourceBase implements Ser
     void setNamingResources(NamingResources resources) {
         this.resources = resources;
     }
-
-
 }

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java?rev=1226539&r1=1226538&r2=1226539&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java Mon Jan  2 
20:18:01 2012
@@ -1896,15 +1896,19 @@ public class WebXml {
                 }
             } else {
                 // Not defined in main web.xml
-                if (tempResources.containsKey(resourceName)) {
-                    log.error(sm.getString(
-                            "webXml.mergeConflictResource",
-                            resourceName,
-                            fragment.getName(),
-                            fragment.getURL()));
-                    return false;
+                T existingResource = tempResources.get(resourceName);
+                if (existingResource != null) {
+                    if (!existingResource.equals(resource)) {
+                        log.error(sm.getString(
+                                "webXml.mergeConflictResource",
+                                resourceName,
+                                fragment.getName(),
+                                fragment.getURL()));
+                        return false;
+                    }
+                } else {
+                    tempResources.put(resourceName, resource);
                 } 
-                tempResources.put(resourceName, resource);
             }
         }
         return true;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to