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";