|
|
|
@ -20,6 +20,7 @@ import java.net.InetSocketAddress;
@@ -20,6 +20,7 @@ import java.net.InetSocketAddress;
|
|
|
|
|
import java.sql.SQLException; |
|
|
|
|
import java.time.Duration; |
|
|
|
|
import java.util.Optional; |
|
|
|
|
import org.json.JSONArray; |
|
|
|
|
import org.json.JSONObject; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -67,15 +68,18 @@ public class Application {
@@ -67,15 +68,18 @@ public class Application {
|
|
|
|
|
|
|
|
|
|
server.start(); |
|
|
|
|
LOG.log(INFO,"Started webserver on port {0,number,#} …",port); |
|
|
|
|
var jarDir = new File("/home/srichter/workspace/de.srsoftware.cal/de.srsoftware.cal.importer/build/libs"); |
|
|
|
|
|
|
|
|
|
var autoImport = new AutoImporter(db); |
|
|
|
|
new JarWatchdog() |
|
|
|
|
var watchDog = new JarWatchdog() |
|
|
|
|
.setContext(BaseImporter.class.getClassLoader()) |
|
|
|
|
.addDirectory(jarDir) |
|
|
|
|
.frequency(Duration.ofSeconds(30)) |
|
|
|
|
.addListener(autoImport) |
|
|
|
|
.afterScan(autoImport) |
|
|
|
|
.start(); |
|
|
|
|
.afterScan(autoImport); |
|
|
|
|
|
|
|
|
|
var importers = jsonConfig.get("opencloudcal.importers").orElse(null); |
|
|
|
|
if (importers instanceof JSONArray arr) arr.toList().stream() |
|
|
|
|
.map(Object::toString).map(File::new).forEach(watchDog::addDirectory); |
|
|
|
|
watchDog.start(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void configureLogging(JsonConfig jsonConfig) { |
|
|
|
|