public List<HybrisRemoteConnectionSettings> getData() { List<HybrisRemoteConnectionSettings> remoteConnectionSettingsList = new ArrayList<>(); for (int index=0; index<myList.getModel().getSize(); index++) { remoteConnectionSettingsList.add(myList.getModel().getElementAt(index)); } return remoteConnectionSettingsList; } }
public MyListPanel( final String title, final List<HybrisRemoteConnectionSettings> initialList ) { super(title, initialList); myList.getModel().addListDataListener(new ListDataListener() { @Override public void intervalAdded(final ListDataEvent e) { saveSettings(); } @Override public void intervalRemoved(final ListDataEvent e) { saveSettings(); } @Override public void contentsChanged(final ListDataEvent e) { saveSettings(); } }); }
@Override public void run(AnActionButton anActionButton) { Set<String> existingNames = servers.stream().map(SonarQubeServer::getName).collect(Collectors.toSet()); SQServerWizard wizard = new SQServerWizard(existingNames); if (wizard.showAndGet()) { SonarQubeServer created = wizard.getServer(); servers.add(created); ((CollectionListModel) serverList.getModel()).add(created); serverList.setSelectedIndex(serverList.getModel().getSize() - 1); serverChangeListener.changed(servers); ServerUpdateTask task = new ServerUpdateTask(serverManager.getConnectedEngine(created.getName()), created, Collections.emptyMap(), false); ProgressManager.getInstance().run(task.asBackground()); } } }
private void editServer() { SonarQubeServer selectedServer = getSelectedServer(); int selectedIndex = serverList.getSelectedIndex(); if (selectedServer != null) { SQServerWizard serverEditor = new SQServerWizard(selectedServer); if (serverEditor.showAndGet()) { SonarQubeServer newServer = serverEditor.getServer(); ((CollectionListModel) serverList.getModel()).setElementAt(newServer, selectedIndex); servers.set(servers.indexOf(selectedServer), newServer); serverChangeListener.changed(servers); } } }
@Override public void run(AnActionButton anActionButton) { SonarQubeServer server = getSelectedServer(); int selectedIndex = serverList.getSelectedIndex(); if (server == null) { return; } Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); List<String> projectsUsingNames = getOpenProjectNames(openProjects, server); if (!projectsUsingNames.isEmpty()) { String projects = projectsUsingNames.stream().collect(Collectors.joining("<br>")); int response = Messages.showYesNoDialog(serversPanel, "<html>The following opened projects are bound to this server configuration:<br><b>" + projects + "</b><br>Delete the server?</html>", "Server Configuration In Use", Messages.getWarningIcon()); if (response == Messages.NO) { return; } } CollectionListModel model = (CollectionListModel) serverList.getModel(); // it's not removed from serverIds and editorList model.remove(server); servers.remove(server); serverChangeListener.changed(servers); if (model.getSize() > 0) { int newIndex = Math.min(model.getSize() - 1, Math.max(selectedIndex - 1, 0)); serverList.setSelectedValue(model.getElementAt(newIndex), true); } }