[jboss-cvs] jboss-seam-tools/templates/basic ...

Thomas Heute theute at jboss.com
Tue Aug 8 07:33:13 EDT 2006


  User: theute  
  Date: 06/08/08 07:33:13

  Added:       templates/basic         testng.xml.ftl RegisterTest.java.ftl
                        RegisterAction.java.ftl register.jsp.ftl
                        Register.java.ftl registered.jsp.ftl index.html.ftl
                        User.java.ftl
  Log:
   - WTP and Maven support
   - Legal headers
   - Moved the templates
  
  Revision  Changes    Path
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/testng.xml.ftl
  
  Index: testng.xml.ftl
  ===================================================================
  <!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
  
  <suite name="Registration" verbose="2" parallel="false">
  
     <test name="Register">
       <classes>
         <class name="org.jboss.seam.test.RegisterTest"/>
       </classes>
     </test>
  	
  </suite>
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/RegisterTest.java.ftl
  
  Index: RegisterTest.java.ftl
  ===================================================================
  package org.jboss.seam.test;
  
  import org.jboss.seam.Component;
  import org.jboss.seam.Register;
  import org.jboss.seam.User;
  import org.jboss.seam.mock.SeamTest;
  import org.testng.annotations.Test;
  
  public class RegisterTest extends SeamTest
  {
     
     @Test
     public void testLogin() throws Exception
     {
              
        new Script() {
  
           @Override
           protected void updateModelValues() throws Exception
           {
              User user = (User) Component.getInstance("user", true);
              assert user!=null;
              user.setUsername("1ovthafew");
              user.setPassword("secret");
              user.setName("Gavin King");
           }
  
           @Override
           protected void invokeApplication()
           {
              Register register = (Register) Component.getInstance("register", true);
              String outcome = register.register();
              assert "/registered.jsp".equals( outcome );
           }
  
           @Override
           protected void renderResponse()
           {
              User user = (User) Component.getInstance("user", false);
              assert user!=null;
              assert user.getName().equals("Gavin King");
              assert user.getUsername().equals("1ovthafew");
              assert user.getPassword().equals("secret");
           }
           
        }.run();
        
     }
     
  }
  
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/RegisterAction.java.ftl
  
  Index: RegisterAction.java.ftl
  ===================================================================
  package org.jboss.seam;
  
  import java.util.List;
  
  import javax.ejb.Stateless;
  import javax.persistence.EntityManager;
  import javax.persistence.PersistenceContext;
  
  import org.jboss.seam.annotations.In;
  import org.jboss.seam.annotations.Logger;
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.core.FacesMessages;
  import org.jboss.seam.log.Log;
  
  @Stateless
  @Name("register")
  public class RegisterAction implements Register
  {
  
     @In
     private User user;
     
     @PersistenceContext
     private EntityManager em;
     
     @Logger
     private Log log;
     
     public String register()
     {
        List existing = em.createQuery("select username from User where username=:username")
           .setParameter("username", user.getUsername())
           .getResultList();
        if (existing.size()==0)
        {
           em.persist(user);
           log.info("Registered new user ${'#'}{user.username}");
           return "/registered.jsp";
        }
        else
        {
           FacesMessages.instance().add("User ${'#'}{user.username} already exists");
           return null;
        }
     }
  
  }
  
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/register.jsp.ftl
  
  Index: register.jsp.ftl
  ===================================================================
  <#if context.faceletsSupport>
  <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:s="http://jboss.com/products/seam/taglib"
        >
  <#else>
  <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
  <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
  <%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s" %>
  <html>
  </#if>
   <head>
    <title>Register New User</title>
   </head>
   <body>
    <f:view>
     <h:form>
       <table border="0">
         <s:validateAll>
           <tr>
             <td>Username</td>
             <td><h:inputText value="${'#'}{user.username}" required="true"/></td>
           </tr>
           <tr>
             <td>Real Name</td>
             <td><h:inputText value="${'#'}{user.name}" required="true"/></td>
           </tr>
           <tr>
             <td>Password</td>
             <td><h:inputSecret value="${'#'}{user.password}" required="true"/></td>
           </tr>
         </s:validateAll>
       </table>
       <h:messages/>
       <h:commandButton type="submit" value="Register" action="${'#'}{register.register}"/>
     </h:form>
    </f:view>
   </body>
  </html>
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/Register.java.ftl
  
  Index: Register.java.ftl
  ===================================================================
  package org.jboss.seam;
  
  import javax.ejb.Local;
  
  @Local
  public interface Register
  {
     public String register();
  }
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/registered.jsp.ftl
  
  Index: registered.jsp.ftl
  ===================================================================
  <#if context.faceletsSupport>
  <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        >
  <#else>
  <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
  <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
  <html>
  </#if>
   <head>
    <title>Successfully Registered New User</title>
   </head>
   <body>
    <f:view>
      Welcome, <h:outputText value="${'#'}{user.name}"/>, 
      you are successfully registered as <h:outputText value="${'#'}{user.username}"/>.
    </f:view>
   </body>
  </html>
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/index.html.ftl
  
  Index: index.html.ftl
  ===================================================================
  <html>
  <head>
    <meta http-equiv="Refresh" content="0; URL=register.${context.seamExtension}">
  </head>
  </html>
  
  
  1.1      date: 2006/08/08 11:33:13;  author: theute;  state: Exp;jboss-seam-tools/templates/basic/User.java.ftl
  
  Index: User.java.ftl
  ===================================================================
  package org.jboss.seam;
  
  import static org.jboss.seam.ScopeType.SESSION;
  
  import java.io.Serializable;
  
  import javax.persistence.Entity;
  import javax.persistence.Id;
  import javax.persistence.Table;
  
  import org.hibernate.validator.Length;
  import org.hibernate.validator.NotNull;
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.annotations.Scope;
  
  @Entity
  @Name("user")
  @Scope(SESSION)
  @Table(name="users")
  public class User implements Serializable
  {
     private static final long serialVersionUID = 1881413500711441951L;
     
     private String username;
     private String password;
     private String name;
     
     public User(String name, String password, String username)
     {
        this.name = name;
        this.password = password;
        this.username = username;
     }
     
     public User() {}
     
     @NotNull
     public String getName()
     {
        return name;
     }
  
     public void setName(String name)
     {
        this.name = name;
     }
     
     @NotNull @Length(min=5, max=15)
     public String getPassword()
     {
        return password;
     }
  
     public void setPassword(String password)
     {
        this.password = password;
     }
     
     @Id @NotNull @Length(min=5, max=15)
     public String getUsername()
     {
        return username;
     }
  
     public void setUsername(String username)
     {
        this.username = username;
     }
     
     public String toString() 
     {
        return "User(" + username + ")";
     }
  }
  
  
  



More information about the jboss-cvs-commits mailing list