*/
public static boolean isVersionCheckNeeded() {
try {
- long wait = config.getInteger(Config.NETWORK_UPDATE_INTERVAL, 0) * 24 * 60
- * 60 * 1000;
+ long wait = config.getInteger(Config.NETWORK_UPDATE_INTERVAL, 0)
+ * 24 * 60 * 60 * 1000;
if (wait >= 0) {
String lastUpString = IOUtils.readSmallFile(new File(configDir,
"LAST_UPDATE"));
}
/**
- * The configuration directory (will check, in order of preference,
- * {@link Bundles#getDirectory()}, the system properties, the environment
- * and then defaults to $HOME/.fanfix).
+ * The configuration directory (will check, in order of preference, the
+ * system properties, the environment and then defaults to
+ * {@link Instance#getHome()}/.fanfix).
*
* @return the config directory
*/
private static String getConfigDir() {
- String configDir = Bundles.getDirectory();
-
- if (configDir == null) {
- configDir = System.getProperty("CONFIG_DIR");
- }
+ String configDir = System.getProperty("CONFIG_DIR");
if (configDir == null) {
configDir = System.getenv("CONFIG_DIR");
private static BasicLibrary createDefaultLibrary(File remoteDir) {
BasicLibrary lib = null;
- String remoteLib = config.getString(Config.DEFAULT_LIBRARY);
- if (remoteLib == null || remoteLib.trim().isEmpty()) {
+ boolean useRemote = config.getBoolean(Config.REMOTE_LIBRARY_ENABLED,
+ false);
+
+ if (useRemote) {
+ String host = null;
+ int port = -1;
+ try {
+ host = config.getString(Config.REMOTE_LIBRARY_HOST);
+ port = config.getInteger(Config.REMOTE_LIBRARY_PORT, -1);
+ String key = config.getString(Config.REMOTE_LIBRARY_KEY);
+
+ tracer.trace("Selecting remote library " + host + ":" + port);
+ lib = new RemoteLibrary(key, host, port);
+ lib = new CacheLibrary(getRemoteDir(remoteDir, host), lib);
+ } catch (Exception e) {
+ tracer.error(new IOException(
+ "Cannot create remote library for: " + host + ":"
+ + port, e));
+ }
+ } else {
String libDir = System.getenv("BOOKS_DIR");
if (libDir == null || libDir.isEmpty()) {
libDir = config.getString(Config.LIBRARY_DIR, "$HOME/Books");
+ if (!getFile(libDir).isAbsolute()) {
+ libDir = new File(configDir, libDir).getPath();
+ }
}
try {
lib = new LocalLibrary(getFile(libDir));
"Cannot create library for directory: "
+ getFile(libDir), e));
}
- } else {
- Exception ex = null;
- int pos = remoteLib.lastIndexOf(":");
- if (pos >= 0) {
- String port = remoteLib.substring(pos + 1).trim();
- remoteLib = remoteLib.substring(0, pos);
- pos = remoteLib.lastIndexOf(":");
- if (pos >= 0) {
- String host = remoteLib.substring(pos + 1).trim();
- String key = remoteLib.substring(0, pos).trim();
-
- try {
- tracer.trace("Selecting remote library " + host + ":"
- + port);
- lib = new RemoteLibrary(key, host,
- Integer.parseInt(port));
- lib = new CacheLibrary(getRemoteDir(remoteDir, host),
- lib);
-
- } catch (Exception e) {
- ex = e;
- }
- }
- }
-
- if (lib == null) {
- tracer.error(new IOException(
- "Cannot create remote library for: " + remoteLib, ex));
- }
}
return lib;
* @return the path
*/
private static File getFile(Config id, File def) {
- String path = config.getString(id);
- if (path != null && path.isEmpty()) {
- path = def.getPath();
- }
-
+ String path = config.getString(id, def.getPath());
return getFile(path);
}
* @return the path
*/
private static File getFile(UiConfig id, File def) {
- String path = uiconfig.getString(id);
- if (path != null && path.isEmpty()) {
- path = def.getPath();
- }
-
+ String path = uiconfig.getString(id, def.getPath());
return getFile(path);
}