diff --git a/config/checkstyle-checks.xml b/config/checkstyle-checks.xml
index e0255f019..571cd776a 100644
--- a/config/checkstyle-checks.xml
+++ b/config/checkstyle-checks.xml
@@ -578,6 +578,7 @@
+
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/builder/Auditor.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/builder/Auditor.java
index 7c64fa645..76e6e9888 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/builder/Auditor.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/builder/Auditor.java
@@ -319,7 +319,7 @@ public void addError(AuditEvent error) {
metaData = MetadataFactory.createGenericMetadata(module);
}
- mMarkerAttributes.put(CheckstyleMarker.MODULE_NAME, metaData.getInternalName());
+ mMarkerAttributes.put(CheckstyleMarker.MODULE_NAME, metaData.identity().internalName());
mMarkerAttributes.put(CheckstyleMarker.MESSAGE_KEY,
error.getViolation().getKey());
String moduleId = error.getModuleId();
@@ -494,7 +494,7 @@ private String getMessage(AuditEvent error) {
if (moduleId == null) {
RuleMetadata metaData = MetadataFactory.getRuleMetadata(error.getSourceName());
if (metaData != null) {
- moduleId = metaData.getInternalName();
+ moduleId = metaData.identity().internalName();
}
}
@@ -525,7 +525,7 @@ private String getRuleName(AuditEvent error) {
if (metaData == null) {
return Messages.Auditor_txtUnknownModule;
}
- return metaData.getInternalName();
+ return metaData.identity().internalName();
}
}
}
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/ConfigurationWriter.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/ConfigurationWriter.java
index b668040bf..ad0834479 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/ConfigurationWriter.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/ConfigurationWriter.java
@@ -147,7 +147,7 @@ private static void writeModule(Module module, Branch parent, Severity parentSev
// Start the module
Element moduleEl = parent.addElement(XMLTags.MODULE_TAG);
- moduleEl.addAttribute(XMLTags.NAME_TAG, module.getMetaData().getInternalName());
+ moduleEl.addAttribute(XMLTags.NAME_TAG, module.getMetaData().identity().internalName());
// Write comment
if (Strings.emptyToNull(module.getComment()) != null) {
@@ -235,8 +235,8 @@ private static List getChildModules(Module module, List remainin
for (Module tmp : remainingModules) {
- String parentInternalName = module != null ? module.getMetaData().getInternalName() : null;
- String childParent = tmp.getMetaData().getParentModule();
+ String parentInternalName = module != null ? module.getMetaData().identity().internalName() : null;
+ String childParent = tmp.getMetaData().identity().parent();
// only the checker module has no parent
if (parentInternalName == null && "Root".equals(childParent)) {
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/Module.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/Module.java
index 8232281c1..869e9ed2a 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/Module.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/Module.java
@@ -84,7 +84,7 @@ public Module(RuleMetadata metaData, boolean withDefaults) {
if (metaData != null) {
// create the properties according to the meta data
- List propMetas = metaData.getPropertyMetadata();
+ List propMetas = metaData.configPropMetadata();
int size = propMetas != null ? propMetas.size() : 0;
for (int i = 0; i < size; i++) {
@@ -97,8 +97,8 @@ public Module(RuleMetadata metaData, boolean withDefaults) {
}
}
- if (metaData.getDefaultSeverityLevel() != null) {
- mSeverityLevel = metaData.getDefaultSeverityLevel();
+ if (metaData.defaultSeverity() != null) {
+ mSeverityLevel = metaData.defaultSeverity();
}
}
}
@@ -119,7 +119,7 @@ public Module(String name) {
* @return the name of the module
*/
public String getName() {
- return mMetaData != null ? mMetaData.getRuleName() : mName;
+ return mMetaData != null ? mMetaData.identity().ruleName() : mName;
}
/**
@@ -228,7 +228,7 @@ public void setComment(String comment) {
public Severity getSeverity() {
if (mMetaData != null && mMetaData.hasSeverity()) {
- return mSeverityLevel != null ? mSeverityLevel : getMetaData().getDefaultSeverityLevel();
+ return mSeverityLevel != null ? mSeverityLevel : getMetaData().defaultSeverity();
} else {
return null;
}
@@ -265,7 +265,7 @@ public void setSeverity(Severity severityLevel) {
Severity defaultLevel = null;
if (mMetaData != null && mMetaData.hasSeverity()) {
- defaultLevel = getMetaData().getDefaultSeverityLevel();
+ defaultLevel = getMetaData().defaultSeverity();
} else if (mMetaData == null) {
defaultLevel = MetadataFactory.getDefaultSeverity();
}
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/MetadataFactory.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/MetadataFactory.java
index 3a7be371a..10379165a 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/MetadataFactory.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/MetadataFactory.java
@@ -179,10 +179,13 @@ public static RuleMetadata createGenericMetadata(Module module) {
}
RuleGroupMetadata otherGroup = getRuleGroupMetadata(XMLTags.OTHER_GROUP);
- RuleMetadata ruleMeta = new RuleMetadata(module.getName(), module.getName(), parent,
- MetadataFactory.getDefaultSeverity(), false, true, true, false, otherGroup);
+ RuleMetadata ruleMeta = new RuleMetadata(
+ new RuleIdentity(module.getName(), module.getName(), parent, otherGroup, null,
+ Collections.emptyList()),
+ MetadataFactory.getDefaultSeverity(), false, true, true, false, Collections.emptyList(),
+ Collections.emptyList());
module.setMetaData(ruleMeta);
- sRuleMetadata.put(ruleMeta.getInternalName(), ruleMeta);
+ sRuleMetadata.put(ruleMeta.identity().internalName(), ruleMeta);
List properties = module.getProperties();
int size = properties != null ? properties.size() : 0;
@@ -228,23 +231,25 @@ private static RuleMetadata createRuleMetadata(ModuleDetails moduleDetails) {
}
}
final String[] packageTokens = moduleDetails.getParent().split(DOT_PATTERN);
- RuleMetadata ruleMeta = new RuleMetadata(moduleDetails.getName(), moduleDetails.getName(),
- packageTokens[packageTokens.length - 1], MetadataFactory.getDefaultSeverity(),
- false, true, true, false, group);
- ruleMeta.setDescription(moduleDetails.getDescription());
-
- var altName = moduleDetails.getFullQualifiedName();
- registerAlternative(altName, ruleMeta);
-
- moduleDetails.getProperties().forEach(modulePropertyDetails -> ruleMeta.getPropertyMetadata()
- .add(createPropertyConfig(moduleDetails, modulePropertyDetails)));
+ List alternativeNames = List.of(moduleDetails.getFullQualifiedName());
+ List properties = moduleDetails.getProperties().stream()
+ .map(modulePropertyDetails -> createPropertyConfig(moduleDetails, modulePropertyDetails))
+ .toList();
+ RuleMetadata ruleMeta = new RuleMetadata(
+ new RuleIdentity(moduleDetails.getName(), moduleDetails.getName(),
+ packageTokens[packageTokens.length - 1], group, moduleDetails.getDescription(),
+ alternativeNames),
+ MetadataFactory.getDefaultSeverity(), false, true, true, false, Collections.emptyList(),
+ properties);
+
+ registerAlternativeNames(ruleMeta);
return ruleMeta;
}
- private static void registerAlternative(String alternativeName, RuleMetadata ruleMetadata) {
- ruleMetadata.addAlternativeName(alternativeName);
- sAlternativeNamesMap.put(alternativeName, ruleMetadata);
+ private static void registerAlternativeNames(RuleMetadata ruleMetadata) {
+ ruleMetadata.identity().alternativeNames()
+ .forEach(alternativeName -> sAlternativeNamesMap.put(alternativeName, ruleMetadata));
}
/**
@@ -503,8 +508,8 @@ private static String getStandardMessage(String messageKey, RuleMetadata rule) {
}
List namesToCheck = new ArrayList<>();
- namesToCheck.add(rule.getInternalName());
- namesToCheck.addAll(rule.getAlternativeNames());
+ namesToCheck.add(rule.identity().internalName());
+ namesToCheck.addAll(rule.identity().alternativeNames());
for (String moduleClass : namesToCheck) {
try {
@@ -592,7 +597,7 @@ private static void loadRuleMetadata() {
final ModuleDetails moduleDetails = entry.getValue();
final RuleMetadata createdRuleMetadata = createRuleMetadata(moduleDetails);
sRuleMetadata.put(moduleDetails.getName(), createdRuleMetadata);
- sRuleGroupMetadata.get(createdRuleMetadata.getGroup().getGroupName())
+ sRuleGroupMetadata.get(createdRuleMetadata.identity().group().getGroupName())
.getRuleMetadata().add(createdRuleMetadata);
}
}
@@ -751,42 +756,42 @@ private static void processModules(Element groupElement, RuleGroupMetadata group
boolean deletable = !"false".equals(moduleEl.attributeValue(XMLTags.DELETABLE_TAG)); //$NON-NLS-1$
boolean isSingleton = Boolean.parseBoolean(moduleEl.attributeValue(XMLTags.IS_SINGLETON_TAG));
- // create rule metadata
- RuleMetadata module = new RuleMetadata(name, internalName, parentName, severity, hidden,
- hasSeverity, deletable, isSingleton, groupMetadata);
-
- // register internal name
- sRuleMetadata.put(internalName, module);
-
// process description
String description = moduleEl.elementTextTrim(XMLTags.DESCRIPTION_TAG);
description = localize(description, metadataBundle);
- module.setDescription(description);
-
- // process properties
- processProperties(moduleEl, module, metadataBundle);
// process alternative names
- for (Element altNameEl : moduleEl.elements(XMLTags.ALTERNATIVE_NAME_TAG)) {
-
- String alternativeName = altNameEl.attributeValue(XMLTags.INTERNAL_NAME_TAG);
- registerAlternative(alternativeName, module);
- }
+ List alternativeNames = moduleEl.elements(XMLTags.ALTERNATIVE_NAME_TAG).stream()
+ .map(altNameEl -> altNameEl.attributeValue(XMLTags.INTERNAL_NAME_TAG))
+ .toList();
// process message keys
- for (Element quickfixEl : moduleEl.elements(XMLTags.MESSAGEKEY_TAG)) {
+ List messageKeys = moduleEl.elements(XMLTags.MESSAGEKEY_TAG).stream()
+ .map(quickfixEl -> quickfixEl.attributeValue(XMLTags.KEY_TAG))
+ .toList();
- String messageKey = quickfixEl.attributeValue(XMLTags.KEY_TAG);
- module.addMessageKey(messageKey);
- }
+ // process properties
+ List properties = processProperties(moduleEl, metadataBundle);
+
+ // create rule metadata
+ RuleMetadata module = new RuleMetadata(
+ new RuleIdentity(name, internalName, parentName, groupMetadata, description,
+ alternativeNames),
+ severity, hidden, hasSeverity, deletable, isSingleton, messageKeys, properties);
+
+ registerAlternativeNames(module);
+
+ // register internal name
+ sRuleMetadata.put(internalName, module);
groupMetadata.getRuleMetadata().add(module);
}
}
@SuppressWarnings("unchecked")
- private static void processProperties(Element moduleElement, RuleMetadata moduleMetadata,
+ private static List processProperties(Element moduleElement,
ResourceBundle metadataBundle) throws CheckstylePluginException {
+ List properties = new ArrayList<>();
List propertyElements = moduleElement.elements(XMLTags.PROPERTY_METADATA_TAG);
for (Element propertyEl : propertyElements) {
@@ -807,7 +812,7 @@ private static void processProperties(Element moduleElement, RuleMetadata module
ConfigPropertyMetadata property = new ConfigPropertyMetadata(type, name, defaultValue,
overrideDefaultValue);
- moduleMetadata.getPropertyMetadata().add(property);
+ properties.add(property);
// get description
String description = propertyEl.elementTextTrim(XMLTags.DESCRIPTION_TAG);
@@ -849,6 +854,7 @@ private static void processProperties(Element moduleElement, RuleMetadata module
}
}
}
+ return properties;
}
private static String localize(String localizationCandidate, ResourceBundle metadataBundle) {
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleIdentity.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleIdentity.java
new file mode 100644
index 000000000..33e8ead4e
--- /dev/null
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleIdentity.java
@@ -0,0 +1,28 @@
+//============================================================================
+//
+// Copyright (C) 2003-2023 the original author or authors.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+//============================================================================
+
+package net.sf.eclipsecs.core.config.meta;
+
+import java.util.List;
+
+public record RuleIdentity(String ruleName, String internalName, String parent, RuleGroupMetadata group,
+ String description, List alternativeNames) {
+
+}
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleMetadata.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleMetadata.java
index ecd064b89..0cc90a9e7 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleMetadata.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/meta/RuleMetadata.java
@@ -20,9 +20,6 @@
package net.sf.eclipsecs.core.config.meta;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
import java.util.List;
import net.sf.eclipsecs.core.config.Severity;
@@ -30,253 +27,8 @@
/**
* This class contains the metadata that describes a check rule.
*/
-public class RuleMetadata {
+public record RuleMetadata(RuleIdentity identity, Severity defaultSeverity, boolean hidden,
+ boolean hasSeverity, boolean deletable, boolean isSingleton, List messageKeys,
+ List configPropMetadata) {
- /** The display name of the module. */
- private final String mName;
-
- /** The internal name of the module. */
- private final String mInternalName;
-
- /** The internal name of the parent module. */
- private final String mParent;
-
- /** Determines if the module is hidden. */
- private final boolean mIsHidden;
-
- /** Determines if the module has a severity. */
- private final boolean mHasSeverity;
-
- /** Determines if the module can be deleted. */
- private final boolean mIsDeletable;
-
- /** The default severity. */
- private final Severity mDefaultSeverityLevel;
-
- /** The list of property metadata. */
- private final List mConfigPropMetadata = new LinkedList<>();
-
- /** The group. */
- private final RuleGroupMetadata mGroup;
-
- /** Alternative names, including the name of the Checkstyle checker class. */
- private final Collection mAlternativeNames;
-
- private final Collection mMessageKeys;
-
- /** Determines if the module is a singleton. */
- private final boolean mIsSingleton;
-
- /** The description of the module. */
- private String mDescription;
-
- /**
- * Creates a rule metadata.
- *
- * @param ruleName
- * the name of the rule
- * @param internalName
- * the internal name of the rule
- * @param parent
- * the parent module name
- * @param defaultSeverity
- * the default severity level
- * @param hidden
- * true if the module should be hidden from the user
- * @param hasSeverity
- * true if the module has a severity to configure
- * @param deletable
- * true if the module has can be deleted from the configuration
- * @param isSingleton
- * true if the module should occur only once in a checkstyle configuration
- * @param group
- * the group the module belongs to
- */
- public RuleMetadata(String ruleName, String internalName, String parent, Severity defaultSeverity,
- boolean hidden, boolean hasSeverity, boolean deletable, boolean isSingleton,
- RuleGroupMetadata group) {
- mName = ruleName;
- mInternalName = internalName;
- mParent = parent;
- mDefaultSeverityLevel = defaultSeverity;
- mIsHidden = hidden;
- mHasSeverity = hasSeverity;
- mIsDeletable = deletable;
- mGroup = group;
- mAlternativeNames = new ArrayList<>();
- mMessageKeys = new ArrayList<>();
- mIsSingleton = isSingleton;
- }
-
- /**
- * Adds an alternative name for this rule.
- *
- * @param alternativeName
- * an alternative name for this rule
- */
- public void addAlternativeName(String alternativeName) {
- mAlternativeNames.add(alternativeName);
- }
-
- /**
- * Returns the list of alternative names.
- *
- * @return a collection of String
- */
- public Collection getAlternativeNames() {
- return mAlternativeNames;
- }
-
- /**
- * Adds a message key to this module metadata.
- *
- * @param messageKey
- * the message key to add
- */
- public void addMessageKey(String messageKey) {
- mMessageKeys.add(messageKey);
- }
-
- /**
- * Returns the collection of message keys used by this module.
- *
- * @return the list of message keys
- */
- public Collection getMessageKeys() {
- return mMessageKeys;
- }
-
- /**
- * Returns the default severity level.
- *
- * @return The severity level.
- */
- public Severity getDefaultSeverityLevel() {
- return mDefaultSeverityLevel;
- }
-
- /**
- * Returns the rule's description.
- *
- * @return Rule description
- */
- public String getDescription() {
- return mDescription;
- }
-
- /**
- * Set the description for the rule.
- *
- * @param description
- * the description
- */
- public void setDescription(String description) {
- mDescription = description;
- }
-
- /**
- * Returns the rule's name.
- *
- * @return String
- */
- public String getRuleName() {
- return mName;
- }
-
- /**
- * Returns the internal name of the module. The internal name is the name of the module inside the
- * checkstyle configuration file.
- *
- * @return the internal module name
- */
- public String getInternalName() {
- return mInternalName;
- }
-
- /**
- * Determine if the module is to be hidden from the users sight.
- *
- * @return true if the module is hidden
- */
- public boolean isHidden() {
- return mIsHidden;
- }
-
- /**
- * Determine if the module has a severity to configure.
- *
- * @return true if the module has a severity
- */
- public boolean hasSeverity() {
- return mHasSeverity;
- }
-
- /**
- * Determine if the module can be removed from the configuration.
- *
- * @return true if the module can be removed
- */
- public boolean isDeletable() {
- return mIsDeletable;
- }
-
- /**
- * Determine if the module is a singleton inside a checkstyle configuration.
- *
- * @return true if the module is a singleton
- */
- public boolean isSingleton() {
- return mIsSingleton;
- }
-
- /**
- * Gets the name of the parent module.
- *
- * @return the parent module
- */
- public String getParentModule() {
- return mParent;
- }
-
- /**
- * Returns the configuration property metadata.
- *
- * @return A list of ConfigPropertyMetadata objects.
- */
- public List getPropertyMetadata() {
- return mConfigPropMetadata;
- }
-
- /**
- * Returns the property meta data for a given property name.
- *
- * @param property
- * the property name
- * @return the coresponding property meta data or null
- */
- public ConfigPropertyMetadata getPropertyMetadata(String property) {
-
- ConfigPropertyMetadata propertyMeta = null;
-
- int size = mConfigPropMetadata != null ? mConfigPropMetadata.size() : 0;
- for (int i = 0; i < size; i++) {
- ConfigPropertyMetadata tmp = mConfigPropMetadata.get(i);
-
- if (tmp.getName().equals(property)) {
- propertyMeta = tmp;
- break;
- }
- }
-
- return propertyMeta;
- }
-
- /**
- * Returns the group this rule belongs to.
- *
- * @return the group
- */
- public RuleGroupMetadata getGroup() {
- return mGroup;
- }
}
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/CheckerModuleSaveFilter.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/CheckerModuleSaveFilter.java
index 631137e8c..80b5c0f91 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/CheckerModuleSaveFilter.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/CheckerModuleSaveFilter.java
@@ -41,7 +41,7 @@ public void postProcessConfiguredModules(List configuredModules) {
Module module = configuredModules.get(i);
- if (XMLTags.CHECKER_MODULE.equals(module.getMetaData().getInternalName())) {
+ if (XMLTags.CHECKER_MODULE.equals(module.getMetaData().identity().internalName())) {
containsCheckerModule = true;
break;
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SortingSaveFilter.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SortingSaveFilter.java
index 296f4709a..2585c60aa 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SortingSaveFilter.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SortingSaveFilter.java
@@ -50,8 +50,8 @@ private static class ModuleComparator implements Comparator {
@Override
public int compare(Module o1, Module o2) {
- String internalName1 = o1.getMetaData().getInternalName();
- String internalName2 = o2.getMetaData().getInternalName();
+ String internalName1 = o1.getMetaData().identity().internalName();
+ String internalName2 = o2.getMetaData().identity().internalName();
if (XMLTags.CHECKER_MODULE.equals(internalName1)
|| XMLTags.TREEWALKER_MODULE.equals(internalName1)) {
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SuppressWarningsHolderSaveFilter.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SuppressWarningsHolderSaveFilter.java
index c3662395f..f6b431bc2 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SuppressWarningsHolderSaveFilter.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/SuppressWarningsHolderSaveFilter.java
@@ -44,7 +44,7 @@ public void postProcessConfiguredModules(List configuredModules) {
for (int i = 0, size = configuredModules.size(); i < size; i++) {
Module module = configuredModules.get(i);
- String internalName = module.getMetaData().getInternalName();
+ String internalName = module.getMetaData().identity().internalName();
if (XMLTags.SUPPRESSWARNINGSHOLDER_MODULE.equals(internalName)) {
containsSuppressWarningsHolderModule = true;
diff --git a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/TreeWalkerModuleSaveFilter.java b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/TreeWalkerModuleSaveFilter.java
index 5cdbbb7e9..cfa7208b8 100644
--- a/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/TreeWalkerModuleSaveFilter.java
+++ b/net.sf.eclipsecs.core/src/net/sf/eclipsecs/core/config/savefilter/TreeWalkerModuleSaveFilter.java
@@ -45,11 +45,11 @@ public void postProcessConfiguredModules(List configuredModules) {
Module module = configuredModules.get(i);
- if (XMLTags.TREEWALKER_MODULE.equals(module.getMetaData().getInternalName())) {
+ if (XMLTags.TREEWALKER_MODULE.equals(module.getMetaData().identity().internalName())) {
containsTreeWalkerModule = true;
configuredTreeWalker = module;
}
- if (XMLTags.TREEWALKER_MODULE.equals(module.getMetaData().getParentModule())) {
+ if (XMLTags.TREEWALKER_MODULE.equals(module.getMetaData().identity().parent())) {
containsTreeWalkerDependantModule = true;
}
diff --git a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/CheckConfigurationConfigureDialog.java b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/CheckConfigurationConfigureDialog.java
index f23e5e75c..86090f89b 100644
--- a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/CheckConfigurationConfigureDialog.java
+++ b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/CheckConfigurationConfigureDialog.java
@@ -296,7 +296,7 @@ public boolean select(Viewer viewer, Object parentElement, Object element) {
if (element instanceof RuleGroupMetadata) {
passes = !((RuleGroupMetadata) element).isHidden();
} else if (element instanceof RuleMetadata) {
- passes = !((RuleMetadata) element).isHidden();
+ passes = !((RuleMetadata) element).hidden();
}
return passes;
}
@@ -594,7 +594,7 @@ public void checkStateChanged(CheckStateChangedEvent event) {
if (lastEnabled != null) {
module.setSeverity(lastEnabled);
} else {
- module.setSeverity(module.getMetaData().getDefaultSeverityLevel());
+ module.setSeverity(module.getMetaData().defaultSeverity());
}
} else {
module.setSeverity(Severity.IGNORE);
@@ -628,18 +628,18 @@ public void selectionChanged(SelectionChangedEvent event) {
RuleMetadata rule = (RuleMetadata) element;
- description = rule.getDescription();
- mGroupFilter.setCurrentGroup(rule.getGroup());
+ description = rule.identity().description();
+ mGroupFilter.setCurrentGroup(rule.identity().group());
mConfiguredModulesGroup
.setText(NLS.bind(Messages.CheckConfigurationConfigureDialog_lblConfiguredModules,
- rule.getGroup().getGroupName()));
+ rule.identity().group().getGroupName()));
mTableViewer.refresh();
refreshTableViewerState();
} else if (element instanceof Module) {
RuleMetadata meta = ((Module) element).getMetaData();
if (meta != null) {
- description = meta.getDescription();
+ description = meta.identity().description();
}
}
@@ -759,7 +759,7 @@ private void removeModule(ISelection selection) {
Iterator iter = ((IStructuredSelection) selection).iterator();
while (iter.hasNext()) {
Module module = iter.next();
- if (module.getMetaData().isDeletable()) {
+ if (module.getMetaData().deletable()) {
mModules.remove(module);
mIsDirty = true;
mTableViewer.refresh(true);
@@ -795,13 +795,13 @@ private void refreshTableViewerState() {
* Checks if a certain module is already contained in the configuration.
*/
private boolean isAlreadyConfigured(RuleMetadata metadata) {
- String internalName = metadata.getInternalName();
+ String internalName = metadata.identity().internalName();
boolean containsModule = false;
for (int i = 0, size = mModules.size(); i < size; i++) {
Module module = mModules.get(i);
- if (internalName.equals(module.getMetaData().getInternalName())) {
+ if (internalName.equals(module.getMetaData().identity().internalName())) {
containsModule = true;
break;
}
@@ -843,7 +843,7 @@ public Object[] getChildren(Object parentElement) {
public Object getParent(Object element) {
Object parent = null;
if (element instanceof RuleMetadata) {
- parent = ((RuleMetadata) element).getGroup();
+ parent = ((RuleMetadata) element).identity().group();
}
return parent;
}
@@ -883,7 +883,7 @@ public String getText(Object element) {
if (element instanceof RuleGroupMetadata) {
text = ((RuleGroupMetadata) element).getGroupName();
} else if (element instanceof RuleMetadata) {
- text = ((RuleMetadata) element).getRuleName();
+ text = ((RuleMetadata) element).identity().ruleName();
}
return text;
}
@@ -1029,9 +1029,9 @@ public boolean select(Viewer viewer, Object parentElement, Object element) {
return true;
}
- RuleGroupMetadata moduleGroup = metaData.getGroup();
+ RuleGroupMetadata moduleGroup = metaData.identity().group();
- if (mCurrentGroup == null || metaData.isHidden()) {
+ if (mCurrentGroup == null || metaData.hidden()) {
result = false;
} else if (mCurrentGroup == moduleGroup) {
result = true;
@@ -1067,9 +1067,9 @@ private boolean selectRule(RuleMetadata element, String filterText) {
Pattern matchPattern = Pattern.compile(Pattern.quote(filterText), Pattern.CASE_INSENSITIVE);
- String ruleName = element.getRuleName();
- String internalName = element.getInternalName();
- String description = element.getDescription();
+ String ruleName = element.identity().ruleName();
+ String internalName = element.identity().internalName();
+ String description = element.identity().description();
return (ruleName != null && matchPattern.matcher(ruleName).find())
|| (internalName != null && matchPattern.matcher(internalName).find())
|| (description != null && matchPattern.matcher(description).find());
diff --git a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/RuleConfigurationEditDialog.java b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/RuleConfigurationEditDialog.java
index e67533a44..cf083242f 100644
--- a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/RuleConfigurationEditDialog.java
+++ b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/config/RuleConfigurationEditDialog.java
@@ -204,7 +204,7 @@ private Composite createAdvancedSection() {
// take keys from metadata as well as predefined from the
// configuration. This way we don't lose keys not defined in metadata.
Set msgKeys = new TreeSet<>();
- msgKeys.addAll(mRule.getMetaData().getMessageKeys());
+ msgKeys.addAll(mRule.getMetaData().messageKeys());
msgKeys.addAll(mRule.getCustomMessages().keySet());
for (String msgKey : msgKeys) {
@@ -218,7 +218,7 @@ private Composite createAdvancedSection() {
msgText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
final String standardMessage = MetadataFactory.getStandardMessage(msgKey,
- mRule.getMetaData().getInternalName());
+ mRule.getMetaData().identity().internalName());
if (standardMessage != null) {
msgText.setMessage(standardMessage);
@@ -372,7 +372,7 @@ protected void buttonPressed(int buttonId) {
if (mRule.getMetaData().hasSeverity()) {
mSeverityCombo.setSelection(
- new StructuredSelection(mRule.getMetaData().getDefaultSeverityLevel()));
+ new StructuredSelection(mRule.getMetaData().defaultSeverity()));
mCommentText.setText(new String());
}
@@ -415,7 +415,7 @@ protected void okPressed() {
String msgKey = entry.getKey();
String standardMessage = MetadataFactory.getStandardMessage(msgKey,
- mRule.getMetaData().getInternalName());
+ mRule.getMetaData().identity().internalName());
if (standardMessage == null) {
standardMessage = ""; //$NON-NLS-1$
}
@@ -493,7 +493,7 @@ public void create() {
// stored separately
SWTUtil.addResizeSupport(this, CheckstyleUIPlugin.getDefault().getDialogSettings(),
RuleConfigurationEditDialog.class.getName() + "#" //$NON-NLS-1$
- + mRule.getMetaData().getInternalName());
+ + mRule.getMetaData().identity().internalName());
}
/**
diff --git a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/properties/marker/MarkerPropertyPage.java b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/properties/marker/MarkerPropertyPage.java
index e5ea77be3..f34fd9d38 100644
--- a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/properties/marker/MarkerPropertyPage.java
+++ b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/properties/marker/MarkerPropertyPage.java
@@ -38,7 +38,7 @@
import net.sf.eclipsecs.core.builder.CheckstyleMarker;
import net.sf.eclipsecs.core.config.meta.MetadataFactory;
-import net.sf.eclipsecs.core.config.meta.RuleMetadata;
+import net.sf.eclipsecs.core.config.meta.RuleIdentity;
import net.sf.eclipsecs.core.util.CheckstyleLog;
import net.sf.eclipsecs.ui.CheckstyleUIPluginImages;
import net.sf.eclipsecs.ui.Messages;
@@ -68,10 +68,10 @@ protected Control createContents(Composite parent) {
try {
createSeverityText(composite);
- RuleMetadata metaData = createGroupText(composite);
- createRuleText(composite, metaData);
+ RuleIdentity ruleIdentity = createGroupText(composite);
+ createRuleText(composite, ruleIdentity);
createIdText(composite);
- createDescriptionText(composite, metaData);
+ createDescriptionText(composite, ruleIdentity);
} catch (CoreException ex) {
CheckstyleLog.log(ex);
}
@@ -87,25 +87,25 @@ private void createSeverityText(final Composite composite) throws CoreException
labelMessage.setText(message);
}
- private RuleMetadata createGroupText(final Composite composite) throws CoreException {
+ private RuleIdentity createGroupText(final Composite composite) throws CoreException {
new Label(composite, SWT.NONE).setImage(
CheckstyleUIPluginImages.MODULEGROUP_ICON.getImage());
new Label(composite, SWT.NONE).setText(Messages.MarkerPropertyPage_Group);
String moduleName = (String) getIssue().getAttribute(CheckstyleMarker.MODULE_NAME);
- RuleMetadata metaData = MetadataFactory.getRuleMetadata(moduleName);
+ RuleIdentity ruleIdentity = MetadataFactory.getRuleMetadata(moduleName).identity();
Text labelGroupName = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
- labelGroupName.setText(metaData.getGroup().getGroupName());
- return metaData;
+ labelGroupName.setText(ruleIdentity.group().getGroupName());
+ return ruleIdentity;
}
- private void createRuleText(final Composite composite, RuleMetadata metaData) {
+ private void createRuleText(final Composite composite, RuleIdentity ruleIdentity) {
new Label(composite, SWT.NONE).setImage(
CheckstyleUIPluginImages.MODULE_ICON.getImage());
new Label(composite, SWT.NONE).setText(Messages.MarkerPropertyPage_Module);
Text labelRuleName = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
- labelRuleName.setText(metaData.getRuleName());
+ labelRuleName.setText(ruleIdentity.ruleName());
}
private void createIdText(final Composite composite) {
@@ -121,7 +121,7 @@ private void createIdText(final Composite composite) {
labelId.setText(id);
}
- private void createDescriptionText(final Composite composite, RuleMetadata metaData) {
+ private void createDescriptionText(final Composite composite, RuleIdentity ruleIdentity) {
Label descriptionLabel = new Label(composite, SWT.NONE);
descriptionLabel.setText(Messages.MarkerPropertyPage_Description);
GridData gridData = new GridData();
@@ -134,8 +134,8 @@ private void createDescriptionText(final Composite composite, RuleMetadata metaD
gridData.horizontalSpan = 3;
Browser browserDescription = new Browser(composite, SWT.BORDER);
browserDescription.setLayoutData(gridData);
- browserDescription.setText(
- CheckConfigurationConfigureDialog.getDescriptionHtml(metaData.getDescription()));
+ browserDescription.setText(CheckConfigurationConfigureDialog
+ .getDescriptionHtml(ruleIdentity.description()));
}
/**
diff --git a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/quickfixes/MarkerHelpContextProvider.java b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/quickfixes/MarkerHelpContextProvider.java
index cf47137db..7dd389844 100644
--- a/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/quickfixes/MarkerHelpContextProvider.java
+++ b/net.sf.eclipsecs.ui/src/net/sf/eclipsecs/ui/quickfixes/MarkerHelpContextProvider.java
@@ -97,7 +97,7 @@ public static String getOnlineHelp(String moduleName) {
if (metadata == null) {
return null;
}
- var group = metadata.getGroup().getGroupId().toLowerCase();
+ var group = metadata.identity().group().getGroupId().toLowerCase();
// some web pages are different to the packages in Checkstyle
if ("indentation".equals(group) || StringUtils.isEmpty(group)) {
group = "misc";