public String lookupEnvironmentForCommand() { String fallbackEnv = System.getProperty(Environment.KEY) != null ? System.getProperty(Environment.KEY) : Environment.DEVELOPMENT.getName(); String env = CommandLineParser.DEFAULT_ENVS.get(commandName); return env == null ? fallbackEnv : env; }
@SuppressWarnings("unused") public Object methodMissing(String name, Object args) { Object[] argsArray = (Object[])args; if (args != null && argsArray.length > 0 && (argsArray[0] instanceof Closure)) { if (current == Environment.CUSTOM && current.getName().equals(name)) { callable = (Closure<?>) argsArray[0]; } return null; } throw new MissingMethodException(name, Environment.class, argsArray); } }
public String getEnvironment() { boolean useDefaultEnv = environment == null; String env; if (useDefaultEnv && commandName != null) { env = lookupEnvironmentForCommand(); } else { String fallbackEnv = System.getProperty(Environment.KEY) != null ? System.getProperty(Environment.KEY) : Environment.DEVELOPMENT.getName(); env = environment != null ? environment : fallbackEnv; } System.setProperty(Environment.KEY, env); System.setProperty(Environment.DEFAULT, String.valueOf(useDefaultEnv)); return env; }
@Override protected Set<String> doGetActiveProfiles() { Set<String> activeProfiles = super.doGetActiveProfiles(); activeProfiles.add(Environment.getCurrent().getName()); return activeProfiles; }