Skip to content

Commit aeea05e

Browse files
committed
Reviews
1 parent 3e0fafa commit aeea05e

File tree

7 files changed

+27
-56
lines changed

7 files changed

+27
-56
lines changed

maven-wrapper/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
<dependency>
4747
<groupId>${project.groupId}</groupId>
4848
<artifactId>core</artifactId>
49-
<version>0.7.0-SNAPSHOT</version>
49+
<version>0.8.0-SNAPSHOT</version>
5050
</dependency>
5151
<dependency>
5252
<groupId>${project.groupId}</groupId>

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package fi.helsinki.cs.tmc.actions;
22

3+
import fi.helsinki.cs.tmc.core.TmcCore;
34
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory;
45
import fi.helsinki.cs.tmc.core.domain.Course;
6+
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
57
import fi.helsinki.cs.tmc.core.domain.Review;
68
import fi.helsinki.cs.tmc.model.CourseDb;
79
import fi.helsinki.cs.tmc.model.ReviewDb;
@@ -12,6 +14,7 @@
1214
import java.awt.event.ActionEvent;
1315
import java.awt.event.ActionListener;
1416
import java.util.List;
17+
import java.util.concurrent.Callable;
1518
import java.util.logging.Level;
1619
import java.util.logging.Logger;
1720
import javax.swing.SwingUtilities;
@@ -89,7 +92,8 @@ public void run() {
8992
}
9093

9194
// TODO via core
92-
BgTask.start("Checking for code reviews", new TmcServerCommunicationTaskFactory().getDownloadingReviewListTask(course), new BgTaskListener<List<Review>>() {
95+
Callable<List<Review>> getReviewsTask = TmcCore.get().getUnreadReviews(ProgressObserver.NULL_OBSERVER, course);
96+
BgTask.start("Checking for code reviews", getReviewsTask, new BgTaskListener<List<Review>>() {
9397
@Override
9498
public void bgTaskReady(List<Review> result) {
9599
boolean newReviews = reviewDb.setReviews(result);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public static boolean shouldRunOnStartup() {
2121
return ((TmcCoreSettingsImpl)TmcSettingsHolder.get()).isCheckingForUnopenedAtStartup();
2222
}
2323

24-
private static final TmcNotificationDisplayer.SingletonToken notifierToken = TmcNotificationDisplayer.createSingletonToken();
24+
private static final TmcNotificationDisplayer.SingletonToken NOTIFIER_TOKEN = TmcNotificationDisplayer.createSingletonToken();
2525

2626
private ProjectMediator projects;
2727
private CourseDb courseDb;
@@ -68,7 +68,7 @@ private void showNotification(List<Exercise> unopenedExercises) {
6868
msg = "There are " + count + " exercises that are downloaded but not opened.";
6969
prompt = "Click here to open them.";
7070
}
71-
notifier.notify(notifierToken, msg, getNotificationIcon(), prompt, openAction(unopenedExercises), NotificationDisplayer.Priority.LOW);
71+
notifier.notify(NOTIFIER_TOKEN, msg, getNotificationIcon(), prompt, openAction(unopenedExercises), NotificationDisplayer.Priority.LOW);
7272
}
7373

7474
private ActionListener openAction(final List<Exercise> exercises) {

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

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

3+
import fi.helsinki.cs.tmc.core.TmcCore;
34
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory;
45
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory.SubmissionResponse;
56
import fi.helsinki.cs.tmc.core.domain.Exercise;
7+
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
68
import fi.helsinki.cs.tmc.core.holders.TmcSettingsHolder;
79
import fi.helsinki.cs.tmc.coreimpl.TmcCoreSettingsImpl;
810

@@ -55,7 +57,7 @@ public class RequestReviewAction extends AbstractExerciseSensitiveAction {
5557
private TmcEventBus eventBus;
5658

5759
public RequestReviewAction() {
58-
this.settings = (TmcCoreSettingsImpl)TmcSettingsHolder.get();
60+
this.settings = (TmcCoreSettingsImpl) TmcSettingsHolder.get();
5961
this.courseDb = CourseDb.getInstance();
6062
this.projectMediator = ProjectMediator.getInstance();
6163
this.dialogs = ConvenientDialogDisplayer.getDefault();
@@ -109,57 +111,24 @@ private void requestCodeReviewFor(final TmcProjectInfo projectInfo, final Exerci
109111
final String messageForReviewer) {
110112
projectMediator.saveAllFiles();
111113

112-
final String errorMsgLocale = settings.getErrorMsgLocale().toString();
113-
114-
// TODO: use core
115-
BgTask.start("Zipping up " + exercise.getName(), new Callable<byte[]>() {
116-
@Override
117-
public byte[] call() throws Exception {
118-
RecursiveZipper zipper = new RecursiveZipper(projectInfo.getProjectDirAsFile(), projectInfo.getZippingDecider());
119-
return zipper.zipProjectSources();
120-
}
121-
}, new BgTaskListener<byte[]>() {
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>() {
122116
@Override
123-
public void bgTaskReady(byte[] zipData) {
124-
Map<String, String> extraParams = new HashMap<String, String>();
125-
extraParams.put("error_msg_locale", errorMsgLocale);
126-
127-
extraParams.put("request_review", "1");
128-
if (!messageForReviewer.isEmpty()) {
129-
extraParams.put("message_for_reviewer", messageForReviewer);
130-
}
131-
132-
133-
Callable<SubmissionResponse> submitTask =
134-
new TmcServerCommunicationTaskFactory().getSubmittingExerciseTask(exercise, zipData, extraParams);
135-
136-
BgTask.start("Sending " + exercise.getName(), submitTask, new BgTaskListener<SubmissionResponse>() {
137-
@Override
138-
public void bgTaskReady(SubmissionResponse result) {
139-
sendLoggableEvent(exercise, result.submissionUrl);
140-
141-
dialogs.displayMessage("Code submitted for review.\n"
142-
+ "You will be notified when an instructor has reviewed your code.");
143-
}
144-
145-
@Override
146-
public void bgTaskCancelled() {
147-
}
148-
149-
@Override
150-
public void bgTaskFailed(Throwable ex) {
151-
dialogs.displayError("Failed to submit exercise for code review", ex);
152-
}
153-
});
117+
public void bgTaskReady(TmcServerCommunicationTaskFactory.SubmissionResponse result) {
118+
sendLoggableEvent(exercise, result.submissionUrl);
119+
120+
dialogs.displayMessage("Code submitted for review.\n"
121+
+ "You will be notified when an instructor has reviewed your code.");
154122
}
155123

156124
@Override
157-
public void bgTaskCancelled() {
125+
public void bgTaskFailed(Throwable ex) {
126+
dialogs.displayError("Failed to submit exercise for code review", ex);
158127
}
159128

160129
@Override
161-
public void bgTaskFailed(Throwable ex) {
162-
dialogs.displayError("Failed to zip up exercise", ex);
130+
public void bgTaskCancelled() {
131+
log.log(Level.INFO, "Request code review action was cancelled");
163132
}
164133
});
165134
}

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

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

3-
import fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory;
3+
import fi.helsinki.cs.tmc.core.TmcCore;
4+
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
45

56
import com.google.gson.Gson;
67

@@ -120,10 +121,11 @@ public void actionPerformed(ActionEvent e) {
120121

121122
private void markAsRead(Review review) {
122123
// TODO: use core
123-
Callable<Void> task = new TmcServerCommunicationTaskFactory().getMarkingReviewAsReadTask(review, true);
124+
Callable<Void> task = TmcCore.get().markReviewAsRead(ProgressObserver.NULL_OBSERVER, review);
124125
BgTask.start("Marking review as read", task, new BgTaskListener<Void>() {
125126
@Override
126127
public void bgTaskReady(Void result) {
128+
log.log(Level.INFO, "Marking review as read succeeded.");
127129
}
128130

129131
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public void bgTaskCancelled() {
9191

9292
@Override
9393
public void bgTaskFailed(Throwable ex) {
94-
log.warning("moduleInstall refresh failed " + ex);
94+
log.log(Level.WARNING, "moduleInstall refresh failed ", ex);
9595
}
9696
}).run();
9797
}

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
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.Exercise;
65
import fi.helsinki.cs.tmc.core.domain.ProgressObserver;
76
import fi.helsinki.cs.tmc.core.utilities.ServerErrorHelper;
87
import fi.helsinki.cs.tmc.core.events.TmcEvent;
98
import fi.helsinki.cs.tmc.events.TmcEventBus;
109
import fi.helsinki.cs.tmc.model.CourseDb;
11-
import fi.helsinki.cs.tmc.model.ExerciseUpdateOverwritingDecider;
1210
import fi.helsinki.cs.tmc.model.ProjectMediator;
1311
import fi.helsinki.cs.tmc.model.TmcProjectInfo;
1412
import fi.helsinki.cs.tmc.ui.ConvenientDialogDisplayer;
1513
import fi.helsinki.cs.tmc.utilities.AggregatingBgTaskListener;
1614
import fi.helsinki.cs.tmc.utilities.BgTask;
1715
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
18-
import fi.helsinki.cs.tmc.utilities.zip.NbProjectUnzipper;
1916

2017
import com.google.common.collect.ImmutableList;
2118
import java.awt.event.ActionEvent;
2219
import java.awt.event.ActionListener;
2320
import java.io.File;
24-
import java.io.IOException;
2521
import java.util.ArrayList;
2622
import java.util.Collection;
2723
import java.util.List;

0 commit comments

Comments
 (0)