/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.cluster.configuration.internal; import java.util.Map; import de.rcenvironment.core.utils.cluster.ClusterQueuingSystem; /** * Holds information about a cluster connection configuration. * * @author Doreen Seider */ public class ClusterConnectionConfiguration implements PlainClusterConnectionConfiguration, SensitiveClusterConnectionConfiguration { private PlainClusterConnectionConfiguration plainConfiguration; private SensitiveClusterConnectionConfiguration sensitiveConfiguration; public ClusterConnectionConfiguration(ClusterQueuingSystem queueingSystem, Map<String, String> pathToClusterQueuingSystemCommands, String host, int port, String username, String configurationName, String password) { this.plainConfiguration = new PlainClusterConnectionConfigurationImpl(queueingSystem, host, port, username, configurationName); ((PlainClusterConnectionConfigurationImpl) this.plainConfiguration) .setPathToClusterQueuingSystemCommands(pathToClusterQueuingSystemCommands); this.sensitiveConfiguration = new SensitiveClusterConnectionConfigurationImpl(password); ((SensitiveClusterConnectionConfigurationImpl) sensitiveConfiguration).setKey(plainConfiguration.getUsername() + "@" + plainConfiguration.getHost() + ":" + plainConfiguration.getPort()); } public ClusterConnectionConfiguration(ClusterQueuingSystem queueingSystem, Map<String, String> pathToClusterQueuingSystemCommands, String host, int port, String username, String configurationName) { this(queueingSystem, pathToClusterQueuingSystemCommands, host, port, username, configurationName, null); } @Override public String toString() { if (plainConfiguration.getConfigurationName() != null && !plainConfiguration.getConfigurationName().isEmpty()) { return plainConfiguration.getConfigurationName(); } else { return plainConfiguration.getUsername() + "@" + plainConfiguration.getHost(); } } @Override public String getKey() { return sensitiveConfiguration.getKey(); } @Override public String getPassword() { return sensitiveConfiguration.getPassword(); } @Override public ClusterQueuingSystem getClusterQueuingSystem() { return plainConfiguration.getClusterQueuingSystem(); } @Override public Map<String, String> getPathToClusterQueuingSystemCommands() { return plainConfiguration.getPathToClusterQueuingSystemCommands(); } @Override public String getHost() { return plainConfiguration.getHost(); } @Override public int getPort() { return plainConfiguration.getPort(); } @Override public String getUsername() { return plainConfiguration.getUsername(); } @Override public String getConfigurationName() { return plainConfiguration.getConfigurationName(); } @Override public void setPassword(String password) { sensitiveConfiguration.setPassword(password); } protected PlainClusterConnectionConfiguration getPlainClusterConnectionConfiguration() { return plainConfiguration; } protected SensitiveClusterConnectionConfiguration getSensitiveClusterConnectionConfiguration() { return sensitiveConfiguration; } }