diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/ListModelAdapterUITest.java')
-rw-r--r-- | jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/ListModelAdapterUITest.java | 370 |
1 files changed, 0 insertions, 370 deletions
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/ListModelAdapterUITest.java b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/ListModelAdapterUITest.java deleted file mode 100644 index 168ee487f5..0000000000 --- a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/ListModelAdapterUITest.java +++ /dev/null @@ -1,370 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.utility.tests.internal.model.value.swing; - -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.GridLayout; -import java.awt.TextField; -import java.awt.event.ActionEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.ListIterator; - -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.Icon; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.ListModel; -import javax.swing.WindowConstants; - -import org.eclipse.jpt.utility.internal.StringTools; -import org.eclipse.jpt.utility.internal.model.AbstractModel; -import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.utility.internal.model.value.SortedListValueModelWrapper; -import org.eclipse.jpt.utility.internal.model.value.swing.ListModelAdapter; -import org.eclipse.jpt.utility.internal.swing.Displayable; -import org.eclipse.jpt.utility.model.value.ListValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; - -/** - * an example UI for testing various permutations of the ListModelAdapter - */ -@SuppressWarnings("nls") -public class ListModelAdapterUITest { - - private WritablePropertyValueModel<TaskList> taskListHolder; - private TextField taskTextField; - - public static void main(String[] args) throws Exception { - new ListModelAdapterUITest().exec(args); - } - - private ListModelAdapterUITest() { - super(); - } - - private void exec(@SuppressWarnings("unused") String[] args) throws Exception { - this.taskListHolder = new SimplePropertyValueModel<TaskList>(new TaskList()); - this.openWindow(); - } - - private void openWindow() { - JFrame window = new JFrame(this.getClass().getName()); - window.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); - window.addWindowListener(this.buildWindowListener()); - window.getContentPane().add(this.buildMainPanel(), "Center"); - window.setSize(800, 400); - window.setVisible(true); - } - - private WindowListener buildWindowListener() { - return new WindowAdapter() { - @Override - public void windowClosing(WindowEvent e) { - e.getWindow().setVisible(false); - System.exit(0); - } - }; - } - - private Component buildMainPanel() { - JPanel mainPanel = new JPanel(new BorderLayout()); - mainPanel.add(this.buildTaskListPanel(), BorderLayout.CENTER); - mainPanel.add(this.buildControlPanel(), BorderLayout.SOUTH); - return mainPanel; - } - - private Component buildTaskListPanel() { - JPanel taskListPanel = new JPanel(new GridLayout(0, 1)); - taskListPanel.add(this.buildPrimitiveTaskListPanel()); - taskListPanel.add(this.buildDisplayableTaskListPanel()); - return taskListPanel; - } - - private Component buildPrimitiveTaskListPanel() { - JPanel taskListPanel = new JPanel(new GridLayout(1, 0)); - taskListPanel.add(this.buildUnsortedPrimitiveListPanel()); - taskListPanel.add(this.buildStandardSortedPrimitiveListPanel()); - taskListPanel.add(this.buildCustomSortedPrimitiveListPanel()); - return taskListPanel; - } - - private Component buildDisplayableTaskListPanel() { - JPanel taskListPanel = new JPanel(new GridLayout(1, 0)); - taskListPanel.add(this.buildUnsortedDisplayableListPanel()); - taskListPanel.add(this.buildStandardSortedDisplayableListPanel()); - taskListPanel.add(this.buildCustomSortedDisplayableListPanel()); - return taskListPanel; - } - - private Component buildUnsortedPrimitiveListPanel() { - return this.buildListPanel("primitive unsorted", this.buildUnsortedPrimitiveListModel()); - } - - private Component buildStandardSortedPrimitiveListPanel() { - return this.buildListPanel("primitive sorted", this.buildStandardSortedPrimitiveListModel()); - } - - private Component buildCustomSortedPrimitiveListPanel() { - return this.buildListPanel("primitive reverse sorted", this.buildCustomSortedPrimitiveListModel()); - } - - private Component buildUnsortedDisplayableListPanel() { - return this.buildListPanel("displayable unsorted", this.buildUnsortedDisplayableListModel()); - } - - private Component buildStandardSortedDisplayableListPanel() { - return this.buildListPanel("displayable sorted", this.buildStandardSortedDisplayableListModel()); - } - - private Component buildCustomSortedDisplayableListPanel() { - return this.buildListPanel("displayable reverse sorted", this.buildCustomSortedDisplayableListModel()); - } - - private ListModel buildUnsortedPrimitiveListModel() { - return new ListModelAdapter(this.buildPrimitiveTaskListAdapter()); - } - - private ListModel buildStandardSortedPrimitiveListModel() { - return new ListModelAdapter(new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter())); - } - - private ListModel buildCustomSortedPrimitiveListModel() { - return new ListModelAdapter(new SortedListValueModelWrapper<String>(this.buildPrimitiveTaskListAdapter(), this.buildCustomStringComparator())); - } - - private ListModel buildUnsortedDisplayableListModel() { - return new ListModelAdapter(this.buildDisplayableTaskListAdapter()); - } - - private ListModel buildStandardSortedDisplayableListModel() { - return new ListModelAdapter(new SortedListValueModelWrapper<Task>(this.buildDisplayableTaskListAdapter())); - } - - private ListModel buildCustomSortedDisplayableListModel() { - return new ListModelAdapter(new SortedListValueModelWrapper<Task>(this.buildDisplayableTaskListAdapter(), this.buildCustomTaskObjectComparator())); - } - - private Component buildListPanel(String label, ListModel listModel) { - JPanel listPanel = new JPanel(new BorderLayout()); - JLabel listLabel = new JLabel(" " + label); - listPanel.add(listLabel, BorderLayout.NORTH); - - JList listBox = new JList(); - listBox.setModel(listModel); - listBox.setDoubleBuffered(true); - listLabel.setLabelFor(listBox); - listPanel.add(new JScrollPane(listBox), BorderLayout.CENTER); - return listPanel; - } - - private Comparator<String> buildCustomStringComparator() { - return new Comparator<String>() { - public int compare(String s1, String s2) { - return s2.compareTo(s1); - } - }; - } - - private Comparator<Task> buildCustomTaskObjectComparator() { - return new Comparator<Task>() { - public int compare(Task to1, Task to2) { - return to2.displayString().compareTo(to1.displayString()); - } - }; - } - - private ListValueModel<String> buildPrimitiveTaskListAdapter() { - return new ListAspectAdapter<TaskList, String>(TaskList.TASK_NAMES_LIST, this.taskList()) { - @Override - protected ListIterator<String> listIterator_() { - return this.subject.taskNames(); - } - }; - } - - private ListValueModel<Task> buildDisplayableTaskListAdapter() { - return new ListAspectAdapter<TaskList, Task>(TaskList.TASKS_LIST, this.taskList()) { - @Override - protected ListIterator<Task> listIterator_() { - return this.subject.tasks(); - } - }; - } - - private Component buildControlPanel() { - JPanel controlPanel = new JPanel(new BorderLayout()); - controlPanel.add(this.buildAddRemoveTaskPanel(), BorderLayout.CENTER); - controlPanel.add(this.buildClearButton(), BorderLayout.EAST); - return controlPanel; - } - - private Component buildAddRemoveTaskPanel() { - JPanel addRemoveTaskPanel = new JPanel(new BorderLayout()); - addRemoveTaskPanel.add(this.buildAddButton(), BorderLayout.WEST); - addRemoveTaskPanel.add(this.buildTaskTextField(), BorderLayout.CENTER); - addRemoveTaskPanel.add(this.buildRemoveButton(), BorderLayout.EAST); - return addRemoveTaskPanel; - } - - private String getTask() { - return this.taskTextField.getText(); - } - - private TaskList taskList() { - return this.taskListHolder.getValue(); - } - - void addTask() { - String task = this.getTask(); - if (task.length() != 0) { - this.taskList().addTask(task); - } - } - - void removeTask() { - String task = this.getTask(); - if (task.length() != 0) { - this.taskList().removeTask(task); - } - } - - void clearTasks() { - this.taskList().clearTasks(); - } - - private TextField buildTaskTextField() { - this.taskTextField = new TextField(); - return this.taskTextField; - } - - private JButton buildAddButton() { - return new JButton(this.buildAddAction()); - } - - private Action buildAddAction() { - Action action = new AbstractAction("add") { - public void actionPerformed(ActionEvent event) { - ListModelAdapterUITest.this.addTask(); - } - }; - action.setEnabled(true); - return action; - } - - private JButton buildRemoveButton() { - return new JButton(this.buildRemoveAction()); - } - - private Action buildRemoveAction() { - Action action = new AbstractAction("remove") { - public void actionPerformed(ActionEvent event) { - ListModelAdapterUITest.this.removeTask(); - } - }; - action.setEnabled(true); - return action; - } - - private JButton buildClearButton() { - return new JButton(this.buildClearAction()); - } - - private Action buildClearAction() { - Action action = new AbstractAction("clear") { - public void actionPerformed(ActionEvent event) { - ListModelAdapterUITest.this.clearTasks(); - } - }; - action.setEnabled(true); - return action; - } - - public class TaskList extends AbstractModel { - private List<String> taskNames = new ArrayList<String>(); - private List<Task> taskObjects = new ArrayList<Task>(); - public static final String TASK_NAMES_LIST = "taskNames"; - public static final String TASKS_LIST = "tasks"; - TaskList() { - super(); - } - public ListIterator<String> taskNames() { - return this.taskNames.listIterator(); - } - public ListIterator<Task> tasks() { - return this.taskObjects.listIterator(); - } - public void addTask(String taskName) { - int index = this.taskNames.size(); - this.taskNames.add(index, taskName); - this.fireItemAdded(TASK_NAMES_LIST, index, taskName); - - Task taskObject = new Task(taskName); - this.taskObjects.add(index, taskObject); - this.fireItemAdded(TASKS_LIST, index, taskObject); - } - public void removeTask(String taskName) { - int index = this.taskNames.indexOf(taskName); - if (index != -1) { - Object removedTask = this.taskNames.remove(index); - this.fireItemRemoved(TASK_NAMES_LIST, index, removedTask); - // assume the indexes match... - Object removedTaskObject = this.taskObjects.remove(index); - this.fireItemRemoved(TASKS_LIST, index, removedTaskObject); - } - } - public void clearTasks() { - this.taskNames.clear(); - this.fireListChanged(TASK_NAMES_LIST, this.taskNames); - this.taskObjects.clear(); - this.fireListChanged(TASKS_LIST, this.taskObjects); - } - } - - public class Task extends AbstractModel implements Displayable { - private String name; - private Date creationTimeStamp; - public Task(String name) { - this.name = name; - this.creationTimeStamp = new Date(); - } - public String displayString() { - return this.name + ": " + this.creationTimeStamp.getTime(); - } - public Icon icon() { - return null; - } - public String getName() { - return this.name; - } - public void setName(String name) { - Object old = this.name; - this.name = name; - this.firePropertyChanged(DISPLAY_STRING_PROPERTY, old, name); - } - @Override - public String toString() { - return StringTools.buildToStringFor(this, this.displayString()); - } - } - -} |