12
12
import fi .helsinki .cs .tmc .core .commands .RequestCodeReview ;
13
13
import fi .helsinki .cs .tmc .core .commands .RunCheckStyle ;
14
14
import fi .helsinki .cs .tmc .core .commands .RunTests ;
15
+ import fi .helsinki .cs .tmc .core .commands .SendDiagnostics ;
15
16
import fi .helsinki .cs .tmc .core .commands .SendFeedback ;
16
17
import fi .helsinki .cs .tmc .core .commands .SendSpywareEvents ;
17
18
import fi .helsinki .cs .tmc .core .commands .Submit ;
25
26
import fi .helsinki .cs .tmc .core .domain .submission .SubmissionResult ;
26
27
import fi .helsinki .cs .tmc .core .holders .TmcLangsHolder ;
27
28
import fi .helsinki .cs .tmc .core .holders .TmcSettingsHolder ;
29
+ import fi .helsinki .cs .tmc .core .utilities .ExceptionTrackingCallable ;
28
30
import fi .helsinki .cs .tmc .langs .abstraction .ValidationResult ;
29
31
import fi .helsinki .cs .tmc .langs .domain .RunResult ;
30
32
import fi .helsinki .cs .tmc .langs .util .TaskExecutor ;
@@ -72,81 +74,88 @@ public TmcCore(TmcSettings settings, TaskExecutor tmcLangs) {
72
74
TmcLangsHolder .set (tmcLangs );
73
75
}
74
76
77
+ public Callable <Void > sendDiagnostics (
78
+ ProgressObserver observer ) {
79
+ logger .info ("Creating new SendDiagnostics command" );
80
+ return new SendDiagnostics (observer );
81
+ }
82
+
75
83
public Callable <List <Exercise >> downloadOrUpdateExercises (
76
84
ProgressObserver observer , List <Exercise > exercises ) {
77
85
logger .info ("Creating new DownloadOrUpdateExercises command" );
78
- return new DownloadOrUpdateExercises (observer , exercises );
86
+ return new ExceptionTrackingCallable <>( new DownloadOrUpdateExercises (observer , exercises ) );
79
87
}
80
88
81
89
// TODO: returns new course.
82
90
public Callable <Course > getCourseDetails (ProgressObserver observer , Course course ) {
83
91
logger .info ("Creating new GetCourseDetails command" );
84
- return new GetCourseDetails (observer , course );
92
+ return new ExceptionTrackingCallable <>( new GetCourseDetails (observer , course ) );
85
93
}
86
94
87
95
public Callable <List <Course >> listCourses (ProgressObserver observer ) {
88
96
logger .info ("Creating new ListCourses command" );
89
- return new ListCourses (observer );
97
+ return new ExceptionTrackingCallable <>( new ListCourses (observer ) );
90
98
}
91
99
92
100
public Callable <URI > pasteWithComment (
93
101
ProgressObserver observer , Exercise exercise , String message ) {
94
102
logger .info ("Creating new PasteWithComment command" );
95
- return new PasteWithComment (observer , exercise , message );
103
+ return new ExceptionTrackingCallable <>( new PasteWithComment (observer , exercise , message ) );
96
104
}
97
105
98
106
public Callable <ValidationResult > runCheckStyle (ProgressObserver observer , Exercise exercise ) {
99
107
logger .info ("Creating new RunCheckStyle command" );
100
- return new RunCheckStyle (observer , exercise );
108
+ return new ExceptionTrackingCallable <>( new RunCheckStyle (observer , exercise ) );
101
109
}
102
110
103
111
public Callable <RunResult > runTests (ProgressObserver observer , Exercise exercise ) {
104
112
logger .info ("Creating new RunTests command" );
105
- return new RunTests (observer , exercise );
113
+ return new ExceptionTrackingCallable <>( new ExceptionTrackingCallable <>( new RunTests (observer , exercise )) );
106
114
}
107
115
108
116
public Callable <Boolean > sendFeedback (
109
117
ProgressObserver observer , List <FeedbackAnswer > answers , URI feedbackUri ) {
110
118
logger .info ("Creating new SendFeedback command" );
111
- return new SendFeedback (observer , answers , feedbackUri );
119
+ return new ExceptionTrackingCallable <>( new SendFeedback (observer , answers , feedbackUri ) );
112
120
}
113
121
114
122
public Callable <Void > sendSpywareEvents (
115
- ProgressObserver observer , Course currentCourse , List <LoggableEvent > events ) {
123
+ final ProgressObserver observer , final Course currentCourse , final List <LoggableEvent > events ) {
116
124
logger .info ("Creating new SenSpywareEvents command" );
117
- return new SendSpywareEvents (observer , currentCourse , events );
125
+ return new ExceptionTrackingCallable <>(new SendSpywareEvents (observer , currentCourse , events ));
126
+
118
127
}
119
128
120
129
public Callable <SubmissionResult > submit (ProgressObserver observer , Exercise exercise ) {
121
130
logger .info ("Creating new Submit command" );
122
- return new Submit (observer , exercise );
131
+ return new ExceptionTrackingCallable <>( new Submit (observer , exercise ) );
123
132
}
124
133
125
134
public Callable <GetUpdatableExercises .UpdateResult > getExerciseUpdates (
126
135
ProgressObserver observer , Course course ) {
127
136
logger .info ("Creating new GetUpdatableExercises command" );
128
- return new GetUpdatableExercises (observer , course );
137
+ return new ExceptionTrackingCallable <>( new GetUpdatableExercises (observer , course ) );
129
138
}
130
139
131
140
public Callable <Void > markReviewAsRead (ProgressObserver observer , Review review ) {
132
141
logger .info ("Creating new MarkReviewAsRead command" );
133
- return new MarkReviewAsRead (observer , review );
142
+ return new ExceptionTrackingCallable <>( new MarkReviewAsRead (observer , review ) );
134
143
}
135
144
136
145
public Callable <List <Review >> getUnreadReviews (ProgressObserver observer , Course course ) {
137
146
logger .info ("Creating new GetUnreadReviews command" );
138
- return new GetUnreadReviews (observer , course );
147
+ return new ExceptionTrackingCallable <>( new GetUnreadReviews (observer , course ) );
139
148
}
140
149
141
150
public Callable <TmcServerCommunicationTaskFactory .SubmissionResponse > requestCodeReview (
142
151
ProgressObserver observer , Exercise exercise , String messageForReviewer ) {
143
152
logger .info ("Creating new RequestCodeReview command" );
144
- return new RequestCodeReview (observer , exercise , messageForReviewer );
153
+ return new ExceptionTrackingCallable <>( new RequestCodeReview (observer , exercise , messageForReviewer ) );
145
154
}
146
155
147
156
public Callable <Exercise > downloadModelSolution (ProgressObserver observer , Exercise exercise ) {
148
157
logger .info ("Creating new DownloadModelSolution command" );
149
- return new DownloadModelSolution (observer , exercise );
158
+ return new ExceptionTrackingCallable <>( new DownloadModelSolution (observer , exercise ) );
150
159
}
151
160
152
161
/**
@@ -156,6 +165,6 @@ public Callable<Exercise> downloadModelSolution(ProgressObserver observer, Exerc
156
165
*/
157
166
public Callable <Void > downloadCompletedExercises (ProgressObserver observer ) {
158
167
logger .info ("Creating new DownloadCompletedExercises command" );
159
- return new DownloadCompletedExercises (observer );
168
+ return new ExceptionTrackingCallable <>( new DownloadCompletedExercises (observer ) );
160
169
}
161
170
}
0 commit comments