Changeset 3050


Ignore:
Timestamp:
01/17/12 16:54:14 (4 months ago)
Author:
kasper
Message:

Fixed potential issue with inherited aliases, resolving wrong descriptors (by parent's alias).

Location:
AnalyzerBeans/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • AnalyzerBeans/trunk/api/src/main/java/org/eobjects/analyzer/beans/api/Alias.java

    r2755 r3050  
    2222import java.lang.annotation.Documented; 
    2323import java.lang.annotation.ElementType; 
    24 import java.lang.annotation.Inherited; 
    2524import java.lang.annotation.Retention; 
    2625import java.lang.annotation.RetentionPolicy; 
     
    3837@Target({ ElementType.FIELD, ElementType.TYPE }) 
    3938@Documented 
    40 @Inherited 
    4139public @interface Alias { 
    4240 
  • AnalyzerBeans/trunk/core/src/main/java/org/eobjects/analyzer/descriptors/AbstractDescriptorProvider.java

    r2755 r3050  
    207207                } 
    208208                for (E descriptor : descriptors) { 
    209                         if (name.equals(descriptor.getDisplayName())) { 
     209                        String displayName = descriptor.getDisplayName(); 
     210                        if (name.equals(displayName)) { 
    210211                                return descriptor; 
    211212                        } 
     
    213214 
    214215                for (E descriptor : descriptors) { 
    215                         if (ArrayUtils.contains(descriptor.getAliases(), name)) { 
     216                        String[] aliases = descriptor.getAliases(); 
     217                        if (ArrayUtils.contains(aliases, name)) { 
    216218                                return descriptor; 
    217219                        } 
  • AnalyzerBeans/trunk/core/src/test/java/org/eobjects/analyzer/descriptors/AnnotationBasedAnalyzerBeanDescriptorTest.java

    r2631 r3050  
    4242                super.tearDown(); 
    4343                AnalyzerMock.clearInstances(); 
     44        } 
     45         
     46        public void testInheritedAnalyzer() throws Exception { 
     47                AnalyzerBeanDescriptor<OneMoreMockAnalyzer> descriptor = Descriptors.ofAnalyzer(OneMoreMockAnalyzer.class); 
     48                assertEquals("One more mock", descriptor.getDisplayName()); 
     49        } 
     50         
     51        @AnalyzerBean("One more mock") 
     52        public static class OneMoreMockAnalyzer extends StringAnalyzer { 
     53                 
    4454        } 
    4555 
Note: See TracChangeset for help on using the changeset viewer.