Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 2a8ae77

Browse files
author
Irene
committed
Allow setting password & small tweaks
1 parent 0cd7856 commit 2a8ae77

File tree

7 files changed

+31
-39
lines changed

7 files changed

+31
-39
lines changed

src/main/java/fi/helsinki/cs/tmc/cli/Application.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import fi.helsinki.cs.tmc.cli.command.SubmitCommand;
88
import fi.helsinki.cs.tmc.cli.core.AbstractCommand;
99
import fi.helsinki.cs.tmc.cli.core.CliContext;
10-
import fi.helsinki.cs.tmc.cli.io.*;
10+
import fi.helsinki.cs.tmc.cli.io.ShutdownHandler;
11+
import fi.helsinki.cs.tmc.cli.io.Io;
12+
import fi.helsinki.cs.tmc.cli.io.EnvironmentUtil;
13+
import fi.helsinki.cs.tmc.cli.io.HelpGenerator;
14+
import fi.helsinki.cs.tmc.cli.io.WorkDir;
1115
import fi.helsinki.cs.tmc.cli.updater.AutoUpdater;
1216
import fi.helsinki.cs.tmc.cli.core.CommandFactory;
1317

src/main/java/fi/helsinki/cs/tmc/cli/analytics/AnalyticsFacade.java

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,11 @@
22

33
import fi.helsinki.cs.tmc.core.domain.Course;
44
import fi.helsinki.cs.tmc.core.domain.Exercise;
5-
import fi.helsinki.cs.tmc.core.exceptions.UninitializedHolderException;
6-
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
75
import fi.helsinki.cs.tmc.spyware.EventSendBuffer;
8-
import fi.helsinki.cs.tmc.spyware.EventStore;
96
import fi.helsinki.cs.tmc.spyware.LoggableEvent;
107
import fi.helsinki.cs.tmc.spyware.SpywareSettings;
118
import org.slf4j.LoggerFactory;
12-
13-
import java.awt.*;
14-
import java.security.spec.ECField;
15-
import java.util.List;
16-
import java.util.Map;
179
import java.util.Optional;
18-
import java.util.logging.Logger;
1910

2011
public class AnalyticsFacade {
2112
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(AnalyticsFacade.class);
@@ -60,15 +51,6 @@ public void saveAnalytics(Exercise exercise, String command) {
6051
saveEvent(event);
6152
}
6253

63-
private void saveEvent(LoggableEvent event) {
64-
this.eventSendBuffer.receiveEvent(event);
65-
try {
66-
eventSendBuffer.saveNow(1000);
67-
} catch (Exception e) {
68-
logger.warn("Failed to save events: ", e.getStackTrace());
69-
}
70-
}
71-
7254
public Optional<Thread> sendAnalytics() {
7355
if (!settings.isSpywareEnabled()) {
7456
return Optional.empty();
@@ -77,4 +59,13 @@ public Optional<Thread> sendAnalytics() {
7759
t.run();
7860
return Optional.of(t);
7961
}
62+
63+
private void saveEvent(LoggableEvent event) {
64+
this.eventSendBuffer.receiveEvent(event);
65+
try {
66+
eventSendBuffer.saveNow(1000);
67+
} catch (Exception e) {
68+
logger.warn("Failed to save events: ", e.getStackTrace());
69+
}
70+
}
8071
}

src/main/java/fi/helsinki/cs/tmc/cli/backend/AccountList.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package fi.helsinki.cs.tmc.cli.backend;
22

3-
import java.util.ArrayList;
4-
import java.util.Collections;
5-
import java.util.Iterator;
6-
import java.util.List;
3+
import java.util.*;
74

85
/**
96
* This is a class for storing all different accounts as a single array.
@@ -54,18 +51,17 @@ public void addAccount(Account newSettings) {
5451
}
5552

5653
public void deleteAccount(String username) {
57-
Account remove = null;
54+
Set<Account> removables = new HashSet<>();
5855
for (Account account : this.accountArray) {
5956
if (!account.getUsername().isPresent()) {
60-
continue;
61-
}
62-
if (account.getUsername().get().equals(username)) {
63-
remove = account;
57+
removables.add(account);
58+
} else if (account.getUsername().get().equals(username)) {
59+
removables.add(account);
6460
break;
6561
}
6662
}
67-
if (remove != null) {
68-
this.accountArray.remove(remove);
63+
if (!removables.isEmpty()) {
64+
this.accountArray.removeAll(removables);
6965
}
7066
}
7167

src/main/java/fi/helsinki/cs/tmc/cli/backend/Settings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public Optional<String> getPassword() {
124124

125125
@Override
126126
public void setPassword(Optional<String> password) {
127-
throw new RuntimeException("Using password is deprecated");
127+
account.setPassword(password);
128128
}
129129

130130
@Override

src/main/java/fi/helsinki/cs/tmc/cli/utils/PropertyFunctions.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package fi.helsinki.cs.tmc.cli.utils;
22

3-
/**
4-
* Created by nikkaire on 5.1.2018.
5-
*/
63
public interface PropertyFunctions {
74

85
String getter();

src/test/java/fi/helsinki/cs/tmc/cli/analytics/AnalyticsFacadeTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package fi.helsinki.cs.tmc.cli.analytics;
22

3-
43
import fi.helsinki.cs.tmc.cli.Application;
54
import fi.helsinki.cs.tmc.cli.backend.*;
65
import fi.helsinki.cs.tmc.cli.command.SubmitCommandTest;
@@ -24,7 +23,10 @@
2423

2524
import static junit.framework.Assert.assertNotNull;
2625
import static org.mockito.Matchers.any;
27-
import static org.mockito.Mockito.*;
26+
import static org.mockito.Mockito.when;
27+
import static org.mockito.Mockito.verify;
28+
import static org.mockito.Mockito.times;
29+
import static org.mockito.Mockito.never;
2830
import static org.powermock.api.mockito.PowerMockito.mock;
2931
import static org.powermock.api.mockito.PowerMockito.mockStatic;
3032

src/test/java/fi/helsinki/cs/tmc/cli/command/ConfigCommandTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@
44
import static org.junit.Assert.assertTrue;
55
import static org.mockito.Matchers.any;
66
import static org.mockito.Matchers.eq;
7-
import static org.mockito.Mockito.doReturn;
8-
import static org.mockito.Mockito.spy;
97
import static org.mockito.Mockito.when;
108
import static org.powermock.api.mockito.PowerMockito.mockStatic;
119

1210
import fi.helsinki.cs.tmc.cli.Application;
1311
import fi.helsinki.cs.tmc.cli.analytics.AnalyticsFacade;
14-
import fi.helsinki.cs.tmc.cli.backend.*;
12+
import fi.helsinki.cs.tmc.cli.backend.Settings;
13+
import fi.helsinki.cs.tmc.cli.backend.Account;
14+
import fi.helsinki.cs.tmc.cli.backend.SettingsIo;
15+
import fi.helsinki.cs.tmc.cli.backend.TmcUtil;
16+
import fi.helsinki.cs.tmc.cli.backend.AccountList;
1517
import fi.helsinki.cs.tmc.cli.core.CliContext;
1618
import fi.helsinki.cs.tmc.cli.io.TestIo;
1719

0 commit comments

Comments
 (0)