[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha ...
Christian Bauer
christian at hibernate.org
Sat Apr 21 04:13:50 EDT 2007
User: cbauer
Date: 07/04/21 04:13:50
Added: examples/wiki/src/main/org/jboss/seam/wiki/core/captcha
WikiCaptchaResponseValidator.java
WikiCaptchaResponse.java WikiCaptcha.java
Log:
Kicked out jCaptcha and replaced with simple math captcha
Revision Changes Path
1.1 date: 2007/04/21 08:13:50; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaResponseValidator.java
Index: WikiCaptchaResponseValidator.java
===================================================================
package org.jboss.seam.wiki.core.captcha;
import org.hibernate.validator.Validator;
import java.lang.annotation.Annotation;
public class WikiCaptchaResponseValidator implements Validator {
public void initialize(Annotation captchaResponse) {
}
public boolean isValid(Object response) {
return WikiCaptcha.instance().validateResponse((String) response);
}
}
1.1 date: 2007/04/21 08:13:50; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptchaResponse.java
Index: WikiCaptchaResponse.java
===================================================================
package org.jboss.seam.wiki.core.captcha;
import org.hibernate.validator.ValidatorClass;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.METHOD)
@ValidatorClass(WikiCaptchaResponseValidator.class)
public @interface WikiCaptchaResponse {
String message() default "Your answer was not correct, please try again.";
}
1.1 date: 2007/04/21 08:13:50; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/captcha/WikiCaptcha.java
Index: WikiCaptcha.java
===================================================================
package org.jboss.seam.wiki.core.captcha;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.ScopeType;
import org.jboss.seam.Component;
import org.jboss.seam.contexts.Contexts;
import java.io.Serializable;
import java.util.Random;
import java.security.SecureRandom;
@Name("org.jboss.seam.captcha.captcha")
@Scope(ScopeType.PAGE)
@Install(precedence = Install.DEPLOYMENT)
public class WikiCaptcha implements Serializable {
private String question;
private transient String response;
private transient Random myRamdom = new SecureRandom();
public String getQuestion() {
int one = myRamdom.nextInt(50);
int two = myRamdom.nextInt(50);
question = String.valueOf(one + two);
response = null;
return one + " + " + two;
}
@WikiCaptchaResponse
public String getResponse() {
return response;
}
public void setResponse(String input) {
this.response = input;
}
public boolean validateResponse(String response) {
return question.equals(response);
}
public static WikiCaptcha instance() {
if (!Contexts.isPageContextActive()) {
throw new IllegalStateException("No page context active");
}
return (WikiCaptcha) Component.getInstance(WikiCaptcha.class, ScopeType.PAGE);
}
}
More information about the jboss-cvs-commits
mailing list