package org.jabox.scm.svn;
import java.io.IOException;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.validator.UrlValidator;
public class SVNLoginValidator extends UrlValidator {
private static final long serialVersionUID = 2635593287132542621L;
private final TextField<String> _url;
private final TextField<String> _username;
private final PasswordTextField _password;
public SVNLoginValidator(final TextField<String> url,
final TextField<String> username,
final PasswordTextField password) {
_url = url;
_username = username;
_password = password;
}
@Override
protected void onValidate(final IValidatable<String> validatable) {
if (!_url.isValid() || !_username.isValid()
|| !_password.isValid()) {
return;
}
try {
boolean login =
new SubversionFacade().validate(_url.getValue(),
_username.getValue(), _password.getValue());
if (!login) {
error(_url.newValidatable());
}
} catch (IOException e) {
error(_url.newValidatable());
}
}
}