+ private static BasicLibrary createDefaultLibrary(File remoteDir) {
+ BasicLibrary lib = null;
+
+ String remoteLib = config.getString(Config.DEFAULT_LIBRARY);
+ if (remoteLib == null || remoteLib.trim().isEmpty()) {
+ String libDir = System.getProperty("fanfix.libdir");
+ if (libDir == null || libDir.isEmpty()) {
+ libDir = config.getString(Config.LIBRARY_DIR);
+ }
+ try {
+ lib = new LocalLibrary(getFile(libDir));
+ } catch (Exception e) {
+ tracer.error(new IOException(
+ "Cannot create library for directory: "
+ + getFile(libDir), e));
+ }
+ } else {
+ 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) {
+ }
+ }
+ }
+
+ if (lib == null) {
+ tracer.error(new IOException(
+ "Cannot create remote library for: " + remoteLib));