forked from phoedos/pmd
Fix another few things
This commit is contained in:
@ -25,7 +25,7 @@ import net.sourceforge.pmd.properties.PropertyDescriptor;
|
|||||||
* @author Clément Fournier
|
* @author Clément Fournier
|
||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
class RuleBuilder {
|
/* default */ class RuleBuilder {
|
||||||
|
|
||||||
private List<PropertyDescriptor<?>> definedProperties = new ArrayList<>();
|
private List<PropertyDescriptor<?>> definedProperties = new ArrayList<>();
|
||||||
private String name;
|
private String name;
|
||||||
@ -70,8 +70,9 @@ class RuleBuilder {
|
|||||||
|
|
||||||
private void language(String languageName) {
|
private void language(String languageName) {
|
||||||
if (StringUtils.isBlank(languageName)) {
|
if (StringUtils.isBlank(languageName)) {
|
||||||
|
// Some languages don't need the attribute because the rule's
|
||||||
|
// constructor calls setLanguage, see e.g. AbstractJavaRule
|
||||||
return;
|
return;
|
||||||
// throw new IllegalArgumentException("Blank language attribute");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Language lang = LanguageRegistry.findLanguageByTerseName(languageName);
|
Language lang = LanguageRegistry.findLanguageByTerseName(languageName);
|
||||||
|
@ -16,6 +16,7 @@ import java.util.Map.Entry;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.w3c.dom.Attr;
|
import org.w3c.dom.Attr;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
import org.w3c.dom.NamedNodeMap;
|
import org.w3c.dom.NamedNodeMap;
|
||||||
@ -55,7 +56,7 @@ public class RuleFactory {
|
|||||||
private static final String PROPERTY = "property";
|
private static final String PROPERTY = "property";
|
||||||
private static final String CLASS = "class";
|
private static final String CLASS = "class";
|
||||||
|
|
||||||
public static final List<String> REQUIRED_ATTRIBUTES = Collections.unmodifiableList(Arrays.asList(NAME, CLASS));
|
private static final List<String> REQUIRED_ATTRIBUTES = Collections.unmodifiableList(Arrays.asList(NAME, CLASS));
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -196,6 +197,7 @@ public class RuleFactory {
|
|||||||
rule = builder.build();
|
rule = builder.build();
|
||||||
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
|
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
|
||||||
LOG.severe(e.getMessage());
|
LOG.severe(e.getMessage());
|
||||||
|
LOG.severe(ExceptionUtils.getStackTrace(e));
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user