Skip to content

Commit 83960f3

Browse files
committed
Add soft deadline support for exercises
1 parent b4dd1db commit 83960f3

File tree

8 files changed

+112
-10
lines changed

8 files changed

+112
-10
lines changed

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<target name="-check-mavenmodules">
1212
<uptodate property="mavenmodules.uptodate"
13-
srcfile="maven-wrapper/target/nbm/maven-wrapper-1.24.nbm"
13+
srcfile="maven-wrapper/target/nbm/maven-wrapper-1.25.nbm"
1414
targetfile="mavenmodules"/>
1515
</target>
1616

maven-wrapper/pom.xml

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

55
<groupId>fi.helsinki.cs.tmc</groupId>
66
<artifactId>maven-wrapper</artifactId>
7-
<version>1.24</version>
7+
<version>1.25</version>
88
<packaging>nbm</packaging>
99

1010
<name>TMC Maven Wrapper</name>
@@ -46,7 +46,7 @@
4646
<dependency>
4747
<groupId>${project.groupId}</groupId>
4848
<artifactId>core</artifactId>
49-
<version>0.10.7-SNAPSHOT</version>
49+
<version>0.10.8-SNAPSHOT</version>
5050
</dependency>
5151
<dependency>
5252
<groupId>${project.groupId}</groupId>

tmc-plugin/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ OpenIDE-Module-Requires:
66
org.openide.windows.IOProvider,
77
org.openide.windows.WindowManager
88
OpenIDE-Module-Install: fi/helsinki/cs/tmc/actions/TmcModuleInstall.class
9-
OpenIDE-Module-Specification-Version: 1.1.17
9+
OpenIDE-Module-Specification-Version: 1.1.18

tmc-plugin/src/fi/helsinki/cs/tmc/ui/DownloadOrUpdateExercisesDialog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ private DownloadOrUpdateExercisesDialog(List<Exercise> unlockable, List<Exercise
6868
unlockableCheckboxes = new ArrayList<JCheckBox>();
6969
for (Exercise ex : unlockable) {
7070
String desc;
71-
if (ex.getDeadlineDescription() != null) {
71+
if (ex.getSoftDeadlineDescription() != null) {
72+
desc = "unlockable; deadline: " + ex.getSoftDeadlineDescription();
73+
} else if (ex.getDeadlineDescription() != null) {
7274
desc = "unlockable; deadline: " + ex.getDeadlineDescription();
7375
} else {
7476
desc = "unlockable";

tmc-plugin/src/fi/helsinki/cs/tmc/ui/ExerciseIconAnnotator.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ private Image annotationIconForExericse(Exercise exercise) throws IOException {
102102
private String annotationIconNameForExercise(Exercise exercise) {
103103
if (exercise.isAttempted() && exercise.isCompleted() && exercise.isAllReviewPointsGiven()) {
104104
return "green-project-dot.png";
105+
} else if (exercise.hasSoftDeadlinePassed()) {
106+
return "soft-deadline-passed-project-dot.png";
105107
} else if (exercise.hasDeadlinePassed()) {
106108
return "expired-project-dot.png";
107109
} else if (exercise.isAttempted() && exercise.isCompleted()) {
@@ -136,15 +138,23 @@ private String tooltipForExercise(Exercise exercise) {
136138
parts.add("exercise not yet submitted");
137139
}
138140

139-
final Date deadlineDate = exercise.getDeadlineDate();
140-
if (!exercise.isCompleted() && deadlineDate != null) {
141-
parts.add("deadline: " + deadlineDate);
141+
final Date softDeadlineDate = exercise.getSoftDeadlineDate();
142+
if (!exercise.isCompleted() && softDeadlineDate != null) {
143+
parts.add("Soft deadline: " + softDeadlineDate);
144+
if (exercise.hasSoftDeadlinePassed()) {
145+
parts.add("expired");
146+
}
147+
}
148+
149+
final Date hardDeadlineDate = exercise.getDeadlineDate();
150+
if (!exercise.isCompleted() && hardDeadlineDate != null) {
151+
parts.add("Hard deadline: " + hardDeadlineDate);
142152
if (exercise.hasDeadlinePassed()) {
143153
parts.add("expired");
144154
}
145155
}
146156

147-
return StringUtils.capitalize(StringUtils.join(parts, " - "));
157+
return StringUtils.capitalize(StringUtils.join(parts, "<br>"));
148158
}
149159

150160
public void updateAllIcons() {

tmc-plugin/src/fi/helsinki/cs/tmc/ui/OpenClosedExercisesDialog.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,11 @@ private OpenClosedExercisesDialog(List<Exercise> closed) {
6767
if (ex.isCompleted()) {
6868
text += " (completed)";
6969
} else {
70-
text += " (expired at " + ex.getDeadline() + ")";
70+
if (ex.getSoftDeadline() != null) {
71+
text += " (expired at " + ex.getSoftDeadline() + ")";
72+
} else {
73+
text += " (expired at " + ex.getDeadline() + ")";
74+
}
7175
}
7276
JCheckBox cb = new JCheckBox(text, false);
7377
checkBoxToExercise.put(cb, ex);
Loading
Lines changed: 86 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)