com.zanvork.guildhub.model.Realm.java Source code

Java tutorial

Introduction

Here is the source code for com.zanvork.guildhub.model.Realm.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.zanvork.guildhub.model;

import com.zanvork.guildhub.model.dao.HibernateMySQLDAO;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author Jamie
 */
@Entity
@Table(name = "realms")
public class Realm {
    public enum Region {
        EU, US;
    };

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int realm_id;
    private String locale;
    private String slug;
    private String realm_name;
    @Column(columnDefinition = "enum('EU','US')")
    @Enumerated(EnumType.STRING)
    private Region region;

    public int getRealm_id() {
        return realm_id;
    }

    public String getLocale() {
        return locale;
    }

    public String getSlug() {
        return slug;
    }

    public String getRealm_name() {
        return realm_name;
    }

    public Region getRegion() {
        return region;
    }

    public String getRegionString() {
        return region.toString();
    }

    public static Realm getRealm(int realm_id) {
        Realm realm = null;
        List<Realm> list;

        SessionFactory sessionFactory = HibernateMySQLDAO.getSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();

        list = session.createCriteria(Realm.class).add(Restrictions.eq("realm_id", realm_id)).list();
        session.getTransaction().commit();

        if (!list.isEmpty()) {
            realm = list.get(0);
        }
        return realm;
    }

    public static Realm getRealm(String realmName, String regionName) {
        Realm realm = null;
        List<Realm> list;
        Region region = Region.valueOf(regionName);

        SessionFactory sessionFactory = HibernateMySQLDAO.getSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();

        list = session.createCriteria(Realm.class).add(Restrictions.eq("region", region))
                .add(Restrictions.or(Restrictions.eq("slug", realmName), Restrictions.eq("realm_name", realmName)))
                .list();
        session.getTransaction().commit();

        if (!list.isEmpty()) {
            realm = list.get(0);
        }
        return realm;
    }

}