/** * Attempt to resolve the xd.home placeholder and take care of corner cases where the user may * have provided a trailing slash, etc. */ private static String resolveXDHome() { Assert.state( CommandLinePropertySourceOverridingListener.getCurrentEnvironment() != null, "Expected to be called in the control flow of " + CommandLinePropertySourceOverridingListener.class.getSimpleName() + ".onApplicationEvent()"); // TODO: I'm not sure if this works. compare to resolveMessageBusPath() above String resolved = CommandLinePropertySourceOverridingListener.getCurrentEnvironment() .resolvePlaceholders("${xd.home:.}/lib/*"); resolved = StringUtils.cleanPath(resolved).replace("//", "/"); return "file:" + resolved; }
private static String resolveMessageBusPath() { String xdHome = CommandLinePropertySourceOverridingListener.getCurrentEnvironment() .resolvePlaceholders("${XD_HOME}"); return "file:" + xdHome.replaceAll("\\\\", "/") + "/lib/messagebus/*"; }