                                                                 'org.springframework.context.ApplicationContextAware',
                                                                 'org.springframework.context.ApplicationContext'
                                                               ]
-                                             RETURN m.name AS BlacklistedSpringAPI, COLLECT(DISTINCT n.name) AS UsedBy
-                                              ORDER BY m.name
-                                            ")]
-    (println "API06 =" res)))  ;####TEST
+                                             RETURN n.name as UsedBy, COLLECT(DISTINCT m.name) AS BlacklistedSpringAPIs
+                                              ORDER BY n.name
+                                            ")
+        message                  (if (empty? res) "" (s/join "\n" (map #(str (get % "UsedBy") " uses " (s/join ", " (get % "BlacklistedSpringAPIs"))) res)))]
+    { "API06" message }))
 
 (defn- com06-compiled-jvm-version
   []

                                           'org.alfresco.service.cmr.search.SearchService',
                                           'org.alfresco.service.cmr.search.ResultSet'
                                         ]
                        RETURN m.name AS SearchAPI, COLLECT(DISTINCT n.name) AS UsedBy
                         ORDER BY m.name
                       ")]
    (println "STB07/STB14 =" res)))    ;####TEST

(defn- sec02-minimise-manual-authentication
  []

                         WHERE HAS(n.name)
                           AND HAS(m.name)
                           AND m.name = 'org.alfresco.repo.security.authentication.AuthenticationUtil'
                        RETURN n.name AS UsedBy, m.name AS AuthenticationUtilAPI
                         ORDER BY n.name
                       ")
        message        (if (empty? res) "" (s/join "\n" (map #(str (get % "UsedBy") " uses " (get % "AuthenticationUtilAPI")) res)))]
    { "SEC02" message }))

(defn- stb06-stb18-manual-transactions
  []
  (let [res (cy/tquery "
                         START n=NODE(*)
                         MATCH (n)-->(m)
                         WHERE HAS(n.name)
                           AND HAS(m.name)
                           AND m.name IN [
                                          'org.alfresco.repo.transaction.RetryingTransactionHelper',
                                          'org.alfresco.service.transaction.TransactionService'
                                         ]
                        RETURN n.name as UsedBy, COLLECT(DISTINCT m.name) AS TransactionAPIs
                         ORDER BY n.name
                       ")
        message        (if (empty? res) "" (s/join "\n" (map #(str (get % "UsedBy") " uses " (s/join ", " (get % "TransactionAPIs"))) res)))]
    {
      "STB06" message
      "STB18" message
    }))

(defn- validate-criteria
  [neo4j-url
