SafetyMutex and rocket optimization updates
[debian/openrocket] / src / net / sf / openrocket / startup / Application.java
index a00c9535dfa27b70d4e9c290e83dcd70f431f112..020d714e57abb13c7f48c5554d320520e72b637f 100644 (file)
@@ -1,6 +1,8 @@
 package net.sf.openrocket.startup;
 
 import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;
+import net.sf.openrocket.l10n.DebugTranslator;
+import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.logging.LogLevel;
 import net.sf.openrocket.logging.LogLevelBufferLogger;
@@ -16,14 +18,14 @@ public final class Application {
        private static LogHelper logger;
        private static LogLevelBufferLogger logBuffer;
        
+       private static Translator translator = new DebugTranslator();
+       
        private static ThrustCurveMotorSetDatabase motorSetDatabase;
        
+
        // Initialize the logger to something sane for testing without executing Startup
        static {
-               logger = new PrintStreamLogger();
-               for (LogLevel l : LogLevel.values()) {
-                       ((PrintStreamLogger) logger).setOutput(l, System.out);
-               }
+               setLogOutputLevel(LogLevel.DEBUG);
        }
        
        
@@ -64,6 +66,39 @@ public final class Application {
        }
        
        
+       /**
+        * Set the logging to output the specified log level and upwards to standard output.
+        * 
+        * @param level         the minimum logging level to output.
+        */
+       public static void setLogOutputLevel(LogLevel level) {
+               logger = new PrintStreamLogger();
+               for (LogLevel l : LogLevel.values()) {
+                       if (l.atLeast(level)) {
+                               ((PrintStreamLogger) logger).setOutput(l, System.out);
+                       }
+               }
+               
+       }
+       
+       
+       /**
+        * Return the translator to use for obtaining translated strings.
+        * @return      a translator.
+        */
+       public static Translator getTranslator() {
+               return translator;
+       }
+       
+       /**
+        * Set the translator used in obtaining translated strings.
+        * @param translator    the translator to set.
+        */
+       public static void setTranslator(Translator translator) {
+               Application.translator = translator;
+       }
+       
+       
 
        /**
         * Return the database of all thrust curves loaded into the system.