On Wed, Feb 10, 2010 at 1:32 AM,  <[email protected]> wrote:
> Author: djencks
> Date: Wed Feb 10 00:32:13 2010
> New Revision: 908295
...
> +    private boolean equals(NonNullMetadata key1, NonNullMetadata key2) {
> +        if (key1 == key2) return true;
> +        if (key1.getClass() != key2.getClass()) return false;
> +        if (key1 instanceof RefMetadata) return ((RefMetadata) 
> key1).getComponentId().equals(((RefMetadata) key2).getComponentId());
> +        if (key1 instanceof ReferenceMetadata) {
> +            if (((ReferenceMetadata) key1).getTimeout() != 
> ((ReferenceMetadata) key2).getTimeout()) return false;
> +        }
> +        if (key1 instanceof ServiceReferenceMetadata) {
> +            ServiceReferenceMetadata sr1 = (ServiceReferenceMetadata) key1;
> +            ServiceReferenceMetadata sr2 = (ServiceReferenceMetadata) key2;
> +            return sr1.getAvailability() == sr2.getAvailability()
> +                    && sr1.getInterface().equals(sr2.getInterface())
> +                    && sr1.getComponentName().equals(sr2.getComponentName())
> +                    && sr1.getFilter().equals(sr2.getFilter())
> +                    && 
> sr1.getReferenceListeners().equals(sr2.getReferenceListeners())
> +
> +                    && sr1.getId().equals(sr2.getId())
> +                    && sr1.getActivation() == sr2.getActivation()
> +                    && sr1.getDependsOn().equals(sr2.getDependsOn());
> +        }
> +        if (key1 instanceof ValueMetadata) {
> +            ValueMetadata v1 = (ValueMetadata) key1;
> +            ValueMetadata v2 = (ValueMetadata) key2;
> +            if (v1.getStringValue() != null ? 
> v1.getStringValue().equals(v2.getStringValue()) : v2.getStringValue() == null
> +                    && v1.getType() != null ? 
> v1.getType().equals(v2.getType()) : v2.getType() == null) {
> +                return true;
> +            }
> +        }
> +        return false;
> +    }
> +

Hi Dave,

I wonder if it wasn't clearer to introduce proper equals method in
ServiceReferenceMetadata and ValueMetadata classes, and delegate its
calls to them?

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://wszystkojawne.pl
p.s. Szukam speca/firmy od grafiki/CSS/HTML

Reply via email to