+package org.argeo.slc.osgiboot;\r
+\r
+public class OsgiBootUtils {\r
+\r
+ public static void info(Object obj) {\r
+ System.out.println("# OSGiBOOT # " + obj);\r
+ }\r
+\r
+ public static void debug(Object obj) {\r
+ System.out.println("# OSGiBOOT DBG # " + obj);\r
+ }\r
+\r
+ public static void warn(Object obj) {\r
+ System.out.println("# OSGiBOOT WARN # " + obj);\r
+ // Because of a weird bug under Windows when starting it in a forked VM\r
+ // if (System.getProperty("os.name").contains("Windows"))\r
+ // System.out.println("# WARN " + obj);\r
+ // else\r
+ // System.err.println("# WARN " + obj);\r
+ }\r
+\r
+ //FIXE: returns null when defaultValue is ""\r
+ public static String getProperty(String name, String defaultValue) {\r
+ final String value;\r
+ if (defaultValue != null)\r
+ value = System.getProperty(name, defaultValue);\r
+ else\r
+ value = System.getProperty(name);\r
+ \r
+ if (value == null || value.equals(""))\r
+ return null;\r
+ else\r
+ return value;\r
+ }\r
+\r
+ public static String getProperty(String name) {\r
+ return getProperty(name, null);\r
+ }\r
+\r
+ public static String getPropertyCompat(String name, String oldName) {\r
+ return getPropertyCompat(name, oldName, null);\r
+ }\r
+\r
+ public static String getPropertyCompat(String name, String oldName,\r
+ String defaultValue) {\r
+ String res = null;\r
+\r
+ if (defaultValue != null) {\r
+ res = getProperty(name, defaultValue);\r
+ if (res.equals(defaultValue)) {\r
+ res = getProperty(oldName, defaultValue);\r
+ if (!res.equals(defaultValue))\r
+ warnDeprecated(name, oldName);\r
+ }\r
+ } else {\r
+ res = getProperty(name, null);\r
+ if (res == null) {\r
+ res = getProperty(oldName, null);\r
+ if (res != null)\r
+ warnDeprecated(name, oldName);\r
+ }\r
+ }\r
+ return res;\r
+ }\r
+\r
+ public static void warnDeprecated(String name, String oldName) {\r
+ warn("Property '" + oldName\r
+ + "' is deprecated and will be removed soon, use '" + name\r
+ + "' instead.");\r
+ } \r
+ \r
+}\r