@Override public Component createPageComponent() { GridBagConstraints gbc = new GridBagConstraints(); final JPanel panel = new JPanel(new GridBagLayout()); gbc.anchor = GridBagConstraints.WEST; gbc.gridy = 0; gbc.gridx = 0; gbc.gridy++; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridwidth = 2; panel.add(new JLabel("URL for WMS (e.g. http://<host>/<server>):"), gbc); gbc.weightx = 1; gbc.weighty = 0; gbc.gridx = 0; gbc.gridy++; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.gridwidth = 1; history = new UserInputHistory(8, PROPERTY_WMS_HISTORY); history.initBy(SnapApp.getDefault().getPreferences()); if (history.getNumEntries() == 0) { history.push("http://geoservice.dlr.de/basemap/wms"); history.push("https://www.geoseaportal.de/wss/service/StaticInformation_Background/guest"); } wmsUrlBox = new JComboBox(new HistoryComboBoxModel(history)); wmsUrlBox.setEditable(true); panel.add(wmsUrlBox, gbc); wmsUrlBox.addItemListener(new MyItemListener()); return panel; }
@Test public void testSaveHistory() { final HistoryComboBoxModel model = new HistoryComboBoxModel(new UserInputHistory(3, "historyItem")); model.setSelectedItem("one"); model.setSelectedItem("two"); final Preferences preferences = new DummyPreferences(); model.getHistory().copyInto(preferences); assertEquals("two", preferences.get("historyItem.0", "")); assertEquals("one", preferences.get("historyItem.1", "")); assertEquals("", preferences.get("historyItem.2", "")); model.setSelectedItem("three"); model.getHistory().copyInto(preferences); assertEquals("three", preferences.get("historyItem.0", "")); assertEquals("two", preferences.get("historyItem.1", "")); assertEquals("one", preferences.get("historyItem.2", "")); }
@Test public void testSetSelectedOnEmptyHistory() { final HistoryComboBoxModel model = new HistoryComboBoxModel(new UserInputHistory(3, "historyItem")); assertEquals(0, model.getSize()); model.setSelectedItem("one"); assertEquals(1, model.getSize()); assertEquals("one", model.getElementAt(0)); model.setSelectedItem("two"); assertEquals(2, model.getSize()); assertEquals("two", model.getElementAt(0)); assertEquals("one", model.getElementAt(1)); }
@Test public void testLoadHistory() { final Preferences preferences = new DummyPreferences(); preferences.put("historyItem.0", "one"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(preferences); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(1, model.getSize()); preferences.put("historyItem.1", "two"); preferences.put("historyItem.2", "three"); model.getHistory().initBy(preferences); assertEquals(3, model.getSize()); assertEquals("one", model.getElementAt(0)); assertEquals("two", model.getElementAt(1)); assertEquals("three", model.getElementAt(2)); }
@Test public void testLoadHistoryOverwritesCurrentModel() { final Preferences preferences = new DummyPreferences(); preferences.put("historyItem.0", "one"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(preferences); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(1, model.getSize()); model.setSelectedItem("two"); model.setSelectedItem("three"); assertEquals(3, model.getSize()); preferences.put("historyItem.1", "two2"); preferences.put("historyItem.2", "three3"); model.getHistory().initBy(preferences); assertEquals(3, model.getSize()); assertEquals("one", model.getElementAt(0)); assertEquals("two2", model.getElementAt(1)); assertEquals("three3", model.getElementAt(2)); }
preferences.put(propertyKey + ".4", "4"); final UserInputHistory history = new UserInputHistory(9, propertyKey);
@Test public void testAddElementWithInnitilaizedProperties() { final Preferences preferences = new DummyPreferences(); preferences.put("historyItem.0", "one"); preferences.put("historyItem.1", "two"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(preferences); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(2, model.getSize()); assertEquals("one", model.getElementAt(0)); assertEquals("two", model.getElementAt(1)); model.setSelectedItem("three"); assertEquals(3, model.getSize()); assertEquals("three", model.getElementAt(0)); assertEquals("one", model.getElementAt(1)); assertEquals("two", model.getElementAt(2)); model.setSelectedItem("four"); assertEquals(3, model.getSize()); assertEquals("four", model.getElementAt(0)); assertEquals("three", model.getElementAt(1)); assertEquals("one", model.getElementAt(2)); }
@Test public void testAddElement() { final HistoryComboBoxModel model = new HistoryComboBoxModel(new UserInputHistory(3, "historyItem")); assertEquals(0, model.getSize()); model.setSelectedItem("one"); assertEquals(1, model.getSize()); model.setSelectedItem("two"); model.setSelectedItem("three"); assertEquals(3, model.getSize()); assertEquals("three", model.getElementAt(0)); assertEquals("two", model.getElementAt(1)); assertEquals("one", model.getElementAt(2)); model.setSelectedItem("four"); assertEquals(3, model.getSize()); assertEquals("four", model.getElementAt(0)); assertEquals("three", model.getElementAt(1)); assertEquals("two", model.getElementAt(2)); model.setSelectedItem("five"); assertEquals(3, model.getSize()); assertEquals("five", model.getElementAt(0)); assertEquals("four", model.getElementAt(1)); assertEquals("three", model.getElementAt(2)); }
preferences.put("historyItem.1", "two"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(preferences); final HistoryComboBoxModel model = new HistoryComboBoxModel(history);