MentaBean

Rev

Rev 185 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 185 Rev 208
Line 57... Line 57...
57
                }
57
                }
58
58
59
                private long id;
59
                private long id;
60
                private String username;
60
                private String username;
61
                private Date birthdate;
61
                private Date birthdate;
62
                private Status status = Status.BASIC;
-
 
-
 
62
                private Status status;
63
                private boolean deleted;
63
                private boolean deleted;
64
                private Date insertTime;
64
                private Date insertTime;
65
65
66
                public User() {
66
                public User() {
67
                }
67
                }
Line 71... Line 71...
71
                }
71
                }
72
72
73
                public User(String username, String birthdate) {
73
                public User(String username, String birthdate) {
74
                        this.username = username;
74
                        this.username = username;
75
                        this.birthdate = fromString(birthdate);
75
                        this.birthdate = fromString(birthdate);
-
 
76
                        this.status = Status.BASIC;
76
                }
77
                }
77
78
78
                private static Date fromString(String date) {
79
                private static Date fromString(String date) {
79
                        try {
80
                        try {
80
                                return BD_FORMATTER.parse(date);
81
                                return BD_FORMATTER.parse(date);
Line 148... Line 149...
148
149
149
                BeanConfig config = new BeanConfig(User.class, "Users");
150
                BeanConfig config = new BeanConfig(User.class, "Users");
150
               
151
               
151
                User userProps = PropertiesProxy.create(User.class);
152
                User userProps = PropertiesProxy.create(User.class);
152
               
153
               
153
                config.pk(userProps.getId(), DBTypes.AUTOINCREMENT);
-
 
154
                config.field(userProps.getUsername(), DBTypes.STRING);
-
 
155
                config.field(userProps.getBirthdate(), "bd", DBTypes.DATE); // note that the database column name is different
-
 
156
                config.field(userProps.getStatus(), DBTypes.ENUMVALUE.from(User.Status.class));
-
 
157
                config.field(userProps.isDeleted(), DBTypes.BOOLEANINT);
-
 
158
                config.field(userProps.getInsertTime(), "insert_time", DBTypes.NOW_ON_INSERT_TIMESTAMP);
-
 
-
 
154
                config.pk(userProps.getId(), DBTypes.AUTOINCREMENT)
-
 
155
                        .field(userProps.getUsername(), DBTypes.STRING)
-
 
156
                        .field(userProps.getBirthdate(), "bd", DBTypes.DATE) // note that the database column name is different
-
 
157
                        .field(userProps.getStatus(), DBTypes.ENUMVALUE.from(User.Status.class))
-
 
158
                        .field(userProps.isDeleted(), DBTypes.BOOLEANINT)
-
 
159
                        .field(userProps.getInsertTime(), "insert_time", DBTypes.NOW_ON_INSERT_TIMESTAMP);
159
160
160
                return config;
161
                return config;
161
        }
162
        }
162
163
163
        @Test
164
        @Test
Line 1092... Line 1093...
1092
1093
1093
                                ok = false;
1094
                                ok = false;
1094
                        }
1095
                        }
1095
1096
1096
                        Assert.assertEquals(false, ok);
1097
                        Assert.assertEquals(false, ok);
-
 
1098
                       
-
 
1099
                        //loadUnique specifying properties
-
 
1100
                        u = new User();
-
 
1101
                        u.setBirthdate("1967-01-03");
-
 
1102
                       
-
 
1103
                        User proxy = PropertiesProxy.create(User.class);
-
 
1104
                        u = session.loadUnique(u, proxy.getUsername()); //only username
-
 
1105
                       
-
 
1106
                        Assert.assertNull(u.getBirthdate());
-
 
1107
                        Assert.assertNull(u.getInsertTime());
-
 
1108
                        Assert.assertNull(u.getStatus());
-
 
1109
                        Assert.assertEquals(2, u.getId()); //always load the pk 
-
 
1110
                        Assert.assertNotNull(u.getUsername());
-
 
1111
                       
-
 
1112
                        //loadUnique specifying 'minus' properties
-
 
1113
                        u = new User();
-
 
1114
                        u.setBirthdate("1967-01-03");
-
 
1115
                        u = session.loadUniqueMinus(u, proxy.getUsername(), proxy.getId()); //not load username nor pk (mentabean must ignore this)
-
 
1116
                       
-
 
1117
                        Assert.assertNotNull(u.getBirthdate());
-
 
1118
                        Assert.assertNotNull(u.getInsertTime());
-
 
1119
                        Assert.assertNotNull(u.getStatus());
-
 
1120
                        Assert.assertEquals(2, u.getId()); //always load the pk... I mean, always
-
 
1121
                        Assert.assertNull(u.getUsername());    
1097
1122
1098
                } finally {
1123
                } finally {
1099
                        close(conn);
1124
                        close(conn);
1100
                }
1125
                }
1101
        }
1126
        }
Line 1127... Line 1152...
1127
                        int modified = session.update(saoj);
1152
                        int modified = session.update(saoj);
1128
                        Assert.assertEquals(1, modified);
1153
                        Assert.assertEquals(1, modified);
1129
1154
1130
                        // load all non-deleted users...
1155
                        // load all non-deleted users...
1131
                        User u = new User();
1156
                        User u = new User();
-
 
1157
                        u.setStatus(User.Status.BASIC);                
1132
                        u.setDeleted(false);
1158
                        u.setDeleted(false);
1133
                        List<User> nonDeletedUsers = session.loadList(u);
1159
                        List<User> nonDeletedUsers = session.loadList(u);
1134
                        Assert.assertFalse(nonDeletedUsers.size() == 1); // THIS DOES NOT WORK because isDeleted() returns a boolean primitive
1160
                        Assert.assertFalse(nonDeletedUsers.size() == 1); // THIS DOES NOT WORK because isDeleted() returns a boolean primitive
1135
                        Assert.assertEquals(2, nonDeletedUsers.size()); // it will return everything because the deleted = false condition was never detected
1161
                        Assert.assertEquals(2, nonDeletedUsers.size()); // it will return everything because the deleted = false condition was never detected
1136
1162