[jboss-cvs] jboss-seam/examples/groovybooking/src/model/org/jboss/seam/example/groovy ...
Emmanuel Bernard
emmanuel.bernard at jboss.com
Wed Apr 18 02:40:02 EDT 2007
User: ebernard
Date: 07/04/18 02:40:02
Added: examples/groovybooking/src/model/org/jboss/seam/example/groovy
Booking.groovy Hotel.groovy User.groovy
Log:
JBSEAM-1199 Support for .groovy deployment in WEB-INF/dev Cannot be used to write EJB 3 Groovy session beans
JBSEAM-1200 Support for Groovy in the seam-gen environment
Revision Changes Path
1.1 date: 2007/04/18 06:40:02; author: ebernard; state: Exp;jboss-seam/examples/groovybooking/src/model/org/jboss/seam/example/groovy/Booking.groovy
Index: Booking.groovy
===================================================================
//$Id: Booking.groovy,v 1.1 2007/04/18 06:40:02 ebernard Exp $
package org.jboss.seam.example.groovy
import java.text.DateFormat
import javax.persistence.Basic
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
import javax.persistence.ManyToOne
import javax.persistence.Temporal
import javax.persistence.TemporalType
import javax.persistence.Transient
import org.hibernate.validator.Length
import org.hibernate.validator.NotNull
import org.hibernate.validator.Pattern
import org.jboss.seam.annotations.Name
@Entity
@Name("booking")
class Booking implements Serializable
{
@Id @GeneratedValue
Long id
@ManyToOne @NotNull
User user
@ManyToOne @NotNull
Hotel hotel
@NotNull
@Basic @Temporal(TemporalType.DATE)
Date checkinDate
@Basic @Temporal(TemporalType.DATE)
@NotNull
Date checkoutDate
@NotNull(message="Credit card number is required")
@Length(min=16, max=16, message="Credit card number must 16 digits long")
@Pattern(regex=/^\d*$/, message="Credit card number must be numeric")
String creditCard
@NotNull(message="Credit card name is required")
@Length(min=3, max=70, message="Credit card name is required")
String creditCardName
int creditCardExpiryMonth
int creditCardExpiryYear
boolean smoking
int beds
Booking() {}
Booking(Hotel hotel, User user)
{
this.hotel = hotel
this.user = user
}
@Transient
BigDecimal getTotal()
{
return hotel.price * getNights()
}
@Transient
int getNights()
{
return (int) ( ( checkoutDate.time - checkinDate.time ) / 1000 / 60 / 60 / 24 )
}
@Transient
String getDescription()
{
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM)
return hotel ?
"${hotel.name}, ${df.format( checkinDate )} to ${df.format(checkoutDate)}" :
null
}
@Override
String toString()
{
return "Booking(" + user + ","+ hotel + ")"
}
}
1.1 date: 2007/04/18 06:40:02; author: ebernard; state: Exp;jboss-seam/examples/groovybooking/src/model/org/jboss/seam/example/groovy/Hotel.groovy
Index: Hotel.groovy
===================================================================
//$Id: Hotel.groovy,v 1.1 2007/04/18 06:40:02 ebernard Exp $
package org.jboss.seam.example.groovy
import javax.persistence.Column
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
import org.hibernate.validator.Length
import org.hibernate.validator.NotNull
import org.jboss.seam.annotations.Name
@Entity
@Name("hotel")
class Hotel implements Serializable
{
@Id @GeneratedValue
Long id
@Length(max=50) @NotNull
String name
@Length(max=100) @NotNull
String address
@Length(max=40) @NotNull
String city
@Length(min=2, max=10) @NotNull
String state
@Length(min=4, max=6) @NotNull
String zip
@Length(min=2, max=40) @NotNull
String country
@Column(precision=6, scale=2)
BigDecimal price
@Override
String toString()
{
return "Hotel(${name},${address},${city},${zip})"
}
}
1.1 date: 2007/04/18 06:40:02; author: ebernard; state: Exp;jboss-seam/examples/groovybooking/src/model/org/jboss/seam/example/groovy/User.groovy
Index: User.groovy
===================================================================
//$Id: User.groovy,v 1.1 2007/04/18 06:40:02 ebernard Exp $
package org.jboss.seam.example.groovy
import javax.persistence.Entity
import javax.persistence.Id
import javax.persistence.Table
import org.hibernate.validator.Length
import org.hibernate.validator.NotNull
import org.hibernate.validator.Pattern
import org.jboss.seam.ScopeType
import org.jboss.seam.annotations.Name
import org.jboss.seam.annotations.Scope
@Entity
@Name("user")
@Scope(ScopeType.SESSION)
@Table(name="Customer")
class User implements Serializable
{
@Id
@Length(min=5, max=15)
@Pattern(regex=/^\w*$/, message="not a valid username")
String username
@NotNull
@Length(min=5, max=15)
String password
@NotNull
@Length(max=100)
String name
User(String name, String password, String username)
{
this.name = name
this.password = password
this.username = username
}
User() {}
@Override
String toString()
{
return "User(${username})"
}
}
More information about the jboss-cvs-commits
mailing list