/******************** * 2004 Jalview Reengineered * Barton Group * Dundee University * * AM Waterhouse *******************/ package jalview.bin; import java.util.*; import java.io.*; import java.util.jar.*; public class Cache { public static String VERSION = "ß test"; public static String BUILD_DATE = "1-1-2005"; public static Properties applicationProperties; // Current properties include: // // LAST_DIRECTORY , use this to cache record of where the user looked to find a file // UNIPROT_CACHE // USER_DEFINED_COLOUR - file describing last user set colours // FONT_NAME // FONT_STYLE // FONT_SIZE // logs.Axis.Level - one of the stringified Levels for log4j controlling the logging level for axis (used for web services) public static void loadProperties() { // get last build time. long date = 0; try{ String localFile = Cache.class.getProtectionDomain().getCodeSource().getLocation().toString(); localFile = localFile.concat("!/"); String tmpString = "jar:"; String localJarFileString = tmpString.concat(localFile); java.net.URL localJarFileURL = new java.net.URL(localJarFileString); java.net.JarURLConnection localJarFile = (java.net.JarURLConnection)localJarFileURL.openConnection(); date = localJarFile.getLastModified(); }catch(Exception ex){ex.printStackTrace();} if(date==0) { // this is called for unpackaged class files. // not entirely accurate as it only tells you when Cache.class was last compiled java.net.URL url = Cache.class.getResource("/jalview/bin/Cache.class"); java.io.File f = new java.io.File(url.getFile()); date = f.lastModified(); } BUILD_DATE = new Date( date ).toString(); applicationProperties = new Properties(); try { FileInputStream in = new FileInputStream(System.getProperty("user.home") + "/.jalview_properties"); applicationProperties = new Properties(); applicationProperties.load(in); in.close(); } catch (Exception ex) { } } public static String getProperty(String key) { return applicationProperties.getProperty(key); } public static String setProperty(String key, String obj) { try { FileOutputStream out = new FileOutputStream(System.getProperty( "user.home") + "/.jalview_properties"); applicationProperties.setProperty(key, obj); applicationProperties.store(out, "---JalviewX Properties File---"); out.close(); } catch (Exception ex) {} return obj; } }