-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskService.java
More file actions
69 lines (59 loc) · 2.03 KB
/
TaskService.java
File metadata and controls
69 lines (59 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.organizer.projektorganizer.model;
import com.organizer.projektorganizer.MainApp;
import java.util.LinkedList;
import java.util.List;
import javafx.application.Platform;
/**
*
* @author Grzegorz
*/
public class TaskService implements Runnable {
private List<Task> taskList;
private MainApp mainApp; ///moze zadzialac ale nie koniecznie
private boolean flaga = false;
private TaskFactory taskFactory;
public TaskService() {
taskList = new LinkedList<Task>();
taskFactory = new TaskFactory();
}
public void setMainApp(MainApp mainApp){
this.mainApp = mainApp;
setList();
}
private void setList(){
for(Przedmiot przedmiot : mainApp.getPrzedmiotData()){
taskList.add(taskFactory.getTask(przedmiot, "gwarancja"));
taskList.add(taskFactory.getTask(przedmiot, "data_waznosci"));
}
}
public void run(){
while(true){
if(flaga == false){
for(Task task: taskList){
if(task.compare()){
flaga = true;
Platform.runLater(new Runnable() {
@Override
public void run() {
//javaFX operations should go here
mainApp.showPowiadomienieDialog(task);
taskList.remove(task);
flaga = false;
}
});
}
}
}
try{
Thread.sleep(60000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}