docs/docs-core/src/main/java/com/sismics/util/EnvironmentUtil.java
Benjamin Gamard 9ba49f35ff enable cors
2018-01-24 15:39:27 +01:00

115 lines
2.6 KiB
Java

package com.sismics.util;
/**
* Environment properties utilities.
*
* @author jtremeaux
*/
public class EnvironmentUtil {
private static String OS = System.getProperty("os.name").toLowerCase();
private static String APPLICATION_MODE = System.getProperty("application.mode");
private static String WINDOWS_APPDATA = System.getenv("APPDATA");
private static String MAC_OS_USER_HOME = System.getProperty("user.home");
private static String DOCS_HOME = System.getProperty("docs.home");
/**
* In a web application context.
*/
private static boolean webappContext;
/**
* Returns true if running under Microsoft Windows.
*
* @return Running under Microsoft Windows
*/
public static boolean isWindows() {
return OS.contains("win");
}
/**
* Returns true if running under Mac OS.
*
* @return Running under Mac OS
*/
public static boolean isMacOs() {
return OS.contains("mac");
}
/**
* Returns true if running under UNIX.
*
* @return Running under UNIX
*/
public static boolean isUnix() {
return OS.contains("nix") || OS.contains("nux") || OS.contains("aix");
}
/**
* Returns true if we are in a unit testing environment.
*
* @return Unit testing environment
*/
public static boolean isUnitTest() {
return !webappContext || isDevMode();
}
/**
* Return true if we are in dev mode.
*
* @return Dev mode
*/
public static boolean isDevMode() {
return "dev".equalsIgnoreCase(APPLICATION_MODE);
}
/**
* Returns the MS Windows AppData directory of this user.
*
* @return AppData directory
*/
public static String getWindowsAppData() {
return WINDOWS_APPDATA;
}
/**
* Returns the Mac OS home directory of this user.
*
* @return Home directory
*/
public static String getMacOsUserHome() {
return MAC_OS_USER_HOME;
}
/**
* Returns the home directory of DOCS (e.g. /var/docs).
*
* @return Home directory
*/
public static String getDocsHome() {
return DOCS_HOME;
}
/**
* Getter of webappContext.
*
* @return webappContext
*/
public static boolean isWebappContext() {
return webappContext;
}
/**
* Setter of webappContext.
*
* @param webappContext webappContext
*/
public static void setWebappContext(boolean webappContext) {
EnvironmentUtil.webappContext = webappContext;
}
}