Я пытаюсь получить доступ к Property
в классе, расширяющем RulesDefinition
моего плагина SonarQube. я определяю, что недвижимость в классе, простирающийся SonarPlugin
с:SonarQube получить свойство в RulesDefinition
@Properties(
@Property(key="sonar.root.path", name="Path to installation", description = "Root directory of the Master plugin installation directory")
)
Собственность правильно создана, и я установить его значение в конфигурационной странице SQ, но как-то я не могу получить доступ к нему из класса, простирающейся RulesDefinition
с этим кодом в перегруженной define(Context context)
метода:
// Get access to the Properties
Settings settings = new Settings(new PropertyDefinitions(new MyPlugin()));
if(settings.hasKey("sonar.root.path")) {
// Never enters here
String path = settings.getString("sonar.root.path");
} else {
// If always returns false and enters here
LOG.info("No property defined with the provided key.");
}
// To double-check
LOG.info("The value: " + settings.getString("sonar.root.path")); // Returns null
LOG.info("Has default value: " + settings.hasDefaultValue("sonar.root.path"));
// Returns false, or true if I provide a default value, proving it can
// access the property - so the if condition above should have returned true
самое странное, что я проверил недвижимость через веб-службы REST и может подтвердить, что указанные значения являются те, установленные на веб-странице, но если я обеспечиваю значение по умолчанию (как указано выше), журнал показывает defau lt, а не значение, введенное на веб-странице (и показано через веб-службу).
Возможно, проблема в том, как я получаю объект Settings
. Был бы признателен за предоставленную помощь. Спасибо заранее.
Благодарим вас за ответ. Я попробую завтра, и я предоставлю отзыв. У меня не было конструктора в этом классе, потому что мне не нужно было. Если я создам его, как вы предлагаете, движок SonarQube автоматически получит доступ к нему с помощью инстанцированной информации, так ли это? Кроме того, должен ли я содержать 'Property'definition в классе, расширяющем« SonarPlugin »? Спасибо. – jonypera
да и да (но [PropertyDefinition] (http://javadocs.sonarsource.org/5.6/apidocs/index.html?org/sonar/api/config/PropertyDefinition.html) является предпочтительным) –
Спасибо, друг, работал довольно хороший. – jonypera