From 000812bf6d622eb6041bc17bd3674c18d3093de7 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Tue, 19 Jan 2021 14:32:15 +0000 Subject: [PATCH] Inject DefaultTaskSchedulerModule.EagerSingletons at startup in headless app. --- .../briar/headless/BriarHeadlessApp.kt | 3 ++- .../briar/headless/HeadlessEagerSingletons.java | 15 +++++++++++++++ .../java/org/briarproject/briar/headless/Main.kt | 9 +++++++-- .../briar/headless/BriarHeadlessTestApp.kt | 3 ++- .../briar/headless/IntegrationTest.kt | 1 + 5 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessEagerSingletons.java diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt index 4db5ec524..fc5a523ea 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt @@ -16,7 +16,8 @@ import javax.inject.Singleton ] ) @Singleton -internal interface BriarHeadlessApp : BrambleCoreEagerSingletons, BriarCoreEagerSingletons { +internal interface BriarHeadlessApp : BrambleCoreEagerSingletons, BriarCoreEagerSingletons, + HeadlessEagerSingletons { fun getRouter(): Router diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessEagerSingletons.java b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessEagerSingletons.java new file mode 100644 index 000000000..1fce29b63 --- /dev/null +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessEagerSingletons.java @@ -0,0 +1,15 @@ +package org.briarproject.briar.headless; + +import org.briarproject.bramble.system.DefaultTaskSchedulerModule; + +public interface HeadlessEagerSingletons { + + void inject(DefaultTaskSchedulerModule.EagerSingletons init); + + class Helper { + + public static void injectEagerSingletons(HeadlessEagerSingletons c) { + c.inject(new DefaultTaskSchedulerModule.EagerSingletons()); + } + } +} diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt index fd8a08b7b..dbbeebee3 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt @@ -17,9 +17,13 @@ import java.lang.System.getProperty import java.lang.System.setProperty import java.nio.file.Files.setPosixFilePermissions import java.nio.file.attribute.PosixFilePermission -import java.nio.file.attribute.PosixFilePermission.* +import java.nio.file.attribute.PosixFilePermission.OWNER_EXECUTE +import java.nio.file.attribute.PosixFilePermission.OWNER_READ +import java.nio.file.attribute.PosixFilePermission.OWNER_WRITE import java.security.SecureRandom -import java.util.logging.Level.* +import java.util.logging.Level.ALL +import java.util.logging.Level.INFO +import java.util.logging.Level.WARNING import java.util.logging.LogManager private const val DEFAULT_PORT = 7000 @@ -72,6 +76,7 @@ private class Main : CliktCommand( // dependency graphs BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app) BriarCoreEagerSingletons.Helper.injectEagerSingletons(app) + HeadlessEagerSingletons.Helper.injectEagerSingletons(app) val authToken = getOrCreateAuthToken(dataDir, app.getSecureRandom()) diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt index eae13319f..89e69fae7 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt @@ -17,7 +17,8 @@ import javax.inject.Singleton ] ) @Singleton -internal interface BriarHeadlessTestApp : BrambleCoreEagerSingletons, BriarCoreEagerSingletons { +internal interface BriarHeadlessTestApp : BrambleCoreEagerSingletons, BriarCoreEagerSingletons, + HeadlessEagerSingletons { fun getRouter(): Router diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt index 3f7fe6fd6..6963fe91e 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt @@ -34,6 +34,7 @@ abstract class IntegrationTest { .build() BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app) BriarCoreEagerSingletons.Helper.injectEagerSingletons(app) + HeadlessEagerSingletons.Helper.injectEagerSingletons(app) router = app.getRouter() crypto = app.getCryptoComponent() testDataCreator = app.getTestDataCreator()