Skip to content

Commit aae316c

Browse files
committed
Fix failing tests
1 parent 625710f commit aae316c

File tree

6 files changed

+29
-14
lines changed

6 files changed

+29
-14
lines changed

core/src/main/java/edu/wpi/grip/core/GRIPCoreModule.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
105105

106106
bind(EventBus.class).toInstance(eventBus);
107107

108-
bind(FileManager.class).to(GripFileManager.class);
109-
110108
// Allow for just injecting the settings provider, instead of the whole pipeline
111109
bind(SettingsProvider.class).to(Pipeline.class);
112110

core/src/main/java/edu/wpi/grip/core/GripFileManager.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,30 @@
88
import java.util.logging.Level;
99
import java.util.logging.Logger;
1010

11+
import static com.google.common.base.Preconditions.checkNotNull;
12+
1113
@Singleton
1214
public class GripFileManager implements FileManager {
1315

1416
private static final Logger logger = Logger.getLogger(GripFileManager.class.getName());
1517

16-
private final File gripDirectory;
17-
private final File imageDirectory;
18+
private static final File gripDirectory = new File(System.getProperty("user.home") + File.separator + "GRIP");
19+
private static final File imageDirectory = new File(gripDirectory, "images");
1820

1921
public GripFileManager() {
20-
gripDirectory = new File(System.getProperty("user.home") + File.separator + "GRIP");
21-
imageDirectory = new File(gripDirectory, "images");
22+
gripDirectory.mkdirs();
23+
imageDirectory.mkdirs();
2224
}
2325

2426
@Override
2527
public void saveImage(byte[] image, String fileName) {
28+
checkNotNull(image);
29+
checkNotNull(fileName);
30+
2631
File file = new File(imageDirectory, fileName);
2732
Runnable runnable = () -> {
2833
try {
29-
imageDirectory.mkdirs();
34+
imageDirectory.mkdirs(); // If the user deletes the directory
3035
Files.write(image, file);
3136
} catch (IOException ex) {
3237
logger.log(Level.WARNING, ex.getMessage(), ex);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package edu.wpi.grip.core;
2+
3+
import com.google.inject.AbstractModule;
4+
5+
public class GripFileModule extends AbstractModule {
6+
@Override
7+
protected void configure() {
8+
bind(FileManager.class).to(GripFileManager.class);
9+
}
10+
}

core/src/test/java/edu/wpi/grip/core/operations/OperationsFactory.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import com.google.common.eventbus.EventBus;
5+
import edu.wpi.grip.core.FileManager;
56
import edu.wpi.grip.core.operations.network.MapNetworkPublisherFactory;
67
import edu.wpi.grip.core.operations.network.MockMapNetworkPublisher;
78
import edu.wpi.grip.core.operations.network.ros.JavaToMessageConverter;
@@ -11,6 +12,7 @@
1112
import edu.wpi.grip.core.sockets.MockInputSocketFactory;
1213
import edu.wpi.grip.core.sockets.MockOutputSocketFactory;
1314
import edu.wpi.grip.core.sockets.OutputSocket;
15+
import edu.wpi.grip.core.util.MockFileManager;
1416

1517
import java.util.Optional;
1618

@@ -38,17 +40,16 @@ public void close() {
3840
}
3941

4042
public static Operations create(EventBus eventBus) {
41-
42-
return create(eventBus, MockMapNetworkPublisher::new, MockROSMessagePublisher::new,
43-
new MockInputSocketFactory(eventBus), new MockOutputSocketFactory(eventBus));
43+
return create(eventBus, MockMapNetworkPublisher::new, MockROSMessagePublisher::new, new MockFileManager(), new MockInputSocketFactory(eventBus), new MockOutputSocketFactory(eventBus));
4444
}
4545

4646
public static Operations create(EventBus eventBus,
4747
MapNetworkPublisherFactory mapFactory,
4848
ROSNetworkPublisherFactory rosFactory,
49+
FileManager fileManager,
4950
InputSocket.Factory isf,
5051
OutputSocket.Factory osf) {
51-
return new Operations(eventBus, mapFactory, rosFactory, isf, osf);
52+
return new Operations(eventBus, mapFactory, rosFactory, fileManager, isf, osf);
5253
}
5354

5455
public static CVOperations createCV(EventBus eventBus) {

core/src/test/java/edu/wpi/grip/core/util/MockFileManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
public class MockFileManager implements FileManager {
66
@Override
77
public void saveImage(byte[] image, String fileName) {
8-
8+
// No body here because this is for testing only.
99
}
1010
}

ui/src/main/java/edu/wpi/grip/ui/Main.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import edu.wpi.grip.core.operations.network.GRIPNetworkModule;
1616
import edu.wpi.grip.core.serialization.Project;
1717
import edu.wpi.grip.core.sources.GRIPSourcesHardwareModule;
18+
import edu.wpi.grip.core.GripFileModule;
1819
import edu.wpi.grip.core.util.SafeShutdown;
1920
import edu.wpi.grip.ui.util.DPIUtility;
2021
import javafx.application.Application;
@@ -63,13 +64,13 @@ public void start(Stage stage) throws Exception {
6364

6465
if (parameters.contains("--headless")) {
6566
// If --headless was specified on the command line, run in headless mode (only use the core module)
66-
injector = Guice.createInjector(new GRIPCoreModule(), new GRIPNetworkModule(), new GRIPSourcesHardwareModule());
67+
injector = Guice.createInjector(new GRIPCoreModule(), new GripFileModule(), new GRIPNetworkModule(), new GRIPSourcesHardwareModule());
6768
injector.injectMembers(this);
6869

6970
parameters.remove("--headless");
7071
} else {
7172
// Otherwise, run with both the core and UI modules, and show the JavaFX stage
72-
injector = Guice.createInjector(Modules.override(new GRIPCoreModule(), new GRIPNetworkModule(), new GRIPSourcesHardwareModule()).with(new GRIPUIModule()));
73+
injector = Guice.createInjector(Modules.override(new GRIPCoreModule(), new GripFileModule(), new GRIPNetworkModule(), new GRIPSourcesHardwareModule()).with(new GRIPUIModule()));
7374
injector.injectMembers(this);
7475

7576
root = FXMLLoader.load(Main.class.getResource("MainWindow.fxml"), null, null, injector::getInstance);

0 commit comments

Comments
 (0)