protected ElasticSearchDatastore createDatastore() {
final String name = _datastoreNameTextField.getText();
final String hostname = _hostnameTextField.getText();
final ElasticSearchDatastore.ClientType selectedClientType = (ClientType) _clientTypeComboBox.getSelectedItem();
final Integer port;
if (ElasticSearchDatastore.ClientType.TRANSPORT.equals(selectedClientType)
|| ElasticSearchDatastore.ClientType.REST.equals(selectedClientType)) {
port = Integer.parseInt(_portTextField.getText());
} else {
port = null;
}
final String clusterName = _clusterNameTextField.getText();
final String indexName = _indexNameTextField.getText();
final String username = _usernameTextField.getText();
final String password = new String(_passwordField.getPassword());
final boolean ssl = _sslCheckBox.isSelected();
final String keystorePath = _keystorePathField.getFilename();
final String keystorePassword = new String(_keystorePasswordField.getPassword());
if (StringUtils.isNullOrEmpty(username) && StringUtils.isNullOrEmpty(password) && StringUtils
.isNullOrEmpty(keystorePath) && StringUtils.isNullOrEmpty(keystorePassword)) {
return new ElasticSearchDatastore(name, selectedClientType, hostname, port, clusterName, indexName);
} else {
return new ElasticSearchDatastore(name, selectedClientType, hostname, port, clusterName, indexName,
username, password, ssl, keystorePath, keystorePassword);
}
}