Skip to content

Commit d5865c3

Browse files
committed
Imports, cleanup, version
1 parent eee9116 commit d5865c3

33 files changed

+162
-1013
lines changed

tmc-plugin/src/fi/helsinki/cs/tmc/actions/AbstractExerciseSensitiveAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package fi.helsinki.cs.tmc.actions;
22

33
import fi.helsinki.cs.tmc.core.domain.Exercise;
4-
import fi.helsinki.cs.tmc.events.TmcEventBus;
5-
import fi.helsinki.cs.tmc.events.TmcEventListener;
4+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
5+
import fi.helsinki.cs.tmc.core.events.TmcEventListener;
66
import fi.helsinki.cs.tmc.model.CourseDb;
77
import fi.helsinki.cs.tmc.model.ProjectMediator;
88

tmc-plugin/src/fi/helsinki/cs/tmc/actions/CheckForNewExercisesOrUpdates.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
77
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
88
import fi.helsinki.cs.tmc.coreimpl.TmcCoreSettingsImpl;
9-
import fi.helsinki.cs.tmc.data.CourseListUtils;
109
import fi.helsinki.cs.tmc.core.events.TmcEvent;
1110
import fi.helsinki.cs.tmc.core.exceptions.ObsoleteClientException;
12-
import fi.helsinki.cs.tmc.events.TmcEventBus;
11+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
12+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
1313
import fi.helsinki.cs.tmc.model.CourseDb;
1414
import fi.helsinki.cs.tmc.model.LocalExerciseStatus;
1515
import fi.helsinki.cs.tmc.ui.DownloadOrUpdateExercisesDialog;
@@ -92,8 +92,9 @@ public void run() {
9292
}
9393
eventBus.post(new InvokedEvent(currentCourseBeforeUpdate));
9494

95-
Callable<Course> getFullCourseInfoTask = TmcCore.get().getCourseDetails(ProgressObserver.NULL_OBSERVER, courseDb.getCurrentCourse());
96-
BgTask.start("Checking for new exercises", getFullCourseInfoTask, new BgTaskListener<Course>() {
95+
ProgressObserver observer = new BridgingProgressObserver();
96+
Callable<Course> getFullCourseInfoTask = TmcCore.get().getCourseDetails(observer, courseDb.getCurrentCourse());
97+
BgTask.start("Checking for new exercises", getFullCourseInfoTask, observer, new BgTaskListener<Course>() {
9798
@Override
9899
public void bgTaskReady(Course receivedCourse) {
99100
if (receivedCourse != null) {

tmc-plugin/src/fi/helsinki/cs/tmc/actions/CheckForNewReviews.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package fi.helsinki.cs.tmc.actions;
22

33
import fi.helsinki.cs.tmc.core.TmcCore;
4-
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory;
54
import fi.helsinki.cs.tmc.core.domain.Course;
65
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
76
import fi.helsinki.cs.tmc.core.domain.Review;
7+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
88
import fi.helsinki.cs.tmc.model.CourseDb;
99
import fi.helsinki.cs.tmc.model.ReviewDb;
1010
import fi.helsinki.cs.tmc.ui.ConvenientDialogDisplayer;
@@ -91,9 +91,9 @@ public void run() {
9191
return;
9292
}
9393

94-
// TODO via core
95-
Callable<List<Review>> getReviewsTask = TmcCore.get().getUnreadReviews(ProgressObserver.NULL_OBSERVER, course);
96-
BgTask.start("Checking for code reviews", getReviewsTask, new BgTaskListener<List<Review>>() {
94+
ProgressObserver observer = new BridgingProgressObserver();
95+
Callable<List<Review>> getReviewsTask = TmcCore.get().getUnreadReviews(observer, course);
96+
BgTask.start("Checking for code reviews", getReviewsTask, observer, new BgTaskListener<List<Review>>() {
9797
@Override
9898
public void bgTaskReady(List<Review> result) {
9999
boolean newReviews = reviewDb.setReviews(result);

tmc-plugin/src/fi/helsinki/cs/tmc/actions/DownloadCompletedExercises.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
77
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
88
import fi.helsinki.cs.tmc.core.events.TmcEvent;
9-
import fi.helsinki.cs.tmc.core.exceptions.ObsoleteClientException;
10-
import fi.helsinki.cs.tmc.events.TmcEventBus;
9+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
10+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
1111
import fi.helsinki.cs.tmc.model.CourseDb;
1212
import fi.helsinki.cs.tmc.model.LocalExerciseStatus;
1313
import fi.helsinki.cs.tmc.ui.ConvenientDialogDisplayer;
@@ -52,8 +52,9 @@ public void actionPerformed(ActionEvent e) {
5252

5353
eventBus.post(new InvokedEvent(currentCourse));
5454

55-
Callable<Course> getFullCourseInfoTask = TmcCore.get().getCourseDetails(ProgressObserver.NULL_OBSERVER, courseDb.getCurrentCourse());
56-
BgTask.start("Checking for new exercises", getFullCourseInfoTask, new BgTaskListener<Course>() {
55+
ProgressObserver observer = new BridgingProgressObserver();
56+
Callable<Course> getFullCourseInfoTask = TmcCore.get().getCourseDetails(observer, courseDb.getCurrentCourse());
57+
BgTask.start("Checking for new exercises", getFullCourseInfoTask, observer, new BgTaskListener<Course>() {
5758
@Override
5859
public void bgTaskReady(Course receivedCourse) {
5960
if (receivedCourse != null) {

tmc-plugin/src/fi/helsinki/cs/tmc/actions/DownloadExercisesAction.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
66
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
77
import fi.helsinki.cs.tmc.core.events.TmcEvent;
8-
import fi.helsinki.cs.tmc.events.TmcEventBus;
8+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
9+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
910
import fi.helsinki.cs.tmc.model.CourseDb;
1011
import fi.helsinki.cs.tmc.model.ProjectMediator;
1112
import fi.helsinki.cs.tmc.model.TmcProjectInfo;
@@ -57,22 +58,28 @@ public void run() {
5758
}
5859

5960
private void startDownloading(final Exercise exercise, final BgTaskListener<TmcProjectInfo> listener) {
60-
Callable<List<Exercise>> downloadExercisesTask = TmcCore.get().downloadOrUpdateExercises(ProgressObserver.NULL_OBSERVER, Lists.newArrayList(exercise));
6161

62-
BgTask.start("Downloading " + exercise.getName(), downloadExercisesTask, new BgTaskListener<List<Exercise>>() {
62+
ProgressObserver observer = new BridgingProgressObserver();
63+
64+
Callable<List<Exercise>> downloadExercisesTask = TmcCore.get().downloadOrUpdateExercises(observer, Lists.newArrayList(exercise));
65+
66+
BgTask.start("Downloading " + exercise.getName(), downloadExercisesTask, observer, new BgTaskListener<List<Exercise>>() {
6367
@Override
6468
public void bgTaskReady(List<Exercise> result) {
6569
try {
6670
logger.warning("res: " + result);
6771
// There is only one exercise given as parameter.
72+
if (result.isEmpty()) {
73+
logger.log(Level.INFO, "Download task returned an empty list");
74+
return;
75+
}
6876
TmcProjectInfo proj = projectMediator.tryGetProjectForExercise(result.get(0));
6977

7078
if (proj == null) {
7179
throw new RuntimeException("Failed to open project for exercise " + exercise.getName());
7280
}
7381

7482
// Need to invoke courseDb in swing thread to avoid races
75-
// java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread
7683
TmcSwingUtilities.ensureEdt(new Runnable() {
7784
@Override
7885
public void run() {

tmc-plugin/src/fi/helsinki/cs/tmc/actions/DownloadSolutionAction.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
66
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
77
import fi.helsinki.cs.tmc.core.events.TmcEvent;
8-
import fi.helsinki.cs.tmc.events.TmcEventBus;
8+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
9+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
910
import fi.helsinki.cs.tmc.model.CourseDb;
1011
import fi.helsinki.cs.tmc.model.ProjectMediator;
1112
import fi.helsinki.cs.tmc.model.TmcProjectInfo;
@@ -130,8 +131,9 @@ public Void apply(Boolean yes) {
130131

131132
private void downloadSolution(final Exercise ex, final TmcProjectInfo proj) {
132133
Exercise exercise = exerciseForProject(proj.getProject());
133-
Callable<Exercise> dlModelSolutionTask = TmcCore.get().downloadModelSolution(ProgressObserver.NULL_OBSERVER, exercise);
134-
BgTask.start("Downloading suggested solution", dlModelSolutionTask,
134+
ProgressObserver observer = new BridgingProgressObserver();
135+
Callable<Exercise> dlModelSolutionTask = TmcCore.get().downloadModelSolution(observer, exercise);
136+
BgTask.start("Downloading suggested solution", dlModelSolutionTask, observer,
135137
new BgTaskListener<Object>() {
136138
@Override
137139
public void bgTaskReady(Object result) {

tmc-plugin/src/fi/helsinki/cs/tmc/actions/PastebinAction.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
77
import fi.helsinki.cs.tmc.coreimpl.TmcCoreSettingsImpl;
88
import fi.helsinki.cs.tmc.core.events.TmcEvent;
9-
import fi.helsinki.cs.tmc.events.TmcEventBus;
9+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
10+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
1011
import fi.helsinki.cs.tmc.model.CourseDb;
1112
import fi.helsinki.cs.tmc.model.ProjectMediator;
1213
import fi.helsinki.cs.tmc.model.TmcProjectInfo;
@@ -120,11 +121,12 @@ private void submitPaste(
120121
final String messageForReviewer) {
121122
projectMediator.saveAllFiles();
122123

124+
ProgressObserver observer = new BridgingProgressObserver();
123125
Callable<URI> pasteTask = TmcCore.get()
124-
.pasteWithComment(ProgressObserver.NULL_OBSERVER, exercise, messageForReviewer);
126+
.pasteWithComment(observer, exercise, messageForReviewer);
125127

126128
BgTask.start(
127-
"Sending " + exercise.getName(), pasteTask, new BgTaskListener<URI>() {
129+
"Sending " + exercise.getName(), pasteTask, observer, new BgTaskListener<URI>() {
128130
@Override
129131
public void bgTaskReady(URI result) {
130132
new PastebinResponseDialog(result.toString())

tmc-plugin/src/fi/helsinki/cs/tmc/actions/RefreshCoursesAction.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import fi.helsinki.cs.tmc.core.domain.Course;
55
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
66
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
7+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
78

89
import fi.helsinki.cs.tmc.data.CourseListUtils;
910
import fi.helsinki.cs.tmc.model.CourseDb;
@@ -50,17 +51,19 @@ public RefreshCoursesAction addListener(BgTaskListener<List<Course>> listener) {
5051

5152
public void run() {
5253
log.log(Level.INFO, "Running list courses");
53-
Callable<List<Course>> courseListTask = TmcCore.get().listCourses(ProgressObserver.NULL_OBSERVER);
54+
ProgressObserver observer = new BridgingProgressObserver();
55+
Callable<List<Course>> courseListTask = TmcCore.get().listCourses(observer);
5456

55-
BgTask.start("Refreshing course list", courseListTask, new BgTaskListener<List<Course>>() {
57+
BgTask.start("Refreshing course list", courseListTask, observer, new BgTaskListener<List<Course>>() {
5658

5759
@Override
5860
public void bgTaskReady(final List<Course> courses) {
5961
Course currentCourseStub = CourseListUtils.getCourseByName(courses, courseDb.getCurrentCourseName());
6062
if (currentCourseStub != null) {
61-
Callable<Course> currentCourseTask = TmcCore.get().getCourseDetails(ProgressObserver.NULL_OBSERVER, currentCourseStub);
63+
ProgressObserver observer = new BridgingProgressObserver();
64+
Callable<Course> currentCourseTask = TmcCore.get().getCourseDetails(observer, currentCourseStub);
6265

63-
BgTask.start("Loading course", currentCourseTask, new BgTaskListener<Course>() {
66+
BgTask.start("Loading course", currentCourseTask, observer, new BgTaskListener<Course>() {
6467
@Override
6568
public void bgTaskReady(Course currentCourse) {
6669
currentCourse.setExercisesLoaded(true);

tmc-plugin/src/fi/helsinki/cs/tmc/actions/RequestReviewAction.java

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

33
import fi.helsinki.cs.tmc.core.TmcCore;
44
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory;
5-
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory.SubmissionResponse;
65
import fi.helsinki.cs.tmc.core.domain.Exercise;
76
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
87
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
8+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
99
import fi.helsinki.cs.tmc.coreimpl.TmcCoreSettingsImpl;
1010

1111
import com.google.gson.Gson;
1212

13-
import fi.helsinki.cs.tmc.events.TmcEventBus;
13+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
1414
import fi.helsinki.cs.tmc.model.CourseDb;
1515
import fi.helsinki.cs.tmc.model.ProjectMediator;
1616
import fi.helsinki.cs.tmc.model.TmcProjectInfo;
@@ -19,15 +19,12 @@
1919
import fi.helsinki.cs.tmc.ui.ConvenientDialogDisplayer;
2020
import fi.helsinki.cs.tmc.utilities.BgTask;
2121
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
22-
import fi.helsinki.cs.tmc.utilities.zip.RecursiveZipper;
2322

2423
import java.awt.event.ActionEvent;
2524
import java.awt.event.ActionListener;
2625
import java.net.URI;
2726
import java.nio.charset.Charset;
28-
import java.util.HashMap;
2927
import java.util.List;
30-
import java.util.Map;
3128
import java.util.concurrent.Callable;
3229
import java.util.logging.Level;
3330
import java.util.logging.Logger;
@@ -111,8 +108,9 @@ private void requestCodeReviewFor(final TmcProjectInfo projectInfo, final Exerci
111108
final String messageForReviewer) {
112109
projectMediator.saveAllFiles();
113110

114-
Callable<TmcServerCommunicationTaskFactory.SubmissionResponse> requestReview = TmcCore.get().requestCodeReview(ProgressObserver.NULL_OBSERVER, exercise, messageForReviewer);
115-
BgTask.start("Requesting code review " + exercise.getName(), requestReview, new BgTaskListener<TmcServerCommunicationTaskFactory.SubmissionResponse>() {
111+
ProgressObserver observer = new BridgingProgressObserver();
112+
Callable<TmcServerCommunicationTaskFactory.SubmissionResponse> requestReview = TmcCore.get().requestCodeReview(observer, exercise, messageForReviewer);
113+
BgTask.start("Requesting code review " + exercise.getName(), requestReview, observer, new BgTaskListener<TmcServerCommunicationTaskFactory.SubmissionResponse>() {
116114
@Override
117115
public void bgTaskReady(TmcServerCommunicationTaskFactory.SubmissionResponse result) {
118116
sendLoggableEvent(exercise, result.submissionUrl);

tmc-plugin/src/fi/helsinki/cs/tmc/actions/ReviewEventListener.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77

88
import fi.helsinki.cs.tmc.core.domain.Review;
99
import fi.helsinki.cs.tmc.core.events.TmcEvent;
10-
import fi.helsinki.cs.tmc.events.TmcEventBus;
11-
import fi.helsinki.cs.tmc.events.TmcEventListener;
10+
import fi.helsinki.cs.tmc.coreimpl.BridgingProgressObserver;
11+
import fi.helsinki.cs.tmc.core.events.TmcEventBus;
12+
import fi.helsinki.cs.tmc.core.events.TmcEventListener;
1213
import fi.helsinki.cs.tmc.model.CourseDb;
1314
import fi.helsinki.cs.tmc.model.PushEventListener;
1415
import fi.helsinki.cs.tmc.model.ReviewDb;
@@ -120,9 +121,9 @@ public void actionPerformed(ActionEvent e) {
120121
}
121122

122123
private void markAsRead(Review review) {
123-
// TODO: use core
124+
ProgressObserver observer = new BridgingProgressObserver();
124125
Callable<Void> task = TmcCore.get().markReviewAsRead(ProgressObserver.NULL_OBSERVER, review);
125-
BgTask.start("Marking review as read", task, new BgTaskListener<Void>() {
126+
BgTask.start("Marking review as read", task, observer, new BgTaskListener<Void>() {
126127
@Override
127128
public void bgTaskReady(Void result) {
128129
log.log(Level.INFO, "Marking review as read succeeded.");

0 commit comments

Comments
 (0)