gestor.GestorUser.java Source code

Java tutorial

Introduction

Here is the source code for gestor.GestorUser.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 gestor;

/**
 *
 * @author Admin
 */
import hibernate.User;
import java.math.BigInteger;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.json.JSONObject;

/**
 *
 * @author izv
 */
public class GestorUser {

    /**
     * Metodo que guarda en la base de datos a un usuario
     * 
     *@param usuario Usuario que se va a registrar en nuestra base de datos
     */
    public static void registerUser(User usuario) {
        Configuration configuration = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties());

        SessionFactory factory = configuration.buildSessionFactory(builder.build());
        Session sesion = factory.openSession();
        sesion.beginTransaction();
        sesion.save(usuario);
        sesion.getTransaction().commit();
        sesion.flush();
        sesion.close();
    }

    /**
     * Metodo para consultar informacion de un usuario a partir de su token
     * 
     * @param token Elemento identificador unico de cada usuario
     * @return Usuario en forma de json, false en caso de no existir
     */
    public static JSONObject getUserByToken(String token) {
        Configuration configuration = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties());

        SessionFactory factory = configuration.buildSessionFactory(builder.build());
        Session sesion = factory.openSession();
        sesion.beginTransaction();

        String hql = "from User where token = :token";
        Query q = sesion.createQuery(hql);
        q.setString("token", token);

        List<User> usuarios = q.list();
        sesion.getTransaction().commit();

        sesion.flush();
        sesion.close();

        JSONObject obj = new JSONObject();
        if (!usuarios.isEmpty()) {
            obj.put("r", usuarios.get(0).getJSON());
        } else {
            obj.put("r", false);
        }
        return obj;
    }

    /**
     * Metodo para consultar informacion de un usuario a partir de su telefono
     * 
     * @param tlf Elemento identificador unico de cada usuario
     * @return Usuario en forma de json, false en caso de no existir
     */
    public static JSONObject getUserByTlf(String tlf) {
        Configuration configuration = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties());

        SessionFactory factory = configuration.buildSessionFactory(builder.build());
        Session sesion = factory.openSession();
        sesion.beginTransaction();

        User u = (User) sesion.get(User.class, tlf);

        sesion.getTransaction().commit();
        sesion.flush();
        sesion.close();

        JSONObject obj = new JSONObject();
        if (u != null) {
            obj = u.getJSON();
        } else {
            obj.put("r", false);
        }
        return obj;
    }

    /**
     * Metodo para actualizar la informacion en la base de datos de un usuario
     * 
     * @param newUser Nuevos datos del usuario
     * @param tlf Telefono del usuario que vamos a modificar
     */
    public static void updateUser(String tlf, User newUser) {

        Configuration configuration = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties());

        SessionFactory factory = configuration.buildSessionFactory(builder.build());
        Session sesion = factory.openSession();
        sesion.beginTransaction();

        User user = (User) sesion.get(User.class, tlf);

        user.setDescripcion(newUser.getDescripcion());
        user.setEmail(newUser.getEmail());
        user.setFacebook(newUser.getFacebook());
        user.setNacimiento(newUser.getNacimiento());
        user.setNacionalidad(newUser.getNacionalidad());
        user.setNick(newUser.getNick());
        user.setPrivacidad(newUser.getPrivacidad());
        user.setTwitter(newUser.getTwitter());
        user.setVerconexion(newUser.getVerconexion());
        user.setUltimaconexion(newUser.getUltimaconexion());

        sesion.getTransaction().commit();
        sesion.flush();
        sesion.close();
    }
}