[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