From 22be90982dfa23cfd122f436ff1c8793ff86bd4e Mon Sep 17 00:00:00 2001 From: pawc Date: Sat, 24 Oct 2015 11:28:50 +0200 Subject: [PATCH 1/2] export to pdf in editor view - cases --- .../ui/controller/EditorController.java | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java b/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java index bf44150..8c1e010 100644 --- a/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java +++ b/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java @@ -1,6 +1,8 @@ package com.kritsit.casetracker.client.domain.ui.controller; +import com.kritsit.casetracker.client.domain.services.Export; import com.kritsit.casetracker.client.domain.services.IEditorService; +import com.kritsit.casetracker.client.domain.services.IExportService; import com.kritsit.casetracker.client.domain.services.IMenuService; import com.kritsit.casetracker.client.domain.services.InputToModelParseResult; import com.kritsit.casetracker.client.domain.model.Appointment; @@ -57,6 +59,7 @@ import javafx.stage.FileChooser.ExtensionFilter; import javafx.stage.Stage; import javafx.util.Callback; + import java.time.LocalDate; import java.io.File; import java.io.IOException; @@ -71,10 +74,12 @@ public class EditorController implements IController { private final Logger logger = LoggerFactory.getLogger(EditorController.class); private IEditorService editorService; private IMenuService menuService; + private IExportService exportService; private Stage stage; private ObservableList cases; private int calendarCurrentYear; private int calendarCurrentMonth; + private FilteredList filteredCases; public void setEditorService(IEditorService editorService) { this.editorService = editorService; @@ -129,10 +134,40 @@ public void initialize(){ menuService.updateFrame(); }); //TODO - reportItem.setDisable(true); + reportItem.setOnAction(event->{ + export(); + }); helpItem.setDisable(true); aboutItem.setDisable(true); } + + private void export() { + exportService = new Export(); + + List headers = new ArrayList(); + headers.add("Number"); + headers.add("Description"); + headers.add("Investigating Officer"); + headers.add("Incident Date"); + headers.add("Type"); + + List cells = new ArrayList(); + for(Case c : filteredCases){ + String[] row = new String[5]; + row[0] = c.getNumber(); + row[1] = c.getDescription(); + row[2] = c.getInvestigatingOfficer().nameProperty().toString(); + row[3] = c.getIncident().dateProperty().toString(); + row[4] = c.getType(); + cells.add(row); + } + + FileChooser fileChooser = new FileChooser(); + fileChooser.setTitle("Save cases"); + File file = fileChooser.showSaveDialog(stage); + + exportService.exportToPDF(headers, cells, file); + } @SuppressWarnings("unchecked") private void initCasesTable() { @@ -143,7 +178,7 @@ private void initCasesTable() { cbxFilterCaseType.setValue("All"); ObservableList caseTypes = FXCollections.observableArrayList(editorService.getCaseTypes()); cbxFilterCaseType.getItems().addAll(caseTypes); - FilteredList filteredCases = new FilteredList<>(cases, p -> true); + filteredCases = new FilteredList<>(cases, p -> true); txfFilterCases.textProperty().addListener((observable, oldValue, newValue) -> { filteredCases.setPredicate(c -> { if (newValue == null || newValue.isEmpty()) { From ebb884623f761521dcd9311ac9df4969960d1a4d Mon Sep 17 00:00:00 2001 From: pawc Date: Sat, 24 Oct 2015 13:03:20 +0200 Subject: [PATCH 2/2] export cases to pdf --- .../client/domain/ui/controller/EditorController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java b/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java index 8c1e010..573355a 100644 --- a/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java +++ b/client/src/main/java/com/kritsit/casetracker/client/domain/ui/controller/EditorController.java @@ -156,8 +156,8 @@ private void export() { String[] row = new String[5]; row[0] = c.getNumber(); row[1] = c.getDescription(); - row[2] = c.getInvestigatingOfficer().nameProperty().toString(); - row[3] = c.getIncident().dateProperty().toString(); + row[2] = c.getInvestigatingOfficer().getName().toString(); + row[3] = c.getIncident().getDate().toString(); row[4] = c.getType(); cells.add(row); }