use of org.apache.pivot.collections.List in project pivot by apache.
the class BindTest method testSequence.
/**
* Tests returning a class that implements
* {@code org.apache.pivot.collections.Sequence}.
*
* @throws IOException
* @throws SerializationException
*/
@Test
public void testSequence() throws IOException, SerializationException {
JSONSerializer listSerializer = new JSONSerializer();
@SuppressWarnings("unchecked") List<Object> list = (List<Object>) listSerializer.readObject(getClass().getResourceAsStream("list.json"));
JSONSerializer sequenceSerializer = new JSONSerializer(SampleBean2SequenceSubclass.class);
SampleBean2Sequence sequence = (SampleBean2Sequence) sequenceSerializer.readObject(getClass().getResourceAsStream("list.json"));
Object item0 = sequence.get(0);
assertNotNull(item0);
// assertTrue(item0 instanceof SampleBean2); // true but superfluous
assertEquals((Integer) sequence.get(0).getA(), (Integer) JSON.get(list, "[0].a"));
}
use of org.apache.pivot.collections.List in project pivot by apache.
the class FixedColumnTableDemo method initialize.
@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources) {
primaryTableView = (TableView) namespace.get("primaryTableView");
fixedTableView = (TableView) namespace.get("fixedTableView");
// Keep selection state in sync
primaryTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener() {
@Override
public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) {
if (!synchronizingSelection) {
synchronizingSelection = true;
fixedTableView.addSelectedRange(rangeStart, rangeEnd);
synchronizingSelection = false;
}
}
@Override
public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) {
if (!synchronizingSelection) {
synchronizingSelection = true;
fixedTableView.removeSelectedRange(rangeStart, rangeEnd);
synchronizingSelection = false;
}
}
@Override
public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges) {
if (previousSelectedRanges != null && !synchronizingSelection) {
synchronizingSelection = true;
fixedTableView.setSelectedRanges(tableView.getSelectedRanges());
synchronizingSelection = false;
}
}
@Override
public void selectedRowChanged(TableView tableView, Object previousSelectedRow) {
// No-op
}
});
fixedTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener() {
@Override
public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) {
if (!synchronizingSelection) {
synchronizingSelection = true;
primaryTableView.addSelectedRange(rangeStart, rangeEnd);
synchronizingSelection = false;
}
}
@Override
public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) {
if (!synchronizingSelection) {
synchronizingSelection = true;
primaryTableView.removeSelectedRange(rangeStart, rangeEnd);
synchronizingSelection = false;
}
}
@Override
public void selectedRangesChanged(TableView tableView, Sequence<Span> previousSelectedRanges) {
if (previousSelectedRanges != null && !synchronizingSelection) {
synchronizingSelection = true;
primaryTableView.setSelectedRanges(tableView.getSelectedRanges());
synchronizingSelection = false;
}
}
@Override
public void selectedRowChanged(TableView tableView, Object previousSelectedRow) {
// No-op
}
});
// Keep header state in sync
primaryTableView.getTableViewSortListeners().add(new TableViewSortListener() {
@Override
public void sortChanged(TableView tableView) {
if (!tableView.getSort().isEmpty()) {
fixedTableView.clearSort();
}
@SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) tableView.getTableData();
tableData.setComparator(new TableViewRowComparator(tableView));
}
});
fixedTableView.getTableViewSortListeners().add(new TableViewSortListener() {
@Override
public void sortChanged(TableView tableView) {
if (!tableView.getSort().isEmpty()) {
primaryTableView.clearSort();
}
@SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) tableView.getTableData();
tableData.setComparator(new TableViewRowComparator(tableView));
}
});
}
use of org.apache.pivot.collections.List in project pivot by apache.
the class SearchDemo method executeQuery.
/**
* Executes a search.
*
* @param term The search term.
* @throws IllegalArgumentException If <tt>term</tt> is <tt>null</tt> or
* empty.
* @throws IllegalStateException If a query is already executing.
*/
public void executeQuery(String term) {
Utils.checkNullOrEmpty(term, "search term");
if (getQuery != null) {
throw new IllegalStateException("Query is already running!");
}
String country = Locale.getDefault().getCountry().toLowerCase();
getQuery = new GetQuery(QUERY_HOSTNAME, BASE_QUERY_PATH);
getQuery.getParameters().put("term", term);
getQuery.getParameters().put("country", country);
getQuery.getParameters().put("media", MEDIA);
getQuery.getParameters().put("limit", Integer.toString(LIMIT));
getQuery.getParameters().put("output", "json");
System.out.println(getQuery.getLocation());
statusLabel.setText("Searching...");
updateActivityState();
getQuery.execute(new TaskAdapter<>(new TaskListener<Object>() {
@Override
public void taskExecuted(Task<Object> task) {
if (task == getQuery) {
@SuppressWarnings("unchecked") Map<String, Object> result = (Map<String, Object>) task.getResult();
@SuppressWarnings("unchecked") List<Object> results = (List<Object>) result.get("results");
// Preserve any existing sort
@SuppressWarnings("unchecked") List<Object> tableData = (List<Object>) resultsTableView.getTableData();
Comparator<Object> comparator = tableData.getComparator();
results.setComparator(comparator);
// Update the table data
resultsTableView.setTableData(results);
statusLabel.setText("Found " + results.getLength() + " matching items.");
getQuery = null;
updateActivityState();
if (results.getLength() > 0) {
resultsTableView.setSelectedIndex(0);
resultsTableView.requestFocus();
} else {
termTextInput.requestFocus();
}
}
}
@Override
public void executeFailed(Task<Object> task) {
if (task == getQuery) {
statusLabel.setText(task.getFault().getMessage());
getQuery = null;
updateActivityState();
termTextInput.requestFocus();
}
}
}));
}
use of org.apache.pivot.collections.List in project pivot by apache.
the class JSONViewer method setValue.
private void setValue(Object value) {
assert (value instanceof Map<?, ?> || value instanceof List<?>);
// Remove prompt decorator
if (promptDecorator != null) {
treeView.getDecorators().remove(promptDecorator);
promptDecorator = null;
}
TreeBranch treeData = new TreeBranch();
treeData.add(build(value));
treeView.setTreeData(treeData);
treeView.expandBranch(new Path(0));
}
use of org.apache.pivot.collections.List in project pivot by apache.
the class CheckedListViewTest method startup.
@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
BXMLSerializer serializer = new BXMLSerializer();
mainWindow = (Window) serializer.readObject(CheckedListViewTest.class, "checked_list_view_test.bxml");
serializer.bind(this);
allowMixedStateCheckbox.getButtonPressListeners().add(new ButtonPressListener() {
@Override
public void buttonPressed(Button button) {
listView.setAllowTriStateCheckmarks(button.isSelected());
// Not sure why, but changing this setting clears all the checks but doesn't
// trigger the item state listener (it's documented, but ...)
selectedItemsLabel.setText("");
}
});
showMixedAsSelectedCheckbox.getButtonPressListeners().add(new ButtonPressListener() {
@Override
public void buttonPressed(Button button) {
listView.setCheckmarksMixedAsChecked(button.isSelected());
}
});
listView.getComponentKeyListeners().add(new ComponentKeyListener() {
@Override
public boolean keyPressed(Component component, int keyCode, Keyboard.KeyLocation keyLocation) {
if (keyCode == Keyboard.KeyCode.DELETE) {
@SuppressWarnings("unchecked") List<Object> listData = (List<Object>) listView.getListData();
Sequence<Span> selectedRanges = listView.getSelectedRanges();
for (int i = selectedRanges.getLength() - 1; i >= 0; i--) {
Span selectedRange = selectedRanges.get(i);
listData.remove(selectedRange.start, selectedRange.end - selectedRange.start + 1);
}
}
return false;
}
});
listView.getListViewItemStateListeners().add(new ListViewItemStateListener() {
private void displayCheckedItems(ListView listView) {
List<?> listData = listView.getListData();
StringBuffer buf = new StringBuffer();
for (Integer i : listView.getCheckedIndexes()) {
if (buf.length() > 0) {
buf.append(",");
}
Object item = listData.get(i);
buf.append(item.toString());
}
selectedItemsLabel.setText(buf.toString());
}
@Override
public void itemCheckedChanged(ListView listView, int index) {
displayCheckedItems(listView);
}
@Override
public void itemCheckedStateChanged(ListView listView, int index) {
displayCheckedItems(listView);
}
});
listView.setItemChecked(0, true);
listView.setItemChecked(2, true);
mainWindow.open(display);
}
Aggregations