[jboss-cvs] Your question

Kabir Khan kabir.khan at jboss.com
Wed Jan 6 11:51:56 EST 2010


As long as all the tests pass it should be ok. As far as I can tell the only difference is that the original way we don't try to iterate over the optional/required qualifiers if there are no supplied qualifiers, while with your way we do. However, your way, although slightly more inefficient for the normal use, is probably more valid since the qualifier matchers could check something else from the context apart from the supplied qualifiers.

> Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassAndQualifierKey.java
> ===================================================================
> --- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassAndQualifierKey.java	2010-01-06 15:49:30 UTC (rev 99066)
> +++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassAndQualifierKey.java	2010-01-06 16:03:06 UTC (rev 99067)
> @@ -24,6 +24,7 @@
> import java.lang.annotation.Annotation;
> import java.util.ArrayList;
> import java.util.Collection;
> +import java.util.Collections;
> import java.util.HashSet;
> import java.util.List;
> import java.util.Set;
> @@ -160,7 +161,6 @@
>          return getFirstContext(contexts);
> 
>       List<ControllerContext> found = getContextWithAllRequiredAndMostOptionalQualifiers(requiredQualifiers, optionalQualifiers, contexts);
> -
>       return getFirstContext(found);
>    }
> 
> @@ -198,11 +198,13 @@
>       for (ControllerContext context : contexts)
>       {
>          Set<Object> suppliedQualifiers = QualifiersMdrUtil.mergeSuppliedQualifiersFromMdr(context);
> +         if (suppliedQualifiers == null) // TODO -- too strict?
> +            suppliedQualifiers = Collections.emptySet();
> 
>          int matches = 0;
> 
>          boolean allRequired = true;
> -         if (requiredQualifiers != null && requiredQualifiers.size() > 0 && suppliedQualifiers != null && suppliedQualifiers.size() > 0)
> +         if (requiredQualifiers != null && requiredQualifiers.size() > 0)
>          {
>             for (Object qualifier : requiredQualifiers)
>             {
> @@ -215,7 +217,7 @@
>                break;
>             }
>          }
> -         if (allRequired && optionalQualifiers != null && optionalQualifiers.size() > 0 && suppliedQualifiers != null && suppliedQualifiers.size() > 0)
> +         if (allRequired && optionalQualifiers != null && optionalQualifiers.size() > 0)
>          {
>             for (Object qualifier : optionalQualifiers)
>             {





More information about the jboss-cvs-commits mailing list