in commons-transfer/commons-transfer-interactive/src/main/java/org/apache/archiva/commons/transfer/interactive/NetworkProxyDialog.java [428:527]
public void doOk( ActionEvent evt )
{
boolean directSelected = radioDirectConnection.isSelected();
boolean proxiedSelected = radioProxiedConnection.isSelected();
if ( !directSelected && !proxiedSelected )
{
JOptionPane.showMessageDialog( this, "Select a mode: Direct or Proxied.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
this.model.setEnabled( proxiedSelected );
// Validate Host
String host = StringUtils.trimToEmpty( txtProxyHost.getText() );
if ( proxiedSelected && StringUtils.isBlank( host ) )
{
JOptionPane.showMessageDialog( this, "The proxy host name is required.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
if ( !StringUtils.containsNone( host, " \\/\t:" ) )
{
JOptionPane.showMessageDialog( this, "The proxy host name entered contains invalid characters.",
"Validation Error", JOptionPane.WARNING_MESSAGE );
return;
}
this.model.setHost( host );
// Validate Port
String portStr = StringUtils.trimToEmpty( txtProxyPort.getText() );
if ( proxiedSelected && StringUtils.isBlank( portStr ) )
{
JOptionPane.showMessageDialog( this, "The proxy port is required.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
if ( !StringUtils.isNumeric( portStr ) )
{
JOptionPane.showMessageDialog( this, "The proxy port entered is invalid.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
int port = NumberUtils.toInt( portStr, 0 );
IntRange validTcpPorts = new IntRange( 1, 65535 );
if ( !validTcpPorts.containsInteger( port ) )
{
JOptionPane.showMessageDialog( this, "The proxy port must be a valid tcp port number, within the range of "
+ validTcpPorts.getMinimumInteger() + " and " + validTcpPorts.getMaximumInteger() + ".",
"Validation Error", JOptionPane.WARNING_MESSAGE );
return;
}
this.model.setPort( port );
// Validate No Proxy List
this.model.getNoProxyHosts().clear();
for ( String nohost : noProxyListModel.getHosts() )
{
this.model.addNoProxyHost( nohost );
}
// Validate Auth
boolean authEnabled = boxEnableProxyAuth.isSelected();
this.model.setAuthEnabled( authEnabled );
// Validate Username
String username = StringUtils.trimToEmpty( txtProxyUsername.getText() );
if ( authEnabled && StringUtils.isBlank( username ) )
{
JOptionPane.showMessageDialog( this, "The proxy username is required.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
this.model.setUsername( username );
// Validate Password
String password = new String( txtProxyPassword.getPassword() );
if ( authEnabled && StringUtils.isBlank( password ) )
{
JOptionPane.showMessageDialog( this, "The proxy username is required.", "Validation Error",
JOptionPane.WARNING_MESSAGE );
return;
}
this.model.setPassword( password );
// Persist network proxy settings.
try
{
getTransferStore().setNetworkProxy( this.model );
getTransferStore().save();
}
catch ( IOException e )
{
log.warn( e.getMessage(), e );
}
bCanceled = false;
setVisible( false );
}