X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FCache.java;h=195ad2987e08cad8809fa47f44198a00c84884d1;hb=9d130129339a0282acccaa70f3b2fcd62822f0ac;hp=72fec6cfcc3ef064b7e8bf725b6c2f9a86c8b182;hpb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;p=jalview.git diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 72fec6c..195ad29 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -334,5 +334,42 @@ public class Cache } return (vamsasJarsArePresent > 0); } + /** + * internal vamsas class discovery state + */ + private static int groovyJarsArePresent = -1; + /** + * Searches for vamsas client classes on class path. + * @return true if vamsas client is present on classpath + */ + public static boolean groovyJarsPresent() + { + if (groovyJarsArePresent == -1) + { + try + { + if (Cache.class.getClassLoader().loadClass( + "groovy.lang.GroovyObject") != null) + { + jalview.bin.Cache.log.debug( + "Found Groovy (groovy.lang.GroovyObject can be loaded)"); + groovyJarsArePresent = 1; + Logger lgclient = Logger.getLogger("groovy"); + lgclient.setLevel(Level.toLevel(Cache.getDefault("logs.Groovy.Level", + Level.INFO.toString()))); + + lgclient.addAppender(log.getAppender("JalviewLogger")); + // Tell the user that debug is enabled + lgclient.debug("Jalview Groovy Client Debugging Output Follows."); + } + } + catch (Exception e) + { + groovyJarsArePresent = 0; + jalview.bin.Cache.log.debug("Groovy Classes are not present"); + } + } + return (groovyJarsArePresent > 0); + } }