String attributeOverrideName = AnnotationUtils.getAttributeOverrideName(attributeMethod, targetAnnotationType);
@Test public void getAttributeOverrideNameFromWrongTargetAnnotation() throws Exception { Method attribute = AliasedComposedContextConfig.class.getDeclaredMethod("xmlConfigFile"); assertThat("xmlConfigFile is not an alias for @Component.", getAttributeOverrideName(attribute, Component.class), is(nullValue())); }
@Test public void getAttributeOverrideNameForNonAliasedAttribute() throws Exception { Method nonAliasedAttribute = ImplicitAliasesContextConfig.class.getDeclaredMethod("nonAliasedAttribute"); assertThat(getAttributeOverrideName(nonAliasedAttribute, ContextConfig.class), is(nullValue())); }
@Test public void getAttributeOverrideNameFromAliasedComposedAnnotation() throws Exception { Method attribute = AliasedComposedContextConfig.class.getDeclaredMethod("xmlConfigFile"); assertEquals("location", getAttributeOverrideName(attribute, ContextConfig.class)); }
@Test public void getAttributeAliasNamesFromComposedAnnotationWithTransitiveImplicitAliases() throws Exception { Method xml = TransitiveImplicitAliasesContextConfig.class.getDeclaredMethod("xml"); Method groovy = TransitiveImplicitAliasesContextConfig.class.getDeclaredMethod("groovy"); // Explicit meta-annotation attribute overrides assertEquals("xmlFile", getAttributeOverrideName(xml, ImplicitAliasesContextConfig.class)); assertEquals("groovyScript", getAttributeOverrideName(groovy, ImplicitAliasesContextConfig.class)); // Transitive meta-annotation attribute overrides assertEquals("location", getAttributeOverrideName(xml, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(groovy, ContextConfig.class)); // Transitive implicit aliases assertThat(getAttributeAliasNames(xml), containsInAnyOrder("groovy")); assertThat(getAttributeAliasNames(groovy), containsInAnyOrder("xml")); }
@Test public void getAttributeAliasNamesFromComposedAnnotationWithTransitiveImplicitAliasesWithImpliedAliasNamesOmitted() throws Exception { Method xml = TransitiveImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class.getDeclaredMethod("xml"); Method groovy = TransitiveImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class.getDeclaredMethod("groovy"); // Meta-annotation attribute overrides assertEquals("location", getAttributeOverrideName(xml, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(groovy, ContextConfig.class)); // Explicit meta-annotation attribute overrides assertEquals("xmlFile", getAttributeOverrideName(xml, ImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class)); assertEquals("location", getAttributeOverrideName(groovy, ImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class)); // Transitive implicit aliases assertThat(getAttributeAliasNames(groovy), containsInAnyOrder("xml")); assertThat(getAttributeAliasNames(xml), containsInAnyOrder("groovy")); }
String attributeOverrideName = AnnotationUtils.getAttributeOverrideName(attributeMethod, targetAnnotationType);
@Test public void getAttributeAliasNamesFromComposedAnnotationWithImplicitAliasesForAliasPair() throws Exception { Method xmlFile = ImplicitAliasesForAliasPairContextConfig.class.getDeclaredMethod("xmlFile"); Method groovyScript = ImplicitAliasesForAliasPairContextConfig.class.getDeclaredMethod("groovyScript"); // Meta-annotation attribute overrides assertEquals("location", getAttributeOverrideName(xmlFile, ContextConfig.class)); assertEquals("value", getAttributeOverrideName(groovyScript, ContextConfig.class)); // Implicit aliases assertThat(getAttributeAliasNames(xmlFile), containsInAnyOrder("groovyScript")); assertThat(getAttributeAliasNames(groovyScript), containsInAnyOrder("xmlFile")); }
@Test public void getAttributeAliasNamesFromComposedAnnotationWithTransitiveImplicitAliasesForAliasPair() throws Exception { Method xml = TransitiveImplicitAliasesForAliasPairContextConfig.class.getDeclaredMethod("xml"); Method groovy = TransitiveImplicitAliasesForAliasPairContextConfig.class.getDeclaredMethod("groovy"); // Explicit meta-annotation attribute overrides assertEquals("xmlFile", getAttributeOverrideName(xml, ImplicitAliasesForAliasPairContextConfig.class)); assertEquals("groovyScript", getAttributeOverrideName(groovy, ImplicitAliasesForAliasPairContextConfig.class)); // Transitive implicit aliases assertThat(getAttributeAliasNames(xml), containsInAnyOrder("groovy")); assertThat(getAttributeAliasNames(groovy), containsInAnyOrder("xml")); }
@Test public void getAttributeAliasNamesFromComposedAnnotationWithImplicitAliasesWithImpliedAliasNamesOmitted() throws Exception { Method value = ImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class.getDeclaredMethod("value"); Method location = ImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class.getDeclaredMethod("location"); Method xmlFile = ImplicitAliasesWithImpliedAliasNamesOmittedContextConfig.class.getDeclaredMethod("xmlFile"); // Meta-annotation attribute overrides assertEquals("value", getAttributeOverrideName(value, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(location, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(xmlFile, ContextConfig.class)); // Implicit aliases assertThat(getAttributeAliasNames(value), containsInAnyOrder("location", "xmlFile")); assertThat(getAttributeAliasNames(location), containsInAnyOrder("value", "xmlFile")); assertThat(getAttributeAliasNames(xmlFile), containsInAnyOrder("value", "location")); }
@Test public void getAttributeAliasNamesFromComposedAnnotationWithImplicitAliases() throws Exception { Method xmlFile = ImplicitAliasesContextConfig.class.getDeclaredMethod("xmlFile"); Method groovyScript = ImplicitAliasesContextConfig.class.getDeclaredMethod("groovyScript"); Method value = ImplicitAliasesContextConfig.class.getDeclaredMethod("value"); Method location1 = ImplicitAliasesContextConfig.class.getDeclaredMethod("location1"); Method location2 = ImplicitAliasesContextConfig.class.getDeclaredMethod("location2"); Method location3 = ImplicitAliasesContextConfig.class.getDeclaredMethod("location3"); // Meta-annotation attribute overrides assertEquals("location", getAttributeOverrideName(xmlFile, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(groovyScript, ContextConfig.class)); assertEquals("location", getAttributeOverrideName(value, ContextConfig.class)); // Implicit aliases assertThat(getAttributeAliasNames(xmlFile), containsInAnyOrder("value", "groovyScript", "location1", "location2", "location3")); assertThat(getAttributeAliasNames(groovyScript), containsInAnyOrder("value", "xmlFile", "location1", "location2", "location3")); assertThat(getAttributeAliasNames(value), containsInAnyOrder("xmlFile", "groovyScript", "location1", "location2", "location3")); assertThat(getAttributeAliasNames(location1), containsInAnyOrder("xmlFile", "groovyScript", "value", "location2", "location3")); assertThat(getAttributeAliasNames(location2), containsInAnyOrder("xmlFile", "groovyScript", "value", "location1", "location3")); assertThat(getAttributeAliasNames(location3), containsInAnyOrder("xmlFile", "groovyScript", "value", "location1", "location2")); }
String attributeOverrideName = AnnotationUtils.getAttributeOverrideName(attributeMethod, targetAnnotationType);
String attributeOverrideName = AnnotationUtils.getAttributeOverrideName(attributeMethod, targetAnnotationType);
String attributeOverrideName = AnnotationUtils.getAttributeOverrideName(attributeMethod, targetAnnotationType);