001 package ca.uhn.hl7v2;
002
003 import java.io.InputStream;
004 import java.util.Properties;
005
006 import org.slf4j.Logger;
007 import org.slf4j.LoggerFactory;
008
009 /**
010 * Class to log the HAPI version when HAPI is first used (mostly for troubleshooting purposes)
011 */
012 public class VersionLogger {
013
014 private static boolean ourInitialized = false;
015 private static String ourVersion;
016 private static final Logger LOG = LoggerFactory.getLogger(VersionLogger.class);
017
018 /**
019 * Non-instantiable
020 */
021 private VersionLogger() {
022 // nothing
023 }
024
025 /**
026 * Logs the HAPI version on the first time this method is invoked, does nothing afterwards
027 */
028 public static void init() {
029 if (!ourInitialized) {
030 try {
031 InputStream is = VersionLogger.class.getResourceAsStream("/ca/uhn/hl7v2/hapi-version.properties");
032 Properties p = new Properties();
033 p.load(is);
034 ourVersion = p.getProperty("version");
035 LOG.info("HAPI version is: " + ourVersion);
036 } catch (Exception e) {
037 // ignore
038 }
039 ourInitialized = true;
040 }
041 }
042
043 /**
044 * @return Returns the current version of HAPI
045 */
046 public static String getVersion() {
047 return ourVersion;
048 }
049
050 }