Initial import.
This commit is contained in:
commit
e722450677
5 changed files with 387 additions and 0 deletions
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
target
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
43
pom.xml
Normal file
43
pom.xml
Normal file
|
@ -0,0 +1,43 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.impetus.kundera</groupId>
|
||||
<artifactId>kundera-cassandra-example</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.0</version>
|
||||
<name>kundera-cassandra-example</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<kundera.version>3.6</kundera.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.impetus.kundera.client</groupId>
|
||||
<artifactId>kundera-cassandra</artifactId>
|
||||
<version>${kundera.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.5.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
142
src/main/java/com/impetus/kundera/entities/Person.java
Normal file
142
src/main/java/com/impetus/kundera/entities/Person.java
Normal file
|
@ -0,0 +1,142 @@
|
|||
/*******************************************************************************
|
||||
* * Copyright 2016 Impetus Infotech.
|
||||
* *
|
||||
* * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* * you may not use this file except in compliance with the License.
|
||||
* * You may obtain a copy of the License at
|
||||
* *
|
||||
* * http://www.apache.org/licenses/LICENSE-2.0
|
||||
* *
|
||||
* * Unless required by applicable law or agreed to in writing, software
|
||||
* * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* * See the License for the specific language governing permissions and
|
||||
* * limitations under the License.
|
||||
******************************************************************************/
|
||||
package com.impetus.kundera.entities;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
* The Class Person.
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "PERSON")
|
||||
public class Person
|
||||
{
|
||||
|
||||
/** The person id. */
|
||||
@Id
|
||||
@Column(name = "PERSON_ID")
|
||||
private String personId;
|
||||
|
||||
/** The person first name. */
|
||||
@Column(name = "PERSON_FIRST_NAME")
|
||||
private String personFirstName;
|
||||
|
||||
/** The person last name. */
|
||||
@Column(name = "PERSON_LAST_NAME")
|
||||
private String personLastName;
|
||||
|
||||
/** The age. */
|
||||
@Column(name = "AGE")
|
||||
private int age;
|
||||
|
||||
/**
|
||||
* Gets the person id.
|
||||
*
|
||||
* @return the person id
|
||||
*/
|
||||
public String getPersonId()
|
||||
{
|
||||
return personId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the person id.
|
||||
*
|
||||
* @param personId
|
||||
* the new person id
|
||||
*/
|
||||
public void setPersonId(String personId)
|
||||
{
|
||||
this.personId = personId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the person name.
|
||||
*
|
||||
* @return the person name
|
||||
*/
|
||||
public String getPersonName()
|
||||
{
|
||||
return personFirstName + " " + personLastName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the person first name.
|
||||
*
|
||||
* @return the person first name
|
||||
*/
|
||||
public String getPersonFirstName()
|
||||
{
|
||||
return personFirstName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the person first name.
|
||||
*
|
||||
* @param personFirstName
|
||||
* the new person first name
|
||||
*/
|
||||
public void setPersonFirstName(String personFirstName)
|
||||
{
|
||||
this.personFirstName = personFirstName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the person last name.
|
||||
*
|
||||
* @return the person last name
|
||||
*/
|
||||
public String getPersonLastName()
|
||||
{
|
||||
return personLastName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the person last name.
|
||||
*
|
||||
* @param personLastName
|
||||
* the new person last name
|
||||
*/
|
||||
public void setPersonLastName(String personLastName)
|
||||
{
|
||||
this.personLastName = personLastName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the age.
|
||||
*
|
||||
* @return the age
|
||||
*/
|
||||
public int getAge()
|
||||
{
|
||||
return age;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the age.
|
||||
*
|
||||
* @param age
|
||||
* the new age
|
||||
*/
|
||||
public void setAge(int age)
|
||||
{
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
}
|
20
src/main/resources/META-INF/persistence.xml
Normal file
20
src/main/resources/META-INF/persistence.xml
Normal file
|
@ -0,0 +1,20 @@
|
|||
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
|
||||
https://raw.github.com/impetus-opensource/Kundera/Kundera-2.0.4/kundera-core/src/test/resources/META-INF/persistence_2_0.xsd"
|
||||
version="2.0">
|
||||
|
||||
<persistence-unit name="cassandra_pu">
|
||||
<provider>com.impetus.kundera.KunderaPersistence</provider>
|
||||
<properties>
|
||||
<property name="kundera.nodes" value="localhost" />
|
||||
<property name="kundera.port" value="9160" />
|
||||
<property name="kundera.keyspace" value="KunderaExamples" />
|
||||
<property name="kundera.dialect" value="cassandra" />
|
||||
<property name="kundera.ddl.auto.prepare" value="update" />
|
||||
<property name="kundera.client.lookup.class"
|
||||
value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
|
||||
</persistence>
|
159
src/test/java/com/impetus/kundera/CRUDTest.java
Normal file
159
src/test/java/com/impetus/kundera/CRUDTest.java
Normal file
|
@ -0,0 +1,159 @@
|
|||
/*******************************************************************************
|
||||
* * Copyright 2016 Impetus Infotech.
|
||||
* *
|
||||
* * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* * you may not use this file except in compliance with the License.
|
||||
* * You may obtain a copy of the License at
|
||||
* *
|
||||
* * http://www.apache.org/licenses/LICENSE-2.0
|
||||
* *
|
||||
* * Unless required by applicable law or agreed to in writing, software
|
||||
* * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* * See the License for the specific language governing permissions and
|
||||
* * limitations under the License.
|
||||
******************************************************************************/
|
||||
package com.impetus.kundera;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
import javax.persistence.Persistence;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.impetus.kundera.entities.Person;
|
||||
|
||||
/**
|
||||
* The Class CRUDTest.
|
||||
*/
|
||||
public class CRUDTest
|
||||
{
|
||||
|
||||
/** The Constant PU. */
|
||||
private static final String PU = "cassandra_pu";
|
||||
|
||||
/** The emf. */
|
||||
private static EntityManagerFactory emf;
|
||||
|
||||
/** The em. */
|
||||
private EntityManager em;
|
||||
|
||||
/**
|
||||
* Sets the up before class.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
@BeforeClass
|
||||
public static void SetUpBeforeClass() throws Exception
|
||||
{
|
||||
emf = Persistence.createEntityManagerFactory(PU);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the up.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
@Before
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
em = emf.createEntityManager();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test crud operations.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
@Test
|
||||
public void testCRUDOperations() throws Exception
|
||||
{
|
||||
testInsert();
|
||||
testMerge();
|
||||
testRemove();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test insert.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
private void testInsert() throws Exception
|
||||
{
|
||||
Person p = new Person();
|
||||
p.setPersonId("101");
|
||||
p.setPersonFirstName("James");
|
||||
p.setPersonLastName("Bond");
|
||||
p.setAge(24);
|
||||
em.persist(p);
|
||||
|
||||
Person person = em.find(Person.class, "101");
|
||||
Assert.assertNotNull(person);
|
||||
Assert.assertEquals("101", person.getPersonId());
|
||||
Assert.assertEquals("James Bond", person.getPersonName());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test merge.
|
||||
*/
|
||||
private void testMerge()
|
||||
{
|
||||
Person person = em.find(Person.class, "101");
|
||||
person.setPersonFirstName("Bill");
|
||||
person.setPersonLastName("Clinton");
|
||||
em.merge(person);
|
||||
|
||||
Person p1 = em.find(Person.class, "101");
|
||||
Assert.assertEquals("Bill Clinton", p1.getPersonName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test remove.
|
||||
*/
|
||||
private void testRemove()
|
||||
{
|
||||
Person p = em.find(Person.class, "101");
|
||||
em.remove(p);
|
||||
|
||||
Person p1 = em.find(Person.class, "101");
|
||||
Assert.assertNull(p1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tear down.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
@After
|
||||
public void tearDown() throws Exception
|
||||
{
|
||||
em.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tear down after class.
|
||||
*
|
||||
* @throws Exception
|
||||
* the exception
|
||||
*/
|
||||
@AfterClass
|
||||
public static void tearDownAfterClass() throws Exception
|
||||
{
|
||||
if (emf != null)
|
||||
{
|
||||
emf.close();
|
||||
emf = null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue