hello
i try to made a plugins with embeded rules as xml
like this
<logiscope-rules>
<rule>
<key>LOGISCOPE.ERROR</key>
<name>Logiscope error</name>
<internalKey>*</internalKey>
<description>XXXXX This rule is not directly linked to a problem in the
code, but it exists to alert users that an error occurred when
running Logiscope or reading Logiscope reports.
</description>
<severity>CRITICAL</severity>
<cardinality>SINGLE</cardinality>
<status>READY</status>
<type>BUG</type>
<tag>value</tag>
<remediationFunction>CONSTANT_ISSUE</remediationFunction>
<remediationFunctionBaseEffort>30min</remediationFunctionBaseEffort>
<parameters>
<parameter>
<key>file</key>
<value>1</value>
</parameter>
<parameter>
<key>line</key>
<value>5</value>
</parameter>
<parameter>
<key>javascript</key>
<value>alpha > 10</value>
</parameter>
<parameter>
<key>usage</key>
<value>fun</value>
</parameter>
</parameters>
</rule>
</logiscope-rules>
i use standard loader
NewRepository repository = context.createRepository(repositoryKey, languageKey).setName(repositoryName);
InputStream rulesXml = this.getClass().getResourceAsStream(rulesDefinitionFilePath());
if (rulesXml != null) {
RulesDefinitionXmlLoader rulesLoader = new RulesDefinitionXmlLoader();
rulesLoader.load(repository, rulesXml, StandardCharsets.UTF_8.name());
}
repository.done();
in my sensor i find rules, but not for them my own parameters
// get active rules
LOGGER.debug("* RULES (active) --------------------------");
Collection<ActiveRule> ars = activeRules.findByLanguage(LogiscopeLanguage.KEY);
for (ActiveRule rule : ars) {
LOGGER.debug(" - " + rule.ruleKey() + " params = " + rule.params().size());
Map<String, String> m = rule.params();
for (String s : m.keySet()) {
LOGGER.debug(" - " + s);
}
}
whats wrong in my code ?