Skip to content
Snippets Groups Projects
Commit 883ca9e7 authored by 汤伟's avatar 汤伟 Committed by Wei
Browse files

finish attribute & Entity

save work
parent cdc2f103
No related branches found
No related tags found
No related merge requests found
Showing with 452 additions and 40 deletions
......@@ -58,6 +58,7 @@ DROP TABLE IF EXISTS `graph_info`;
CREATE TABLE `graph_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'graph id',
`related_obj_id` bigint NOT NULL COMMENT 'related object id',
`related_obj_type` tinyint NOT NULL COMMENT 'type of the related object, 1: Attribute, 2: Entity, 3: Relationship',
`layout_x` NUMERIC(8,3) NOT NULL COMMENT 'x position on the view',
`layout_y` NUMERIC(8,3) NOT NULL COMMENT 'y position on the view',
`width` NUMERIC(8,3) NOT NULL COMMENT 'the width of object',
......
package com.ic.er;
import com.ic.er.bean.entity.AttributeDO;
import com.ic.er.common.DataType;
import org.apache.log4j.LogManager;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
public class TestAttribute {
private View testView;
private Entity testEntity;
@Before
public void init() {
try {
ER.connectDB();
ER.createTables();
} catch (SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
testView = ER.createView("testView", "wt22");
testEntity = testView.addEntity("teacher");
}
@Test
public void addAttributeTest() {
Attribute a1 = testEntity.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
Attribute a2 = testEntity.addAttribute("name", DataType.VARCHAR, 0, 0);
Attribute a3 = testEntity.addAttribute("age", DataType.INTEGER, 0, 0);
System.out.printf("a1 ID: %d\n", a1.getID());
System.out.printf("a2 ID: %d\n", a2.getID());
System.out.printf("a3 ID: %d\n", a3.getID());
}
@Test
public void updateTest() {
Attribute a1 = testEntity.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
String newName = "new_teacher_id";
a1.setName(newName);
a1.updateDB();
List<Attribute> attributeList = Attribute.queryByAttribute(new AttributeDO(a1.getID()));
Assert.assertEquals(attributeList.size(), 1);
Assert.assertEquals(attributeList.get(0).getName(), newName);
}
@Test
public void selectByIdTest(){
Attribute a1 = testEntity.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
AttributeDO aDo = ER.attributeMapper.selectById(a1.getID());
Assert.assertNotNull(aDo);
}
@Test
public void deleteByIdTest(){
Attribute a1 = testEntity.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
// delete
a1.deleteDB();
Attribute attribute = Attribute.queryByID(a1.getID());
Assert.assertNull(attribute);
}
}
......@@ -3,6 +3,7 @@ package com.ic.er;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ic.er.common.Cardinality;
import com.ic.er.common.DataType;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
......@@ -12,10 +13,25 @@ public class TestER {
public void setUp() {
// ER.connectDB();
}
@Test
public void createViewTest() {
View testView = ER.createView("testView", "wt22");
Assert.assertEquals(ER.queryAll().size(), 1);
}
@Test
public void testCreateViewEntityRelationship() throws JsonProcessingException {
View firstView = View.createView("first view", "tw");
public void deleteViewTest() {
View testView = ER.createView("testView", "wt22");
Assert.assertEquals(ER.queryAll().size(), 1);
ER.deleteView(testView);
Assert.assertEquals(ER.queryAll().size(), 0);
}
public void jsonTest() {
View testView = ER.createView("testView", "wt22");
View firstView = ER.createView("first view", "tw");
Entity teacher = firstView.addEntity("teacher");
teacher.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
......@@ -29,17 +45,7 @@ public class TestER {
Relationship ts = firstView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
System.out.println(firstView.ToJSON());
System.out.println(firstView);
}
@Test
public void testCreateAttribute() {
View firstView = View.createView("first view", "tw");
Entity teacher = firstView.addEntity("teacher");
teacher.addAttribute("name", DataType.VARCHAR, 0, 0);
teacher.addAttribute("age", DataType.INTEGER, 0, 0);
for (Attribute attribute : teacher.getAttributeList()) {
System.out.printf("attribute ID: %d, entityID: %d, Name: %s\n", attribute.getID(), attribute.getEntityID(), attribute.getName());
}
}
}
package com.ic.er;
import com.ic.er.bean.entity.EntityDO;
import com.ic.er.common.DataType;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TestEntity {
private Entity entity;
private View testView;
@Before
public void setUp() {
entity = new Entity(0L, "test entity", 10L, new ArrayList<>(), new Date(), new Date());
public void init() {
try {
ER.connectDB();
ER.createTables();
} catch (SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
testView = ER.createView("testView", "wt22");
}
@Test
public void testAddAttribute() {
try {
System.out.printf("name: %s, viewID: %d\n", entity.getName(), entity.getViewID());
Attribute id = entity.addAttribute("id", DataType.INTEGER, 1, 0);
Attribute age = entity.addAttribute("age", DataType.INTEGER, 0, 0);
Attribute name = entity.addAttribute("name", DataType.INTEGER, 0, 0);
Attribute CID = entity.addAttribute("CID", DataType.INTEGER, 0, 1);
for (int i = entity.getAttributeList().size() - 1; i >= 0; i--) {
System.out.printf("Attribute name: %s\n", entity.getAttributeList().get(i).getName());
}
System.out.println(age.getName());
System.out.println("--------------------");
entity.removeAttribute(age);
for (int i = entity.getAttributeList().size() - 1; i >= 0; i--) {
System.out.printf("Attribute name: %s\n", entity.getAttributeList().get(i).getName());
}
} catch (Throwable ex) {
Assert.assertEquals(ex.getCause() instanceof NullPointerException, false);
}
public void addEntityTest() {
Entity teacher = testView.addEntity("teacher");
Assert.assertNotEquals(teacher.getID(), Long.valueOf(0));
}
@Test
public void deleteEntityTest() {
Entity teacher = testView.addEntity("teacher");
Assert.assertNotEquals(teacher.getID(), Long.valueOf(0));
teacher.deleteDB();
Assert.assertNull(Entity.queryByID(teacher.getID()));
}
@Test
public void queryEntityTest() {
Entity teacher = testView.addEntity("teacher");
Assert.assertNotEquals(teacher.getID(), Long.valueOf(0));
Assert.assertNotNull(Entity.queryByID(teacher.getID()));
}
@Test
public void updateEntityTest() {
Entity teacher = testView.addEntity("teacher");
Assert.assertNotEquals(teacher.getID(), Long.valueOf(0));
teacher.setName("new teacher name");
teacher.updateDB();
Entity entity = Entity.queryByID(teacher.getID());
Assert.assertNotNull(entity);
Assert.assertEquals(entity.getName(), "new teacher name");
}
}
\ No newline at end of file
package com.ic.er;
import com.ic.er.bean.entity.RelationshipDO;
import com.ic.er.common.Cardinality;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
import java.util.List;
public class TestRelationship {
private View testView;
private Entity teacher;
private Entity student;
@Before
public void init() {
try {
ER.connectDB();
ER.createTables();
} catch (SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
testView = ER.createView("testView", "wt22");
teacher = testView.addEntity("teacher");
student = testView.addEntity("student");
Assert.assertNotNull(teacher);
Assert.assertNotNull(student);
}
@Test
public void createRelationshipTest() {
Relationship relationship = testView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
Assert.assertNotNull(relationship);
Assert.assertEquals(relationship.getID(), Long.valueOf(1L));
}
@Test
public void deleteRelationshipTest() {
Relationship relationship = testView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
Assert.assertNotNull(relationship);
relationship.deleteDB();
Relationship relationship1 = Relationship.queryByID(1L);
Assert.assertNull(relationship1);
}
@Test
public void updateRelationshipTest() {
Relationship relationship = testView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
Assert.assertNotNull(relationship);
String newName = "new name";
Cardinality newCardi = Cardinality.ManyToMany;
relationship.setName(newName);
relationship.setCardinality(newCardi);
relationship.updateDB();
Relationship relationship1 = Relationship.queryByID(1L);
Assert.assertNotNull(relationship1);
Assert.assertEquals(relationship1.getName(), newName);
Assert.assertEquals(relationship1.getCardinality(), newCardi);
}
@Test
public void queryRelationshipTest() {
Relationship relationship = testView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
Relationship relationship2 = testView.createRelationship("teaches2", teacher.getID(), student.getID(), Cardinality.OneToMany);
Assert.assertNotNull(relationship);
Assert.assertNotNull(relationship2);
Relationship relationship1 = Relationship.queryByID(1L);
Assert.assertNotNull(relationship1);
List<Relationship> results = Relationship.queryByRelationship(new RelationshipDO(relationship.getFirstEntityID(), relationship.getSecondEntityID()));
Assert.assertEquals(results.size(), 2);
}
}
package com.ic.er;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ic.er.common.Cardinality;
import com.ic.er.common.DataType;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
import java.util.List;
public class TestView {
@Before
public void init() {
try {
ER.connectDB();
ER.createTables();
} catch (SQLException e) {
System.out.println(e);
throw new RuntimeException(e);
}
}
@Test
public void createViewTest() {
View testView = ER.createView("testView", "wt22");
Entity teacher = testView.addEntity("teacher");
teacher.addAttribute("teacher_id", DataType.VARCHAR, 1, 0);
teacher.addAttribute("name", DataType.VARCHAR, 0, 0);
teacher.addAttribute("age", DataType.INTEGER, 0, 0);
Entity student = testView.addEntity("student");
student.addAttribute("student_id", DataType.VARCHAR, 1, 0);
student.addAttribute("name", DataType.VARCHAR, 0, 0);
student.addAttribute("grade", DataType.INTEGER, 0, 0);
Relationship ts = testView.createRelationship("teaches", teacher.getID(), student.getID(), Cardinality.OneToMany);
View dbView = View.queryByID(testView.getID());
Assert.assertNotNull(dbView);
Assert.assertEquals(dbView.getEntityList().size(), 2);
Assert.assertEquals(dbView.getRelationshipList().size(), 1);
}
@Test
public void updateViewTest() {
View firstView = ER.createView("first view", "tw");
String newViewName = "new view name";
firstView.setName(newViewName);
firstView.updateDB();
View newView = View.queryByID(1L);
Assert.assertEquals(newView.getName(), newViewName);
}
@Test
public void deleteViewTest() {
View firstView = ER.createView("first view", "tw");
firstView = View.queryByID(1L);
Assert.assertNotNull(firstView);
firstView.deleteDB();
View newView = View.queryByID(1L);
Assert.assertNull(newView);
}
@Test
public void queryViewTest() {
View firstView = ER.createView("first view", "tw");
View secondView = ER.createView("first view", "tw");
List<View> views = View.queryAll();
Assert.assertEquals(views.size(), 2);
ER.useDB = false;
views = View.queryAll();
Assert.assertEquals(views.size(), 2);
}
}
package com.ic.er;
package com.ic.er.mapper;
import com.ic.er.ER;
import com.ic.er.bean.entity.AttributeDO;
import com.ic.er.bean.entity.EntityDO;
import com.ic.er.common.DataType;
......@@ -19,6 +20,7 @@ import java.util.Date;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.List;
/**
......@@ -30,18 +32,8 @@ import java.sql.Connection;
*
*/
public class attributeMapperTest {
public static SqlSession sqlSession;
public static Connection connection;
public static AttributeMapper attributeMapper;
@Before
public void init() throws IOException {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
sqlSession = sqlSessionFactory.openSession(true);
connection = sqlSession.getConnection();
System.out.println(connection);
try {
ER.connectDB();
ER.createTables();
......@@ -54,8 +46,6 @@ public class attributeMapperTest {
@Test
public void insertAttribute() {
Long id = 123L;
Long entityId = Long.valueOf(456);
Long viewId = Long.valueOf(789);
......@@ -75,98 +65,82 @@ public class attributeMapperTest {
Date gmtModified = new Date();
AttributeDO attributeDO = new AttributeDO(id, entityId, viewId,
name, DataType.INTEGER, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
AttributeDO attributeDO = new AttributeDO(0L, entityId, viewId, name, DataType.INTEGER, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
AttributeDO attributeDO2 = new AttributeDO(0L, entityId, viewId, name, DataType.INTEGER, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
AttributeDO attributeDO3 = new AttributeDO(0L, entityId, viewId, name, DataType.INTEGER, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
Assert.assertNotNull(sqlSession);
AttributeMapper attributeMapper = sqlSession.getMapper(AttributeMapper.class);
int ret = attributeMapper.insert(attributeDO);
attributeDO.setId(555L);
int ret2 = attributeMapper.insert(attributeDO);
System.out.printf("ret: %d\n", ret);
System.out.printf("ret2: %d\n", ret2);
int ret = ER.attributeMapper.insert(attributeDO);
int ret2 = ER.attributeMapper.insert(attributeDO2);
int ret3 = ER.attributeMapper.insert(attributeDO3);
System.out.printf("ret: %d, ID: %d\n", ret, attributeDO.getId());
System.out.printf("ret2: %d, ID: %d\n", ret2, attributeDO2.getId());
System.out.printf("ret3: %d, ID: %d\n", ret3, attributeDO3.getId());
}
@Test
public void selectByAttributeTest() {
Long id = Long.valueOf(123);
Long entityId = Long.valueOf(456);
Long viewId = Long.valueOf(789);
String name = "a";
String dataType = "int";
int isPrimary = 0;
int isForeign = 1;
int isDelete = 0;
Date gmtCreate = null;
Date gmtModified = null;
AttributeDO attributeDO = new AttributeDO(id, entityId, viewId,
name, DataType.VARCHAR, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
Assert.assertNotNull(sqlSession);
AttributeMapper attributeMapper = sqlSession.getMapper(AttributeMapper.class);
attributeMapper.selectByAttribute(attributeDO);
Long entityId = 456L;
AttributeDO attributeDO = new AttributeDO(0L, entityId, 789L, "abc", DataType.VARCHAR, 1, 1, 0, null, null);
int ret = ER.attributeMapper.insert(attributeDO);
Assert.assertEquals(ret, 1);
List<AttributeDO> attributeDOList = ER.attributeMapper.selectByAttribute(attributeDO);
Assert.assertEquals(attributeDOList.size(), 1);
Assert.assertEquals(attributeDOList.get(0).getEntityId(), entityId);
attributeDOList = ER.attributeMapper.selectByAttribute(new AttributeDO(attributeDO.getId()));
Assert.assertEquals(attributeDOList.size(), 1);
Assert.assertEquals(attributeDOList.get(0).getEntityId(), entityId);
}
@Test
public void selectByIdTest(){
Long id = Long.valueOf(123);
Long entityID = 456L;
Long newEntityID = 789L;
Assert.assertNotNull(sqlSession);
AttributeMapper attributeMapper = sqlSession.getMapper(AttributeMapper.class);
attributeMapper.selectById(id);
// create
AttributeDO attributeDO = new AttributeDO(0L, entityID, 789L, "abc", DataType.VARCHAR, 1, 1, 0, null, null);
int ret = ER.attributeMapper.insert(attributeDO);
Assert.assertEquals(ret, 1);
Assert.assertEquals(attributeDO.getEntityId(), entityID);
AttributeDO aDo = ER.attributeMapper.selectById(attributeDO.getId());
Assert.assertNotNull(aDo);
}
@Test
public void updateByIdTest(){
Long id = Long.valueOf(123);
Long entityId = Long.valueOf(456);
Long viewId = Long.valueOf(789);
String name = "b";
String dataType = "varchar";
int isPrimary = 0;
int isForeign = 1;
int isDelete = 0;
Date gmtCreate = null;
Date gmtModified = null;
AttributeDO attributeDO = new AttributeDO(id, entityId, viewId,
name, DataType.INTEGER, isPrimary, isForeign, isDelete, gmtCreate, gmtModified);
Assert.assertNotNull(sqlSession);
AttributeMapper attributeMapper = sqlSession.getMapper(AttributeMapper.class);
attributeMapper.updateById(attributeDO);
Long entityID = 456L;
Long newEntityID = 789L;
// create
AttributeDO attributeDO = new AttributeDO(0L, entityID, 789L, "abc", DataType.VARCHAR, 1, 1, 0, null, null);
int ret = ER.attributeMapper.insert(attributeDO);
Assert.assertEquals(ret, 1);
Assert.assertEquals(attributeDO.getEntityId(), entityID);
// update
attributeDO.setEntityId(newEntityID);
ER.attributeMapper.updateById(attributeDO);
// query
List<AttributeDO> attributeDOList = ER.attributeMapper.selectByAttribute(attributeDO);
Assert.assertEquals(attributeDOList.size(), 1);
Assert.assertEquals(attributeDOList.get(0).getEntityId(), newEntityID);
}
@Test
public void deleteByIdTest(){
Long id = Long.valueOf(123);
Assert.assertNotNull(sqlSession);
AttributeMapper attributeMapper = sqlSession.getMapper(AttributeMapper.class);
attributeMapper.deleteById(id);
Long entityID = 456L;
// create
AttributeDO attributeDO = new AttributeDO(0L, entityID, 789L, "abc", DataType.VARCHAR, 1, 1, 0, null, null);
int ret = ER.attributeMapper.insert(attributeDO);
Assert.assertEquals(ret, 1);
Assert.assertEquals(attributeDO.getEntityId(), entityID);
// delete
ER.attributeMapper.deleteById(attributeDO.getId());
// query to verify
List<AttributeDO> attributeDOList = ER.attributeMapper.selectByAttribute(attributeDO);
Assert.assertEquals(attributeDOList.size(), 0);
}
}
......
package com.ic.er;
package com.ic.er.mapper;
import com.ic.er.bean.entity.EntityDO;
import com.ic.er.dao.EntityMapper;
......
package com.ic.er;
package com.ic.er.mapper;
public class testGraphInfoMapper {
}
package com.ic.er;
package com.ic.er.mapper;
import com.ic.er.bean.entity.RelationshipDO;
import com.ic.er.common.Cardinality;
......
package com.ic.er;
package com.ic.er.mapper;
import com.ic.er.bean.entity.ViewDO;
import com.ic.er.dao.ViewMapper;
......
......@@ -34,6 +34,6 @@ public class testMybatis {
ResultState resultState = ER.connectDB();
Assert.assertNotNull(ER.sqlSession);
System.out.println(ER.sqlSession.getConnection());
Assert.assertEquals(resultState.getStatus(), ResultStateCode.SUCCESSRESULTCODE);
Assert.assertEquals(resultState.getStatus(), ResultStateCode.Success);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment