[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