package org.jboss.windup.tests.application.rules; import org.jboss.windup.ast.java.data.TypeReferenceLocation; import org.jboss.windup.config.AbstractRuleProvider; import org.jboss.windup.config.loader.RuleLoaderContext; import org.jboss.windup.config.metadata.MetadataBuilder; import org.jboss.windup.reporting.config.Hint; import org.jboss.windup.reporting.config.Link; import org.jboss.windup.reporting.config.classification.Classification; import org.jboss.windup.rules.apps.java.condition.JavaClass; import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.config.ConfigurationBuilder; /** * This adds a classification to source files that reference the {@link WebServlet} annotation. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ public class TestServletAnnotationRuleProvider extends AbstractRuleProvider { public TestServletAnnotationRuleProvider() { super(MetadataBuilder.forProvider(TestServletAnnotationRuleProvider.class)); } @Override public Configuration getConfiguration(RuleLoaderContext ruleLoaderContext) { return ConfigurationBuilder .begin() .addRule() .when( JavaClass.references("javax.servlet.annotation.WebServlet").at( TypeReferenceLocation.ANNOTATION) ) .perform( Classification.as("Web Servlet") .with(Link.to("JServlet Help", "http://www.servletsareawesome.com/")) .withEffort(0) .and(Hint.withText("Just keep it a Servlet!").withEffort(0)) ); } }