package me.test.first.spring.jdo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import me.test.first.spring.jdo.entity.Person;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println();
System.out.println("==================== TEST START...");
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
FileSystemXmlApplicationContext appCtxt = new FileSystemXmlApplicationContext(
"applicationContext.xml");
System.out.println("press enter to continue...");
br.readLine();
PersonDAO personDAO = (PersonDAO) appCtxt.getBean("personDAO");
System.out.println();
System.out.println("==================== TEST 1 : list");
List<Person> list = personDAO.list();
System.out.println(list.size());
for (Person person : list) {
printPerson(person);
}
System.out.println("press enter to continue...");
br.readLine();
System.out.println();
System.out.println("==================== TEST 2 : select");
Person p = personDAO.select("1");
System.out.println(p);
printPerson(p);
System.out.println("press enter to continue...");
br.readLine();
System.out.println();
System.out.println("==================== TEST 3 : insert");
p = new Person();
p.setAge(24);
p.setBirthday(DateUtils.parseDateStrictly("1984-04-04",
"yyyy-MM-dd"));
p.setImgData("444444".getBytes("UTF-16"));
p.setMale(true);
p.setName("zhao6");
personDAO.insert(p);
System.out.println("press enter to continue...");
br.readLine();
System.out.println();
System.out.println("==================== TEST 4 : update");
Map<String, Object> person = new HashMap<String, Object>();
person.put("id", 2L);
person.put("birthday",
DateUtils.parseDateStrictly("2222-02-02", "yyyy-MM-dd"));
personDAO.update(person);
System.out.println("press enter to continue...");
br.readLine();
System.out.println();
System.out.println("==================== TEST 5 : delete");
personDAO.delete(3L);
System.out.println("press enter to continue...");
br.readLine();
System.out.println();
System.out.println("==================== TEST 6 : DSL Query");
list = personDAO.dslQuery();
System.out.println(list.size());
for (Person p1 : list) {
printPerson(p1);
}
System.out.println("press enter to continue...");
br.readLine();
} catch (Throwable e) {
e.printStackTrace();
}
System.out.println();
System.out.println("==================== TEST OVER.");
}
public static void printPerson(Person p) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String bithStr = p.getBirthday() == null ? "" : sdf.format(p
.getBirthday());
String imgStr = null;
try {
if (p.getImgData() != null) {
imgStr = new String(p.getImgData(), "UTF-16");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.printf(
"ID:%d, NAME:%s, AGE:%d, isMale?%s, Birthday:%s, IMG:%s\n",
p.getId(), p.getName(), p.getAge(), p.getMale(), bithStr,
imgStr);
}
}