in modules/jretools/src/main/java/org/apache/harmony/jretools/policytool/view/KeystoreEntryEditFormDialog.java [110:202]
public void onOkButtonPressed() {
// validation
final StringBuilder errorStringBuilder = new StringBuilder( NOT_ALLOWED_QUOTATION_MARKS_MESSAGE );
boolean validationFails = false;
if ( keystoreURLTextField.getText().indexOf( '"' ) >= 0 ) {
validationFails = true;
errorStringBuilder.append( "Keystore URL" );
}
if ( keystoreTypeTextField.getText().indexOf( '"' ) >= 0 ) {
errorStringBuilder.append( validationFails ? ", Keystore Type" : "Keystore Type" );
validationFails = true;
}
if ( keystoreProviderTextField.getText().indexOf( '"' ) >= 0 ) {
errorStringBuilder.append( validationFails ? ", Keystore Provider" : "Keystore Provider" );
validationFails = true;
}
if ( keystorePasswordURLTextField.getText().indexOf( '"' ) >= 0 ) {
errorStringBuilder.append( validationFails ? ", Keystore Password URL" : "Keystore Password URL" );
validationFails = true;
}
if ( !validationFails && keystoreURLTextField.getText().length() > 0 ) {
try {
new URL( keystoreURLTextField.getText() );
} catch ( final MalformedURLException mue ) {
validationFails = true;
errorStringBuilder.setLength( 0 );
errorStringBuilder.append( "Keystore URL contains a malformed URL: " + mue.getMessage() );
}
}
if ( !validationFails && keystorePasswordURLTextField.getText().length() > 0 ) {
try {
new URL( keystorePasswordURLTextField.getText() );
} catch ( final MalformedURLException mue ) {
validationFails = true;
errorStringBuilder.setLength( 0 );
errorStringBuilder.append( "Keystore Password URL contains a malformed URL: " + mue.getMessage() );
}
}
if ( validationFails ) {
Controller.logError( errorStringBuilder.toString() );
JOptionPane.showMessageDialog( this, errorStringBuilder.toString(), "Error!", JOptionPane.ERROR_MESSAGE );
return;
}
// validation end
final KeystoreEntry keystoreEntry = initialKeystoreEntry == null ? new KeystoreEntry() : initialKeystoreEntry;
if ( keystoreURLTextField.getText().length() == 0 && keystoreTypeTextField.getText().length() == 0 && keystoreProviderTextField.getText().length() == 0 ) {
// We want no keystore entry!
if ( initialKeystoreEntry != null )
policyEntryList.remove( initialKeystoreEntry );
} else {
keystoreEntry.setUrl ( keystoreURLTextField .getText() );
keystoreEntry.setType ( keystoreTypeTextField .getText() );
keystoreEntry.setProvider( keystoreProviderTextField.getText() );
if ( initialKeystoreEntry == null ) { // If it is a new, we have to add it to the "global" list
// We want to add it to be the first non-comment entry
int index = 0;
for ( ; index < policyEntryList.size(); index++ )
if ( !( policyEntryList.get( index ) instanceof CommentEntry ) )
break;
policyEntryList.add( index, keystoreEntry );
}
}
if ( keystorePasswordURLTextField.getText().length() == 0 ) {
// We want no keystore password URL entry!
if ( initialKeystorePasswordURLEntry != null )
policyEntryList.remove( initialKeystorePasswordURLEntry );
} else {
final KeystorePasswordURLEntry keystorePasswordURLEntry = initialKeystorePasswordURLEntry == null ? new KeystorePasswordURLEntry() : initialKeystorePasswordURLEntry;
keystorePasswordURLEntry.setUrl( keystorePasswordURLTextField.getText() );
if ( initialKeystorePasswordURLEntry == null ) { // If it is a new, we have to add it to the "global" list
// We want to add it after the keystore entry
int index = policyEntryList.indexOf( keystoreEntry );
if ( index < 0 ) { // No such entry exists, we want it to be the first non-comment entry then
index = 0;
for ( ; index < policyEntryList.size(); index++ )
if ( !( policyEntryList.get( index ) instanceof CommentEntry ) )
break;
} else
index++; // => after the keystore entry (not before)
policyEntryList.add( index, keystorePasswordURLEntry );
}
}
finishSuccessfulEdit();
}