                        ")]
     (println "res =" res)))    ;####TEST
 
+(defn- stb07-stb14-search-apis
+  []
+  (let [res (cy/tquery "
+                         START n=NODE(*)
+                         MATCH (n)-->(m)
+                         WHERE HAS(n.name)
+                           AND HAS(m.name)
+                           AND m.name IN [
+                                           '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 "res =" res)))    ;####TEST
+
+(defn- sec02-minimise-manual-authentication
+  []
+  (let [res (cy/tquery "
+                         START n=NODE(*)
+                         MATCH (n)-->(m)
+                         WHERE HAS(n.name)
+                           AND HAS(m.name)
+                           AND m.name = 'org.alfresco.repo.security.authentication.AuthenticationUtil'
+                        RETURN n.name AS Class, m.name AS AuthenticationUtil
+                         ORDER BY n.name
+                       ")]
+    (println "res =" res)))    ;####TEST
+
+(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 Class, COLLECT(DISTINCT m.name) AS TransactionClass
+ ORDER BY n.name
+                       ")]
+    (println "res =" res)))    ;####TEST
+
+
 (defn- validate-criteria
   [neo4j-url
    source-index]
   (nr/connect! neo4j-url)
-  (validate-alfresco-api-usage)
-  (validate-java-version)
-  (validate-java-api-usage)
+  (api01-public-alfresco-java-api)
+  (com06-compiled-jvm-version)
+  (sec04-stb03-stb04-stb05-stb06-stb10-stb12-java-apis)
+  (stb07-stb14-search-apis)
+  (sec02-minimise-manual-authentication)
+  (stb06-stb18-manual-transactions)
   )
-
 
 (defn validate
   "Validates the given source and binaries, using the Neo4J server available at the given URL."

  [source]
  (comment "####TODO!!!!"))

(defn- sanitised-api-list
  []
  (map #(s/escape % cypher-value-escapes) (alf-api/public-java-api)))


        values-2 (.substring values-1 0 (- (.length values-1) 1))]
    (s/replace query "{in-clause-values}" values-2)))

(defn- api01-public-alfresco-java-api
  []
  (let [alfresco-public-java-api (cypher-escaped-alfresco-api)
        cypher-query             (populate-in-clause "
                                                       START n=NODE(*)
                                                       MATCH (n)-->(m)
