使用jQAssistant检查是否所有公共EJB方法都使用@RolesAllowed或@PermitAll进行注释

时间:2016-03-30 07:47:12

标签: java neo4j ejb cypher jqassistant

我想为Cypher编写一个jQAssistant规则,检查所有公共EJB方法是否都使用@RolesAllowed@PermitAll进行了声明。

这可能吗?由于我是Neo4j的Cypher查询语言的新手,我在制定&#34;不存在&#34;时遇到了问题。在Cypher中查找&#34; EJB类中的所有公共方法(=具有@Stateless注释的类)未使用@RolesAllowed@PermitAll&#34; < / p>

1 个答案:

答案 0 :(得分:0)

诀窍是将not exists部分放在where子句中,例如

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

希望这说明了这个想法,在平板电脑上写这些东西是相当困难的。我可以在下周给你一个更高级的例子。