Advertisement
GreenAsJade

Scenario.java

Jan 3rd, 2014
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.60 KB | None | 0 0
  1. package models;
  2.  
  3. import play.*;
  4. import play.mvc.*;
  5. import play.libs.*;
  6.  
  7. import java.util.*;
  8.  
  9. import javax.persistence.*;
  10. import play.db.ebean.*;
  11. import com.avaje.ebean.*;
  12.  
  13. @Entity
  14. public class Scenario extends Model {
  15.  
  16.     @Id
  17.     public String name;
  18.  
  19.     @ManyToOne
  20.     @JoinColumn(name="gameId", nullable=false)
  21.     public Game game;
  22.  
  23.     @OneToOne
  24.     public User author;
  25.  
  26.     public Scenario(String name, String game_name, String author_name) {
  27.         Logger.info(String.format("Constructing scenario '%s' of type '%s'", name, game_name));
  28.     this.name = name;
  29.         this.game = Game.find.where().eq("name", game_name).findUnique();
  30.         Logger.info(String.format("...found it's game: '%s', which has %d scenarios", this.game.name, this.game.scenarios.size()));
  31.  
  32.         this.game.scenarios.add(this);
  33.         Logger.info(String.format("now ... it's game has %d scenarios", this.game.scenarios.size()));
  34.         this.author = User.find.where().eq("username", author_name).findUnique();
  35.     }
  36.  
  37.     public static Scenario create(String name, String game_name, String author_name) {
  38.         Logger.info(String.format("Creating scenario '%s' of '%s' by '%s'", name, game_name, author_name));
  39.         Scenario created_scenario = new Scenario(name, game_name, author_name);
  40.         created_scenario.save();
  41.         created_scenario.game.save();
  42.         created_scenario.game.saveManyToManyAssociations("scenarios");
  43.         return created_scenario;
  44.     }
  45.  
  46.     public static Scenario.Finder<String,Scenario> find =
  47.     new Scenario.Finder<String,Scenario>(String.class, Scenario.class);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement