Generated files: Rule and category extensions

The New Plug-in Project wizard generates a plugin.xml file that includes a rule extension for each new user-written code rule. The wizard also creates a category extension if the category to which the rule belongs does not exist.

The extensions are used to register the new user-written rule and its category with Eclipse. Figure 1 shows the form of a rule extension:
Figure 1. Extension for a user-written rule
<extension
    point="com.ibm.rsaz.analysis.core.analysisRule">
  <analysisRule
      category="category_id"
      class="rule_class"
      id="rule_class"
      label="rule_label"
      severity="1">
  </analysisRule>
</extension>
Note: The attribute values are described in Table 1 following.
If the category does not exist, the wizard also adds an extension for the category to the plugin.xml file. Figure 2 shows the form of a category extension:
Figure 2. Extension for the category of a user-written rule
<extension
    point="com.ibm.rsaz.analysis.core.analysisCategory">
  <analysisCategory
      class="com.ibm.rsaz.analysis.core.category.DefaultAnalysisCategory"
      id="category_ID"
      label="category_name"
      provider="codereview.cobol.analysisProvider">
  </analysisCategory>
</extension>
Note: If you are creating a PL/I rule plug-in, the provider attribute is codereview.pl1.analysisProvider. The other attribute values are described in Table 1 following.
Table 1 shows how the attributes of the <analysisRule> and the <analysisCategory> elements are derived from the values that you enter in the Plug-in Project wizard:
  • In the <analysisRule> element, the category, ruleclass, ruleid, and rulelabel attributes are set to the values that you entered on the COBOL or PL/I Rule Template page of the wizard. The wizard also uses the ruleclass value to set the rule ID.
  • In the <analysisCategory> element, the id and label attributes are set to the values that you entered on the COBOL or PL/I Rule Template page of the wizard.
  • The package name is set to the string that you specified in the ID field of the package definition, on the Content page of the New Plug-in Project wizard. It is shown in the Example value column of the table as com.example
Table 1. Attributes values for analysisRule and analysisCategory
Attribute: Field on the COBOL or PL/I Rule Template wizard page: Example value:
analysisRule.category Category ID com.example.custom
analysisRule.ruleclass Rule class com.example.CobolRule or com.example.PLIRule
analysisRule.ruleid Rule class com.example.CobolRule or com.example.PL1Rule
analysisRule.rulelabel Rule label My custom COBOL rule or My custom PL/I rule
analysisCategory.id Category ID com.example.custom
analysisCategory.label Category name Custom