MentaContainer

Rev

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

Rev 27 Rev 28
Line 141... Line 141...
141
               
141
               
142
                public Connection getConn() { return conn; }
142
                public Connection getConn() { return conn; }
143
               
143
               
144
                public Object getSomething() {
144
                public Object getSomething() {
145
                       
145
                       
146
                        // use the connection to get something...
-
 
-
 
146
                        // use the connection to do something...
147
                       
147
                       
148
                        return conn.toString(); // it cannot be null!
-
 
-
 
148
                        Assert.assertNotNull(conn); // it cannot be null!
-
 
149
                       
-
 
150
                        // also test if the connection also received the myDep dependency...
-
 
151
                       
-
 
152
                        Assert.assertNotNull(conn.getMyDep());
-
 
153
                       
-
 
154
                        return conn.toString();
149
                }
155
                }
150
        }
156
        }
151
       
157
       
152
        @Test
-
 
153
        public void testAutoWiring() {
-
 
-
 
158
        private Container getConfiguredContainer() {
154
               
159
               
155
                Container c = new MentaContainer();
160
                Container c = new MentaContainer();
156
               
161
               
157
                c.ioc("myDAO", JdbcMyDAO.class);
162
                c.ioc("myDAO", JdbcMyDAO.class);
158
               
163
               
Line 165... Line 170...
165
                                   "connection" /* the source inside the container */);
170
                                   "connection" /* the source inside the container */);
166
               
171
               
167
                c.autowire("myDep" /* notice this is the setter of the Connection class */,
172
                c.autowire("myDep" /* notice this is the setter of the Connection class */,
168
                                   SomeDependency.class /* the type - it could be an interface for better decoupling */,
173
                                   SomeDependency.class /* the type - it could be an interface for better decoupling */,
169
                                   "aDependency" /* again this is the name of the bean/component inside the container */);
174
                                   "aDependency" /* again this is the name of the bean/component inside the container */);
-
 
175
               
-
 
176
                return c;
-
 
177
        }
-
 
178
       
-
 
179
        @Test
-
 
180
        public void testAutoWiring() {
-
 
181
               
-
 
182
                Container c = getConfiguredContainer();
170
               
183
               
171
                MyDAO myDAO = (MyDAO) c.get("myDAO");
184
                MyDAO myDAO = (MyDAO) c.get("myDAO");
172
               
185
               
173
                // check implementation...
186
                // check implementation...
174
               
187
               
Line 189... Line 202...
189
                Assert.assertTrue(c.get("aDependency") == conn.getMyDep()); // singleton!
202
                Assert.assertTrue(c.get("aDependency") == conn.getMyDep()); // singleton!
190
               
203
               
191
                // check DAO can do its job...
204
                // check DAO can do its job...
192
               
205
               
193
                Assert.assertNotNull(myDAO.getSomething());
206
                Assert.assertNotNull(myDAO.getSomething());
-
 
207
        }
-
 
208
       
-
 
209
        public static class SomeAction {
-
 
210
               
-
 
211
                private MyDAO myDAO = null;
-
 
212
               
-
 
213
                public void setMyDAO(MyDAO myDAO) {
-
 
214
                       
-
 
215
                        this.myDAO = myDAO;
-
 
216
                }
-
 
217
               
-
 
218
                public MyDAO getMyDAO() { return myDAO; }
-
 
219
        }
-
 
220
       
-
 
221
        public void testPopulate() throws Exception {
-
 
222
               
-
 
223
                Container c = getConfiguredContainer();
-
 
224
               
-
 
225
                SomeAction a = new SomeAction();
-
 
226
               
-
 
227
                c.populate(a); // great... properties of SomeAction were populated by container...
-
 
228
               
-
 
229
                // let's check if myDAO was injected...
-
 
230
               
-
 
231
                Assert.assertNotNull(a.getMyDAO());
-
 
232
               
-
 
233
                // also check if myDAO was corrected wired...
-
 
234
               
-
 
235
                Connection conn = ((JdbcMyDAO) a.getMyDAO()).getConn();
-
 
236
               
-
 
237
                Assert.assertNotNull(conn);
-
 
238
               
-
 
239
                // check if conn was also wired...
-
 
240
               
-
 
241
                Assert.assertNotNull(conn.getMyDep());
-
 
242
               
194
        }
243
        }
195
}
244
}