2016-04-29 5 views
1

JQassistantを使用してMavenリポジトリをスキャンしました。今、どのクラスに@Statefulで注釈が付いているかを調べたいと思います。しかし、使用してもリポジトリスキャン後にjqassistantからアノテーションを取得

MATCH (a:Java:Value:Annotation) RETURN DISTINCT a.name 

結果として行が返されません。注釈はリポジトリスキャンの一部ではありませんか?それとも、間違ったクエリを書くのですか?

答えて

2

次のクエリを使用して、リポジトリをスキャンした場合、また、これらの型が含まれているアーティファクトを返すために役に立つかもしれません@Stateful

MATCH 
    (t:Type)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(statefulType:Type) 
WHERE 
    statefulType.fqn = "javax.ejb.Stateful" 
RETURN 
    t.fqn 

で注釈を付けたすべてのクラスを返します。

MATCH 
    (a:Artifact)-[:CONTAINS]->(t:Type), 
    (t)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(statefulType:Type) 
WHERE 
    statefulType.fqn = "javax.ejb.Stateful" 
RETURN 
    a.fqn, collect(t.fqn) 
+0

こと作品、ありがとう。なぜ私のクエリが行を返さないのか知っていますか? –

+0

Ok:おそらくJava:Value:Annotationにはコンテンツがないためです。 –

+0

最初のクエリを確認しました。その理由は、スキャナが注釈ノードにJavaラベルを追加しなかったが、文書にその注釈があることが示されているためです。私は問題を作成しました(https://github.com/buschmais/jqassistant/issues/378)、次のリリースで修正される予定です。 –

関連する問題