Преглед на файлове

simplified DI, where possible

Sebastian Stenzel преди 10 години
родител
ревизия
571fee9524

+ 7 - 2
main/pom.xml

@@ -131,6 +131,12 @@
 				<artifactId>dagger</artifactId>
 				<version>2.0</version>
 			</dependency>
+			<dependency>
+				<groupId>com.google.dagger</groupId>
+				<artifactId>dagger-compiler</artifactId>
+				<version>2.0</version>
+				<scope>provided</scope>
+			</dependency>
 
 			<!-- JSON -->
 			<dependency>
@@ -139,14 +145,13 @@
 				<version>${jackson-databind.version}</version>
 			</dependency>
 
-			<!-- JUnit -->
+			<!-- JUnit / Mockito -->
 			<dependency>
 				<groupId>junit</groupId>
 				<artifactId>junit</artifactId>
 				<version>${junit.version}</version>
 				<scope>test</scope>
 			</dependency>
-
 			<dependency>
 				<groupId>org.mockito</groupId>
 				<artifactId>mockito-core</artifactId>

+ 3 - 25
main/ui/pom.xml

@@ -59,31 +59,9 @@
 			<artifactId>dagger</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>javax.inject</groupId>
-			<artifactId>javax.inject</artifactId>
-			<version>1</version>
-			<scope>compile</scope>
+			<groupId>com.google.dagger</groupId>
+			<artifactId>dagger-compiler</artifactId>
+			<scope>provided</scope>
 		</dependency>
 	</dependencies>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.2</version>
-				<dependencies>
-					<dependency>
-						<groupId>com.google.dagger</groupId>
-						<artifactId>dagger-compiler</artifactId>
-						<version>2.0</version>
-					</dependency>
-				</dependencies>
-				<configuration>
-					<!-- workaround for http://jira.codehaus.org/browse/MCOMPILER-202 -->
-					<forceJavacCompilerUse>true</forceJavacCompilerUse>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
 </project>

+ 0 - 20
main/ui/src/main/java/org/cryptomator/ui/CryptomatorModule.java

@@ -5,13 +5,11 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import javax.inject.Named;
-import javax.inject.Provider;
 import javax.inject.Singleton;
 
 import org.cryptomator.crypto.Cryptor;
 import org.cryptomator.crypto.SamplingCryptorDecorator;
 import org.cryptomator.crypto.aes256.Aes256Cryptor;
-import org.cryptomator.ui.model.VaultFactory;
 import org.cryptomator.ui.model.VaultObjectMapperProvider;
 import org.cryptomator.ui.settings.Settings;
 import org.cryptomator.ui.settings.SettingsProvider;
@@ -58,12 +56,6 @@ class CryptomatorModule {
 		return new SemVerComparator();
 	}
 
-	@Provides
-	@Singleton
-	VaultObjectMapperProvider provideVaultObjectMapperProvider(VaultFactory vaultFactory) {
-		return new VaultObjectMapperProvider(vaultFactory);
-	}
-
 	@Provides
 	@Singleton
 	@Named("VaultJsonMapper")
@@ -71,12 +63,6 @@ class CryptomatorModule {
 		return vaultObjectMapperProvider.get();
 	}
 
-	@Provides
-	@Singleton
-	SettingsProvider provideSettingsProvider(DeferredCloser closer, @Named("VaultJsonMapper") Provider<ObjectMapper> objectMapper) {
-		return new SettingsProvider(closer, objectMapper.get());
-	}
-
 	@Provides
 	Settings provideSettings(SettingsProvider settingsProvider) {
 		return settingsProvider.get();
@@ -88,12 +74,6 @@ class CryptomatorModule {
 		return closeLater(Executors.newCachedThreadPool(), ExecutorService::shutdown);
 	}
 
-	@Provides
-	@Singleton
-	VaultFactory provideVaultFactory(WebDavServer server, Provider<Cryptor> cryptorProvider, WebDavMounter mounter, DeferredCloser closer) {
-		return new VaultFactory(server, cryptorProvider, mounter, closer);
-	}
-
 	@Provides
 	@Singleton
 	WebDavMounter provideWebDavMounterProvider(WebDavServer server, ExecutorService executorService) {

+ 2 - 0
main/ui/src/main/java/org/cryptomator/ui/model/VaultFactory.java

@@ -4,12 +4,14 @@ import java.nio.file.Path;
 
 import javax.inject.Inject;
 import javax.inject.Provider;
+import javax.inject.Singleton;
 
 import org.cryptomator.crypto.Cryptor;
 import org.cryptomator.ui.util.DeferredCloser;
 import org.cryptomator.ui.util.mount.WebDavMounter;
 import org.cryptomator.webdav.WebDavServer;
 
+@Singleton
 public class VaultFactory {
 
 	private final WebDavServer server;

+ 2 - 0
main/ui/src/main/java/org/cryptomator/ui/model/VaultObjectMapperProvider.java

@@ -6,6 +6,7 @@ import java.nio.file.Path;
 
 import javax.inject.Inject;
 import javax.inject.Provider;
+import javax.inject.Singleton;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonParser;
@@ -18,6 +19,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 
+@Singleton
 public class VaultObjectMapperProvider implements Provider<ObjectMapper> {
 
 	private final VaultFactory vaultFactoy;

+ 0 - 20
main/ui/src/main/java/org/cryptomator/ui/settings/SettingsModule.java

@@ -1,20 +0,0 @@
-package org.cryptomator.ui.settings;
-
-import javax.inject.Provider;
-import javax.inject.Singleton;
-
-import org.cryptomator.ui.util.DeferredCloser;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import dagger.Module;
-
-@Module
-public class SettingsModule {
-
-	@Singleton
-	Provider<Settings> provideSettingsProvider(Provider<ObjectMapper> objectMapper) {
-		return new SettingsProvider(new DeferredCloser(), objectMapper.get());
-	}
-
-}

+ 2 - 0
main/ui/src/main/java/org/cryptomator/ui/settings/SettingsProvider.java

@@ -12,6 +12,7 @@ import java.nio.file.StandardOpenOption;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Provider;
+import javax.inject.Singleton;
 
 import org.apache.commons.lang3.SystemUtils;
 import org.cryptomator.ui.util.DeferredCloser;
@@ -20,6 +21,7 @@ import org.slf4j.LoggerFactory;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+@Singleton
 public class SettingsProvider implements Provider<Settings> {
 
 	private static final Logger LOG = LoggerFactory.getLogger(Settings.class);