Package com.impetus.client.hbase.crud

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

package com.impetus.client.hbase.crud;

import java.util.ArrayList;
import java.util.List;

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

import org.junit.After;
import org.junit.Assert;
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;

public class HbaseSecondaryTableTest
{

    private EntityManagerFactory emf;
   
    /** The em. */
    private static EntityManager em;
   
    private HBaseCli cli;

    @Before
    public void setUp() throws Exception
    {
       
        cli = new HBaseCli();
        cli.startCluster();
     
        emf = Persistence.createEntityManagerFactory("hbaseTest");
        em = emf.createEntityManager();
    
    }

    @After
    public void tearDown() throws Exception
    {
        em.close();
        cli.dropTable("KunderaExamples");
        cli.stopCluster("KunderaExamples");
      
        LuceneCleanupUtilities.cleanLuceneDirectory(((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance()
                .getApplicationMetadata().getPersistenceUnitMetadata("hbaseTest"));
        emf.close();
    }

    @Test
    public void test()
    {
        EntityManager em = emf.createEntityManager();
        cli.addColumnFamily("KunderaExamples", "HBASE_SECONDARY_TABLE");
        cli.addColumnFamily("KunderaExamples", "t_country");
       

        EmbeddedEntity embeddedEntity = new EmbeddedEntity();
        embeddedEntity.setEmailId("kuldeep.mishra@gmail.com");
        embeddedEntity.setPhoneNo(9512345346l);
       
        List<EmbeddedCollectionEntity> embeddedEntities = new ArrayList<EmbeddedCollectionEntity>();
       
        EmbeddedCollectionEntity collectionEntity1 = new EmbeddedCollectionEntity();
        collectionEntity1.setCollectionId("c1");
        collectionEntity1.setCollectionName("Collection 1");
        embeddedEntities.add(collectionEntity1);
       
        EmbeddedCollectionEntity collectionEntity2 = new EmbeddedCollectionEntity();
        collectionEntity2.setCollectionId("c2");
        collectionEntity2.setCollectionName("Collection 2");
        embeddedEntities.add(collectionEntity2);
      
        HbaseSecondaryTableEntity entity = new HbaseSecondaryTableEntity();
        entity.setAge(24);
        entity.setObjectId("123");
        entity.setName("Kuldeep");
        entity.setEmbeddedEntity(embeddedEntity);
        entity.setCountry("Canada");
        entity.setEmbeddedEntities(embeddedEntities);
      
       
        PersonSecondaryTableAddress address = new PersonSecondaryTableAddress(12.23);
        address.setAddress("india");
        entity.setAddress(address);

        em.persist(entity);
       


        em.clear();

        HbaseSecondaryTableEntity foundEntity = em.find(HbaseSecondaryTableEntity.class, "123");
        Assert.assertNotNull(foundEntity);
        Assert.assertEquals("Kuldeep", foundEntity.getName());
        Assert.assertEquals(24, foundEntity.getAge());
        Assert.assertEquals("Canada", foundEntity.getCountry());
        Assert.assertNotNull(foundEntity.getEmbeddedEntity());
        Assert.assertEquals("kuldeep.mishra@gmail.com", foundEntity.getEmbeddedEntity().getEmailId());
        Assert.assertEquals(9512345346l, foundEntity.getEmbeddedEntity().getPhoneNo());
        Assert.assertNotNull(foundEntity.getAddress());
        Assert.assertEquals("india",foundEntity.getAddress().getAddress());
        Assert.assertEquals(2, foundEntity.getEmbeddedEntities().size());
        Assert.assertEquals("Collection 1", foundEntity.getEmbeddedEntities().get(0).getCollectionName());
        Assert.assertEquals("Collection 2", foundEntity.getEmbeddedEntities().get(1).getCollectionName());
      
        foundEntity.setAge(25);
        foundEntity.setName("kk");
        foundEntity.getEmbeddedEntity().setEmailId("kuldeep.mishra@yahoo.com");

        em.merge(foundEntity);

        em.clear();

        foundEntity = em.find(HbaseSecondaryTableEntity.class, "123");
        Assert.assertNotNull(foundEntity);
        Assert.assertEquals("kk", foundEntity.getName());
        Assert.assertEquals(25, foundEntity.getAge());
        Assert.assertNotNull(foundEntity.getEmbeddedEntity());
        Assert.assertEquals("kuldeep.mishra@yahoo.com", foundEntity.getEmbeddedEntity().getEmailId());
        Assert.assertEquals(9512345346l, foundEntity.getEmbeddedEntity().getPhoneNo());

        em.remove(foundEntity);

        foundEntity = em.find(HbaseSecondaryTableEntity.class, "123");
        Assert.assertNull(foundEntity);

    }
   
   

}
TOP

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

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.