-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCommodityReferenceDataTableViewController.java
More file actions
56 lines (47 loc) · 2.06 KB
/
Copy pathCommodityReferenceDataTableViewController.java
File metadata and controls
56 lines (47 loc) · 2.06 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
package controller;
import java.net.URL;
import java.util.ResourceBundle;
import com.tc.app.exchangemonitor.model.cayenne.persistent.Commodity;
import application.CayenneReferenceDataCache;
import entitypredicates.ICommodityPredicates;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.fxml.FXML;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
public class CommodityReferenceDataTableViewController implements IGenericReferenceDataController
{
@FXML
private TableView<Commodity> commodityReferenceDataTableView;
@FXML
private TableColumn<Commodity, String> commodityCodeTableColumn;
@FXML
private TableColumn<Commodity, String> commodityShortNameTableColumn;
@FXML
private TableColumn<Commodity, String> commodityFullNameTableColumn;
private final ObservableList<Commodity> commoditiesObservableList = FXCollections.observableArrayList();
private final FilteredList<Commodity> commoditiesFilteredList = new FilteredList<>(this.commoditiesObservableList, p -> true);
private final SortedList<Commodity> commoditiesSortedList = new SortedList<>(this.commoditiesFilteredList);
@Override
public void initialize(final URL location, final ResourceBundle resources)
{
this.commoditiesSortedList.comparatorProperty().bind(this.commodityReferenceDataTableView.comparatorProperty());
final long startTime = System.currentTimeMillis();
this.commoditiesObservableList.addAll(CayenneReferenceDataCache.loadAllActiveCommodities().values());
final long endTime = System.currentTimeMillis();
this.commodityReferenceDataTableView.setItems(this.commoditiesSortedList);
System.out.println(endTime - startTime);
}
@Override
public FilteredList<Commodity> getInnerTableViewControlDataSource()
{
return this.commoditiesFilteredList;
}
@Override
public void filter(final String filterText)
{
this.commoditiesFilteredList.setPredicate(ICommodityPredicates.applyCommodityPredicate(filterText));
}
}