2016-03-30 3 views
0

私はすべてのパブリックEJBメソッドが@RolesAllowedまたは@PermitAllのいずれかでannoatedされているかどうかをチェックするためのjQAssistantCypherルールを書きたいと注釈を付けていることを確認するためjQAssistantを使用します。すべてのパブリックEJBメソッドは、@RolesAllowedまたは@PermitAll

これは可能ですか?私はNeo4jのCypherクエリー言語に慣れていないので、Cypherには「@Statelessアノテーションを持つクラス」のすべてのパブリックメソッド(@RolesAllowedまたは@PermitAllでアノテーションされていない)を見つけるのに問題があります。 "

+0

@ingrid明らかにあなたの答えは間違っています... – zebra

答えて

0

トリックは、存在しない部分をwhere節に入れています。

match 
    (:Stateless)-[:DECLARES]->(m:Method) 
where 
    m.visibility ="public" 
    and not (
    (m)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(:Type{fqn:"...PermitAll") 
    or 
    ... 
) 
return 
    m 

これはアイデアを表していると考えていますが、これをタブレットに書き込むことは非常に困難です。私は来週より高度な例をあなたに教えてくれます。

+0

パーフェクト!それはまさに私が探していた解決策です。 – zebra

+0

読みやすく! PermitAllとAllowedRolesのコンセプトを作成することで、より洗練されたソリューションが得られます.JQA EJB3プラグインの候補にすることもできます。 –

関連する問題