@Test public void shouldParseOnlyWantedProfile() { RuleFinder ruleFinder = mock(RuleFinder.class); when(ruleFinder.findByKey(anyString(), anyString())).thenAnswer(new Answer<Rule>() { public Rule answer(InvocationOnMock iom) throws Throwable { return Rule.create((String) iom.getArguments()[0], (String) iom.getArguments()[1], (String) iom.getArguments()[1]); } }); ValidationMessages messages = ValidationMessages.create(); RulesProfile profile = new AnnotationProfileParser(ruleFinder).parse("squid", "Foo way", "java", Lists.<Class>newArrayList(FakeRule.class, RuleOnOtherProfile.class), messages); assertThat(profile.getActiveRule("squid", "fake")).isNotNull(); assertThat(profile.getActiveRule("squid", "other")).isNull(); } }
public RulesProfile parse(String repositoryKey, String profileName, String language, Collection<Class> annotatedClasses, ValidationMessages messages) { RulesProfile profile = RulesProfile.create(profileName, language); for (Class<?> aClass : annotatedClasses) { BelongsToProfile belongsToProfile = aClass.getAnnotation(BelongsToProfile.class); addRule(aClass, belongsToProfile, profile, repositoryKey, messages); } return profile; }
@Override public RulesProfile createProfile(ValidationMessages validation) { return annotationProfileParser.parse( CheckRepository.REPOSITORY_KEY, CheckRepository.SONAR_WAY_PROFILE_NAME, Xml.KEY, CheckRepository.getCheckClasses(), validation); } }
@Override public RulesProfile createProfile(ValidationMessages validation) { return annotationProfileParser.parse(CSharpSquidConstants.REPOSITORY_KEY, CSharpConstants.CSHARP_WAY_PROFILE, CSharpConstants.LANGUAGE_KEY, CheckList.getChecks(), validation); }
@Test public void shouldParseAnnotatedClasses() { RuleFinder ruleFinder = mock(RuleFinder.class); when(ruleFinder.findByKey(anyString(), anyString())).thenAnswer(new Answer<Rule>() { public Rule answer(InvocationOnMock iom) throws Throwable { return Rule.create((String) iom.getArguments()[0], (String) iom.getArguments()[1], (String) iom.getArguments()[1]); } }); ValidationMessages messages = ValidationMessages.create(); RulesProfile profile = new AnnotationProfileParser(ruleFinder).parse("squid", "Foo way", "java", Lists.<Class>newArrayList(FakeRule.class), messages); assertThat(profile.getName()).isEqualTo("Foo way"); assertThat(profile.getLanguage()).isEqualTo("java"); assertThat(profile.getActiveRule("squid", "fake").getSeverity()).isEqualTo(RulePriority.BLOCKER); assertThat(messages.hasErrors()).isFalse(); }
@Override public RulesProfile createProfile(ValidationMessages validation) { return annotationProfileParser.parse(CheckList.REPOSITORY_KEY, CheckList.SONAR_WAY_PROFILE, ObjectiveC.KEY, CheckList.getChecks(), validation); }
public RulesProfile parse(String repositoryKey, String profileName, String language, Collection<Class> annotatedClasses, ValidationMessages messages) { RulesProfile profile = RulesProfile.create(profileName, language); for (Class<?> aClass : annotatedClasses) { BelongsToProfile belongsToProfile = aClass.getAnnotation(BelongsToProfile.class); addRule(aClass, belongsToProfile, profile, repositoryKey, messages); } return profile; }
public RulesProfile parse(String repositoryKey, String profileName, String language, Collection<Class> annotatedClasses, ValidationMessages messages) { RulesProfile profile = RulesProfile.create(profileName, language); for (Class<?> aClass : annotatedClasses) { BelongsToProfile belongsToProfile = aClass.getAnnotation(BelongsToProfile.class); addRule(aClass, belongsToProfile, profile, repositoryKey, messages); } return profile; }