package com.alibaba.json.test;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.Date;
import java.util.concurrent.atomic.AtomicLong;
import junit.framework.TestCase;
import org.apache.commons.io.IOUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.json.test.entity.Company;
import com.alibaba.json.test.entity.Department;
import com.alibaba.json.test.entity.Employee;
import com.alibaba.json.test.entity.Group;
public class GenerateJavaTest extends TestCase {
private String text;
private AtomicLong idSeed = new AtomicLong();
protected void setUp() throws Exception {
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("json/page_model_cached.json");
text = IOUtils.toString(is);
is.close();
}
private Long createId() {
return idSeed.incrementAndGet();
}
public void testGenerate() {
Group group = new Group();
group.setName("Alibaba Group");
group.setDescription("Alibaba Group makes it easy for anyone to buy or sell online anywhere in the world. ");
{
Company company = new Company();
company.setId(createId());
company.setName("Alibaba.com");
company.setDescription("Global leader in e-commerce for small businesses");
company.setStock("1688.HK");
group.getCompanies().add(company);
Department root = new Department();
root.setId(createId());
root.setName("B2B");
company.setRootDepartment(root);
{
Department cbu = new Department();
cbu.setId(createId());
cbu.setName("CBU");
root.getChildren().add(cbu);
Employee emp0 = new Employee();
emp0.setName("校长");
emp0.setDescription("神棍敌人姐");
emp0.setAge(3);
emp0.setSalary(new BigDecimal("123456789.0123"));
emp0.setBirthdate(new Date());
emp0.setBadboy(true);
cbu.getMembers().add(emp0);
}
{
Department icbu = new Department();
icbu.setId(createId());
icbu.setName("ICBU");
root.getChildren().add(icbu);
}
}
{
Company company = new Company();
company.setId(createId());
company.setName("Taobao");
company.setDescription("China's largest online retail website and one-stop platform for shopping, socializing and information sharing");
group.getCompanies().add(company);
}
{
Company company = new Company();
company.setId(createId());
company.setName("Alipay");
company.setDescription("China's leading third-party online payment platform");
group.getCompanies().add(company);
}
{
Company company = new Company();
company.setId(createId());
company.setName("Alibaba Cloud Computing");
company.setDescription("Developer of advanced data-centric cloud computing services");
group.getCompanies().add(company);
}
{
Company company = new Company();
company.setId(createId());
company.setName("China Yahoo");
company.setDescription("One of China's leading Internet portals");
group.getCompanies().add(company);
}
String jsonString = JSON.toJSONString(group, true);
System.out.println(jsonString);
}
}