Package org.nutz.dao.test.meta

Source Code of org.nutz.dao.test.meta.Pojos

package org.nutz.dao.test.meta;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import org.nutz.dao.Dao;
import org.nutz.dao.TableName;
import org.nutz.service.*;
import org.nutz.trans.Atom;

public class Pojos extends Service {

  private Dao dao;

  public Pojos(Dao dao) {
    super(dao);
    this.dao = dao;
  }

  public void initPet() {
    dao.create(Pet.class, true);
  }

  public void init() {
    synchronized (Pojos.class) {
      dao.create(Country.class, true);
      dao.create(Platoon.class, true);
      dao.create(Base.class, true);
      dao.create(Fighter.class, true);
      dao.create(WaveBand.class, true);
    }
  }

  public Platoon create4Platoon(Base base, String name) {
    final Platoon p = dao().insert(Platoon.make(base, name));
    int id = p.getId();
    initPlatoon(id);
    TableName.run(id, new Atom() {
      public void run() {
        Soldier mick = Soldier.make("Mick");
        Soldier zzh = Soldier.make("ZZH");
        Soldier peter = Soldier.make("Peter");
        Soldier sm = Soldier.make("Super Man");
        Soldier bush = Soldier.make("George.W.Bush");
        p.setTanks(new HashMap<String, Tank>());

        Tank m1a1 = p.addTank(Tank.make("M1-A1"));
        m1a1.setMotorName(bush.getName());
       

        Tank t92 = p.addTank(Tank.make("T92"));
        t92.setMotorName(zzh.getName());

        p.setLeaderName(zzh.getName());
        p.setLeader(zzh);

        p.setSoliders(new LinkedList<Soldier>());
        p.getSoliders().add(mick);
        p.getSoliders().add(peter);
        p.getSoliders().add(sm);
        p.getSoliders().add(bush);

        dao.update(p);
        dao.insertLinks(p, "leader|soliders|tanks");

        m1a1 = dao.fetch(Tank.class, "M1-A1");
        m1a1.setMembers(new HashMap<String, Soldier>());
        m1a1.addMember(bush).addMember(sm).addMember(zzh);
       
        t92 = dao.fetch(Tank.class, "T92");
        t92.setMembers(new HashMap<String, Soldier>());
        t92.addMember(zzh).addMember(mick).addMember(peter);

        dao.insertRelation(m1a1, "members");
        dao.insertRelation(t92, "members");
        dao.insertLinks(Gun.assign(mick, Gun.TYPE.AK47, Gun.TYPE.P228), "guns");
        dao.insertLinks(Gun.assign(zzh, Gun.TYPE.AWP, Gun.TYPE.MP5, Gun.TYPE.P228), "guns");
        dao.insertLinks(Gun.assign(peter, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
        dao.insertLinks(Gun.assign(sm, Gun.TYPE.M16, Gun.TYPE.UMP_45), "guns");
        dao.insertLinks(Gun.assign(bush, Gun.TYPE.M60, Gun.TYPE.P228), "guns");
      }
    });
    return p;
  }

  public void initPlatoon(int id) {
    TableName.set(id);
    dao.create(Soldier.class, true);
    dao.create(Tank.class, true);
    dao.create(Gun.class, true);
    dao.create(Mission.class, true);
    TableName.clear();
  }

  public void dropPlatoon(int id) {
    TableName.set(id);
    dao.drop(Soldier.class);
    dao.drop(Tank.class);
    dao.drop(Gun.class);
    dao.drop(Mission.class);
    TableName.clear();
  }

  public void initData() {
    init();
    dao.insert(WaveBand.make("FM_A", 107.9));
    dao.insert(WaveBand.make("FM_B", 104.83));
    dao.insert(WaveBand.make("DQ_99", 109.99));
    dao.insert(WaveBand.make("X", 101.21));

    Base b = Base.make("red");
    b.setCountry(Country.make("China"));
    b.setFighters(new ArrayList<Fighter>(6));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_35));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_27));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_27));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_31));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_31));
    b.getFighters().add(Fighter.make(Fighter.TYPE.SU_31));
    b.setPlatoons(new HashMap<String, Platoon>());
    b.addPlatoon(Platoon.make(b, "C"));
    b.addPlatoon(Platoon.make(b, "ES"));
    b.addPlatoon(Platoon.make(b, "DT"));
    dao.insertWith(b, "country|fighters|platoons");

    b = Base.make("blue");
    b.setCountry(Country.make("US"));
    b.setFighters(new LinkedList<Fighter>());
    b.getFighters().add(Fighter.make(Fighter.TYPE.F117A));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F22));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F15));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F15));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F16));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F16));
    b.getFighters().add(Fighter.make(Fighter.TYPE.F16));
    b.setPlatoons(new HashMap<String, Platoon>());
    b.addPlatoon(Platoon.make(b, "SF"));
    b.addPlatoon(Platoon.make(b, "DF"));
    b.addPlatoon(Platoon.make(b, "seals"));
    dao.insertLinks(b, "country");
    dao.insert(b);
    dao.insertLinks(b, "fighters|platoons");
  }

}
TOP

Related Classes of org.nutz.dao.test.meta.Pojos

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.