@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(getContext().getAppContext().getPreferences()); if (history.getNumEntries() == 0) { history.push("http://www.mapserver.niedersachsen.de/freezoneogc/mapserverogc"); history.push("http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi"); history.push("http://wms.globexplorer.com/gexservlets/wms"); } wmsUrlBox = new JComboBox(new HistoryComboBoxModel(history)); wmsUrlBox.setEditable(true); panel.add(wmsUrlBox, gbc); wmsUrlBox.addItemListener(new MyItemListener()); return panel; }
public void copyInto(PropertyMap propertyMap) { propertyMap.setPropertyInt(getLengthKey(), _maxNumEntries); for (int i = 0; i < 100; i++) { propertyMap.setPropertyString(getNumKey(i), null); } final String[] entries = getEntries(); if (entries != null) { for (int i = 0; i < entries.length; i++) { propertyMap.setPropertyString(getNumKey(i), entries[i]); } } }
public void initBy(final PropertyMap propertyMap) { int maxNumEntries = propertyMap.getPropertyInt(getLengthKey(), getMaxNumEntries()); setMaxNumEntries(maxNumEntries); for (int i = maxNumEntries - 1; i >= 0; i--) { String entry = propertyMap.getPropertyString(getNumKey(i), null); if (entry != null && isValidItem(entry)) { push(entry); } } }
final UserInputHistory history = new UserInputHistory(9, propertyKey); assertEquals(9, history.getMaxNumEntries()); assertEquals(0, history.getNumEntries()); assertNull(history.getEntries()); history.initBy(properties); assertEquals(4, history.getMaxNumEntries()); assertEquals(4, history.getNumEntries()); String[] entries = history.getEntries(); assertEquals(4, entries.length); assertEquals("0", entries[0]); history.push("4"); assertEquals(4, history.getMaxNumEntries()); assertEquals(4, history.getNumEntries()); entries = history.getEntries(); assertEquals(4, entries.length); assertEquals("4", entries[0]); history.setMaxNumEntries(2); assertEquals(2, history.getMaxNumEntries()); assertEquals(2, history.getNumEntries()); entries = history.getEntries(); assertEquals(2, entries.length); assertEquals("4", entries[0]);
@Test public void testLoadHistory() { final PropertyMap map = new PropertyMap(); map.setPropertyString("historyItem.0", "one"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(map); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(1, model.getSize()); map.setPropertyString("historyItem.1", "two"); map.setPropertyString("historyItem.2", "three"); model.getHistory().initBy(map); assertEquals(3, model.getSize()); assertEquals("one", model.getElementAt(0)); assertEquals("two", model.getElementAt(1)); assertEquals("three", model.getElementAt(2)); }
@Test public void testSaveHistory() { final HistoryComboBoxModel model = new HistoryComboBoxModel(new UserInputHistory(3, "historyItem")); model.setSelectedItem("one"); model.setSelectedItem("two"); final PropertyMap map = new PropertyMap(); model.getHistory().copyInto(map); assertEquals("two", map.getPropertyString("historyItem.0")); assertEquals("one", map.getPropertyString("historyItem.1")); assertEquals("", map.getPropertyString("historyItem.2")); model.setSelectedItem("three"); model.getHistory().copyInto(map); assertEquals("three", map.getPropertyString("historyItem.0")); assertEquals("two", map.getPropertyString("historyItem.1")); assertEquals("one", map.getPropertyString("historyItem.2")); } }
@Override public AbstractLayerSourceAssistantPage getNextPage() { LayerSourcePageContext pageContext = getContext(); WebMapServer wms = null; WMSCapabilities wmsCapabilities = null; String wmsUrl = wmsUrlBox.getSelectedItem().toString(); if (wmsUrl != null && !wmsUrl.isEmpty()) { try { wms = getWms(pageContext.getWindow(), wmsUrl); wmsCapabilities = wms.getCapabilities(); } catch (Exception e) { e.printStackTrace(); pageContext.showErrorDialog("Failed to access WMS:\n" + e.getMessage()); } } history.copyInto(getContext().getAppContext().getPreferences()); if (wms != null && wmsCapabilities != null) { pageContext.setPropertyValue(WmsLayerSource.PROPERTY_NAME_WMS, wms); pageContext.setPropertyValue(WmsLayerSource.PROPERTY_NAME_WMS_CAPABILITIES, wmsCapabilities); return new WmsAssistantPage2(); } else { return null; } }
@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)); }
@Override public Object getElementAt(int index) { return history.getEntries()[index]; }
@Override public void setSelectedItem(Object anObject) { if (anObject instanceof String) { selectedItem = (String) anObject; history.push(selectedItem); fireContentChanged(); } }
@Test public void testValidation() { final PropertyMap map = new PropertyMap(); map.setPropertyString("historyItem.0", "one"); map.setPropertyString("historyItem.1", "two"); map.setPropertyString("historyItem.2", "three"); final UserInputHistory history = new UserInputHistory(3, "historyItem") { @Override protected boolean isValidItem(String item) { return "two".equals(item); } }; history.initBy(map); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(1, model.getSize()); assertEquals("two", model.getElementAt(0)); }
@Override public int getSize() { return history.getNumEntries(); }
public UserInputHistory(int maxNumEntries, String propertyKey) { Guardian.assertNotNullOrEmpty("propertyKey", propertyKey); _propertyKey = propertyKey; setMaxNumEntries(maxNumEntries); }
@Test public void testLoadHistoryOverwritesCurrentModel() { final PropertyMap map = new PropertyMap(); map.setPropertyString("historyItem.0", "one"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(map); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(1, model.getSize()); model.setSelectedItem("two"); model.setSelectedItem("three"); assertEquals(3, model.getSize()); map.setPropertyString("historyItem.1", "two2"); map.setPropertyString("historyItem.2", "three3"); model.getHistory().initBy(map); assertEquals(3, model.getSize()); assertEquals("one", model.getElementAt(0)); assertEquals("two2", model.getElementAt(1)); assertEquals("three3", model.getElementAt(2)); }
@Override public AbstractLayerSourceAssistantPage getNextPage() { imageHistoryModel.getHistory().copyInto(getContext().getAppContext().getPreferences()); createTransform(getContext()); return new ImageFileAssistantPage2(); }
@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)); }
@Test public void testAddElementWithInnitilaizedProperties() { final PropertyMap map = new PropertyMap(); map.setPropertyString("historyItem.0", "one"); map.setPropertyString("historyItem.1", "two"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(map); 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)); }
@Override public AbstractLayerSourceAssistantPage getNextPage() { final LayerSourcePageContext context = getContext(); fileHistoryModel.getHistory().copyInto(context.getAppContext().getPreferences()); String path = (String) fileHistoryModel.getSelectedItem(); if (path != null && !path.trim().isEmpty()) {
map.setPropertyString("historyItem.1", "two"); final UserInputHistory history = new UserInputHistory(3, "historyItem"); history.initBy(map); final HistoryComboBoxModel model = new HistoryComboBoxModel(history); assertEquals(2, model.getSize());
@Override public boolean performFinish() { imageHistoryModel.getHistory().copyInto(getContext().getAppContext().getPreferences()); createTransform(getContext()); return ImageFileLayerSource.insertImageLayer(getContext()); }