Package com.impetus.client.hbase.crud

Source Code of com.impetus.client.hbase.crud.HBaseIdQueryTest

/**
*
*/
package com.impetus.client.hbase.crud;

import java.util.List;
import java.util.Map;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.impetus.client.hbase.junits.HBaseCli;
import com.impetus.kundera.persistence.EntityManagerFactoryImpl;
import com.impetus.kundera.utils.LuceneCleanupUtilities;

/**
* @author Kuldeep Mishra
*
*/
public class HBaseIdQueryTest extends BaseTest
{
    /** The emf. */
    private static EntityManagerFactory emf;

    /** The em. */
    private static EntityManager em;

    private Map<Object, Object> col;

    private HBaseCli cli;

    /**
     * @throws java.lang.Exception
     */
    @Before
    public void setUp() throws Exception
    {
        cli = new HBaseCli();
        cli.startCluster();
        emf = Persistence.createEntityManagerFactory("hbaseTest");
        em = emf.createEntityManager();
        col = new java.util.HashMap<Object, Object>();
    }

    /**
     * @throws java.lang.Exception
     */
    @After
    public void tearDown() throws Exception
    {
        for (Object val : col.values())
        {
            em.remove(val);
        }
        em.close();
        if (cli != null)
        {
            cli.dropTable("KunderaExamples");
        }
        LuceneCleanupUtilities.cleanLuceneDirectory(((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance()
                .getApplicationMetadata().getPersistenceUnitMetadata("hbaseTest"));
        emf.close();
    }

    @Test
    public void test()
    {
        init();
        em.clear();
        findById();
        findByWithOutWhereClause();
        findByIdEQ();
        findByIdLT();
        findByIdLTE();
        findByIdGT();
        findByIdGTE();
        findByIdGTEAndLT();
        findByIdGTAndLTE();
        findByIdAndAge();
        findByIdGTAndAgeGTAndLT();
        findByIdAndAgeGTAndLT();
        findByIdGTEAndAge();
        findByIdLTEAndAge();
    }

    /**
     *
     */
    private void findByIdAndAge()
    {
        String qry = "Select p.personName, p.age from PersonHBase p where p.personId = 1 and p.age = 10";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(1, persons.size());
        for (PersonHBase person : persons)
        {
            Assert.assertEquals(new Integer(10), person.getAge());
            Assert.assertEquals("1", person.getPersonId());
            Assert.assertEquals("vivek", person.getPersonName());
            Assert.assertEquals(10, person.getAge().intValue());
        }
    }

    /**
     *
     */
    private void findByIdAndAgeGTAndLT()
    {/*
      * String qry =
      * "Select p.personName from PersonHBase p where p.personId = 1 and p.personName = vivek and p.age >=10 and p.age <= 20"
      * ; Query q = em.createQuery(qry); List<PersonHBase> persons =
      * q.getResultList(); Assert.assertNotNull(persons); Assert.assertEquals(1,
      * persons.size()); int count = 0; for (PersonHBase person : persons) { if
      * (person.getPersonId().equals("1")) { Assert.assertNull(person.getAge());
      * Assert.assertEquals("vivek", person.getPersonName()); count++; } }
      * Assert.assertEquals(1, count);
      */
    }

    /**
     *
     */
    private void findByWithOutWhereClause()
    {
        String qry = "Select p.personName from PersonHBase p";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(3, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else if (person.getPersonId().equals("3"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(3, count);

    }

    /**
     *
     */
    private void findByIdEQ()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId = 2";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(1, persons.size());
        for (PersonHBase person : persons)
        {
            Assert.assertNull(person.getAge());
            Assert.assertEquals("2", person.getPersonId());
            Assert.assertEquals("vivek", person.getPersonName());
        }

    }

    /**
     *
     */
    private void findByIdLT()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId < 3";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(2, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(2, count);
    }

    /**
     *
     */
    private void findByIdLTE()
    {
        String qry = "Select p.personName, p.age from PersonHBase p where p.personId <= 3";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(2, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertEquals(new Integer(20), person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertEquals(new Integer(10), person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(2, count);
    }

    /**
     *
     */
    private void findByIdGT()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId > 1";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(3, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else if (person.getPersonId().equals("3"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(3, count);
    }

    /**
     *
     */
    private void findByIdGTE()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId >= 1 ";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(3, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else if (person.getPersonId().equals("3"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(3, count);
    }

    /**
     *
     */
    private void findByIdGTEAndLT()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId >= 1 and p.personId < 3";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(2, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(2, count);

    }

    /**
     *
     */
    private void findByIdGTAndLTE()
    {
        String qry = "Select p.personName from PersonHBase p where p.personId > 1 and p.personId <= 2";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(1, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            Assert.assertEquals("1", person.getPersonId());
            Assert.assertNull(person.getAge());
            Assert.assertEquals("vivek", person.getPersonName());
            count++;
        }
        Assert.assertEquals(1, count);
    }

    /**
     *
     */
    private void findByIdGTAndAgeGTAndLT()
    {

        String qry = "Select p.personName from PersonHBase p where p.personId > 1 and p.age >=10 and p.age <= 20";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(3, persons.size());
        int count = 0;
        for (PersonHBase person : persons)
        {
            if (person.getPersonId().equals("2"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else if (person.getPersonId().equals("3"))
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
            else
            {
                Assert.assertNull(person.getAge());
                Assert.assertEquals("1", person.getPersonId());
                Assert.assertEquals("vivek", person.getPersonName());
                count++;
            }
        }
        Assert.assertEquals(3, count);
    }

    /**
     *
     */
    private void findById()
    {
        PersonHBase personHBase = findById(PersonHBase.class, "1", em);
        Assert.assertNotNull(personHBase);
        Assert.assertEquals("vivek", personHBase.getPersonName());
        Assert.assertEquals(new Integer(10), personHBase.getAge());

        personHBase = findById(PersonHBase.class, "2", em);
        Assert.assertNotNull(personHBase);
        Assert.assertEquals("vivek", personHBase.getPersonName());
        Assert.assertEquals(new Integer(20), personHBase.getAge());

        personHBase = findById(PersonHBase.class, "3", em);
        Assert.assertNotNull(personHBase);
        Assert.assertEquals("vivek", personHBase.getPersonName());
        Assert.assertEquals(new Integer(15), personHBase.getAge());
    }

    /**
     *
     */
    private void findByIdGTEAndAge()
    {
        String qry = "Select p.personName, p.age from PersonHBase p where p.personId >= 1 and p.age = 10";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(1, persons.size());
        for (PersonHBase person : persons)
        {
            Assert.assertEquals(new Integer(10), person.getAge());
            Assert.assertEquals("1", person.getPersonId());
            Assert.assertEquals("vivek", person.getPersonName());
        }
    }

    /**
     *
     */
    private void findByIdLTEAndAge()
    {
        String qry = "Select p.personName, p.age from PersonHBase p where p.personId <= 3 and p.age = 10";
        Query q = em.createQuery(qry);
        List<PersonHBase> persons = q.getResultList();
        Assert.assertNotNull(persons);
        Assert.assertEquals(1, persons.size());
        for (PersonHBase person : persons)
        {
            Assert.assertEquals(new Integer(10), person.getAge());
            Assert.assertEquals("1", person.getPersonId());
            Assert.assertEquals("vivek", person.getPersonName());
        }

    }

    private void init()
    {

        // cli.createTable("PERSON");
        // cli.addColumnFamily("PERSON", "PERSON");
        Object p1 = prepareHbaseInstance("1", 10);
        Object p2 = prepareHbaseInstance("2", 20);
        Object p3 = prepareHbaseInstance("3", 15);
        em.persist(p1);
        em.persist(p2);
        em.persist(p3);
        col.put("1", p1);
        col.put("2", p2);
        col.put("3", p3);
    }
}
TOP

Related Classes of com.impetus.client.hbase.crud.HBaseIdQueryTest

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.