2017-11-04 19 views
1

OSGi Declarative Services R6を使用しています。ドキュメントごとのように、私はこのような関数の宣言と@interfaceを作成しました:OSGi宣言型サービス&SonarQube

@ObjectClassDefinition(name = "Hello World OSGi Service") 
public @interface Configuration { 
    @AttributeDefinition(name = "My Foo Property", 
         description = "A sample string property", 
         type = AttributeType.STRING) 
    String my_foo_property() default "bar"; 
} 

マイプロパティID my.foo.propertyに生成されますし、デフォルト値は「バー」になります。しかし、私がSonarQubeに持っている問題はSonar Wayの品質プロファイルはのようなものを意味するMethod names should comply with a naming convention(squid:S00100)なので、my_foo_property関数宣言が好きではないということです。

OSGi DS R6では、メソッドの宣言をmyFooPropertyにすることができますが、キーはmy.foo.propertyになるように、どのように生成されたプロパティIDをオーバーライドできますか?

これが不可能な場合は、どうすればSonarQubeに例外を追加できますか?私はこのルールを削除したくありません。それは良いルールです。

答えて

0

ルールで受け入れられると見なされる名前は、正規表現と一致するものです。これは、正しい正規表現を作成するための質問です。おそらくあなたのようなものです([a-z][a-zA-Z0-9]*)|([a-z]+\.[a-z]+\.[a-z]+)

しかし、ソナーのプロファイルを使用していると言います。 SonarQubeのそれ以降のバージョンでは、このプロファイルは編集できないので、このルールで正規表現を更新する前に独自のプロファイルを作成し、デフォルトとして設定し、copy the rules from Sonar way into itにする必要があります。

+1

"Sonar Way"を親として新しいプロファイルを作成し、アンダースコアを扱うためにルールの正規表現を上書きしました。 –

関連する問題