Github user DaanHoogland commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/535#discussion_r33421446
  
    --- Diff: 
framework/config/src/org/apache/cloudstack/framework/config/ConfigKey.java ---
    @@ -122,6 +122,13 @@ public boolean equals(Object obj) {
             if (obj instanceof ConfigKey) {
                 ConfigKey<?> that = (ConfigKey<?>)obj;
                 return this._name.equals(that._name);
    +        }
    +        return false;
    +    }
    +
    +    public boolean isSameKeyAs(Object obj) {
    +        if(this.equals(obj)) {
    +            return true;
             } else if (obj instanceof String) {
    --- End diff --
    
    Thanks @jburwell , I am aware of that. The change at hand is not to improve 
this point though it is worth investigating how much our code relies on the 
containers management of classloaders.
    This change was written is to make these classes adhere to the 
equals(other) contract.
    The reason I didn't just commit is that this change might introduce huge 
amount of work where code relies on the crooked equals returning true.
    
    It seems travis is satisfied but as I often don't accept a problem report 
by our travis tests I am not sure if we should accept the 'All is well' in this 
case.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to