summaryrefslogtreecommitdiff
path: root/myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-08-07 23:53:53 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-08-07 23:53:53 +0200
commit26b01b500065634eb3133dc354a0ba71b13bff56 (patch)
tree2fed1b329f421b7da7bf6c223f17fad230d1b5bd /myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java
parentdd150071369e825d4b4a59e15ad3291841c7ba13 (diff)
downloadcontainer-playground-26b01b500065634eb3133dc354a0ba71b13bff56.tar.gz
container-playground-26b01b500065634eb3133dc354a0ba71b13bff56.tar.bz2
container-playground-26b01b500065634eb3133dc354a0ba71b13bff56.tar.xz
container-playground-26b01b500065634eb3133dc354a0ba71b13bff56.zip
wip
o Start of JPA implementation.
Diffstat (limited to 'myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java')
-rw-r--r--myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java236
1 files changed, 0 insertions, 236 deletions
diff --git a/myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java b/myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java
deleted file mode 100644
index d5c93fe..0000000
--- a/myapp/src/main/java/io/trygvis/container/myapp/AddressBook.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package io.trygvis.container.myapp;
-
-import javax.persistence.TypedQuery;
-import java.io.BufferedReader;
-import java.io.EOFException;
-import java.io.InputStreamReader;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.List;
-
-import static io.trygvis.container.myapp.Contact.Gender.FEMALE;
-import static io.trygvis.container.myapp.Contact.Gender.MALE;
-
-public class AddressBook {
-
- private BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
-
- private Connection c;
-
- public static void main(String[] args) throws Exception {
- try {
- new AddressBook().work();
- } catch (EOFException ignore) {
- }
- }
-
- private void work() throws Exception {
- boolean done = false;
- while (!done) {
- c = DriverManager.getConnection("jdbc:h2:mem:address-book;DB_CLOSE_DELAY=-1");
- try {
- c.setAutoCommit(false);
- done = main();
- c.commit();
- System.out.println("OK");
- } finally {
- c.close();
- }
- }
- }
-
- private boolean main() throws Exception {
- System.out.println("Menu:");
- System.out.println("c Create");
- System.out.println("d Drop");
- System.out.println("m Company menu");
- System.out.println("n Contact menu");
- System.out.println("q Quit");
- String cmd = cmd();
- switch (cmd) {
- case "c":
- create();
- break;
- case "d":
- drop();
- break;
- case "m":
- company();
- break;
- case "n":
- contact();
- break;
- case "q":
- return true;
- default:
- System.out.println("Unknown command: " + cmd);
- }
- return false;
- }
-
- private String cmd() throws Exception {
- String cmd = null;
- do {
- String read = line();
- if (read.length() != 0) {
- cmd = read.trim();
- }
- } while (cmd == null);
- return cmd;
- }
-
- private String line() throws Exception {
- String line = reader.readLine();
- if (line == null) {
- throw new EOFException();
- }
- return line.trim();
- }
-
- public void create() throws SQLException {
- Statement statement = c.createStatement();
- statement.executeUpdate(CompanyDao.createTableSql);
- statement.executeUpdate(ContactDao.createTableSql);
- for (String sql : Sequences.createSequences) {
- statement.executeUpdate(sql);
- }
- }
-
- public void drop() throws SQLException {
- Statement statement = c.createStatement();
- for (String sql : Sequences.dropSequences) {
- statement.executeUpdate(sql);
- }
- statement.executeUpdate(ContactDao.dropTableSql);
- statement.executeUpdate(CompanyDao.dropTableSql);
- }
-
- // -----------------------------------------------------------------------
- // Company
- // -----------------------------------------------------------------------
-
- private void company() throws Exception {
- while (true) {
- System.out.println("Company menu:");
- System.out.println("c Create");
- System.out.println("d Drop");
- System.out.println("d List");
- System.out.println("q Back");
- String cmd = cmd();
- switch (cmd) {
- case "c":
- addCompany();
- break;
- case "d":
- deleteCompany();
- break;
- case "l":
- listCompanies();
- break;
- case "q":
- return;
- default:
- System.out.println("Unknown command: " + cmd);
- }
- }
- }
-
- public void addCompany() throws Exception {
- System.out.print("Name: ");
- String name = line();
-
- Company company = new Company(name);
- CompanyDao.insertInto(c, company);
- }
-
- public void deleteCompany() {
- }
-
- public void listCompanies() {
- TypedQuery<Company> p = CompanyDao.query(c);
-
- List<Company> resultList = p.getResultList();
- for (Company company : resultList) {
- System.out.println("=====================");
- System.out.println("Id: " + company.getId());
- System.out.println("Name: " + company.name);
- }
- System.out.println();
- }
-
- // -----------------------------------------------------------------------
- // Contact
- // -----------------------------------------------------------------------
-
- private void contact() throws Exception {
- while (true) {
- System.out.println("Contact menu:");
- System.out.println("c Create");
- System.out.println("d Drop");
- System.out.println("q Back");
- String cmd = cmd();
- switch (cmd) {
- case "c":
- addContact();
- break;
- case "d":
- deleteContact();
- break;
- case "l":
- listContacts();
- break;
- case "q":
- return;
- default:
- System.out.println("Unknown command: " + cmd);
- }
- }
- }
-
- public void addContact() throws Exception {
- System.out.print("Name: ");
- String name = line();
- Contact.Gender g = null;
- while (g == null) {
- System.out.print("Gender (m/f): ");
- try {
- String line = line();
- switch (line) {
- case "m":
- g = MALE;
- break;
- case "f":
- g = FEMALE;
- break;
- default:
- g = Contact.Gender.valueOf(line);
- break;
- }
- } catch (IllegalArgumentException ignore) {
- }
- }
-
- Company company = null;
- Contact o = new Contact(name, g, company);
- ContactDao.insertInto(c, o);
- }
-
- public void deleteContact() {
-
- }
-
- public void listContacts() {
- TypedQuery<Contact> p = ContactDao.query(c);
-
- List<Contact> resultList = p.getResultList();
- for (Contact contact : resultList) {
- System.out.println("=====================");
- System.out.println("Id: " + contact.getId());
- System.out.println("Name: " + contact.name);
- System.out.println("Gender: " + contact.gender);
- }
- System.out.println();
- }
-}