MCPcopy Create free account
hub / github.com/Odoo-mobile/framework / createTable

Method createTable

src/com/odoo/orm/SQLHelper.java:40–98  ·  view source on GitHub ↗
(OEDBHelper db)

Source from the content-addressed store, hash-verified

38 }
39
40 public List<String> createTable(OEDBHelper db) {
41 Log.d(TAG, "SQLHelper->createTable()");
42 List<String> queries = new ArrayList<String>();
43 String table = modelToTable(db.getModelName());
44 if (!mTables.contains(table)) {
45 mTables.add(table);
46 StringBuffer sql = new StringBuffer();
47 sql.append("CREATE TABLE IF NOT EXISTS ");
48 sql.append(table);
49 sql.append(" (");
50 for (OEColumn col : db.getModelColumns()) {
51 if (col.getName().equals("id")
52 || col.getName().equals("oea_name")) {
53 continue;
54 }
55 if (col.getType() instanceof OETypeHelper) {
56 sql.append(col.getName());
57 sql.append(" ");
58 sql.append(((OETypeHelper) col.getType()).getType());
59 sql.append(", ");
60 }
61 if (col.getType() instanceof OEManyToOne) {
62 OEManyToOne manyToOne = (OEManyToOne) col.getType();
63 List<String> many2one = createTable(manyToOne.getDBHelper());
64 for (String query : many2one) {
65 queries.add(query);
66 }
67 sql.append(col.getName());
68 sql.append(" ");
69 sql.append(((OETypeHelper) OEFields.integer()).getType());
70 sql.append(", ");
71
72 }
73 if (col.getType() instanceof OEOneToMany) {
74 OEOneToMany oneToMany = (OEOneToMany) col.getType();
75 List<String> one2many = createTable(oneToMany.getDBHelper());
76 for (String query : one2many) {
77 queries.add(query);
78 }
79 }
80 if (col.getType() instanceof OEManyToMany) {
81 OEManyToMany manyTomany = (OEManyToMany) col.getType();
82 List<String> many2many = createTable(manyTomany
83 .getDBHelper());
84 for (String query : many2many) {
85 queries.add(query);
86 queries.add(createMany2ManyRel(db.getModelName(),
87 manyTomany.getDBHelper().getModelName()));
88 }
89 }
90 }
91 sql.append(defaultColumns());
92 sql.deleteCharAt(sql.lastIndexOf(","));
93 sql.append(");");
94 queries.add(sql.toString());
95 Log.d("SQLHelper", "Table created : " + table);
96 }
97 return queries;

Callers 1

onCreateMethod · 0.95

Calls 15

modelToTableMethod · 0.95
getDBHelperMethod · 0.95
integerMethod · 0.95
getDBHelperMethod · 0.95
getDBHelperMethod · 0.95
createMany2ManyRelMethod · 0.95
defaultColumnsMethod · 0.95
containsMethod · 0.80
equalsMethod · 0.80
getModelNameMethod · 0.65
getModelColumnsMethod · 0.65
addMethod · 0.45

Tested by

no test coverage detected