Skip to content

Commit 653b1eb

Browse files
committed
Course Timetabling: Assigned Classes, Not-Assigned Classes, Changes, Assignment History, Solution Reports, Saved Timetables
- removed the older version of the TableInterface and DataTable - a number of course timetabling solver pages changed to use the newer TableInterface and TableWidget
1 parent fd14ec9 commit 653b1eb

48 files changed

Lines changed: 1336 additions & 2451 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

JavaSource/org/unitime/timetable/export/PDFPrinter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,8 @@ else if (cell.getTextAlignment() == Alignment.RIGHT)
739739
} else if (cell.hasImage()) {
740740
if (cell.getImage().hasTitle())
741741
a.setText(cell.getImage().getTitle());
742+
else if (cell.getImage().hasAlt())
743+
a.setText(cell.getImage().getAlt());
742744
}
743745
if (cell.hasClassName() && cell.getClassName().startsWith("pref-")) {
744746
if (cell.getClassName().equals("pref-" + PreferenceLevel.sCharLevelProhibited))

JavaSource/org/unitime/timetable/export/courses/OfferingsCSV.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.unitime.timetable.gwt.client.tables.TableInterface.FilterInterface;
3838
import org.unitime.timetable.gwt.client.tables.TableInterface.LineInterface;
3939
import org.unitime.timetable.gwt.command.client.GwtRpcException;
40+
import org.unitime.timetable.gwt.shared.FilterInterface.FilterParameterInterface;
4041
import org.unitime.timetable.model.ExamType;
4142
import org.unitime.timetable.model.SubjectArea;
4243
import org.unitime.timetable.model.dao.ExamTypeDAO;
@@ -291,4 +292,24 @@ public String getParameterValue(String name, String defaultValue) {
291292
return (value == null ? defaultValue : value);
292293
}
293294
}
295+
296+
public static void fillInFilter(org.unitime.timetable.gwt.shared.FilterInterface filter, ExportHelper helper) {
297+
for (FilterParameterInterface parameter: filter.getParameters()) {
298+
if (parameter.isMultiSelect()) {
299+
parameter.setValue("");
300+
String[] values = helper.getParameterValues(parameter.getName());
301+
if (values != null)
302+
for (String v: values)
303+
parameter.setValue((parameter.getValue().isEmpty() ? "" : ",") + v);
304+
else
305+
parameter.setValue(parameter.getDefaultValue());
306+
} else {
307+
String value = helper.getParameter(parameter.getName());
308+
if (value != null)
309+
parameter.setValue(value);
310+
else
311+
parameter.setValue(parameter.getDefaultValue());
312+
}
313+
}
314+
}
294315
}

JavaSource/org/unitime/timetable/export/solver/ExportAssignedClassesCSV.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesCSV;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignedClassesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignedClassesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:assigned-classes.csv")
38-
public class ExportAssignedClassesCSV extends TableExporter {
42+
public class ExportAssignedClassesCSV extends ClassesCSV {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
AssignedClassesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTableCSV(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataCsv(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportAssignedClassesPDF.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesPDF;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignedClassesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignedClassesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:assigned-classes.pdf")
38-
public class ExportAssignedClassesPDF extends TableExporter {
42+
public class ExportAssignedClassesPDF extends ClassesPDF {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
AssignedClassesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTablePDF(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataPdf(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportAssignmentHistoryCSV.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesCSV;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignmentHistoryFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignmentHistoryFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:assignment-history.csv")
38-
public class ExportAssignmentHistoryCSV extends TableExporter {
42+
public class ExportAssignmentHistoryCSV extends ClassesCSV {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
AssignmentHistoryResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTableCSV(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataCsv(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportAssignmentHistoryPDF.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesPDF;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignmentHistoryFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.AssignmentHistoryFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:assignment-history.pdf")
38-
public class ExportAssignmentHistoryPDF extends TableExporter {
42+
public class ExportAssignmentHistoryPDF extends ClassesPDF {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
AssignmentHistoryResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTablePDF(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataPdf(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportNotAssignedClassesCSV.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesCSV;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.NotAssignedClassesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.NotAssignedClassesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:unassigned-classes.csv")
38-
public class ExportNotAssignedClassesCSV extends TableExporter {
42+
public class ExportNotAssignedClassesCSV extends ClassesCSV {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
NotAssignedClassesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTableCSV(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataCsv(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportNotAssignedClassesPDF.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesPDF;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.NotAssignedClassesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.NotAssignedClassesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:unassigned-classes.pdf")
38-
public class ExportNotAssignedClassesPDF extends TableExporter {
42+
public class ExportNotAssignedClassesPDF extends ClassesPDF {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
NotAssignedClassesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTablePDF(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataPdf(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportSolutionChangesCSV.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesCSV;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.SolutionChangesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.SolutionChangesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:solution-changes.csv")
38-
public class ExportSolutionChangesCSV extends TableExporter {
42+
public class ExportSolutionChangesCSV extends ClassesCSV {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
SolutionChangesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTableCSV(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataCsv(tables, helper);
5964
}
6065

6166
}

JavaSource/org/unitime/timetable/export/solver/ExportSolutionChangesPDF.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@
2020
package org.unitime.timetable.export.solver;
2121

2222
import java.io.IOException;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325

2426
import org.springframework.beans.factory.annotation.Autowired;
2527
import org.springframework.context.ApplicationContext;
2628
import org.springframework.stereotype.Service;
2729
import org.unitime.timetable.export.ExportHelper;
30+
import org.unitime.timetable.export.courses.ClassesPDF;
31+
import org.unitime.timetable.gwt.client.tables.TableInterface;
2832
import org.unitime.timetable.gwt.command.server.GwtRpcImplementation;
2933
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.SolutionChangesFilterRequest;
3034
import org.unitime.timetable.gwt.shared.CourseTimetablingSolverInterface.SolutionChangesFilterResponse;
@@ -35,7 +39,7 @@
3539
* @author Tomas Muller
3640
*/
3741
@Service("org.unitime.timetable.export.Exporter:solution-changes.pdf")
38-
public class ExportSolutionChangesPDF extends TableExporter {
42+
public class ExportSolutionChangesPDF extends ClassesPDF {
3943

4044
@Autowired private ApplicationContext applicationContext;
4145

@@ -55,7 +59,8 @@ public void export(ExportHelper helper) throws IOException {
5559
request.setFilter(filter);
5660
SolutionChangesResponse response = service.execute(request, helper.getSessionContext());
5761

58-
printTablePDF(response, helper);
62+
List<TableInterface> tables = new ArrayList<TableInterface>(1); tables.add(sorted(response, helper));
63+
exportDataPdf(tables, helper);
5964
}
6065

6166
}

0 commit comments

Comments
 (0)