package org.jboss.windup.reporting.xml;
import static org.joox.JOOX.$;
import org.jboss.forge.furnace.util.Strings;
import org.jboss.windup.config.exception.ConfigurationException;
import org.jboss.windup.config.parser.ElementHandler;
import org.jboss.windup.config.parser.NamespaceElementHandler;
import org.jboss.windup.config.parser.ParserContext;
import org.jboss.windup.config.parser.xml.RuleProviderHandler;
import org.jboss.windup.reporting.config.HasClassification;
import org.w3c.dom.Element;
/**
* Adds the provided {@link HasClassification} operation to the current iteration filter.
*
* Expected format:
*
* <pre>
* <has-classification title="parameterized classification {pattern}" />
* </pre>
*
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
@NamespaceElementHandler(elementName = "has-classification", namespace = RuleProviderHandler.WINDUP_RULE_NAMESPACE)
public class HasClassificationHandler implements ElementHandler<HasClassification>
{
@Override
public HasClassification processElement(ParserContext handlerManager, Element element) throws ConfigurationException
{
String pattern = $(element).attr("title");
HasClassification classification = new HasClassification();
if (!Strings.isNullOrEmpty(pattern))
classification.setTitlePattern(pattern);
return classification;
}
}