/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.cluster.configuration.internal; import java.util.List; import java.util.Map; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import de.rcenvironment.core.utils.cluster.ClusterQueuingSystem; import de.rcenvironment.core.utils.cluster.ClusterQueuingSystemConstants; /** * Dialog to edit an existing cluster connection configuration. * * @author Doreen Seider */ public class EditClusterConnectionConfigurationDialog extends CreateClusterConnectionConfigurationDialog { private ClusterConnectionConfiguration configuration; public EditClusterConnectionConfigurationDialog(Shell parentShell, List<String> existingConfigurationNames, ClusterConnectionConfiguration configuration) { super(parentShell, existingConfigurationNames); this.configuration = configuration; } @Override protected Control createDialogArea(Composite parent) { Control control = super.createDialogArea(parent); prefillForm(); return control; } @Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); createButton.setText(Messages.editButtonTitle2); } @Override protected boolean isConfigurationNameValid(String currentConfigurationName) { return super.isConfigurationNameValid(configuration.getConfigurationName()); } private void prefillForm() { if (configuration.getClusterQueuingSystem() == ClusterQueuingSystem.TORQUE) { queuingSystemCombo.select(1); } showqPathText.setEnabled(queuingSystemCombo.getSelectionIndex() == 1); Map<String, String> paths = configuration.getPathToClusterQueuingSystemCommands(); prefillCommandPath(ClusterQueuingSystemConstants.COMMAND_QSTAT, qstatPathText, paths); prefillCommandPath(ClusterQueuingSystemConstants.COMMAND_QDEL, qdelPathText, paths); prefillCommandPath(ClusterQueuingSystemConstants.COMMAND_SHOWQ, showqPathText, paths); hostText.setText(configuration.getHost()); portText.setText(String.valueOf(configuration.getPort())); usernameText.setText(configuration.getUsername()); if (configuration.getPassword() != null) { passwordText.setText(configuration.getPassword()); passwordText.setEnabled(true); savePasswordCheckbox.setSelection(true); } configurationNameText.setText(configuration.getConfigurationName()); configurationNameText.setEnabled(true); defaultConfigurationNameCheckbox.setSelection(false); } private void prefillCommandPath(String command, Text pathText, Map<String, String> paths) { if (paths.containsKey(command)) { pathText.setText(paths.get(command)); } } }