+ tracer = new TraceHandler(true, debug, trace);
+
+ String remoteLib = config.getString(Config.DEFAULT_LIBRARY);
+ if (remoteLib == null || remoteLib.trim().isEmpty()) {
+ try {
+ lib = new LocalLibrary(getFile(Config.LIBRARY_DIR));
+ } catch (Exception e) {
+ tracer.error(new IOException(
+ "Cannot create library for directory: "
+ + getFile(Config.LIBRARY_DIR), 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("Contacting remote library " + host + ":"
+ + port);
+ lib = new RemoteLibrary(key, host,
+ Integer.parseInt(port));
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ if (lib == null) {
+ tracer.error(new IOException(
+ "Cannot create remote library for: "
+ + getFile(Config.DEFAULT_LIBRARY)));
+ }
+ }
+