[jboss-cvs] jboss-seam-tools/src/templates/basic ...
Thomas Heute
theute at jboss.com
Thu Aug 10 08:55:20 EDT 2006
User: theute
Date: 06/08/10 08:55:20
Added: src/templates/basic RegisterAction.java.ftl
registered.jsp.ftl testng.xml.ftl Register.java.ftl
User.java.ftl index.html.ftl RegisterTest.java.ftl
register.jsp.ftl
Log:
Use resource classloading instead of simple directories
Revision Changes Path
1.1 date: 2006/08/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/templates/basic/RegisterAction.java.ftl
Index: RegisterAction.java.ftl
===================================================================
package ${context.srcPackage};
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/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/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/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/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/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/templates/basic/Register.java.ftl
Index: Register.java.ftl
===================================================================
package ${context.srcPackage};
import javax.ejb.Local;
@Local
public interface Register
{
public String register();
}
1.1 date: 2006/08/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/templates/basic/User.java.ftl
Index: User.java.ftl
===================================================================
package ${context.srcPackage};
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 + ")";
}
}
1.1 date: 2006/08/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/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/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/templates/basic/RegisterTest.java.ftl
Index: RegisterTest.java.ftl
===================================================================
package ${context.testPackage};
import ${context.srcPackage}.Component;
import ${context.srcPackage}.Register;
import ${context.srcPackage}.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/10 12:55:20; author: theute; state: Exp;jboss-seam-tools/src/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>
More information about the jboss-cvs-commits
mailing list