Merge lp:~dhis2-devs-core/dhis2/spring-hibernate-struts-upgrade into lp:dhis2

Proposed by Jo Størset
Status: Merged
Merged at revision: 1830
Proposed branch: lp:~dhis2-devs-core/dhis2/spring-hibernate-struts-upgrade
Merge into: lp:dhis2
Diff against target: 4191 lines (+1557/-1509)
56 files modified
dhis-2/dhis-api/pom.xml (+23/-23)
dhis-2/dhis-services/dhis-service-core/pom.xml (+80/-84)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementService.java (+2/-1)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultUsernameSaltSource.java (+1/-1)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/UsernameSaltSource.java (+1/-1)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/hibernate/HibernateUserDetailsService.java (+7/-6)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/AbstractSpringSecurityCurrentUserService.java (+3/-3)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/SpringSecurityPasswordManager.java (+1/-1)
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/vote/AllRequiredRoleVoter.java (+12/-15)
dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml (+836/-836)
dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml (+1/-1)
dhis-2/dhis-services/dhis-service-i18n/pom.xml (+33/-33)
dhis-2/dhis-services/dhis-service-patient/pom.xml (+30/-30)
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java (+2/-1)
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java (+0/-2)
dhis-2/dhis-support/dhis-support-hibernate/pom.xml (+97/-79)
dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/hibernate-default.properties (+2/-1)
dhis-2/dhis-support/dhis-support-system/pom.xml (+96/-92)
dhis-2/dhis-support/dhis-support-test/pom.xml (+56/-48)
dhis-2/dhis-web/dhis-web-caseentry/pom.xml (+47/-47)
dhis-2/dhis-web/dhis-web-commons/pom.xml (+2/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/encoding/velocity/EncoderVelocityContext.java (+3/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/interceptor/ExceptionInterceptor.java (+2/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/AbstractAutomaticAccessProvider.java (+2/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/GhostAutomaticAccessProvider.java (+5/-5)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/SpringSecurityActionAccessResolver.java (+12/-11)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/DefaultRequiredAuthoritiesProvider.java (+11/-14)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/RequiredAuthoritiesProvider.java (+7/-7)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java (+3/-3)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/SingleSecurityMetadataSource.java (+19/-18)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/XWorkSecurityInterceptor.java (+9/-9)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/listener/AuthenticationListener.java (+3/-3)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/AbstractPrefixedAccessDecisionVoter.java (+2/-2)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ActionAccessVoter.java (+7/-10)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/LogicalOrAccessDecisionManager.java (+11/-10)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ModuleAccessVoter.java (+7/-6)
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/SimpleAccessVoter.java (+10/-8)
dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml (+19/-11)
dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/GetDataSetAndPeriodByPeriodTypeAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewDataSetCompletedAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/SearchAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml (+7/-10)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java (+2/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowAddDataElementForm.java (+1/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowUpdateDataElementFormAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/indicatorgroup/GetAssignedIndicatorGroupsAction.java (+1/-1)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupListAction.java (+1/-1)
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientidentifiertype/GetPatientIdentifierTypeListAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllMapLegendsAction.java (+2/-2)
dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendsByMapLegendSetAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/chart/action/SaveChartAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/pivottable/action/GetPivotTableAction.java (+1/-2)
dhis-2/dhis-web/dhis-web-validationrule/pom.xml (+0/-4)
dhis-2/pom.xml (+69/-37)
To merge this branch: bzr merge lp:~dhis2-devs-core/dhis2/spring-hibernate-struts-upgrade
Reviewer Review Type Date Requested Status
Lars Helge Øverland Pending
Review via email: mp+24665@code.launchpad.net

Description of the change

Bumped all frameworks to newest version, seems to survive cursory testing.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'dhis-2/dhis-api/pom.xml'
2--- dhis-2/dhis-api/pom.xml 2010-04-08 16:55:35 +0000
3+++ dhis-2/dhis-api/pom.xml 2010-05-07 11:16:36 +0000
4@@ -1,26 +1,26 @@
5-<project xmlns="http://maven.apache.org/POM/4.0.0"
6- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
8- <modelVersion>4.0.0</modelVersion>
9-
10- <parent>
11- <groupId>org.hisp.dhis</groupId>
12- <artifactId>dhis</artifactId>
13- <version>2.0.5-SNAPSHOT</version>
14- </parent>
15-
16- <artifactId>dhis-api</artifactId>
17- <packaging>jar</packaging>
18- <name>DHIS API</name>
19-
20- <dependencies>
21- <dependency>
22- <groupId>junit</groupId>
23- <artifactId>junit</artifactId>
24- </dependency>
25- </dependencies>
26-
27+<project xmlns="http://maven.apache.org/POM/4.0.0"
28+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
29+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
30+ <modelVersion>4.0.0</modelVersion>
31+
32+ <parent>
33+ <groupId>org.hisp.dhis</groupId>
34+ <artifactId>dhis</artifactId>
35+ <version>2.0.5-SNAPSHOT</version>
36+ </parent>
37+
38+ <artifactId>dhis-api</artifactId>
39+ <packaging>jar</packaging>
40+ <name>DHIS API</name>
41+
42+ <dependencies>
43+ <dependency>
44+ <groupId>junit</groupId>
45+ <artifactId>junit</artifactId>
46+ </dependency>
47+ </dependencies>
48+
49 <properties>
50 <rootDir>../</rootDir>
51 </properties>
52-</project>
53+</project>
54
55=== modified file 'dhis-2/dhis-services/dhis-service-core/pom.xml'
56--- dhis-2/dhis-services/dhis-service-core/pom.xml 2010-04-22 14:06:28 +0000
57+++ dhis-2/dhis-services/dhis-service-core/pom.xml 2010-05-07 11:16:36 +0000
58@@ -1,87 +1,83 @@
59-<project xmlns="http://maven.apache.org/POM/4.0.0"
60- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
61- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
62- <modelVersion>4.0.0</modelVersion>
63-
64- <parent>
65- <groupId>org.hisp.dhis</groupId>
66- <artifactId>dhis-services</artifactId>
67- <version>2.0.5-SNAPSHOT</version>
68- </parent>
69-
70- <artifactId>dhis-service-core</artifactId>
71- <packaging>jar</packaging>
72- <name>DHIS Core API Implementations</name>
73-
74- <dependencies>
75-
76- <!-- DHIS -->
77-
78- <dependency>
79- <groupId>org.hisp.dhis</groupId>
80- <artifactId>dhis-api</artifactId>
81- </dependency>
82- <dependency>
83- <groupId>org.hisp.dhis</groupId>
84- <artifactId>dhis-support-hibernate</artifactId>
85- </dependency>
86- <dependency>
87- <groupId>org.hisp.dhis</groupId>
88- <artifactId>dhis-support-test</artifactId>
89- </dependency>
90- <dependency>
91- <groupId>org.hisp.dhis</groupId>
92- <artifactId>dhis-support-system</artifactId>
93- </dependency>
94- <dependency>
95- <groupId>org.hisp.dhis</groupId>
96- <artifactId>dhis-support-external</artifactId>
97- </dependency>
98- <dependency>
99- <groupId>org.hisp.dhis</groupId>
100- <artifactId>dhis-support-jdbc</artifactId>
101- </dependency>
102- <dependency>
103- <groupId>org.hisp.dhis</groupId>
104- <artifactId>dhis-support-i18n</artifactId>
105- </dependency>
106-
107- <!-- Spring Security -->
108-
109- <dependency>
110- <groupId>org.springframework.security</groupId>
111- <artifactId>spring-security-core</artifactId>
112- </dependency>
113- <dependency>
114- <groupId>org.springframework.security</groupId>
115- <artifactId>spring-security-core-tiger</artifactId>
116- </dependency>
117-
118- <!-- Other -->
119-
120- <dependency>
121- <groupId>jep</groupId>
122- <artifactId>jep</artifactId>
123- </dependency>
124- <dependency>
125- <groupId>commons-codec</groupId>
126- <artifactId>commons-codec</artifactId>
127- </dependency>
128- <dependency>
129- <groupId>commons-collections</groupId>
130- <artifactId>commons-collections</artifactId>
131- </dependency>
132- <dependency>
133- <groupId>commons-logging</groupId>
134- <artifactId>commons-logging</artifactId>
135- </dependency>
136- <dependency>
137- <groupId>org.springframework</groupId>
138- <artifactId>spring-test</artifactId>
139- </dependency>
140-
141- </dependencies>
142+<project xmlns="http://maven.apache.org/POM/4.0.0"
143+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
144+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
145+ <modelVersion>4.0.0</modelVersion>
146+
147+ <parent>
148+ <groupId>org.hisp.dhis</groupId>
149+ <artifactId>dhis-services</artifactId>
150+ <version>2.0.5-SNAPSHOT</version>
151+ </parent>
152+
153+ <artifactId>dhis-service-core</artifactId>
154+ <packaging>jar</packaging>
155+ <name>DHIS Core API Implementations</name>
156+
157+ <dependencies>
158+
159+ <!-- DHIS -->
160+
161+ <dependency>
162+ <groupId>org.hisp.dhis</groupId>
163+ <artifactId>dhis-api</artifactId>
164+ </dependency>
165+ <dependency>
166+ <groupId>org.hisp.dhis</groupId>
167+ <artifactId>dhis-support-hibernate</artifactId>
168+ </dependency>
169+ <dependency>
170+ <groupId>org.hisp.dhis</groupId>
171+ <artifactId>dhis-support-test</artifactId>
172+ </dependency>
173+ <dependency>
174+ <groupId>org.hisp.dhis</groupId>
175+ <artifactId>dhis-support-system</artifactId>
176+ </dependency>
177+ <dependency>
178+ <groupId>org.hisp.dhis</groupId>
179+ <artifactId>dhis-support-external</artifactId>
180+ </dependency>
181+ <dependency>
182+ <groupId>org.hisp.dhis</groupId>
183+ <artifactId>dhis-support-jdbc</artifactId>
184+ </dependency>
185+ <dependency>
186+ <groupId>org.hisp.dhis</groupId>
187+ <artifactId>dhis-support-i18n</artifactId>
188+ </dependency>
189+
190+ <!-- Spring Security -->
191+
192+ <dependency>
193+ <groupId>org.springframework.security</groupId>
194+ <artifactId>spring-security-core</artifactId>
195+ </dependency>
196+ <dependency>
197+ <groupId>org.springframework.security</groupId>
198+ <artifactId>spring-security-web</artifactId>
199+ </dependency>
200+
201+ <!-- Other -->
202+
203+ <dependency>
204+ <groupId>jep</groupId>
205+ <artifactId>jep</artifactId>
206+ </dependency>
207+ <dependency>
208+ <groupId>commons-codec</groupId>
209+ <artifactId>commons-codec</artifactId>
210+ </dependency>
211+ <dependency>
212+ <groupId>commons-collections</groupId>
213+ <artifactId>commons-collections</artifactId>
214+ </dependency>
215+ <dependency>
216+ <groupId>org.springframework</groupId>
217+ <artifactId>spring-tx</artifactId>
218+ </dependency>
219+
220+ </dependencies>
221 <properties>
222 <rootDir>../../</rootDir>
223 </properties>
224-</project>
225+</project>
226
227=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementService.java'
228--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementService.java 2010-05-04 06:47:28 +0000
229+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DefaultDataElementService.java 2010-05-07 11:16:36 +0000
230@@ -27,10 +27,12 @@
231 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
232 */
233
234+
235 import static org.hisp.dhis.i18n.I18nUtils.i18n;
236
237 import java.util.ArrayList;
238 import java.util.Collection;
239+import java.util.Collections;
240 import java.util.Date;
241 import java.util.HashMap;
242 import java.util.HashSet;
243@@ -51,7 +53,6 @@
244 import org.hisp.dhis.system.util.UUIdUtils;
245 import org.springframework.transaction.annotation.Transactional;
246
247-import edu.emory.mathcs.backport.java.util.Collections;
248
249 /**
250 * @author Kristian Nordal
251
252=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultUsernameSaltSource.java'
253--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultUsernameSaltSource.java 2010-04-21 19:45:12 +0000
254+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultUsernameSaltSource.java 2010-05-07 11:16:36 +0000
255@@ -27,7 +27,7 @@
256 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
257 */
258
259-import org.springframework.security.userdetails.UserDetails;
260+import org.springframework.security.core.userdetails.UserDetails;
261
262 /**
263 * @author Torgeir Lorange Ostby
264
265=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/UsernameSaltSource.java'
266--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/UsernameSaltSource.java 2010-04-21 19:45:12 +0000
267+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/UsernameSaltSource.java 2010-05-07 11:16:36 +0000
268@@ -27,7 +27,7 @@
269 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
270 */
271
272-import org.springframework.security.providers.dao.SaltSource;
273+import org.springframework.security.authentication.dao.SaltSource;
274
275 /**
276 * This interface adds a method for getting a salt based on a username. The
277
278=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/hibernate/HibernateUserDetailsService.java'
279--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/hibernate/HibernateUserDetailsService.java 2010-04-21 19:45:12 +0000
280+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/hibernate/HibernateUserDetailsService.java 2010-05-07 11:16:36 +0000
281@@ -30,11 +30,6 @@
282 import java.util.HashSet;
283 import java.util.Set;
284
285-import org.springframework.security.GrantedAuthority;
286-import org.springframework.security.GrantedAuthorityImpl;
287-import org.springframework.security.userdetails.UserDetails;
288-import org.springframework.security.userdetails.UserDetailsService;
289-import org.springframework.security.userdetails.UsernameNotFoundException;
290 import org.hibernate.Criteria;
291 import org.hibernate.Session;
292 import org.hibernate.SessionFactory;
293@@ -42,6 +37,12 @@
294 import org.hisp.dhis.user.UserAuthorityGroup;
295 import org.hisp.dhis.user.UserCredentials;
296 import org.springframework.dao.DataAccessException;
297+import org.springframework.security.core.GrantedAuthority;
298+import org.springframework.security.core.authority.GrantedAuthorityImpl;
299+import org.springframework.security.core.userdetails.User;
300+import org.springframework.security.core.userdetails.UserDetails;
301+import org.springframework.security.core.userdetails.UserDetailsService;
302+import org.springframework.security.core.userdetails.UsernameNotFoundException;
303 import org.springframework.transaction.annotation.Transactional;
304
305 /**
306@@ -80,7 +81,7 @@
307
308 GrantedAuthority[] authorities = getGrantedAuthorities( credentials );
309
310- return new org.springframework.security.userdetails.User( credentials.getUsername(), credentials.getPassword(), true,
311+ return new User( credentials.getUsername(), credentials.getPassword(), true,
312 true, true, true, authorities );
313 }
314
315
316=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/AbstractSpringSecurityCurrentUserService.java'
317--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/AbstractSpringSecurityCurrentUserService.java 2010-04-21 19:45:12 +0000
318+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/AbstractSpringSecurityCurrentUserService.java 2010-05-07 11:16:36 +0000
319@@ -28,9 +28,9 @@
320 */
321
322 import org.hisp.dhis.user.CurrentUserService;
323-import org.springframework.security.Authentication;
324-import org.springframework.security.context.SecurityContextHolder;
325-import org.springframework.security.userdetails.UserDetails;
326+import org.springframework.security.core.Authentication;
327+import org.springframework.security.core.context.SecurityContextHolder;
328+import org.springframework.security.core.userdetails.UserDetails;
329
330 /**
331 * @author Torgeir Lorange Ostby
332
333=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/SpringSecurityPasswordManager.java'
334--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/SpringSecurityPasswordManager.java 2010-04-21 19:45:12 +0000
335+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/spring/SpringSecurityPasswordManager.java 2010-05-07 11:16:36 +0000
336@@ -29,7 +29,7 @@
337
338 import org.hisp.dhis.security.PasswordManager;
339 import org.hisp.dhis.security.UsernameSaltSource;
340-import org.springframework.security.providers.encoding.PasswordEncoder;
341+import org.springframework.security.authentication.encoding.PasswordEncoder;
342
343 /**
344 * @author Torgeir Lorange Ostby
345
346=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/vote/AllRequiredRoleVoter.java'
347--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/vote/AllRequiredRoleVoter.java 2010-04-21 19:45:12 +0000
348+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/vote/AllRequiredRoleVoter.java 2010-05-07 11:16:36 +0000
349@@ -29,18 +29,18 @@
350
351 import java.util.Collection;
352
353-import org.springframework.security.Authentication;
354-import org.springframework.security.ConfigAttribute;
355-import org.springframework.security.ConfigAttributeDefinition;
356-import org.springframework.security.vote.RoleVoter;
357+import org.springframework.security.access.ConfigAttribute;
358+import org.springframework.security.access.vote.RoleVoter;
359+import org.springframework.security.core.Authentication;
360+import org.springframework.security.core.GrantedAuthority;
361
362 /**
363- * RoleVoter which requires all org.springframework.security.ConfigAttributes to be granted
364- * authorities, given that the ConfigAttributes have the specified prefix
365- * ("ROLE_" by default). If there are no supported ConfigAttributes it abstains
366- * from voting.
367+ * RoleVoter which requires all org.springframework.security.ConfigAttributes to
368+ * be granted authorities, given that the ConfigAttributes have the specified
369+ * prefix ("ROLE_" by default). If there are no supported ConfigAttributes it
370+ * abstains from voting.
371 *
372- * @see org.springframework.security.vote.RoleVoter
373+ * @see org.springframework.security.access.vote.RoleVoter
374 *
375 * @author Torgeir Lorange Ostby
376 * @version $Id: AllRequiredRoleVoter.java 6070 2008-10-28 17:49:23Z larshelg $
377@@ -48,13 +48,10 @@
378 public class AllRequiredRoleVoter
379 extends RoleVoter
380 {
381- public int vote( Authentication authentication, Object object, ConfigAttributeDefinition config )
382+ public int vote( Authentication authentication, Object object, Collection<ConfigAttribute> attributes )
383 {
384 int supported = 0;
385
386- @SuppressWarnings( "unchecked" )
387- Collection<ConfigAttribute> attributes = config.getConfigAttributes();
388-
389 for ( ConfigAttribute attribute : attributes )
390 {
391 if ( this.supports( attribute ) )
392@@ -62,9 +59,9 @@
393 ++supported;
394 boolean found = false;
395
396- for ( int i = 0; i < authentication.getAuthorities().length; i++ )
397+ for ( GrantedAuthority authority : authentication.getAuthorities() )
398 {
399- if ( attribute.getAttribute().equals( authentication.getAuthorities()[i].getAuthority() ) )
400+ if ( attribute.getAttribute().equals( authority ) )
401 {
402 found = true;
403 break;
404
405=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
406--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2010-05-04 06:47:28 +0000
407+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2010-05-07 11:16:36 +0000
408@@ -1,837 +1,837 @@
409-<?xml version="1.0" encoding="UTF-8"?>
410-<beans xmlns="http://www.springframework.org/schema/beans"
411- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
412- xmlns:aop="http://www.springframework.org/schema/aop"
413- xsi:schemaLocation="
414-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
415-http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
416-
417- <!-- Store definitions -->
418-
419- <bean id="org.hisp.dhis.dataentryform.DataEntryFormAssociationStore"
420- class="org.hisp.dhis.dataentryform.hibernate.HibernateDataEntryFormAssociationStore">
421- <property name="sessionFactory" ref="sessionFactory"/>
422- </bean>
423-
424- <bean id="org.hisp.dhis.dataentryform.DataEntryFormStore"
425- class="org.hisp.dhis.dataentryform.hibernate.HibernateDataEntryFormStore">
426- <property name="sessionFactory" ref="sessionFactory"/>
427- </bean>
428-
429- <bean id="org.hisp.dhis.customvalue.CustomValueStore"
430- class="org.hisp.dhis.customvalue.hibernate.HibernateCustomValueStore">
431- <property name="clazz" value="org.hisp.dhis.customvalue.CustomValue"/>
432- <property name="sessionFactory" ref="sessionFactory"/>
433- </bean>
434-
435- <bean id="org.hisp.dhis.dataelement.DataElementStore"
436- class="org.hisp.dhis.dataelement.hibernate.HibernateDataElementStore">
437- <property name="sessionFactory" ref="sessionFactory"/>
438- <property name="statementManager" ref="statementManager"/>
439- </bean>
440-
441- <bean id="org.hisp.dhis.dataelement.DataElementGroupStore"
442- class="org.hisp.dhis.hibernate.HibernateGenericStore">
443- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementGroup"/>
444- <property name="sessionFactory" ref="sessionFactory"/>
445- </bean>
446-
447- <bean id="org.hisp.dhis.dataelement.DataElementGroupSetStore"
448- class="org.hisp.dhis.hibernate.HibernateGenericStore">
449- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementGroupSet"/>
450- <property name="sessionFactory" ref="sessionFactory"/>
451- </bean>
452-
453- <bean id="org.hisp.dhis.datadictionary.DataDictionaryStore"
454- class="org.hisp.dhis.hibernate.HibernateGenericStore">
455- <property name="clazz" value="org.hisp.dhis.datadictionary.DataDictionary"/>
456- <property name="sessionFactory" ref="sessionFactory"/>
457- </bean>
458-
459- <bean id="org.hisp.dhis.datavalue.DataValueStore"
460- class="org.hisp.dhis.datavalue.hibernate.HibernateDataValueStore">
461- <property name="sessionFactory" ref="sessionFactory"/>
462- <property name="statementManager" ref="statementManager"/>
463- <property name="periodStore" ref="org.hisp.dhis.period.PeriodStore"/>
464- </bean>
465-
466- <bean id="org.hisp.dhis.indicator.IndicatorStore"
467- class="org.hisp.dhis.indicator.hibernate.HibernateIndicatorStore">
468- <property name="sessionFactory" ref="sessionFactory"/>
469- </bean>
470-
471- <bean id="org.hisp.dhis.indicator.IndicatorTypeStore"
472- class="org.hisp.dhis.hibernate.HibernateGenericStore">
473- <property name="clazz" value="org.hisp.dhis.indicator.IndicatorType"/>
474- <property name="sessionFactory" ref="sessionFactory"/>
475- </bean>
476-
477- <bean id="org.hisp.dhis.indicator.IndicatorGroupStore"
478- class="org.hisp.dhis.hibernate.HibernateGenericStore">
479- <property name="clazz" value="org.hisp.dhis.indicator.IndicatorGroup"/>
480- <property name="sessionFactory" ref="sessionFactory"/>
481- </bean>
482-
483- <bean id="org.hisp.dhis.indicator.IndicatorGroupSetStore"
484- class="org.hisp.dhis.hibernate.HibernateGenericStore">
485- <property name="clazz" value="org.hisp.dhis.indicator.IndicatorGroupSet"/>
486- <property name="sessionFactory" ref="sessionFactory"/>
487- </bean>
488-
489- <bean id="org.hisp.dhis.period.PeriodStore"
490- class="org.hisp.dhis.period.hibernate.HibernatePeriodStore">
491- <property name="sessionFactory" ref="sessionFactory"/>
492- </bean>
493-
494- <bean id="org.hisp.dhis.source.SourceStore"
495- class="org.hisp.dhis.source.hibernate.HibernateSourceStore">
496- <property name="sessionFactory" ref="sessionFactory"/>
497- </bean>
498-
499- <bean id="org.hisp.dhis.dataset.DataSetStore"
500- class="org.hisp.dhis.dataset.hibernate.HibernateDataSetStore">
501- <property name="sessionFactory" ref="sessionFactory"/>
502- <property name="periodStore"
503- ref="org.hisp.dhis.period.PeriodStore"/>
504- </bean>
505-
506- <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationStore"
507- class="org.hisp.dhis.dataset.hibernate.HibernateCompleteDataSetRegistrationStore">
508- <property name="sessionFactory" ref="sessionFactory"/>
509- <property name="periodService"
510- ref="org.hisp.dhis.period.PeriodService"/>
511- </bean>
512-
513- <bean id="org.hisp.dhis.minmax.MinMaxDataElementStore"
514- class="org.hisp.dhis.minmax.hibernate.HibernateMinMaxDataElementStore">
515- <property name="clazz" value="org.hisp.dhis.minmax.MinMaxDataElement"/>
516- <property name="sessionFactory" ref="sessionFactory"/>
517- </bean>
518-
519- <bean id="org.hisp.dhis.expression.ExpressionStore"
520- class="org.hisp.dhis.hibernate.HibernateGenericStore">
521- <property name="clazz" value="org.hisp.dhis.expression.Expression"/>
522- <property name="sessionFactory" ref="sessionFactory"/>
523- </bean>
524-
525- <bean id="org.hisp.dhis.validation.ValidationRuleStore"
526- class="org.hisp.dhis.hibernate.HibernateGenericStore">
527- <property name="clazz" value="org.hisp.dhis.validation.ValidationRule"/>
528- <property name="sessionFactory" ref="sessionFactory"/>
529- </bean>
530-
531- <bean id="org.hisp.dhis.validation.ValidationRuleGroupStore"
532- class="org.hisp.dhis.hibernate.HibernateGenericStore">
533- <property name="clazz" value="org.hisp.dhis.validation.ValidationRuleGroup"/>
534- <property name="sessionFactory" ref="sessionFactory"/>
535- </bean>
536-
537- <bean id="org.hisp.dhis.dataelement.DataElementCategoryStore"
538- class="org.hisp.dhis.hibernate.HibernateGenericStore">
539- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategory"/>
540- <property name="sessionFactory" ref="sessionFactory"/>
541- </bean>
542-
543- <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionStore"
544- class="org.hisp.dhis.hibernate.HibernateGenericStore">
545- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryOption"/>
546- <property name="sessionFactory" ref="sessionFactory"/>
547- </bean>
548-
549- <bean id="org.hisp.dhis.dataelement.DataElementCategoryComboStore"
550- class="org.hisp.dhis.hibernate.HibernateGenericStore">
551- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryCombo"/>
552- <property name="sessionFactory" ref="sessionFactory"/>
553- </bean>
554-
555- <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionComboStore"
556- class="org.hisp.dhis.hibernate.HibernateGenericStore">
557- <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryOptionCombo"/>
558- <property name="sessionFactory" ref="sessionFactory"/>
559- </bean>
560-
561- <bean id="org.hisp.dhis.dataset.SectionStore"
562- class="org.hisp.dhis.dataset.hibernate.HibernateSectionStore">
563- <property name="sessionFactory" ref="sessionFactory"/>
564- </bean>
565-
566- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitStore"
567- class="org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore">
568- <property name="sessionFactory" ref="sessionFactory"/>
569- <property name="statementManager" ref="statementManager"/>
570- <property name="jdbcTemplate" ref="jdbcTemplate"/>
571- </bean>
572-
573- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupStore"
574- class="org.hisp.dhis.hibernate.HibernateGenericStore">
575- <property name="clazz" value="org.hisp.dhis.organisationunit.OrganisationUnitGroup"/>
576- <property name="sessionFactory" ref="sessionFactory"/>
577- </bean>
578-
579- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetStore"
580- class="org.hisp.dhis.hibernate.HibernateGenericStore">
581- <property name="clazz" value="org.hisp.dhis.organisationunit.OrganisationUnitGroupSet"/>
582- <property name="sessionFactory" ref="sessionFactory"/>
583- </bean>
584-
585- <bean id="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"
586- class="org.hisp.dhis.dataanalysis.jdbc.JdbcDataAnalysisStore">
587- <property name="statementManager" ref="statementManager"/>
588- <property name="statementBuilder" ref="statementBuilder"/>
589- </bean>
590-
591- <bean id="org.hisp.dhis.datavalue.DataValueAuditStore"
592- class="org.hisp.dhis.datavalue.hibernate.HibernateDataValueAuditStore">
593- <property name="sessionFactory" ref="sessionFactory"/>
594- </bean>
595-
596- <bean id="org.hisp.dhis.user.UserStore"
597- class="org.hisp.dhis.user.hibernate.HibernateUserStore">
598- <property name="sessionFactory" ref="sessionFactory"/>
599- <property name="currentUserService"
600- ref="org.hisp.dhis.user.CurrentUserService"/>
601- </bean>
602-
603- <!-- Service definitions -->
604-
605- <bean id="org.hisp.dhis.customvalue.CustomValueService"
606- class="org.hisp.dhis.customvalue.DefaultCustomValueService">
607- <property name="customValueStore"
608- ref="org.hisp.dhis.customvalue.CustomValueStore"/>
609- </bean>
610-
611- <bean id="org.hisp.dhis.datavalue.DataValueService"
612- class="org.hisp.dhis.datavalue.DefaultDataValueService">
613- <property name="dataValueStore"
614- ref="org.hisp.dhis.datavalue.DataValueStore"/>
615- <property name="dataValueAuditService" ref="org.hisp.dhis.datavalue.DataValueAuditService"/>
616- </bean>
617-
618- <bean id="org.hisp.dhis.datavalue.DataValueAuditService"
619- class="org.hisp.dhis.datavalue.DefaultDataValueAuditService">
620- <property name="dataValueAuditStore"
621- ref="org.hisp.dhis.datavalue.DataValueAuditStore"/>
622- </bean>
623-
624- <bean id="org.hisp.dhis.dataelement.DataElementService"
625- class="org.hisp.dhis.dataelement.DefaultDataElementService">
626- <property name="dataElementStore"
627- ref="org.hisp.dhis.dataelement.DataElementStore"/>
628- <property name="dataElementGroupStore"
629- ref="org.hisp.dhis.dataelement.DataElementGroupStore"/>
630- <property name="dataElementGroupSetStore"
631- ref="org.hisp.dhis.dataelement.DataElementGroupSetStore"/>
632- <property name="i18nService"
633- ref="org.hisp.dhis.i18n.I18nService"/>
634- </bean>
635-
636- <bean id="org.hisp.dhis.minmax.MinMaxDataElementService"
637- class="org.hisp.dhis.minmax.DefaultMinMaxDataElementService">
638- <property name="minMaxDataElementStore"
639- ref="org.hisp.dhis.minmax.MinMaxDataElementStore"/>
640- </bean>
641-
642- <bean id="org.hisp.dhis.datadictionary.DataDictionaryService"
643- class="org.hisp.dhis.datadictionary.DefaultDataDictionaryService">
644- <property name="dataDictionaryStore"
645- ref="org.hisp.dhis.datadictionary.DataDictionaryStore"/>
646- <property name="i18nService"
647- ref="org.hisp.dhis.i18n.I18nService"/>
648- </bean>
649-
650- <bean id="org.hisp.dhis.indicator.IndicatorService"
651- class="org.hisp.dhis.indicator.DefaultIndicatorService">
652- <property name="indicatorStore"
653- ref="org.hisp.dhis.indicator.IndicatorStore"/>
654- <property name="indicatorTypeStore"
655- ref="org.hisp.dhis.indicator.IndicatorTypeStore"/>
656- <property name="indicatorGroupStore"
657- ref="org.hisp.dhis.indicator.IndicatorGroupStore"/>
658- <property name="indicatorGroupSetStore"
659- ref="org.hisp.dhis.indicator.IndicatorGroupSetStore"/>
660- <property name="i18nService"
661- ref="org.hisp.dhis.i18n.I18nService"/>
662- </bean>
663-
664- <bean id="org.hisp.dhis.period.PeriodService"
665- class="org.hisp.dhis.period.DefaultPeriodService">
666- <property name="periodStore"
667- ref="org.hisp.dhis.period.PeriodStore"/>
668- </bean>
669-
670- <bean id="org.hisp.dhis.dataset.DataSetService"
671- class="org.hisp.dhis.dataset.DefaultDataSetService">
672- <property name="dataSetStore"
673- ref="org.hisp.dhis.dataset.DataSetStore"/>
674- <property name="dataEntryFormService"
675- ref="org.hisp.dhis.dataentryform.DataEntryFormService"/>
676- <property name="i18nService"
677- ref="org.hisp.dhis.i18n.I18nService"/>
678- <property name="currentUserService"
679- ref="org.hisp.dhis.user.CurrentUserService"/>
680- </bean>
681-
682- <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationService"
683- class="org.hisp.dhis.dataset.DefaultCompleteDataSetRegistrationService">
684- <property name="completeDataSetRegistrationStore"
685- ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationStore"/>
686- </bean>
687-
688- <bean id="org.hisp.dhis.dataset.SectionService"
689- class="org.hisp.dhis.dataset.DefaultSectionService">
690- <property name="sectionStore"
691- ref="org.hisp.dhis.dataset.SectionStore"/>
692- </bean>
693-
694- <bean id="org.hisp.dhis.dataentryform.DataEntryFormService"
695- class="org.hisp.dhis.dataentryform.DefaultDataEntryFormService">
696- <property name="dataEntryFormStore"
697- ref="org.hisp.dhis.dataentryform.DataEntryFormStore"/>
698- <property name="dataEntryFormAssociationService"
699- ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"/>
700- </bean>
701-
702- <bean id="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"
703- class="org.hisp.dhis.dataentryform.DefaultDataEntryFormAssociationService">
704- <property name="dataEntryFormAssociationStore"
705- ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationStore"/>
706- </bean>
707-
708- <bean id="org.hisp.dhis.expression.ExpressionService"
709- class="org.hisp.dhis.expression.DefaultExpressionService">
710- <property name="expressionStore"
711- ref="org.hisp.dhis.expression.ExpressionStore"/>
712- <property name="dataElementService"
713- ref="org.hisp.dhis.dataelement.DataElementService"/>
714- <property name="dataValueService"
715- ref="org.hisp.dhis.datavalue.DataValueService"/>
716- <property name="categoryService"
717- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
718- </bean>
719-
720- <bean id="org.hisp.dhis.validation.ValidationRuleService"
721- class="org.hisp.dhis.validation.DefaultValidationRuleService">
722- <property name="validationRuleStore"
723- ref="org.hisp.dhis.validation.ValidationRuleStore"/>
724- <property name="validationRuleGroupStore"
725- ref="org.hisp.dhis.validation.ValidationRuleGroupStore"/>
726- <property name="expressionService"
727- ref="org.hisp.dhis.expression.ExpressionService"/>
728- <property name="periodService"
729- ref="org.hisp.dhis.period.PeriodService"/>
730- </bean>
731-
732- <bean id="org.hisp.dhis.dataelement.DataElementCategoryService"
733- class="org.hisp.dhis.dataelement.DefaultDataElementCategoryService">
734- <property name="dataElementCategoryStore"
735- ref="org.hisp.dhis.dataelement.DataElementCategoryStore"/>
736- <property name="dataElementCategoryOptionStore"
737- ref="org.hisp.dhis.dataelement.DataElementCategoryOptionStore"/>
738- <property name="dataElementCategoryComboStore"
739- ref="org.hisp.dhis.dataelement.DataElementCategoryComboStore"/>
740- <property name="dataElementCategoryOptionComboStore"
741- ref="org.hisp.dhis.dataelement.DataElementCategoryOptionComboStore"/>
742- <property name="dataElementService"
743- ref="org.hisp.dhis.dataelement.DataElementService"/>
744- </bean>
745-
746- <bean id="org.hisp.dhis.dimension.DimensionService"
747- class="org.hisp.dhis.dimension.DefaultDimensionService">
748- <property name="dataElementService"
749- ref="org.hisp.dhis.dataelement.DataElementService"/>
750- <property name="categoryService"
751- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
752- </bean>
753-
754- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitService"
755- class="org.hisp.dhis.organisationunit.DefaultOrganisationUnitService">
756- <property name="sourceStore"
757- ref="org.hisp.dhis.source.SourceStore"/>
758- <property name="organisationUnitStore"
759- ref="org.hisp.dhis.organisationunit.OrganisationUnitStore"/>
760- <property name="currentUserService"
761- ref="org.hisp.dhis.user.CurrentUserService"/>
762- </bean>
763-
764- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"
765- class="org.hisp.dhis.organisationunit.DefaultOrganisationUnitGroupService">
766- <property name="organisationUnitGroupStore"
767- ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupStore"/>
768- <property name="organisationUnitGroupSetStore"
769- ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetStore"/>
770- </bean>
771-
772- <bean id="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService"
773- class="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService">
774- <property name="organisationUnitService"
775- ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
776- <property name="dataAnalysisStore"
777- ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
778- </bean>
779-
780- <bean id="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService"
781- class="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService">
782- <property name="organisationUnitService"
783- ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
784- <property name="minMaxDataElementService"
785- ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
786- <property name="dataAnalysisStore"
787- ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
788- </bean>
789-
790- <bean id="org.hisp.dhis.dataanalysis.GapAnalysisService"
791- class="org.hisp.dhis.dataanalysis.GapAnalysisService">
792- <property name="organisationUnitService"
793- ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
794- <property name="dataAnalysisStore"
795- ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
796- </bean>
797-
798- <bean id="org.hisp.dhis.dataanalysis.FollowupAnalysisService"
799- class="org.hisp.dhis.dataanalysis.FollowupAnalysisService">
800- <property name="dataAnalysisStore"
801- ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
802- </bean>
803-
804- <bean id="dataAnalysisServiceProvider"
805- class="org.hisp.dhis.common.ServiceProvider">
806- <property name="services">
807- <map>
808- <entry>
809- <key><value>stddevoutlier</value></key>
810- <ref bean="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService"/>
811- </entry>
812- <entry>
813- <key><value>minmaxoutlier</value></key>
814- <ref bean="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService"/>
815- </entry>
816- <entry>
817- <key><value>gap</value></key>
818- <ref bean="org.hisp.dhis.dataanalysis.GapAnalysisService"/>
819- </entry>
820- <entry>
821- <key><value>followup</value></key>
822- <ref bean="org.hisp.dhis.dataanalysis.FollowupAnalysisService"/>
823- </entry>
824+<?xml version="1.0" encoding="UTF-8"?>
825+<beans xmlns="http://www.springframework.org/schema/beans"
826+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
827+ xmlns:aop="http://www.springframework.org/schema/aop"
828+ xsi:schemaLocation="
829+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
830+http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
831+
832+ <!-- Store definitions -->
833+
834+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormAssociationStore"
835+ class="org.hisp.dhis.dataentryform.hibernate.HibernateDataEntryFormAssociationStore">
836+ <property name="sessionFactory" ref="sessionFactory"/>
837+ </bean>
838+
839+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormStore"
840+ class="org.hisp.dhis.dataentryform.hibernate.HibernateDataEntryFormStore">
841+ <property name="sessionFactory" ref="sessionFactory"/>
842+ </bean>
843+
844+ <bean id="org.hisp.dhis.customvalue.CustomValueStore"
845+ class="org.hisp.dhis.customvalue.hibernate.HibernateCustomValueStore">
846+ <property name="clazz" value="org.hisp.dhis.customvalue.CustomValue"/>
847+ <property name="sessionFactory" ref="sessionFactory"/>
848+ </bean>
849+
850+ <bean id="org.hisp.dhis.dataelement.DataElementStore"
851+ class="org.hisp.dhis.dataelement.hibernate.HibernateDataElementStore">
852+ <property name="sessionFactory" ref="sessionFactory"/>
853+ <property name="statementManager" ref="statementManager"/>
854+ </bean>
855+
856+ <bean id="org.hisp.dhis.dataelement.DataElementGroupStore"
857+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
858+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementGroup"/>
859+ <property name="sessionFactory" ref="sessionFactory"/>
860+ </bean>
861+
862+ <bean id="org.hisp.dhis.dataelement.DataElementGroupSetStore"
863+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
864+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementGroupSet"/>
865+ <property name="sessionFactory" ref="sessionFactory"/>
866+ </bean>
867+
868+ <bean id="org.hisp.dhis.datadictionary.DataDictionaryStore"
869+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
870+ <property name="clazz" value="org.hisp.dhis.datadictionary.DataDictionary"/>
871+ <property name="sessionFactory" ref="sessionFactory"/>
872+ </bean>
873+
874+ <bean id="org.hisp.dhis.datavalue.DataValueStore"
875+ class="org.hisp.dhis.datavalue.hibernate.HibernateDataValueStore">
876+ <property name="sessionFactory" ref="sessionFactory"/>
877+ <property name="statementManager" ref="statementManager"/>
878+ <property name="periodStore" ref="org.hisp.dhis.period.PeriodStore"/>
879+ </bean>
880+
881+ <bean id="org.hisp.dhis.indicator.IndicatorStore"
882+ class="org.hisp.dhis.indicator.hibernate.HibernateIndicatorStore">
883+ <property name="sessionFactory" ref="sessionFactory"/>
884+ </bean>
885+
886+ <bean id="org.hisp.dhis.indicator.IndicatorTypeStore"
887+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
888+ <property name="clazz" value="org.hisp.dhis.indicator.IndicatorType"/>
889+ <property name="sessionFactory" ref="sessionFactory"/>
890+ </bean>
891+
892+ <bean id="org.hisp.dhis.indicator.IndicatorGroupStore"
893+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
894+ <property name="clazz" value="org.hisp.dhis.indicator.IndicatorGroup"/>
895+ <property name="sessionFactory" ref="sessionFactory"/>
896+ </bean>
897+
898+ <bean id="org.hisp.dhis.indicator.IndicatorGroupSetStore"
899+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
900+ <property name="clazz" value="org.hisp.dhis.indicator.IndicatorGroupSet"/>
901+ <property name="sessionFactory" ref="sessionFactory"/>
902+ </bean>
903+
904+ <bean id="org.hisp.dhis.period.PeriodStore"
905+ class="org.hisp.dhis.period.hibernate.HibernatePeriodStore">
906+ <property name="sessionFactory" ref="sessionFactory"/>
907+ </bean>
908+
909+ <bean id="org.hisp.dhis.source.SourceStore"
910+ class="org.hisp.dhis.source.hibernate.HibernateSourceStore">
911+ <property name="sessionFactory" ref="sessionFactory"/>
912+ </bean>
913+
914+ <bean id="org.hisp.dhis.dataset.DataSetStore"
915+ class="org.hisp.dhis.dataset.hibernate.HibernateDataSetStore">
916+ <property name="sessionFactory" ref="sessionFactory"/>
917+ <property name="periodStore"
918+ ref="org.hisp.dhis.period.PeriodStore"/>
919+ </bean>
920+
921+ <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationStore"
922+ class="org.hisp.dhis.dataset.hibernate.HibernateCompleteDataSetRegistrationStore">
923+ <property name="sessionFactory" ref="sessionFactory"/>
924+ <property name="periodService"
925+ ref="org.hisp.dhis.period.PeriodService"/>
926+ </bean>
927+
928+ <bean id="org.hisp.dhis.minmax.MinMaxDataElementStore"
929+ class="org.hisp.dhis.minmax.hibernate.HibernateMinMaxDataElementStore">
930+ <property name="clazz" value="org.hisp.dhis.minmax.MinMaxDataElement"/>
931+ <property name="sessionFactory" ref="sessionFactory"/>
932+ </bean>
933+
934+ <bean id="org.hisp.dhis.expression.ExpressionStore"
935+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
936+ <property name="clazz" value="org.hisp.dhis.expression.Expression"/>
937+ <property name="sessionFactory" ref="sessionFactory"/>
938+ </bean>
939+
940+ <bean id="org.hisp.dhis.validation.ValidationRuleStore"
941+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
942+ <property name="clazz" value="org.hisp.dhis.validation.ValidationRule"/>
943+ <property name="sessionFactory" ref="sessionFactory"/>
944+ </bean>
945+
946+ <bean id="org.hisp.dhis.validation.ValidationRuleGroupStore"
947+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
948+ <property name="clazz" value="org.hisp.dhis.validation.ValidationRuleGroup"/>
949+ <property name="sessionFactory" ref="sessionFactory"/>
950+ </bean>
951+
952+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryStore"
953+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
954+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategory"/>
955+ <property name="sessionFactory" ref="sessionFactory"/>
956+ </bean>
957+
958+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionStore"
959+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
960+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryOption"/>
961+ <property name="sessionFactory" ref="sessionFactory"/>
962+ </bean>
963+
964+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryComboStore"
965+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
966+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryCombo"/>
967+ <property name="sessionFactory" ref="sessionFactory"/>
968+ </bean>
969+
970+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionComboStore"
971+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
972+ <property name="clazz" value="org.hisp.dhis.dataelement.DataElementCategoryOptionCombo"/>
973+ <property name="sessionFactory" ref="sessionFactory"/>
974+ </bean>
975+
976+ <bean id="org.hisp.dhis.dataset.SectionStore"
977+ class="org.hisp.dhis.dataset.hibernate.HibernateSectionStore">
978+ <property name="sessionFactory" ref="sessionFactory"/>
979+ </bean>
980+
981+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitStore"
982+ class="org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore">
983+ <property name="sessionFactory" ref="sessionFactory"/>
984+ <property name="statementManager" ref="statementManager"/>
985+ <property name="jdbcTemplate" ref="jdbcTemplate"/>
986+ </bean>
987+
988+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupStore"
989+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
990+ <property name="clazz" value="org.hisp.dhis.organisationunit.OrganisationUnitGroup"/>
991+ <property name="sessionFactory" ref="sessionFactory"/>
992+ </bean>
993+
994+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetStore"
995+ class="org.hisp.dhis.hibernate.HibernateGenericStore">
996+ <property name="clazz" value="org.hisp.dhis.organisationunit.OrganisationUnitGroupSet"/>
997+ <property name="sessionFactory" ref="sessionFactory"/>
998+ </bean>
999+
1000+ <bean id="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"
1001+ class="org.hisp.dhis.dataanalysis.jdbc.JdbcDataAnalysisStore">
1002+ <property name="statementManager" ref="statementManager"/>
1003+ <property name="statementBuilder" ref="statementBuilder"/>
1004+ </bean>
1005+
1006+ <bean id="org.hisp.dhis.datavalue.DataValueAuditStore"
1007+ class="org.hisp.dhis.datavalue.hibernate.HibernateDataValueAuditStore">
1008+ <property name="sessionFactory" ref="sessionFactory"/>
1009+ </bean>
1010+
1011+ <bean id="org.hisp.dhis.user.UserStore"
1012+ class="org.hisp.dhis.user.hibernate.HibernateUserStore">
1013+ <property name="sessionFactory" ref="sessionFactory"/>
1014+ <property name="currentUserService"
1015+ ref="org.hisp.dhis.user.CurrentUserService"/>
1016+ </bean>
1017+
1018+ <!-- Service definitions -->
1019+
1020+ <bean id="org.hisp.dhis.customvalue.CustomValueService"
1021+ class="org.hisp.dhis.customvalue.DefaultCustomValueService">
1022+ <property name="customValueStore"
1023+ ref="org.hisp.dhis.customvalue.CustomValueStore"/>
1024+ </bean>
1025+
1026+ <bean id="org.hisp.dhis.datavalue.DataValueService"
1027+ class="org.hisp.dhis.datavalue.DefaultDataValueService">
1028+ <property name="dataValueStore"
1029+ ref="org.hisp.dhis.datavalue.DataValueStore"/>
1030+ <property name="dataValueAuditService" ref="org.hisp.dhis.datavalue.DataValueAuditService"/>
1031+ </bean>
1032+
1033+ <bean id="org.hisp.dhis.datavalue.DataValueAuditService"
1034+ class="org.hisp.dhis.datavalue.DefaultDataValueAuditService">
1035+ <property name="dataValueAuditStore"
1036+ ref="org.hisp.dhis.datavalue.DataValueAuditStore"/>
1037+ </bean>
1038+
1039+ <bean id="org.hisp.dhis.dataelement.DataElementService"
1040+ class="org.hisp.dhis.dataelement.DefaultDataElementService">
1041+ <property name="dataElementStore"
1042+ ref="org.hisp.dhis.dataelement.DataElementStore"/>
1043+ <property name="dataElementGroupStore"
1044+ ref="org.hisp.dhis.dataelement.DataElementGroupStore"/>
1045+ <property name="dataElementGroupSetStore"
1046+ ref="org.hisp.dhis.dataelement.DataElementGroupSetStore"/>
1047+ <property name="i18nService"
1048+ ref="org.hisp.dhis.i18n.I18nService"/>
1049+ </bean>
1050+
1051+ <bean id="org.hisp.dhis.minmax.MinMaxDataElementService"
1052+ class="org.hisp.dhis.minmax.DefaultMinMaxDataElementService">
1053+ <property name="minMaxDataElementStore"
1054+ ref="org.hisp.dhis.minmax.MinMaxDataElementStore"/>
1055+ </bean>
1056+
1057+ <bean id="org.hisp.dhis.datadictionary.DataDictionaryService"
1058+ class="org.hisp.dhis.datadictionary.DefaultDataDictionaryService">
1059+ <property name="dataDictionaryStore"
1060+ ref="org.hisp.dhis.datadictionary.DataDictionaryStore"/>
1061+ <property name="i18nService"
1062+ ref="org.hisp.dhis.i18n.I18nService"/>
1063+ </bean>
1064+
1065+ <bean id="org.hisp.dhis.indicator.IndicatorService"
1066+ class="org.hisp.dhis.indicator.DefaultIndicatorService">
1067+ <property name="indicatorStore"
1068+ ref="org.hisp.dhis.indicator.IndicatorStore"/>
1069+ <property name="indicatorTypeStore"
1070+ ref="org.hisp.dhis.indicator.IndicatorTypeStore"/>
1071+ <property name="indicatorGroupStore"
1072+ ref="org.hisp.dhis.indicator.IndicatorGroupStore"/>
1073+ <property name="indicatorGroupSetStore"
1074+ ref="org.hisp.dhis.indicator.IndicatorGroupSetStore"/>
1075+ <property name="i18nService"
1076+ ref="org.hisp.dhis.i18n.I18nService"/>
1077+ </bean>
1078+
1079+ <bean id="org.hisp.dhis.period.PeriodService"
1080+ class="org.hisp.dhis.period.DefaultPeriodService">
1081+ <property name="periodStore"
1082+ ref="org.hisp.dhis.period.PeriodStore"/>
1083+ </bean>
1084+
1085+ <bean id="org.hisp.dhis.dataset.DataSetService"
1086+ class="org.hisp.dhis.dataset.DefaultDataSetService">
1087+ <property name="dataSetStore"
1088+ ref="org.hisp.dhis.dataset.DataSetStore"/>
1089+ <property name="dataEntryFormService"
1090+ ref="org.hisp.dhis.dataentryform.DataEntryFormService"/>
1091+ <property name="i18nService"
1092+ ref="org.hisp.dhis.i18n.I18nService"/>
1093+ <property name="currentUserService"
1094+ ref="org.hisp.dhis.user.CurrentUserService"/>
1095+ </bean>
1096+
1097+ <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationService"
1098+ class="org.hisp.dhis.dataset.DefaultCompleteDataSetRegistrationService">
1099+ <property name="completeDataSetRegistrationStore"
1100+ ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationStore"/>
1101+ </bean>
1102+
1103+ <bean id="org.hisp.dhis.dataset.SectionService"
1104+ class="org.hisp.dhis.dataset.DefaultSectionService">
1105+ <property name="sectionStore"
1106+ ref="org.hisp.dhis.dataset.SectionStore"/>
1107+ </bean>
1108+
1109+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormService"
1110+ class="org.hisp.dhis.dataentryform.DefaultDataEntryFormService">
1111+ <property name="dataEntryFormStore"
1112+ ref="org.hisp.dhis.dataentryform.DataEntryFormStore"/>
1113+ <property name="dataEntryFormAssociationService"
1114+ ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"/>
1115+ </bean>
1116+
1117+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"
1118+ class="org.hisp.dhis.dataentryform.DefaultDataEntryFormAssociationService">
1119+ <property name="dataEntryFormAssociationStore"
1120+ ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationStore"/>
1121+ </bean>
1122+
1123+ <bean id="org.hisp.dhis.expression.ExpressionService"
1124+ class="org.hisp.dhis.expression.DefaultExpressionService">
1125+ <property name="expressionStore"
1126+ ref="org.hisp.dhis.expression.ExpressionStore"/>
1127+ <property name="dataElementService"
1128+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1129+ <property name="dataValueService"
1130+ ref="org.hisp.dhis.datavalue.DataValueService"/>
1131+ <property name="categoryService"
1132+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1133+ </bean>
1134+
1135+ <bean id="org.hisp.dhis.validation.ValidationRuleService"
1136+ class="org.hisp.dhis.validation.DefaultValidationRuleService">
1137+ <property name="validationRuleStore"
1138+ ref="org.hisp.dhis.validation.ValidationRuleStore"/>
1139+ <property name="validationRuleGroupStore"
1140+ ref="org.hisp.dhis.validation.ValidationRuleGroupStore"/>
1141+ <property name="expressionService"
1142+ ref="org.hisp.dhis.expression.ExpressionService"/>
1143+ <property name="periodService"
1144+ ref="org.hisp.dhis.period.PeriodService"/>
1145+ </bean>
1146+
1147+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryService"
1148+ class="org.hisp.dhis.dataelement.DefaultDataElementCategoryService">
1149+ <property name="dataElementCategoryStore"
1150+ ref="org.hisp.dhis.dataelement.DataElementCategoryStore"/>
1151+ <property name="dataElementCategoryOptionStore"
1152+ ref="org.hisp.dhis.dataelement.DataElementCategoryOptionStore"/>
1153+ <property name="dataElementCategoryComboStore"
1154+ ref="org.hisp.dhis.dataelement.DataElementCategoryComboStore"/>
1155+ <property name="dataElementCategoryOptionComboStore"
1156+ ref="org.hisp.dhis.dataelement.DataElementCategoryOptionComboStore"/>
1157+ <property name="dataElementService"
1158+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1159+ </bean>
1160+
1161+ <bean id="org.hisp.dhis.dimension.DimensionService"
1162+ class="org.hisp.dhis.dimension.DefaultDimensionService">
1163+ <property name="dataElementService"
1164+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1165+ <property name="categoryService"
1166+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1167+ </bean>
1168+
1169+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitService"
1170+ class="org.hisp.dhis.organisationunit.DefaultOrganisationUnitService">
1171+ <property name="sourceStore"
1172+ ref="org.hisp.dhis.source.SourceStore"/>
1173+ <property name="organisationUnitStore"
1174+ ref="org.hisp.dhis.organisationunit.OrganisationUnitStore"/>
1175+ <property name="currentUserService"
1176+ ref="org.hisp.dhis.user.CurrentUserService"/>
1177+ </bean>
1178+
1179+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"
1180+ class="org.hisp.dhis.organisationunit.DefaultOrganisationUnitGroupService">
1181+ <property name="organisationUnitGroupStore"
1182+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupStore"/>
1183+ <property name="organisationUnitGroupSetStore"
1184+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetStore"/>
1185+ </bean>
1186+
1187+ <bean id="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService"
1188+ class="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService">
1189+ <property name="organisationUnitService"
1190+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
1191+ <property name="dataAnalysisStore"
1192+ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
1193+ </bean>
1194+
1195+ <bean id="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService"
1196+ class="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService">
1197+ <property name="organisationUnitService"
1198+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
1199+ <property name="minMaxDataElementService"
1200+ ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
1201+ <property name="dataAnalysisStore"
1202+ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
1203+ </bean>
1204+
1205+ <bean id="org.hisp.dhis.dataanalysis.GapAnalysisService"
1206+ class="org.hisp.dhis.dataanalysis.GapAnalysisService">
1207+ <property name="organisationUnitService"
1208+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
1209+ <property name="dataAnalysisStore"
1210+ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
1211+ </bean>
1212+
1213+ <bean id="org.hisp.dhis.dataanalysis.FollowupAnalysisService"
1214+ class="org.hisp.dhis.dataanalysis.FollowupAnalysisService">
1215+ <property name="dataAnalysisStore"
1216+ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
1217+ </bean>
1218+
1219+ <bean id="dataAnalysisServiceProvider"
1220+ class="org.hisp.dhis.common.ServiceProvider">
1221+ <property name="services">
1222+ <map>
1223+ <entry>
1224+ <key><value>stddevoutlier</value></key>
1225+ <ref bean="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService"/>
1226+ </entry>
1227+ <entry>
1228+ <key><value>minmaxoutlier</value></key>
1229+ <ref bean="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService"/>
1230+ </entry>
1231+ <entry>
1232+ <key><value>gap</value></key>
1233+ <ref bean="org.hisp.dhis.dataanalysis.GapAnalysisService"/>
1234+ </entry>
1235+ <entry>
1236+ <key><value>followup</value></key>
1237+ <ref bean="org.hisp.dhis.dataanalysis.FollowupAnalysisService"/>
1238+ </entry>
1239 </map>
1240- </property>
1241- </bean>
1242-
1243- <bean id="org.hisp.dhis.user.CurrentUserService"
1244- class="org.hisp.dhis.user.DefaultCurrentUserService">
1245- <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1246- </bean>
1247-
1248- <bean id="org.hisp.dhis.user.UserSettingService"
1249- class="org.hisp.dhis.user.DefaultUserSettingService">
1250- <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService"/>
1251- <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1252- </bean>
1253-
1254- <bean id="org.hisp.dhis.user.UserService"
1255- class="org.hisp.dhis.user.DefaultUserService">
1256- <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1257- </bean>
1258-
1259- <!-- Startup routine definitions -->
1260-
1261- <bean id="org.hisp.dhis.dataentryform.DataEntryFormPopulator"
1262- class="org.hisp.dhis.dataentryform.DataEntryFormPopulator">
1263- <property name="jdbcTemplate" ref="jdbcTemplate"/>
1264- <property name="statementBuilder" ref="statementBuilder"/>
1265- <property name="runlevel" value="1"/>
1266- </bean>
1267-
1268- <bean id="org.hisp.dhis.period.PeriodTypePopulator"
1269- class="org.hisp.dhis.period.PeriodTypePopulator">
1270- <property name="periodStore"
1271- ref="org.hisp.dhis.period.PeriodStore"/>
1272- <property name="runlevel" value="1"/>
1273- </bean>
1274-
1275- <bean id="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator"
1276- class="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator">
1277- <property name="dataElementService"
1278- ref="org.hisp.dhis.dataelement.DataElementService"/>
1279- <property name="categoryService"
1280- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1281- <property name="runlevel" value="2"/>
1282- </bean>
1283-
1284- <bean id="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator"
1285- class="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator">
1286- <property name="statementManager" ref="statementManager"/>
1287- <property name="runlevel" value="1"/>
1288- <property name="skipInTests" value="true"/>
1289- </bean>
1290-
1291- <bean id="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader"
1292- class="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader">
1293- <property name="expressionService"
1294- ref="org.hisp.dhis.expression.ExpressionService"/>
1295- <property name="indicatorService"
1296- ref="org.hisp.dhis.indicator.IndicatorService"/>
1297- <property name="categoryService"
1298- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1299- <property name="runlevel" value="2"/>
1300- <property name="skipInTests" value="true"/>
1301- </bean>
1302-
1303- <bean id="org.hisp.dhis.dataset.DataSetShortNamePopulator"
1304- class="org.hisp.dhis.dataset.DataSetShortNamePopulator">
1305- <property name="dataSetService"
1306- ref="org.hisp.dhis.dataset.DataSetService"/>
1307- <property name="skipInTests" value="true"/>
1308- </bean>
1309-
1310- <bean id="org.hisp.dhis.dataelement.UuidPopulator"
1311- class="org.hisp.dhis.dataelement.UuidPopulator">
1312- <property name="categoryService"
1313- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1314- <property name="dataElementService"
1315- ref="org.hisp.dhis.dataelement.DataElementService"/>
1316- <property name="skipInTests" value="true"/>
1317- </bean>
1318-
1319- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier"
1320- class="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier">
1321- <property name="organisationUnitService"
1322- ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
1323- </bean>
1324-
1325- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator"
1326- class="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator">
1327- <property name="organisationUnitGroupService"
1328- ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1329- <property name="skipInTests" value="true"/>
1330- </bean>
1331-
1332- <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
1333- <property name="targetObject"
1334- ref="org.hisp.dhis.system.startup.StartupRoutineExecutor"/>
1335- <property name="targetMethod" value="addStartupRoutines"/>
1336- <property name="arguments">
1337- <list>
1338- <list>
1339- <ref local="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator"/>
1340- <ref local="org.hisp.dhis.period.PeriodTypePopulator"/>
1341- <ref local="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator"/>
1342- <ref local="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader"/>
1343- <ref local="org.hisp.dhis.dataset.DataSetShortNamePopulator"/>
1344- <ref local="org.hisp.dhis.dataelement.UuidPopulator"/>
1345- <ref local="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier"/>
1346- <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator"/>
1347- <ref local="org.hisp.dhis.dataentryform.DataEntryFormPopulator"/>
1348- </list>
1349- </list>
1350- </property>
1351- </bean>
1352-
1353- <!-- DeletionHandlers -->
1354-
1355- <bean id="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler"
1356- class="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler">
1357- <property name="dataEntryFormService"
1358- ref="org.hisp.dhis.dataentryform.DataEntryFormService"/>
1359- <property name="deletionManager"
1360- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1361- <property name="dataEntryFormAssociationService"
1362- ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"/>
1363- </bean>
1364-
1365- <bean id="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler"
1366- class="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler">
1367- <property name="dataDictionaryService"
1368- ref="org.hisp.dhis.datadictionary.DataDictionaryService"/>
1369- </bean>
1370-
1371- <bean id="org.hisp.dhis.dataelement.DataElementDeletionHandler"
1372- class="org.hisp.dhis.dataelement.DataElementDeletionHandler">
1373- <property name="dataElementService"
1374- ref="org.hisp.dhis.dataelement.DataElementService"/>
1375- <property name="categoryService"
1376- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1377- </bean>
1378-
1379- <bean id="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler"
1380- class="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler">
1381- <property name="dataElementService"
1382- ref="org.hisp.dhis.dataelement.DataElementService"/>
1383- </bean>
1384-
1385- <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler"
1386- class="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler">
1387- <property name="categoryService"
1388- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1389- </bean>
1390-
1391- <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler"
1392- class="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler">
1393- <property name="categoryService"
1394- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1395- </bean>
1396-
1397- <bean id="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler"
1398- class="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler">
1399- <property name="categoryService"
1400- ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1401- </bean>
1402-
1403- <bean id="org.hisp.dhis.dataset.DataSetDeletionHandler"
1404- class="org.hisp.dhis.dataset.DataSetDeletionHandler">
1405- <property name="dataSetService"
1406- ref="org.hisp.dhis.dataset.DataSetService"/>
1407- </bean>
1408-
1409- <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler"
1410- class="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler">
1411- <property name="completeDataSetRegistrationService"
1412- ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService"/>
1413- <property name="jdbcTemplate" ref="jdbcTemplate"/>
1414- </bean>
1415-
1416- <bean id="org.hisp.dhis.dataset.SectionDeletionHandler"
1417- class="org.hisp.dhis.dataset.SectionDeletionHandler">
1418- <property name="sectionService"
1419- ref="org.hisp.dhis.dataset.SectionService"/>
1420- <property name="deletionManager"
1421- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1422- </bean>
1423-
1424- <bean id="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler"
1425- class="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler">
1426- <property name="dataSetService"
1427- ref="org.hisp.dhis.dataset.DataSetService"/>
1428- <property name="deletionManager"
1429- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1430- </bean>
1431-
1432- <bean id="org.hisp.dhis.expression.ExpressionDeletionHandler"
1433- class="org.hisp.dhis.expression.ExpressionDeletionHandler">
1434- <property name="expressionService"
1435- ref="org.hisp.dhis.expression.ExpressionService"/>
1436- </bean>
1437-
1438- <bean id="org.hisp.dhis.indicator.IndicatorDeletionHandler"
1439- class="org.hisp.dhis.indicator.IndicatorDeletionHandler">
1440- <property name="indicatorService"
1441- ref="org.hisp.dhis.indicator.IndicatorService"/>
1442- <property name="deletionManager"
1443- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1444- </bean>
1445-
1446- <bean id="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler"
1447- class="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler">
1448- <property name="indicatorService"
1449- ref="org.hisp.dhis.indicator.IndicatorService"/>
1450- </bean>
1451-
1452- <bean id="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler"
1453- class="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler">
1454- <property name="minMaxDataElementService"
1455- ref="org.hisp.dhis.minmax.MinMaxDataElementService"/>
1456- <property name="deletionManager"
1457- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1458- </bean>
1459-
1460- <bean id="org.hisp.dhis.validation.ValidationRuleDeletionHandler"
1461- class="org.hisp.dhis.validation.ValidationRuleDeletionHandler">
1462- <property name="validationRuleService"
1463- ref="org.hisp.dhis.validation.ValidationRuleService"/>
1464- <property name="deletionManager"
1465- ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1466- </bean>
1467-
1468- <bean id="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler"
1469- class="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler">
1470- <property name="validationRuleService"
1471- ref="org.hisp.dhis.validation.ValidationRuleService"/>
1472- </bean>
1473-
1474- <bean id="org.hisp.dhis.datavalue.DataValueDeletionHandler"
1475- class="org.hisp.dhis.datavalue.DataValueDeletionHandler">
1476- <property name="jdbcTemplate" ref="jdbcTemplate"/>
1477- </bean>
1478-
1479- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler"
1480- class="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler">
1481- <property name="organisationUnitGroupService"
1482- ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1483- </bean>
1484-
1485- <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler"
1486- class="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler">
1487- <property name="organisationUnitGroupService"
1488- ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1489- </bean>
1490-
1491- <bean id="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler"
1492- class="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler">
1493- <property name="dataValueAuditService"
1494- ref="org.hisp.dhis.datavalue.DataValueAuditService"/>
1495- </bean>
1496-
1497- <bean id="org.hisp.dhis.user.UserDeletionHandler"
1498- class="org.hisp.dhis.user.UserDeletionHandler">
1499- <property name="userStore"
1500- ref="org.hisp.dhis.user.UserStore"/>
1501- </bean>
1502-
1503- <bean id="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler"
1504- class="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler">
1505- <property name="userStore"
1506- ref="org.hisp.dhis.user.UserStore"/>
1507- </bean>
1508-
1509- <bean id="org.hisp.dhis.user.UserCredentialsDeletionHandler"
1510- class="org.hisp.dhis.user.UserCredentialsDeletionHandler">
1511- <property name="userStore"
1512- ref="org.hisp.dhis.user.UserStore"/>
1513- </bean>
1514-
1515- <bean id="org.hisp.dhis.user.UserSettingDeletionHandler"
1516- class="org.hisp.dhis.user.UserSettingDeletionHandler">
1517- <property name="userSettingService"
1518- ref="org.hisp.dhis.user.UserSettingService"/>
1519- </bean>
1520-
1521- <!-- Security -->
1522-
1523- <bean id="org.hisp.dhis.security.PasswordManager"
1524- class="org.hisp.dhis.security.spring.SpringSecurityPasswordManager">
1525- <property name="passwordEncoder" ref="passwordEncoder"/>
1526- <property name="usernameSaltSource" ref="usernameSaltSource"/>
1527- </bean>
1528-
1529- <bean id="authenticationManager"
1530- class="org.springframework.security.providers.ProviderManager">
1531- <property name="providers">
1532- <list>
1533- <ref local="daoAuthenticationProvider"/>
1534- </list>
1535- </property>
1536- </bean>
1537-
1538- <bean id="daoAuthenticationProvider"
1539- class="org.springframework.security.providers.dao.DaoAuthenticationProvider">
1540- <property name="userDetailsService" ref="userDetailsService"/>
1541- <property name="passwordEncoder" ref="passwordEncoder"/>
1542- <property name="saltSource" ref="usernameSaltSource"/>
1543- </bean>
1544-
1545- <bean id="userDetailsService"
1546- class="org.hisp.dhis.security.hibernate.HibernateUserDetailsService">
1547- <property name="sessionFactory" ref="sessionFactory"/>
1548- </bean>
1549-
1550- <bean id="passwordEncoder"
1551- class="org.springframework.security.providers.encoding.Md5PasswordEncoder"/>
1552-
1553- <bean id="usernameSaltSource"
1554- class="org.hisp.dhis.security.DefaultUsernameSaltSource"/>
1555-
1556- <!-- DeletionManager -->
1557-
1558- <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
1559- <property name="targetObject" ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1560- <property name="targetMethod" value="addDeletionHandlers"/>
1561- <property name="arguments">
1562- <list>
1563- <list>
1564- <ref local="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler"/>
1565- <ref local="org.hisp.dhis.dataelement.DataElementDeletionHandler"/>
1566- <ref local="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler"/>
1567- <ref local="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler"/>
1568- <ref local="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler"/>
1569- <ref local="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler"/>
1570- <ref local="org.hisp.dhis.dataset.DataSetDeletionHandler"/>
1571- <ref local="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler"/>
1572- <ref local="org.hisp.dhis.dataset.SectionDeletionHandler"/>
1573- <ref local="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler"/>
1574- <ref local="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler"/>
1575- <ref local="org.hisp.dhis.expression.ExpressionDeletionHandler"/>
1576- <ref local="org.hisp.dhis.indicator.IndicatorDeletionHandler"/>
1577- <ref local="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler"/>
1578- <ref local="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler"/>
1579- <ref local="org.hisp.dhis.validation.ValidationRuleDeletionHandler"/>
1580- <ref local="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler"/>
1581- <ref local="org.hisp.dhis.datavalue.DataValueDeletionHandler"/>
1582- <ref local="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler"/>
1583- <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler"/>
1584- <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler"/>
1585- <ref local="org.hisp.dhis.user.UserDeletionHandler"/>
1586- <ref local="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler"/>
1587- <ref local="org.hisp.dhis.user.UserCredentialsDeletionHandler"/>
1588- <ref local="org.hisp.dhis.user.UserSettingDeletionHandler"/>
1589- </list>
1590- </list>
1591- </property>
1592- </bean>
1593-
1594- <!-- Startup -->
1595-
1596- <bean id="org.hisp.dhis.startup.TableCreator"
1597- class="org.hisp.dhis.startup.TableCreator">
1598- <property name="runlevel" value="3"/>
1599- <property name="jdbcTemplate" ref="jdbcTemplate"/>
1600- <property name="statementBuilder" ref="statementBuilder"/>
1601- </bean>
1602-
1603- <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
1604- <property name="targetObject"
1605- ref="org.hisp.dhis.system.startup.StartupRoutineExecutor"/>
1606- <property name="targetMethod" value="addStartupRoutines"/>
1607- <property name="arguments">
1608- <list>
1609- <ref local="org.hisp.dhis.startup.TableCreator"/>
1610- </list>
1611- </property>
1612- </bean>
1613-
1614- <!-- Min/Max validation -->
1615-
1616- <bean id="org.hisp.dhis.minmax.validation.MinMaxValuesGenerationService"
1617- class="org.hisp.dhis.minmax.validation.DefaultMinMaxValuesGenerationService">
1618- <property name="dataAnalysisStore"
1619- ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
1620- </bean>
1621-
1622- <!-- AOP definitions -->
1623-
1624- <aop:config>
1625-
1626- <aop:aspect ref="deletionInterceptor">
1627- <aop:before pointcut="execution( * org.hisp.dhis.datadictionary.DataDictionaryService.delete*(..) )" method="intercept"/>
1628- <aop:before pointcut="execution( * org.hisp.dhis.dataelement.DataElementService.delete*(..) )" method="intercept"/>
1629- <aop:before pointcut="execution( * org.hisp.dhis.dataelement.DataElementCategoryService.delete*(..) )" method="intercept"/>
1630- <aop:before pointcut="execution( * org.hisp.dhis.dataset.DataSetService.delete*(..) )" method="intercept"/>
1631- <aop:before pointcut="execution( * org.hisp.dhis.indicator.IndicatorService.delete*(..) )" method="intercept"/>
1632- <aop:before pointcut="execution( * org.hisp.dhis.expression.ExpressionService.delete*(..) )" method="intercept"/>
1633- <aop:before pointcut="execution( * org.hisp.dhis.minmax.MinMaxDataElementService.delete*(..) )" method="intercept"/>
1634- <aop:before pointcut="execution( * org.hisp.dhis.validation.ValidationRuleService.delete*(..) )" method="intercept"/>
1635- <aop:before pointcut="execution( * org.hisp.dhis.period.PeriodService.delete*(..) )" method="intercept"/>
1636- <aop:before pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitService.delete*(..) )" method="intercept"/>
1637- <aop:before pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitGroupService.delete*(..) )" method="intercept"/>
1638- <aop:before pointcut="execution( * org.hisp.dhis.user.UserStore.delete*(..) )" method="intercept"/>
1639- </aop:aspect>
1640-
1641- <aop:aspect ref="statementInterceptor">
1642- <aop:around pointcut="execution( * org.hisp.dhis.validation.ValidationRuleService.validate(..) )" method="intercept"/>
1643- <aop:around pointcut="execution( * org.hisp.dhis.dataanalysis.DataAnalysisService.analyse(..) )" method="intercept"/>
1644- </aop:aspect>
1645-
1646- <!--
1647- <aop:aspect ref="i18nTranslationInterceptor">
1648- <aop:after-returning pointcut="execution( * org.hisp.dhis.dataelement.DataElementService.get*(..) )" method="intercept" returning="object"/>
1649- <aop:after-returning pointcut="execution( * org.hisp.dhis.dataelement.DataElementCategoryService.get*(..) )" method="intercept" returning="object"/>
1650- <aop:after-returning pointcut="execution( * org.hisp.dhis.indicator.IndicatorService.get*(..) )" method="intercept" returning="object"/>
1651- <aop:after-returning pointcut="execution( * org.hisp.dhis.datadictionary.DataDictionaryService.get*(..) )" method="intercept" returning="object"/>
1652- <aop:after-returning pointcut="execution( * org.hisp.dhis.dataset.DataSetService.get*(..) )" method="intercept" returning="object"/>
1653- <aop:after-returning pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitService.get*(..) )" method="intercept" returning="object"/>
1654- <aop:after-returning pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitGroupService.get*(..) )" method="intercept" returning="object"/>
1655- </aop:aspect>
1656- -->
1657-
1658- </aop:config>
1659-
1660-</beans>
1661+ </property>
1662+ </bean>
1663+
1664+ <bean id="org.hisp.dhis.user.CurrentUserService"
1665+ class="org.hisp.dhis.user.DefaultCurrentUserService">
1666+ <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1667+ </bean>
1668+
1669+ <bean id="org.hisp.dhis.user.UserSettingService"
1670+ class="org.hisp.dhis.user.DefaultUserSettingService">
1671+ <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService"/>
1672+ <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1673+ </bean>
1674+
1675+ <bean id="org.hisp.dhis.user.UserService"
1676+ class="org.hisp.dhis.user.DefaultUserService">
1677+ <property name="userStore" ref="org.hisp.dhis.user.UserStore"/>
1678+ </bean>
1679+
1680+ <!-- Startup routine definitions -->
1681+
1682+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormPopulator"
1683+ class="org.hisp.dhis.dataentryform.DataEntryFormPopulator">
1684+ <property name="jdbcTemplate" ref="jdbcTemplate"/>
1685+ <property name="statementBuilder" ref="statementBuilder"/>
1686+ <property name="runlevel" value="1"/>
1687+ </bean>
1688+
1689+ <bean id="org.hisp.dhis.period.PeriodTypePopulator"
1690+ class="org.hisp.dhis.period.PeriodTypePopulator">
1691+ <property name="periodStore"
1692+ ref="org.hisp.dhis.period.PeriodStore"/>
1693+ <property name="runlevel" value="1"/>
1694+ </bean>
1695+
1696+ <bean id="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator"
1697+ class="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator">
1698+ <property name="dataElementService"
1699+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1700+ <property name="categoryService"
1701+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1702+ <property name="runlevel" value="2"/>
1703+ </bean>
1704+
1705+ <bean id="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator"
1706+ class="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator">
1707+ <property name="statementManager" ref="statementManager"/>
1708+ <property name="runlevel" value="1"/>
1709+ <property name="skipInTests" value="true"/>
1710+ </bean>
1711+
1712+ <bean id="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader"
1713+ class="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader">
1714+ <property name="expressionService"
1715+ ref="org.hisp.dhis.expression.ExpressionService"/>
1716+ <property name="indicatorService"
1717+ ref="org.hisp.dhis.indicator.IndicatorService"/>
1718+ <property name="categoryService"
1719+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1720+ <property name="runlevel" value="2"/>
1721+ <property name="skipInTests" value="true"/>
1722+ </bean>
1723+
1724+ <bean id="org.hisp.dhis.dataset.DataSetShortNamePopulator"
1725+ class="org.hisp.dhis.dataset.DataSetShortNamePopulator">
1726+ <property name="dataSetService"
1727+ ref="org.hisp.dhis.dataset.DataSetService"/>
1728+ <property name="skipInTests" value="true"/>
1729+ </bean>
1730+
1731+ <bean id="org.hisp.dhis.dataelement.UuidPopulator"
1732+ class="org.hisp.dhis.dataelement.UuidPopulator">
1733+ <property name="categoryService"
1734+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1735+ <property name="dataElementService"
1736+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1737+ <property name="skipInTests" value="true"/>
1738+ </bean>
1739+
1740+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier"
1741+ class="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier">
1742+ <property name="organisationUnitService"
1743+ ref="org.hisp.dhis.organisationunit.OrganisationUnitService"/>
1744+ </bean>
1745+
1746+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator"
1747+ class="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator">
1748+ <property name="organisationUnitGroupService"
1749+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1750+ <property name="skipInTests" value="true"/>
1751+ </bean>
1752+
1753+ <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
1754+ <property name="targetObject"
1755+ ref="org.hisp.dhis.system.startup.StartupRoutineExecutor"/>
1756+ <property name="targetMethod" value="addStartupRoutines"/>
1757+ <property name="arguments">
1758+ <list>
1759+ <list>
1760+ <ref local="org.hisp.dhis.dataelement.OptionsCategoriesDefaultSortOrderPopulator"/>
1761+ <ref local="org.hisp.dhis.period.PeriodTypePopulator"/>
1762+ <ref local="org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator"/>
1763+ <ref local="org.hisp.dhis.expression.MultiDimensionExpressionUpgrader"/>
1764+ <ref local="org.hisp.dhis.dataset.DataSetShortNamePopulator"/>
1765+ <ref local="org.hisp.dhis.dataelement.UuidPopulator"/>
1766+ <ref local="org.hisp.dhis.organisationunit.OrganisationUnitHierarchyVerifier"/>
1767+ <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetPopulator"/>
1768+ <ref local="org.hisp.dhis.dataentryform.DataEntryFormPopulator"/>
1769+ </list>
1770+ </list>
1771+ </property>
1772+ </bean>
1773+
1774+ <!-- DeletionHandlers -->
1775+
1776+ <bean id="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler"
1777+ class="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler">
1778+ <property name="dataEntryFormService"
1779+ ref="org.hisp.dhis.dataentryform.DataEntryFormService"/>
1780+ <property name="deletionManager"
1781+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1782+ <property name="dataEntryFormAssociationService"
1783+ ref="org.hisp.dhis.dataentryform.DataEntryFormAssociationService"/>
1784+ </bean>
1785+
1786+ <bean id="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler"
1787+ class="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler">
1788+ <property name="dataDictionaryService"
1789+ ref="org.hisp.dhis.datadictionary.DataDictionaryService"/>
1790+ </bean>
1791+
1792+ <bean id="org.hisp.dhis.dataelement.DataElementDeletionHandler"
1793+ class="org.hisp.dhis.dataelement.DataElementDeletionHandler">
1794+ <property name="dataElementService"
1795+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1796+ <property name="categoryService"
1797+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1798+ </bean>
1799+
1800+ <bean id="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler"
1801+ class="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler">
1802+ <property name="dataElementService"
1803+ ref="org.hisp.dhis.dataelement.DataElementService"/>
1804+ </bean>
1805+
1806+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler"
1807+ class="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler">
1808+ <property name="categoryService"
1809+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1810+ </bean>
1811+
1812+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler"
1813+ class="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler">
1814+ <property name="categoryService"
1815+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1816+ </bean>
1817+
1818+ <bean id="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler"
1819+ class="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler">
1820+ <property name="categoryService"
1821+ ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
1822+ </bean>
1823+
1824+ <bean id="org.hisp.dhis.dataset.DataSetDeletionHandler"
1825+ class="org.hisp.dhis.dataset.DataSetDeletionHandler">
1826+ <property name="dataSetService"
1827+ ref="org.hisp.dhis.dataset.DataSetService"/>
1828+ </bean>
1829+
1830+ <bean id="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler"
1831+ class="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler">
1832+ <property name="completeDataSetRegistrationService"
1833+ ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService"/>
1834+ <property name="jdbcTemplate" ref="jdbcTemplate"/>
1835+ </bean>
1836+
1837+ <bean id="org.hisp.dhis.dataset.SectionDeletionHandler"
1838+ class="org.hisp.dhis.dataset.SectionDeletionHandler">
1839+ <property name="sectionService"
1840+ ref="org.hisp.dhis.dataset.SectionService"/>
1841+ <property name="deletionManager"
1842+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1843+ </bean>
1844+
1845+ <bean id="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler"
1846+ class="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler">
1847+ <property name="dataSetService"
1848+ ref="org.hisp.dhis.dataset.DataSetService"/>
1849+ <property name="deletionManager"
1850+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1851+ </bean>
1852+
1853+ <bean id="org.hisp.dhis.expression.ExpressionDeletionHandler"
1854+ class="org.hisp.dhis.expression.ExpressionDeletionHandler">
1855+ <property name="expressionService"
1856+ ref="org.hisp.dhis.expression.ExpressionService"/>
1857+ </bean>
1858+
1859+ <bean id="org.hisp.dhis.indicator.IndicatorDeletionHandler"
1860+ class="org.hisp.dhis.indicator.IndicatorDeletionHandler">
1861+ <property name="indicatorService"
1862+ ref="org.hisp.dhis.indicator.IndicatorService"/>
1863+ <property name="deletionManager"
1864+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1865+ </bean>
1866+
1867+ <bean id="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler"
1868+ class="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler">
1869+ <property name="indicatorService"
1870+ ref="org.hisp.dhis.indicator.IndicatorService"/>
1871+ </bean>
1872+
1873+ <bean id="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler"
1874+ class="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler">
1875+ <property name="minMaxDataElementService"
1876+ ref="org.hisp.dhis.minmax.MinMaxDataElementService"/>
1877+ <property name="deletionManager"
1878+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1879+ </bean>
1880+
1881+ <bean id="org.hisp.dhis.validation.ValidationRuleDeletionHandler"
1882+ class="org.hisp.dhis.validation.ValidationRuleDeletionHandler">
1883+ <property name="validationRuleService"
1884+ ref="org.hisp.dhis.validation.ValidationRuleService"/>
1885+ <property name="deletionManager"
1886+ ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1887+ </bean>
1888+
1889+ <bean id="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler"
1890+ class="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler">
1891+ <property name="validationRuleService"
1892+ ref="org.hisp.dhis.validation.ValidationRuleService"/>
1893+ </bean>
1894+
1895+ <bean id="org.hisp.dhis.datavalue.DataValueDeletionHandler"
1896+ class="org.hisp.dhis.datavalue.DataValueDeletionHandler">
1897+ <property name="jdbcTemplate" ref="jdbcTemplate"/>
1898+ </bean>
1899+
1900+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler"
1901+ class="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler">
1902+ <property name="organisationUnitGroupService"
1903+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1904+ </bean>
1905+
1906+ <bean id="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler"
1907+ class="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler">
1908+ <property name="organisationUnitGroupService"
1909+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService"/>
1910+ </bean>
1911+
1912+ <bean id="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler"
1913+ class="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler">
1914+ <property name="dataValueAuditService"
1915+ ref="org.hisp.dhis.datavalue.DataValueAuditService"/>
1916+ </bean>
1917+
1918+ <bean id="org.hisp.dhis.user.UserDeletionHandler"
1919+ class="org.hisp.dhis.user.UserDeletionHandler">
1920+ <property name="userStore"
1921+ ref="org.hisp.dhis.user.UserStore"/>
1922+ </bean>
1923+
1924+ <bean id="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler"
1925+ class="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler">
1926+ <property name="userStore"
1927+ ref="org.hisp.dhis.user.UserStore"/>
1928+ </bean>
1929+
1930+ <bean id="org.hisp.dhis.user.UserCredentialsDeletionHandler"
1931+ class="org.hisp.dhis.user.UserCredentialsDeletionHandler">
1932+ <property name="userStore"
1933+ ref="org.hisp.dhis.user.UserStore"/>
1934+ </bean>
1935+
1936+ <bean id="org.hisp.dhis.user.UserSettingDeletionHandler"
1937+ class="org.hisp.dhis.user.UserSettingDeletionHandler">
1938+ <property name="userSettingService"
1939+ ref="org.hisp.dhis.user.UserSettingService"/>
1940+ </bean>
1941+
1942+ <!-- Security -->
1943+
1944+ <bean id="org.hisp.dhis.security.PasswordManager"
1945+ class="org.hisp.dhis.security.spring.SpringSecurityPasswordManager">
1946+ <property name="passwordEncoder" ref="passwordEncoder"/>
1947+ <property name="usernameSaltSource" ref="usernameSaltSource"/>
1948+ </bean>
1949+
1950+ <bean id="authenticationManager"
1951+ class="org.springframework.security.authentication.ProviderManager">
1952+ <property name="providers">
1953+ <list>
1954+ <ref local="daoAuthenticationProvider"/>
1955+ </list>
1956+ </property>
1957+ </bean>
1958+
1959+ <bean id="daoAuthenticationProvider"
1960+ class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
1961+ <property name="userDetailsService" ref="userDetailsService"/>
1962+ <property name="passwordEncoder" ref="passwordEncoder"/>
1963+ <property name="saltSource" ref="usernameSaltSource"/>
1964+ </bean>
1965+
1966+ <bean id="userDetailsService"
1967+ class="org.hisp.dhis.security.hibernate.HibernateUserDetailsService">
1968+ <property name="sessionFactory" ref="sessionFactory"/>
1969+ </bean>
1970+
1971+ <bean id="passwordEncoder"
1972+ class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
1973+
1974+ <bean id="usernameSaltSource"
1975+ class="org.hisp.dhis.security.DefaultUsernameSaltSource"/>
1976+
1977+ <!-- DeletionManager -->
1978+
1979+ <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
1980+ <property name="targetObject" ref="org.hisp.dhis.system.deletion.DeletionManager"/>
1981+ <property name="targetMethod" value="addDeletionHandlers"/>
1982+ <property name="arguments">
1983+ <list>
1984+ <list>
1985+ <ref local="org.hisp.dhis.datadictionary.DataDictionaryDeletionHandler"/>
1986+ <ref local="org.hisp.dhis.dataelement.DataElementDeletionHandler"/>
1987+ <ref local="org.hisp.dhis.dataelement.DataElementGroupDeletionHandler"/>
1988+ <ref local="org.hisp.dhis.dataelement.DataElementCategoryOptionDeletionHandler"/>
1989+ <ref local="org.hisp.dhis.dataelement.DataElementCategoryOptionComboDeletionHandler"/>
1990+ <ref local="org.hisp.dhis.dataelement.DataElementCategoryComboDeletionHandler"/>
1991+ <ref local="org.hisp.dhis.dataset.DataSetDeletionHandler"/>
1992+ <ref local="org.hisp.dhis.dataset.CompleteDataSetRegistrationDeletionHandler"/>
1993+ <ref local="org.hisp.dhis.dataset.SectionDeletionHandler"/>
1994+ <ref local="org.hisp.dhis.dataentryform.DataEntryFormDeletionHandler"/>
1995+ <ref local="org.hisp.dhis.dataset.FrequencyOverrideAssociationDeletionHandler"/>
1996+ <ref local="org.hisp.dhis.expression.ExpressionDeletionHandler"/>
1997+ <ref local="org.hisp.dhis.indicator.IndicatorDeletionHandler"/>
1998+ <ref local="org.hisp.dhis.indicator.IndicatorGroupDeletionHandler"/>
1999+ <ref local="org.hisp.dhis.minmax.MinMaxDataElementDeletionHandler"/>
2000+ <ref local="org.hisp.dhis.validation.ValidationRuleDeletionHandler"/>
2001+ <ref local="org.hisp.dhis.validation.ValidationRuleGroupDeletionHandler"/>
2002+ <ref local="org.hisp.dhis.datavalue.DataValueDeletionHandler"/>
2003+ <ref local="org.hisp.dhis.datavalue.DataValueAuditDeletionHandler"/>
2004+ <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupDeletionHandler"/>
2005+ <ref local="org.hisp.dhis.organisationunit.OrganisationUnitGroupSetDeletionHandler"/>
2006+ <ref local="org.hisp.dhis.user.UserDeletionHandler"/>
2007+ <ref local="org.hisp.dhis.user.UserAuthorityGroupDeletionHandler"/>
2008+ <ref local="org.hisp.dhis.user.UserCredentialsDeletionHandler"/>
2009+ <ref local="org.hisp.dhis.user.UserSettingDeletionHandler"/>
2010+ </list>
2011+ </list>
2012+ </property>
2013+ </bean>
2014+
2015+ <!-- Startup -->
2016+
2017+ <bean id="org.hisp.dhis.startup.TableCreator"
2018+ class="org.hisp.dhis.startup.TableCreator">
2019+ <property name="runlevel" value="3"/>
2020+ <property name="jdbcTemplate" ref="jdbcTemplate"/>
2021+ <property name="statementBuilder" ref="statementBuilder"/>
2022+ </bean>
2023+
2024+ <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
2025+ <property name="targetObject"
2026+ ref="org.hisp.dhis.system.startup.StartupRoutineExecutor"/>
2027+ <property name="targetMethod" value="addStartupRoutines"/>
2028+ <property name="arguments">
2029+ <list>
2030+ <ref local="org.hisp.dhis.startup.TableCreator"/>
2031+ </list>
2032+ </property>
2033+ </bean>
2034+
2035+ <!-- Min/Max validation -->
2036+
2037+ <bean id="org.hisp.dhis.minmax.validation.MinMaxValuesGenerationService"
2038+ class="org.hisp.dhis.minmax.validation.DefaultMinMaxValuesGenerationService">
2039+ <property name="dataAnalysisStore"
2040+ ref="org.hisp.dhis.dataanalysis.jdbc.DataAnalysisStore"/>
2041+ </bean>
2042+
2043+ <!-- AOP definitions -->
2044+
2045+ <aop:config>
2046+
2047+ <aop:aspect ref="deletionInterceptor">
2048+ <aop:before pointcut="execution( * org.hisp.dhis.datadictionary.DataDictionaryService.delete*(..) )" method="intercept"/>
2049+ <aop:before pointcut="execution( * org.hisp.dhis.dataelement.DataElementService.delete*(..) )" method="intercept"/>
2050+ <aop:before pointcut="execution( * org.hisp.dhis.dataelement.DataElementCategoryService.delete*(..) )" method="intercept"/>
2051+ <aop:before pointcut="execution( * org.hisp.dhis.dataset.DataSetService.delete*(..) )" method="intercept"/>
2052+ <aop:before pointcut="execution( * org.hisp.dhis.indicator.IndicatorService.delete*(..) )" method="intercept"/>
2053+ <aop:before pointcut="execution( * org.hisp.dhis.expression.ExpressionService.delete*(..) )" method="intercept"/>
2054+ <aop:before pointcut="execution( * org.hisp.dhis.minmax.MinMaxDataElementService.delete*(..) )" method="intercept"/>
2055+ <aop:before pointcut="execution( * org.hisp.dhis.validation.ValidationRuleService.delete*(..) )" method="intercept"/>
2056+ <aop:before pointcut="execution( * org.hisp.dhis.period.PeriodService.delete*(..) )" method="intercept"/>
2057+ <aop:before pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitService.delete*(..) )" method="intercept"/>
2058+ <aop:before pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitGroupService.delete*(..) )" method="intercept"/>
2059+ <aop:before pointcut="execution( * org.hisp.dhis.user.UserStore.delete*(..) )" method="intercept"/>
2060+ </aop:aspect>
2061+
2062+ <aop:aspect ref="statementInterceptor">
2063+ <aop:around pointcut="execution( * org.hisp.dhis.validation.ValidationRuleService.validate(..) )" method="intercept"/>
2064+ <aop:around pointcut="execution( * org.hisp.dhis.dataanalysis.DataAnalysisService.analyse(..) )" method="intercept"/>
2065+ </aop:aspect>
2066+
2067+ <!--
2068+ <aop:aspect ref="i18nTranslationInterceptor">
2069+ <aop:after-returning pointcut="execution( * org.hisp.dhis.dataelement.DataElementService.get*(..) )" method="intercept" returning="object"/>
2070+ <aop:after-returning pointcut="execution( * org.hisp.dhis.dataelement.DataElementCategoryService.get*(..) )" method="intercept" returning="object"/>
2071+ <aop:after-returning pointcut="execution( * org.hisp.dhis.indicator.IndicatorService.get*(..) )" method="intercept" returning="object"/>
2072+ <aop:after-returning pointcut="execution( * org.hisp.dhis.datadictionary.DataDictionaryService.get*(..) )" method="intercept" returning="object"/>
2073+ <aop:after-returning pointcut="execution( * org.hisp.dhis.dataset.DataSetService.get*(..) )" method="intercept" returning="object"/>
2074+ <aop:after-returning pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitService.get*(..) )" method="intercept" returning="object"/>
2075+ <aop:after-returning pointcut="execution( * org.hisp.dhis.organisationunit.OrganisationUnitGroupService.get*(..) )" method="intercept" returning="object"/>
2076+ </aop:aspect>
2077+ -->
2078+
2079+ </aop:config>
2080+
2081+</beans>
2082
2083=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml'
2084--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml 2010-04-21 19:45:12 +0000
2085+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/user/hibernate/User.hbm.xml 2010-05-07 11:16:36 +0000
2086@@ -4,7 +4,7 @@
2087 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
2088
2089 <hibernate-mapping>
2090- <class name="org.hisp.dhis.user.User" table="userinfo">
2091+ <class name="org.hisp.dhis.user.User" lazy="false" table="userinfo">
2092
2093 <cache usage="read-write"/>
2094
2095
2096=== modified file 'dhis-2/dhis-services/dhis-service-i18n/pom.xml'
2097--- dhis-2/dhis-services/dhis-service-i18n/pom.xml 2010-04-22 14:06:28 +0000
2098+++ dhis-2/dhis-services/dhis-service-i18n/pom.xml 2010-05-07 11:16:36 +0000
2099@@ -1,36 +1,36 @@
2100-<project xmlns="http://maven.apache.org/POM/4.0.0"
2101- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2102- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2103- <modelVersion>4.0.0</modelVersion>
2104-
2105- <parent>
2106- <groupId>org.hisp.dhis</groupId>
2107- <artifactId>dhis-services</artifactId>
2108- <version>2.0.5-SNAPSHOT</version>
2109- </parent>
2110-
2111- <artifactId>dhis-service-i18n</artifactId>
2112- <packaging>jar</packaging>
2113- <name>DHIS I18n Static</name>
2114-
2115- <dependencies>
2116-
2117- <dependency>
2118- <groupId>org.hisp.dhis</groupId>
2119- <artifactId>dhis-api</artifactId>
2120- </dependency>
2121- <dependency>
2122- <groupId>org.hisp.dhis</groupId>
2123- <artifactId>dhis-service-core</artifactId>
2124- </dependency>
2125- <dependency>
2126- <groupId>commons-logging</groupId>
2127- <artifactId>commons-logging</artifactId>
2128- </dependency>
2129-
2130- </dependencies>
2131+<project xmlns="http://maven.apache.org/POM/4.0.0"
2132+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2133+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2134+ <modelVersion>4.0.0</modelVersion>
2135+
2136+ <parent>
2137+ <groupId>org.hisp.dhis</groupId>
2138+ <artifactId>dhis-services</artifactId>
2139+ <version>2.0.5-SNAPSHOT</version>
2140+ </parent>
2141+
2142+ <artifactId>dhis-service-i18n</artifactId>
2143+ <packaging>jar</packaging>
2144+ <name>DHIS I18n Static</name>
2145+
2146+ <dependencies>
2147+
2148+ <dependency>
2149+ <groupId>org.hisp.dhis</groupId>
2150+ <artifactId>dhis-api</artifactId>
2151+ </dependency>
2152+ <dependency>
2153+ <groupId>org.hisp.dhis</groupId>
2154+ <artifactId>dhis-service-core</artifactId>
2155+ </dependency>
2156+ <dependency>
2157+ <groupId>commons-logging</groupId>
2158+ <artifactId>commons-logging</artifactId>
2159+ </dependency>
2160+
2161+ </dependencies>
2162 <properties>
2163 <rootDir>../../</rootDir>
2164 </properties>
2165-</project>
2166-
2167+</project>
2168+
2169
2170=== modified file 'dhis-2/dhis-services/dhis-service-patient/pom.xml'
2171--- dhis-2/dhis-services/dhis-service-patient/pom.xml 2010-04-27 15:04:10 +0000
2172+++ dhis-2/dhis-services/dhis-service-patient/pom.xml 2010-05-07 11:16:36 +0000
2173@@ -1,33 +1,33 @@
2174-<project xmlns="http://maven.apache.org/POM/4.0.0"
2175- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2176- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2177- <modelVersion>4.0.0</modelVersion>
2178-
2179- <parent>
2180- <groupId>org.hisp.dhis</groupId>
2181- <artifactId>dhis-services</artifactId>
2182- <version>2.0.5-SNAPSHOT</version>
2183- </parent>
2184-
2185- <artifactId>dhis-service-patient</artifactId>
2186- <packaging>jar</packaging>
2187- <name>DHIS Patient API Implementations</name>
2188-
2189- <dependencies>
2190-
2191- <!-- DHIS -->
2192-
2193- <dependency>
2194- <groupId>org.hisp.dhis</groupId>
2195- <artifactId>dhis-api</artifactId>
2196- </dependency>
2197- <dependency>
2198- <groupId>org.hisp.dhis</groupId>
2199- <artifactId>dhis-service-core</artifactId>
2200- </dependency>
2201-
2202- </dependencies>
2203+<project xmlns="http://maven.apache.org/POM/4.0.0"
2204+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2205+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2206+ <modelVersion>4.0.0</modelVersion>
2207+
2208+ <parent>
2209+ <groupId>org.hisp.dhis</groupId>
2210+ <artifactId>dhis-services</artifactId>
2211+ <version>2.0.5-SNAPSHOT</version>
2212+ </parent>
2213+
2214+ <artifactId>dhis-service-patient</artifactId>
2215+ <packaging>jar</packaging>
2216+ <name>DHIS Patient API Implementations</name>
2217+
2218+ <dependencies>
2219+
2220+ <!-- DHIS -->
2221+
2222+ <dependency>
2223+ <groupId>org.hisp.dhis</groupId>
2224+ <artifactId>dhis-api</artifactId>
2225+ </dependency>
2226+ <dependency>
2227+ <groupId>org.hisp.dhis</groupId>
2228+ <artifactId>dhis-service-core</artifactId>
2229+ </dependency>
2230+
2231+ </dependencies>
2232 <properties>
2233 <rootDir>../../</rootDir>
2234 </properties>
2235-</project>
2236+</project>
2237
2238=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java'
2239--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java 2010-04-05 12:41:21 +0000
2240+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java 2010-05-07 11:16:36 +0000
2241@@ -27,14 +27,15 @@
2242
2243 package org.hisp.dhis.patient;
2244
2245+
2246 import java.util.ArrayList;
2247 import java.util.Collection;
2248+import java.util.Collections;
2249 import java.util.List;
2250
2251 import org.hisp.dhis.organisationunit.OrganisationUnit;
2252 import org.springframework.transaction.annotation.Transactional;
2253
2254-import edu.emory.mathcs.backport.java.util.Collections;
2255
2256 /**
2257 * @author Abyot Asalefew Gizaw
2258
2259=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java'
2260--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2010-04-19 09:54:45 +0000
2261+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2010-05-07 11:16:36 +0000
2262@@ -36,7 +36,6 @@
2263 import java.util.SortedMap;
2264 import java.util.TreeMap;
2265
2266-import org.apache.log4j.Logger;
2267 import org.hisp.dhis.organisationunit.OrganisationUnit;
2268 import org.hisp.dhis.patientattributevalue.PatientAttributeValue;
2269 import org.hisp.dhis.patientattributevalue.PatientAttributeValueService;
2270@@ -44,7 +43,6 @@
2271 import org.hisp.dhis.relationship.RelationshipService;
2272 import org.hisp.dhis.relationship.RelationshipType;
2273 import org.hisp.dhis.relationship.RelationshipTypeService;
2274-import org.hisp.dhis.system.util.AuditLogLevel;
2275 import org.hisp.dhis.user.CurrentUserService;
2276 import org.springframework.transaction.annotation.Transactional;
2277
2278
2279=== modified file 'dhis-2/dhis-support/dhis-support-hibernate/pom.xml'
2280--- dhis-2/dhis-support/dhis-support-hibernate/pom.xml 2010-04-08 16:55:35 +0000
2281+++ dhis-2/dhis-support/dhis-support-hibernate/pom.xml 2010-05-07 11:16:36 +0000
2282@@ -1,86 +1,104 @@
2283-<project xmlns="http://maven.apache.org/POM/4.0.0"
2284- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2285- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2286- <modelVersion>4.0.0</modelVersion>
2287-
2288- <parent>
2289- <groupId>org.hisp.dhis</groupId>
2290- <artifactId>dhis-support</artifactId>
2291- <version>2.0.5-SNAPSHOT</version>
2292- </parent>
2293-
2294- <artifactId>dhis-support-hibernate</artifactId>
2295- <packaging>jar</packaging>
2296- <name>DHIS Hibernate Support</name>
2297-
2298- <dependencies>
2299-
2300- <!-- DHIS -->
2301-
2302- <dependency>
2303- <groupId>org.hisp.dhis</groupId>
2304- <artifactId>dhis-api</artifactId>
2305- </dependency>
2306- <dependency>
2307- <groupId>org.hisp.dhis</groupId>
2308- <artifactId>dhis-support-external</artifactId>
2309- </dependency>
2310-
2311- <!-- Hibernate -->
2312-
2313- <dependency>
2314- <groupId>org.hibernate</groupId>
2315- <artifactId>hibernate</artifactId>
2316- </dependency>
2317+<project xmlns="http://maven.apache.org/POM/4.0.0"
2318+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2319+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2320+ <modelVersion>4.0.0</modelVersion>
2321+
2322+ <parent>
2323+ <groupId>org.hisp.dhis</groupId>
2324+ <artifactId>dhis-support</artifactId>
2325+ <version>2.0.5-SNAPSHOT</version>
2326+ </parent>
2327+
2328+ <artifactId>dhis-support-hibernate</artifactId>
2329+ <packaging>jar</packaging>
2330+ <name>DHIS Hibernate Support</name>
2331+
2332+ <dependencies>
2333+
2334+ <!-- DHIS -->
2335+
2336+ <dependency>
2337+ <groupId>org.hisp.dhis</groupId>
2338+ <artifactId>dhis-api</artifactId>
2339+ </dependency>
2340+ <dependency>
2341+ <groupId>org.hisp.dhis</groupId>
2342+ <artifactId>dhis-support-external</artifactId>
2343+ </dependency>
2344+
2345+ <!-- Hibernate -->
2346+
2347+
2348+ <dependency>
2349+ <groupId>org.hibernate</groupId>
2350+ <artifactId>hibernate-core</artifactId>
2351+ </dependency>
2352+ <dependency>
2353+ <groupId>org.hibernate</groupId>
2354+ <artifactId>hibernate-ehcache</artifactId>
2355+ </dependency>
2356+ <dependency>
2357+ <groupId>org.hibernate</groupId>
2358+ <artifactId>hibernate-entitymanager</artifactId>
2359+ </dependency>
2360+
2361+ <!--dependency>
2362+ <groupId>org.hibernate</groupId>
2363+ <artifactId>hibernate</artifactId>
2364+ </dependency-->
2365 <dependency>
2366 <groupId>geronimo-spec</groupId>
2367 <artifactId>geronimo-spec-jta</artifactId>
2368 </dependency>
2369- <dependency>
2370- <groupId>net.sf.ehcache</groupId>
2371- <artifactId>ehcache</artifactId>
2372- </dependency>
2373- <dependency>
2374- <groupId>c3p0</groupId>
2375- <artifactId>c3p0</artifactId>
2376- </dependency>
2377-
2378- <!-- Database connectors -->
2379-
2380- <dependency>
2381- <groupId>mysql</groupId>
2382- <artifactId>mysql-connector-java</artifactId>
2383- </dependency>
2384- <dependency>
2385- <groupId>postgresql</groupId>
2386- <artifactId>postgresql</artifactId>
2387- </dependency>
2388- <dependency>
2389- <groupId>com.h2database</groupId>
2390- <artifactId>h2</artifactId>
2391- </dependency>
2392-
2393- <!-- Other -->
2394-
2395- <dependency>
2396- <groupId>org.springframework</groupId>
2397- <artifactId>spring</artifactId>
2398- </dependency>
2399- <dependency>
2400- <groupId>commons-logging</groupId>
2401- <artifactId>commons-logging</artifactId>
2402- </dependency>
2403-
2404- <!-- Monitoring -->
2405- <!--
2406- <dependency>
2407- <groupId>com.elvyx</groupId>
2408- <artifactId>elvyx</artifactId>
2409- <version>1.0.24</version>
2410- </dependency> -->
2411-
2412- </dependencies>
2413+ <dependency>
2414+ <groupId>net.sf.ehcache</groupId>
2415+ <artifactId>ehcache-core</artifactId>
2416+ </dependency>
2417+ <dependency>
2418+ <groupId>net.sf.ehcache</groupId>
2419+ <artifactId>ehcache-terracotta</artifactId>
2420+ </dependency>
2421+ <dependency>
2422+ <groupId>c3p0</groupId>
2423+ <artifactId>c3p0</artifactId>
2424+ </dependency>
2425+
2426+ <!-- Database connectors -->
2427+
2428+ <dependency>
2429+ <groupId>mysql</groupId>
2430+ <artifactId>mysql-connector-java</artifactId>
2431+ </dependency>
2432+ <dependency>
2433+ <groupId>postgresql</groupId>
2434+ <artifactId>postgresql</artifactId>
2435+ </dependency>
2436+ <dependency>
2437+ <groupId>com.h2database</groupId>
2438+ <artifactId>h2</artifactId>
2439+ </dependency>
2440+
2441+ <!-- Other -->
2442+
2443+ <dependency>
2444+ <groupId>org.springframework</groupId>
2445+ <artifactId>spring-orm</artifactId>
2446+ </dependency>
2447+ <dependency>
2448+ <groupId>commons-logging</groupId>
2449+ <artifactId>commons-logging</artifactId>
2450+ </dependency>
2451+
2452+ <!-- Monitoring -->
2453+ <!--
2454+ <dependency>
2455+ <groupId>com.elvyx</groupId>
2456+ <artifactId>elvyx</artifactId>
2457+ <version>1.0.24</version>
2458+ </dependency> -->
2459+
2460+ </dependencies>
2461 <properties>
2462 <rootDir>../../</rootDir>
2463 </properties>
2464-</project>
2465+</project>
2466
2467=== modified file 'dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/hibernate-default.properties'
2468--- dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/hibernate-default.properties 2009-06-10 22:25:07 +0000
2469+++ dhis-2/dhis-support/dhis-support-hibernate/src/main/resources/hibernate-default.properties 2010-05-07 11:16:36 +0000
2470@@ -26,7 +26,8 @@
2471
2472 # Caching
2473
2474-hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider
2475+hibernate.cache.region.factory_class = net.sf.ehcache.hibernate.EhCacheRegionFactory
2476+#hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider
2477 hibernate.cache.use_second_level_cache = true
2478 hibernate.cache.use_query_cache = true
2479
2480
2481=== modified file 'dhis-2/dhis-support/dhis-support-system/pom.xml'
2482--- dhis-2/dhis-support/dhis-support-system/pom.xml 2010-04-08 16:55:35 +0000
2483+++ dhis-2/dhis-support/dhis-support-system/pom.xml 2010-05-07 11:16:36 +0000
2484@@ -1,95 +1,99 @@
2485-<project xmlns="http://maven.apache.org/POM/4.0.0"
2486- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2487- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2488- <modelVersion>4.0.0</modelVersion>
2489-
2490- <parent>
2491- <groupId>org.hisp.dhis</groupId>
2492- <artifactId>dhis-support</artifactId>
2493- <version>2.0.5-SNAPSHOT</version>
2494- </parent>
2495-
2496- <artifactId>dhis-support-system</artifactId>
2497- <packaging>jar</packaging>
2498- <name>DHIS System Support</name>
2499-
2500- <dependencies>
2501-
2502- <!-- DHIS -->
2503-
2504- <dependency>
2505- <groupId>org.hisp.dhis</groupId>
2506- <artifactId>dhis-api</artifactId>
2507- </dependency>
2508- <dependency>
2509- <groupId>org.hisp.dhis</groupId>
2510- <artifactId>dhis-support-hibernate</artifactId>
2511- </dependency>
2512- <dependency>
2513- <groupId>org.hisp.dhis</groupId>
2514- <artifactId>dhis-support-test</artifactId>
2515- </dependency>
2516-
2517- <!-- Other -->
2518-
2519- <dependency>
2520- <groupId>org.aspectj</groupId>
2521- <artifactId>aspectjrt</artifactId>
2522- </dependency>
2523- <dependency>
2524- <groupId>org.aspectj</groupId>
2525- <artifactId>aspectjweaver</artifactId>
2526- </dependency>
2527- <dependency>
2528- <groupId>org.springframework</groupId>
2529- <artifactId>spring</artifactId>
2530- </dependency>
2531- <dependency>
2532- <groupId>com.lowagie</groupId>
2533- <artifactId>itext</artifactId>
2534- </dependency>
2535- <dependency>
2536- <groupId>commons-logging</groupId>
2537- <artifactId>commons-logging</artifactId>
2538- </dependency>
2539- <dependency>
2540- <groupId>commons-collections</groupId>
2541- <artifactId>commons-collections</artifactId>
2542- </dependency>
2543- <dependency>
2544- <groupId>commons-lang</groupId>
2545- <artifactId>commons-lang</artifactId>
2546- </dependency>
2547- <dependency>
2548- <groupId>commons-codec</groupId>
2549- <artifactId>commons-codec</artifactId>
2550- </dependency>
2551- <dependency>
2552- <groupId>commons-math</groupId>
2553- <artifactId>commons-math</artifactId>
2554- </dependency>
2555- <dependency>
2556- <groupId>commons-validator</groupId>
2557- <artifactId>commons-validator</artifactId>
2558- </dependency>
2559- <dependency>
2560- <groupId>jep</groupId>
2561- <artifactId>jep</artifactId>
2562- </dependency>
2563- <dependency>
2564- <groupId>joda-time</groupId>
2565- <artifactId>joda-time</artifactId>
2566- </dependency>
2567- <dependency>
2568- <groupId>org.amplecode</groupId>
2569- <artifactId>cave-process</artifactId>
2570- </dependency>
2571- <dependency>
2572- <groupId>org.amplecode</groupId>
2573- <artifactId>quick</artifactId>
2574- </dependency>
2575- </dependencies>
2576+<project xmlns="http://maven.apache.org/POM/4.0.0"
2577+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2578+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2579+ <modelVersion>4.0.0</modelVersion>
2580+
2581+ <parent>
2582+ <groupId>org.hisp.dhis</groupId>
2583+ <artifactId>dhis-support</artifactId>
2584+ <version>2.0.5-SNAPSHOT</version>
2585+ </parent>
2586+
2587+ <artifactId>dhis-support-system</artifactId>
2588+ <packaging>jar</packaging>
2589+ <name>DHIS System Support</name>
2590+
2591+ <dependencies>
2592+
2593+ <!-- DHIS -->
2594+
2595+ <dependency>
2596+ <groupId>org.hisp.dhis</groupId>
2597+ <artifactId>dhis-api</artifactId>
2598+ </dependency>
2599+ <dependency>
2600+ <groupId>org.hisp.dhis</groupId>
2601+ <artifactId>dhis-support-hibernate</artifactId>
2602+ </dependency>
2603+ <dependency>
2604+ <groupId>org.hisp.dhis</groupId>
2605+ <artifactId>dhis-support-test</artifactId>
2606+ </dependency>
2607+
2608+ <!-- Other -->
2609+
2610+ <dependency>
2611+ <groupId>org.slf4j</groupId>
2612+ <artifactId>slf4j-log4j12</artifactId>
2613+ </dependency>
2614+ <dependency>
2615+ <groupId>org.aspectj</groupId>
2616+ <artifactId>aspectjrt</artifactId>
2617+ </dependency>
2618+ <dependency>
2619+ <groupId>org.aspectj</groupId>
2620+ <artifactId>aspectjweaver</artifactId>
2621+ </dependency>
2622+ <dependency>
2623+ <groupId>org.springframework</groupId>
2624+ <artifactId>spring-web</artifactId>
2625+ </dependency>
2626+ <dependency>
2627+ <groupId>com.lowagie</groupId>
2628+ <artifactId>itext</artifactId>
2629+ </dependency>
2630+ <dependency>
2631+ <groupId>commons-logging</groupId>
2632+ <artifactId>commons-logging</artifactId>
2633+ </dependency>
2634+ <dependency>
2635+ <groupId>commons-collections</groupId>
2636+ <artifactId>commons-collections</artifactId>
2637+ </dependency>
2638+ <dependency>
2639+ <groupId>commons-lang</groupId>
2640+ <artifactId>commons-lang</artifactId>
2641+ </dependency>
2642+ <dependency>
2643+ <groupId>commons-codec</groupId>
2644+ <artifactId>commons-codec</artifactId>
2645+ </dependency>
2646+ <dependency>
2647+ <groupId>commons-math</groupId>
2648+ <artifactId>commons-math</artifactId>
2649+ </dependency>
2650+ <dependency>
2651+ <groupId>commons-validator</groupId>
2652+ <artifactId>commons-validator</artifactId>
2653+ </dependency>
2654+ <dependency>
2655+ <groupId>jep</groupId>
2656+ <artifactId>jep</artifactId>
2657+ </dependency>
2658+ <dependency>
2659+ <groupId>joda-time</groupId>
2660+ <artifactId>joda-time</artifactId>
2661+ </dependency>
2662+ <dependency>
2663+ <groupId>org.amplecode</groupId>
2664+ <artifactId>cave-process</artifactId>
2665+ </dependency>
2666+ <dependency>
2667+ <groupId>org.amplecode</groupId>
2668+ <artifactId>quick</artifactId>
2669+ </dependency>
2670+ </dependencies>
2671 <properties>
2672 <rootDir>../../</rootDir>
2673 </properties>
2674-</project>
2675+</project>
2676
2677=== modified file 'dhis-2/dhis-support/dhis-support-test/pom.xml'
2678--- dhis-2/dhis-support/dhis-support-test/pom.xml 2010-04-08 16:55:35 +0000
2679+++ dhis-2/dhis-support/dhis-support-test/pom.xml 2010-05-07 11:16:36 +0000
2680@@ -1,51 +1,59 @@
2681-<project xmlns="http://maven.apache.org/POM/4.0.0"
2682- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2683- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2684- <modelVersion>4.0.0</modelVersion>
2685-
2686- <parent>
2687- <groupId>org.hisp.dhis</groupId>
2688- <artifactId>dhis-support</artifactId>
2689- <version>2.0.5-SNAPSHOT</version>
2690- </parent>
2691-
2692- <artifactId>dhis-support-test</artifactId>
2693- <packaging>jar</packaging>
2694- <name>DHIS Test Support</name>
2695-
2696- <dependencies>
2697-
2698- <!-- DHIS -->
2699-
2700- <dependency>
2701- <groupId>org.hisp.dhis</groupId>
2702- <artifactId>dhis-api</artifactId>
2703- </dependency>
2704-
2705- <!-- Other -->
2706-
2707- <dependency>
2708- <groupId>org.springframework</groupId>
2709- <artifactId>spring</artifactId>
2710- </dependency>
2711- <dependency>
2712- <groupId>commons-logging</groupId>
2713- <artifactId>commons-logging</artifactId>
2714- </dependency>
2715- <dependency>
2716- <groupId>junit</groupId>
2717- <artifactId>junit</artifactId>
2718- </dependency>
2719- <dependency>
2720- <groupId>org.hibernate</groupId>
2721- <artifactId>hibernate</artifactId>
2722- </dependency>
2723- <dependency>
2724- <groupId>org.springframework</groupId>
2725- <artifactId>spring-test</artifactId>
2726- </dependency>
2727- </dependencies>
2728+<project xmlns="http://maven.apache.org/POM/4.0.0"
2729+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2730+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2731+ <modelVersion>4.0.0</modelVersion>
2732+
2733+ <parent>
2734+ <groupId>org.hisp.dhis</groupId>
2735+ <artifactId>dhis-support</artifactId>
2736+ <version>2.0.5-SNAPSHOT</version>
2737+ </parent>
2738+
2739+ <artifactId>dhis-support-test</artifactId>
2740+ <packaging>jar</packaging>
2741+ <name>DHIS Test Support</name>
2742+
2743+ <dependencies>
2744+
2745+ <!-- DHIS -->
2746+
2747+ <dependency>
2748+ <groupId>org.hisp.dhis</groupId>
2749+ <artifactId>dhis-api</artifactId>
2750+ </dependency>
2751+
2752+ <!-- Other -->
2753+
2754+ <dependency>
2755+ <groupId>org.springframework</groupId>
2756+ <artifactId>spring-context</artifactId>
2757+ </dependency>
2758+ <dependency>
2759+ <groupId>org.springframework</groupId>
2760+ <artifactId>spring-orm</artifactId>
2761+ </dependency>
2762+ <dependency>
2763+ <groupId>commons-logging</groupId>
2764+ <artifactId>commons-logging</artifactId>
2765+ </dependency>
2766+ <dependency>
2767+ <groupId>junit</groupId>
2768+ <artifactId>junit</artifactId>
2769+ </dependency>
2770+ <!--dependency>
2771+ <groupId>org.hibernate</groupId>
2772+ <artifactId>hibernate</artifactId>
2773+ </dependency-->
2774+ <dependency>
2775+ <groupId>org.hibernate</groupId>
2776+ <artifactId>hibernate-core</artifactId>
2777+ </dependency>
2778+ <dependency>
2779+ <groupId>org.springframework</groupId>
2780+ <artifactId>spring-test</artifactId>
2781+ </dependency>
2782+ </dependencies>
2783 <properties>
2784 <rootDir>../../</rootDir>
2785 </properties>
2786-</project>
2787+</project>
2788
2789=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/pom.xml'
2790--- dhis-2/dhis-web/dhis-web-caseentry/pom.xml 2010-04-21 19:45:12 +0000
2791+++ dhis-2/dhis-web/dhis-web-caseentry/pom.xml 2010-05-07 11:16:36 +0000
2792@@ -1,50 +1,50 @@
2793-<project xmlns="http://maven.apache.org/POM/4.0.0"
2794- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2795- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2796- <modelVersion>4.0.0</modelVersion>
2797-
2798- <parent>
2799- <groupId>org.hisp.dhis</groupId>
2800- <artifactId>dhis-web</artifactId>
2801- <version>2.0.5-SNAPSHOT</version>
2802- </parent>
2803-
2804- <artifactId>dhis-web-caseentry</artifactId>
2805- <packaging>war</packaging>
2806- <name>DHIS Case Entry</name>
2807-
2808- <build>
2809- <finalName>dhis-web-caseentry</finalName>
2810- </build>
2811-
2812- <dependencies>
2813-
2814- <!-- DHIS -->
2815-
2816- <dependency>
2817- <groupId>org.hisp.dhis</groupId>
2818- <artifactId>dhis-web-commons</artifactId>
2819- </dependency>
2820- <dependency>
2821- <groupId>org.hisp.dhis</groupId>
2822- <artifactId>dhis-web-commons-resources</artifactId>
2823- <type>war</type>
2824- </dependency>
2825- <dependency>
2826- <groupId>org.hisp.dhis</groupId>
2827- <artifactId>dhis-service-core</artifactId>
2828- </dependency>
2829- <dependency>
2830- <groupId>org.hisp.dhis</groupId>
2831- <artifactId>dhis-service-patient</artifactId>
2832- </dependency>
2833- <dependency>
2834- <groupId>org.hisp.dhis</groupId>
2835- <artifactId>dhis-service-options</artifactId>
2836- </dependency>
2837-
2838- </dependencies>
2839+<project xmlns="http://maven.apache.org/POM/4.0.0"
2840+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2841+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2842+ <modelVersion>4.0.0</modelVersion>
2843+
2844+ <parent>
2845+ <groupId>org.hisp.dhis</groupId>
2846+ <artifactId>dhis-web</artifactId>
2847+ <version>2.0.5-SNAPSHOT</version>
2848+ </parent>
2849+
2850+ <artifactId>dhis-web-caseentry</artifactId>
2851+ <packaging>war</packaging>
2852+ <name>DHIS Case Entry</name>
2853+
2854+ <build>
2855+ <finalName>dhis-web-caseentry</finalName>
2856+ </build>
2857+
2858+ <dependencies>
2859+
2860+ <!-- DHIS -->
2861+
2862+ <dependency>
2863+ <groupId>org.hisp.dhis</groupId>
2864+ <artifactId>dhis-web-commons</artifactId>
2865+ </dependency>
2866+ <dependency>
2867+ <groupId>org.hisp.dhis</groupId>
2868+ <artifactId>dhis-web-commons-resources</artifactId>
2869+ <type>war</type>
2870+ </dependency>
2871+ <dependency>
2872+ <groupId>org.hisp.dhis</groupId>
2873+ <artifactId>dhis-service-core</artifactId>
2874+ </dependency>
2875+ <dependency>
2876+ <groupId>org.hisp.dhis</groupId>
2877+ <artifactId>dhis-service-patient</artifactId>
2878+ </dependency>
2879+ <dependency>
2880+ <groupId>org.hisp.dhis</groupId>
2881+ <artifactId>dhis-service-options</artifactId>
2882+ </dependency>
2883+
2884+ </dependencies>
2885 <properties>
2886 <rootDir>../../</rootDir>
2887 </properties>
2888-</project>
2889+</project>
2890
2891=== modified file 'dhis-2/dhis-web/dhis-web-commons/pom.xml'
2892--- dhis-2/dhis-web/dhis-web-commons/pom.xml 2010-04-22 14:06:28 +0000
2893+++ dhis-2/dhis-web/dhis-web-commons/pom.xml 2010-05-07 11:16:36 +0000
2894@@ -97,8 +97,8 @@
2895 <!-- Other -->
2896
2897 <dependency>
2898- <groupId>org.springframework</groupId>
2899- <artifactId>spring</artifactId>
2900+ <groupId>org.springframework.security</groupId>
2901+ <artifactId>spring-security-config</artifactId>
2902 </dependency>
2903 <dependency>
2904 <groupId>commons-logging</groupId>
2905
2906=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java'
2907--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java 2010-04-12 21:23:33 +0000
2908+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOperandsAction.java 2010-05-07 11:16:36 +0000
2909@@ -28,6 +28,7 @@
2910 */
2911
2912 import java.util.ArrayList;
2913+import java.util.Collections;
2914 import java.util.List;
2915
2916 import org.hisp.dhis.dataelement.DataElementOperand;
2917@@ -36,8 +37,6 @@
2918
2919 import com.opensymphony.xwork2.Action;
2920
2921-import edu.emory.mathcs.backport.java.util.Collections;
2922-
2923 /**
2924 * @author Lars Helge Overland
2925 */
2926
2927=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/encoding/velocity/EncoderVelocityContext.java'
2928--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/encoding/velocity/EncoderVelocityContext.java 2010-04-12 21:23:33 +0000
2929+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/encoding/velocity/EncoderVelocityContext.java 2010-05-07 11:16:36 +0000
2930@@ -27,9 +27,10 @@
2931 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2932 */
2933
2934+
2935 import org.apache.velocity.VelocityContext;
2936
2937-import com.opensymphony.xwork2.util.TextUtils;
2938+import org.apache.commons.lang.StringEscapeUtils;
2939
2940 /**
2941 * @author Torgeir Lorange Ostby
2942@@ -127,7 +128,7 @@
2943
2944 private String defaultEncode( String string )
2945 {
2946- return TextUtils.htmlEncode( string );
2947+ return StringEscapeUtils.escapeHtml( string );
2948 }
2949 }
2950 }
2951
2952=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/interceptor/ExceptionInterceptor.java'
2953--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/interceptor/ExceptionInterceptor.java 2010-04-12 21:23:33 +0000
2954+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/interceptor/ExceptionInterceptor.java 2010-05-07 11:16:36 +0000
2955@@ -30,10 +30,10 @@
2956 import java.util.HashMap;
2957 import java.util.Map;
2958
2959-import org.springframework.security.AccessDeniedException;
2960-import org.springframework.security.InsufficientAuthenticationException;
2961 import org.apache.commons.logging.Log;
2962 import org.apache.commons.logging.LogFactory;
2963+import org.springframework.security.access.AccessDeniedException;
2964+import org.springframework.security.authentication.InsufficientAuthenticationException;
2965
2966 import com.opensymphony.xwork2.ActionInvocation;
2967 import com.opensymphony.xwork2.interceptor.Interceptor;
2968
2969=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/AbstractAutomaticAccessProvider.java'
2970--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/AbstractAutomaticAccessProvider.java 2010-04-12 21:23:33 +0000
2971+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/AbstractAutomaticAccessProvider.java 2010-05-07 11:16:36 +0000
2972@@ -31,8 +31,8 @@
2973
2974 import org.hisp.dhis.security.authority.SystemAuthoritiesProvider;
2975 import org.hisp.dhis.user.UserStore;
2976-import org.springframework.security.GrantedAuthority;
2977-import org.springframework.security.GrantedAuthorityImpl;
2978+import org.springframework.security.core.GrantedAuthority;
2979+import org.springframework.security.core.authority.GrantedAuthorityImpl;
2980
2981 /**
2982 * Abstract automatic access provider class. Delegates methods initialise() and
2983
2984=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/GhostAutomaticAccessProvider.java'
2985--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/GhostAutomaticAccessProvider.java 2010-04-12 21:23:33 +0000
2986+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/GhostAutomaticAccessProvider.java 2010-05-07 11:16:36 +0000
2987@@ -27,10 +27,10 @@
2988 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2989 */
2990
2991-import org.springframework.security.Authentication;
2992-import org.springframework.security.context.SecurityContextHolder;
2993-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
2994-import org.springframework.security.userdetails.UserDetails;
2995+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
2996+import org.springframework.security.core.Authentication;
2997+import org.springframework.security.core.context.SecurityContextHolder;
2998+import org.springframework.security.core.userdetails.UserDetails;
2999
3000 /**
3001 * This access provider will put an Authentication object with all GrantedAuthorities
3002@@ -54,7 +54,7 @@
3003 String username = "ghost_admin";
3004 String password = "";
3005
3006- UserDetails user = new org.springframework.security.userdetails.User( username, password, true, true, true, true,
3007+ UserDetails user = new org.springframework.security.core.userdetails.User( username, password, true, true, true, true,
3008 getGrantedAuthorities() );
3009
3010 authentication = new UsernamePasswordAuthenticationToken( user, user.getPassword(), user.getAuthorities() );
3011
3012=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/SpringSecurityActionAccessResolver.java'
3013--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/SpringSecurityActionAccessResolver.java 2010-04-12 21:23:33 +0000
3014+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/SpringSecurityActionAccessResolver.java 2010-05-07 11:16:36 +0000
3015@@ -31,13 +31,14 @@
3016 import org.apache.commons.logging.LogFactory;
3017 import org.apache.struts2.dispatcher.Dispatcher;
3018 import org.hisp.dhis.security.authority.RequiredAuthoritiesProvider;
3019-import org.springframework.security.AccessDecisionManager;
3020-import org.springframework.security.AccessDeniedException;
3021-import org.springframework.security.Authentication;
3022-import org.springframework.security.InsufficientAuthenticationException;
3023-import org.springframework.security.context.SecurityContext;
3024-import org.springframework.security.context.SecurityContextHolder;
3025-import org.springframework.security.intercept.ObjectDefinitionSource;
3026+
3027+import org.springframework.security.access.AccessDecisionManager;
3028+import org.springframework.security.access.AccessDeniedException;
3029+import org.springframework.security.access.SecurityMetadataSource;
3030+import org.springframework.security.authentication.InsufficientAuthenticationException;
3031+import org.springframework.security.core.Authentication;
3032+import org.springframework.security.core.context.SecurityContext;
3033+import org.springframework.security.core.context.SecurityContextHolder;
3034
3035 import com.opensymphony.xwork2.config.Configuration;
3036 import com.opensymphony.xwork2.config.entities.ActionConfig;
3037@@ -96,8 +97,8 @@
3038 throw new IllegalArgumentException( "Module " + module + " doesn't have an action named: '" + name + "'" );
3039 }
3040
3041- ObjectDefinitionSource objectDefinitionSource = requiredAuthoritiesProvider
3042- .createObjectDefinitionSource( actionConfig );
3043+ SecurityMetadataSource securityMetadataSource = requiredAuthoritiesProvider
3044+ .createSecurityMetadataSource( actionConfig );
3045
3046 // ---------------------------------------------------------------------
3047 // Test access
3048@@ -109,14 +110,14 @@
3049
3050 try
3051 {
3052- if ( objectDefinitionSource.getAttributes( actionConfig ) != null )
3053+ if ( securityMetadataSource.getAttributes( actionConfig ) != null )
3054 {
3055 if ( authentication == null || !authentication.isAuthenticated() )
3056 {
3057 return false;
3058 }
3059
3060- accessDecisionManager.decide( authentication, actionConfig, objectDefinitionSource
3061+ accessDecisionManager.decide( authentication, actionConfig, securityMetadataSource
3062 .getAttributes( actionConfig ) );
3063 }
3064
3065
3066=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/DefaultRequiredAuthoritiesProvider.java'
3067--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/DefaultRequiredAuthoritiesProvider.java 2010-04-12 21:23:33 +0000
3068+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/DefaultRequiredAuthoritiesProvider.java 2010-05-07 11:16:36 +0000
3069@@ -31,15 +31,14 @@
3070 import java.util.Collection;
3071 import java.util.Collections;
3072 import java.util.HashSet;
3073-import java.util.List;
3074 import java.util.Map;
3075 import java.util.Set;
3076 import java.util.StringTokenizer;
3077
3078-import org.springframework.security.ConfigAttributeDefinition;
3079-import org.springframework.security.SecurityConfig;
3080-import org.springframework.security.intercept.ObjectDefinitionSource;
3081-import org.hisp.dhis.security.intercept.SingleObjectDefinitionSource;
3082+import org.hisp.dhis.security.intercept.SingleSecurityMetadataSource;
3083+import org.springframework.security.access.ConfigAttribute;
3084+import org.springframework.security.access.SecurityConfig;
3085+import org.springframework.security.access.SecurityMetadataSource;
3086
3087 import com.opensymphony.xwork2.config.entities.ActionConfig;
3088
3089@@ -72,29 +71,27 @@
3090 // RequiredAuthoritiesProvider implementation
3091 // -------------------------------------------------------------------------
3092
3093- public ObjectDefinitionSource createObjectDefinitionSource( ActionConfig actionConfig )
3094+ public SecurityMetadataSource createSecurityMetadataSource( ActionConfig actionConfig )
3095 {
3096- return createObjectDefinitionSource( actionConfig, actionConfig );
3097+ return createSecurityMetadataSource( actionConfig, actionConfig );
3098 }
3099- public ObjectDefinitionSource createObjectDefinitionSource( ActionConfig actionConfig, Object object )
3100+ public SecurityMetadataSource createSecurityMetadataSource( ActionConfig actionConfig, Object object )
3101 {
3102 Collection<String> requiredAuthorities = getRequiredAuthorities( actionConfig );
3103
3104- List<SecurityConfig> list = new ArrayList<SecurityConfig>();
3105+ Collection<ConfigAttribute> attributes = new ArrayList<ConfigAttribute>();
3106
3107 for ( String requiredAuthority : requiredAuthorities )
3108 {
3109- list.add( new SecurityConfig( requiredAuthority ) );
3110+ attributes.add( new SecurityConfig( requiredAuthority ) );
3111 }
3112
3113 for ( String globalAttribute : globalAttributes )
3114 {
3115- list.add( new SecurityConfig( globalAttribute ) );
3116+ attributes.add( new SecurityConfig( globalAttribute ) );
3117 }
3118
3119- ConfigAttributeDefinition attributes = new ConfigAttributeDefinition(list);
3120-
3121- return new SingleObjectDefinitionSource( object, attributes );
3122+ return new SingleSecurityMetadataSource( object, attributes );
3123 }
3124
3125 public Collection<String> getRequiredAuthorities( ActionConfig actionConfig )
3126
3127=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/RequiredAuthoritiesProvider.java'
3128--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/RequiredAuthoritiesProvider.java 2010-04-12 21:23:33 +0000
3129+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/authority/RequiredAuthoritiesProvider.java 2010-05-07 11:16:36 +0000
3130@@ -29,7 +29,7 @@
3131
3132 import java.util.Collection;
3133
3134-import org.springframework.security.intercept.ObjectDefinitionSource;
3135+import org.springframework.security.access.SecurityMetadataSource;
3136
3137 import com.opensymphony.xwork2.config.entities.ActionConfig;
3138
3139@@ -40,25 +40,25 @@
3140 public interface RequiredAuthoritiesProvider
3141 {
3142 /**
3143- * Creates an ObjectDefinitionSource based on the required authorities for
3144+ * Creates an SecurityMetadataSource based on the required authorities for
3145 * the action config. The specified action config is set as the secure
3146- * object. The ObjectDefinitionSource may include additional attributes if
3147+ * object. The SecurityMetadataSource may include additional attributes if
3148 * needed.
3149 *
3150 * @param actionConfig the secure actionConfig to get required authorities
3151 * from.
3152 */
3153- public ObjectDefinitionSource createObjectDefinitionSource( ActionConfig actionConfig );
3154+ public SecurityMetadataSource createSecurityMetadataSource( ActionConfig actionConfig );
3155
3156 /**
3157- * Creates an ObjectDefinitionSource for a specified secure object based on
3158+ * Creates an SecurityMetadataSource for a specified secure object based on
3159 * the required authorities for the action config. The
3160- * ObjectDefinitionSource may include additional attributes if needed.
3161+ * SecurityMetadataSource may include additional attributes if needed.
3162 *
3163 * @param actionConfig the actionConfig to get required authorities from.
3164 * @param object the secure object.
3165 */
3166- public ObjectDefinitionSource createObjectDefinitionSource( ActionConfig actionConfig, Object object );
3167+ public SecurityMetadataSource createSecurityMetadataSource( ActionConfig actionConfig, Object object );
3168
3169 /**
3170 * Returns the required authorities of an action configuration.
3171
3172=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java'
3173--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java 2010-04-12 21:23:33 +0000
3174+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/filter/UserAuditLogoutFilter.java 2010-05-07 11:16:36 +0000
3175@@ -31,9 +31,9 @@
3176 import javax.servlet.http.HttpServletResponse;
3177
3178 import org.hisp.dhis.useraudit.UserAuditService;
3179-import org.springframework.security.Authentication;
3180-import org.springframework.security.ui.logout.LogoutHandler;
3181-import org.springframework.security.userdetails.UserDetails;
3182+import org.springframework.security.core.Authentication;
3183+import org.springframework.security.core.userdetails.UserDetails;
3184+import org.springframework.security.web.authentication.logout.LogoutHandler;
3185
3186 /**
3187 * @author Lars Helge Overland
3188
3189=== renamed file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/SingleObjectDefinitionSource.java' => 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/SingleSecurityMetadataSource.java'
3190--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/SingleObjectDefinitionSource.java 2010-04-12 21:23:33 +0000
3191+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/SingleSecurityMetadataSource.java 2010-05-07 11:16:36 +0000
3192@@ -29,42 +29,41 @@
3193
3194 import java.util.Collection;
3195
3196-import org.springframework.security.ConfigAttributeDefinition;
3197-import org.springframework.security.intercept.ObjectDefinitionSource;
3198+import org.springframework.security.access.ConfigAttribute;
3199+import org.springframework.security.access.SecurityMetadataSource;
3200
3201 /**
3202- * Generic ObjectDefinitionSource for one single object.
3203+ * Generic SecurityMetadataSource for one single object.
3204 *
3205 * @author Torgeir Lorange Ostby
3206- * @version $Id: SingleObjectDefinitionSource.java 6335 2008-11-20 11:11:26Z larshelg $
3207 */
3208-public class SingleObjectDefinitionSource
3209- implements ObjectDefinitionSource
3210+public class SingleSecurityMetadataSource
3211+ implements SecurityMetadataSource
3212 {
3213 private Object object;
3214
3215- private ConfigAttributeDefinition attributes;
3216+ private Collection<ConfigAttribute> attributes;
3217
3218 // -------------------------------------------------------------------------
3219 // Constructors
3220 // -------------------------------------------------------------------------
3221
3222- public SingleObjectDefinitionSource( Object object )
3223+ public SingleSecurityMetadataSource( Object object )
3224 {
3225 this.object = object;
3226 }
3227
3228- public SingleObjectDefinitionSource( Object object, ConfigAttributeDefinition attributes )
3229+ public SingleSecurityMetadataSource( Object object, Collection<ConfigAttribute> attributes )
3230 {
3231 this.object = object;
3232 this.attributes = attributes;
3233 }
3234
3235 // -------------------------------------------------------------------------
3236- // ObjectDefinitionSource implementation
3237+ // SecurityMetadataSource implementation
3238 // -------------------------------------------------------------------------
3239
3240- public ConfigAttributeDefinition getAttributes( Object object )
3241+ public Collection<ConfigAttribute> getAttributes( Object object )
3242 throws IllegalArgumentException
3243 {
3244 if ( !supports( object.getClass() ) )
3245@@ -80,14 +79,16 @@
3246 return null;
3247 }
3248
3249- public Collection<?> getConfigAttributeDefinitions()
3250- {
3251- return null;
3252- }
3253-
3254- @SuppressWarnings( "unchecked" )
3255- public boolean supports( Class clazz )
3256+ @Override
3257+ public boolean supports( Class<?> clazz )
3258 {
3259 return clazz.isAssignableFrom( object.getClass() );
3260 }
3261+
3262+ @Override
3263+ public Collection<ConfigAttribute> getAllConfigAttributes()
3264+ {
3265+ return this.attributes;
3266+ }
3267+
3268 }
3269
3270=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/XWorkSecurityInterceptor.java'
3271--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/XWorkSecurityInterceptor.java 2010-04-12 21:23:33 +0000
3272+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/intercept/XWorkSecurityInterceptor.java 2010-05-07 11:16:36 +0000
3273@@ -30,11 +30,11 @@
3274 import java.util.HashMap;
3275 import java.util.Map;
3276
3277-import org.springframework.security.intercept.AbstractSecurityInterceptor;
3278-import org.springframework.security.intercept.InterceptorStatusToken;
3279-import org.springframework.security.intercept.ObjectDefinitionSource;
3280 import org.hisp.dhis.security.ActionAccessResolver;
3281 import org.hisp.dhis.security.authority.RequiredAuthoritiesProvider;
3282+import org.springframework.security.access.SecurityMetadataSource;
3283+import org.springframework.security.access.intercept.AbstractSecurityInterceptor;
3284+import org.springframework.security.access.intercept.InterceptorStatusToken;
3285
3286 import com.opensymphony.xwork2.ActionInvocation;
3287 import com.opensymphony.xwork2.config.entities.ActionConfig;
3288@@ -50,7 +50,7 @@
3289 {
3290 private static final String KEY_ACTION_ACCESS_RESOLVER = "auth";
3291
3292- private ThreadLocal<ObjectDefinitionSource> definitionSourceTag = new ThreadLocal<ObjectDefinitionSource>();
3293+ private ThreadLocal<SecurityMetadataSource> definitionSourceTag = new ThreadLocal<SecurityMetadataSource>();
3294
3295 // -------------------------------------------------------------------------
3296 // Dependencies
3297@@ -85,14 +85,14 @@
3298 public String intercept( ActionInvocation invocation )
3299 throws Exception
3300 {
3301- Object result = null;
3302 ActionConfig actionConfig = invocation.getProxy().getConfig();
3303- definitionSourceTag.set( requiredAuthoritiesProvider.createObjectDefinitionSource( actionConfig ) );
3304+ definitionSourceTag.set( requiredAuthoritiesProvider.createSecurityMetadataSource( actionConfig ) );
3305
3306 InterceptorStatusToken token = beforeInvocation( actionConfig );
3307
3308 addActionAccessResolver( invocation );
3309
3310+ Object result = null;
3311 try
3312 {
3313 result = invocation.invoke();
3314@@ -123,9 +123,9 @@
3315 }
3316
3317 @Override
3318- public ObjectDefinitionSource obtainObjectDefinitionSource()
3319+ public SecurityMetadataSource obtainSecurityMetadataSource()
3320 {
3321- ObjectDefinitionSource definitionSource = definitionSourceTag.get();
3322+ SecurityMetadataSource definitionSource = definitionSourceTag.get();
3323
3324 if ( definitionSource != null )
3325 {
3326@@ -137,7 +137,7 @@
3327 // invocation. Returning an empty dummy.
3328 // ---------------------------------------------------------------------
3329
3330- return new SingleObjectDefinitionSource( new ActionConfig.Builder( "", "", "" ).build() );
3331+ return new SingleSecurityMetadataSource( new ActionConfig.Builder( "", "", "" ).build() );
3332 }
3333
3334 // -------------------------------------------------------------------------
3335
3336=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/listener/AuthenticationListener.java'
3337--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/listener/AuthenticationListener.java 2010-04-12 21:23:33 +0000
3338+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/listener/AuthenticationListener.java 2010-05-07 11:16:36 +0000
3339@@ -30,9 +30,9 @@
3340 import org.hisp.dhis.useraudit.UserAuditService;
3341 import org.springframework.context.ApplicationEvent;
3342 import org.springframework.context.ApplicationListener;
3343-import org.springframework.security.event.authentication.AbstractAuthenticationFailureEvent;
3344-import org.springframework.security.event.authentication.AuthenticationSuccessEvent;
3345-import org.springframework.security.userdetails.UserDetails;
3346+import org.springframework.security.authentication.event.AbstractAuthenticationFailureEvent;
3347+import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
3348+import org.springframework.security.core.userdetails.UserDetails;
3349
3350 /**
3351 * @author Lars Helge Overland
3352
3353=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/AbstractPrefixedAccessDecisionVoter.java'
3354--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/AbstractPrefixedAccessDecisionVoter.java 2010-04-12 21:23:33 +0000
3355+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/AbstractPrefixedAccessDecisionVoter.java 2010-05-07 11:16:36 +0000
3356@@ -27,10 +27,10 @@
3357 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3358 */
3359
3360-import org.springframework.security.ConfigAttribute;
3361-import org.springframework.security.vote.AccessDecisionVoter;
3362 import org.apache.commons.logging.Log;
3363 import org.apache.commons.logging.LogFactory;
3364+import org.springframework.security.access.AccessDecisionVoter;
3365+import org.springframework.security.access.ConfigAttribute;
3366
3367 /**
3368 * @author Torgeir Lorange Ostby
3369
3370=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ActionAccessVoter.java'
3371--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ActionAccessVoter.java 2010-04-12 21:23:33 +0000
3372+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ActionAccessVoter.java 2010-05-07 11:16:36 +0000
3373@@ -31,10 +31,9 @@
3374
3375 import org.apache.commons.logging.Log;
3376 import org.apache.commons.logging.LogFactory;
3377-import org.springframework.security.Authentication;
3378-import org.springframework.security.ConfigAttribute;
3379-import org.springframework.security.ConfigAttributeDefinition;
3380-import org.springframework.security.GrantedAuthority;
3381+import org.springframework.security.access.ConfigAttribute;
3382+import org.springframework.security.core.Authentication;
3383+import org.springframework.security.core.GrantedAuthority;
3384
3385 import com.opensymphony.xwork2.config.entities.ActionConfig;
3386
3387@@ -51,8 +50,8 @@
3388 // AccessDecisionVoter implementation
3389 // -------------------------------------------------------------------------
3390
3391- @SuppressWarnings( "unchecked" )
3392- public boolean supports( Class clazz )
3393+ @Override
3394+ public boolean supports( Class<?> clazz )
3395 {
3396 boolean result = ActionConfig.class.equals( clazz );
3397
3398@@ -61,8 +60,8 @@
3399 return result;
3400 }
3401
3402- @SuppressWarnings( "unchecked" )
3403- public int vote( Authentication authentication, Object object, ConfigAttributeDefinition definition )
3404+ @Override
3405+ public int vote( Authentication authentication, Object object, Collection<ConfigAttribute> attributes )
3406 {
3407 if ( !supports( object.getClass() ) )
3408 {
3409@@ -73,8 +72,6 @@
3410
3411 int supported = 0;
3412
3413- Collection<ConfigAttribute> attributes = definition.getConfigAttributes();
3414-
3415 for ( ConfigAttribute attribute : attributes )
3416 {
3417 if ( supports( attribute ) )
3418
3419=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/LogicalOrAccessDecisionManager.java'
3420--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/LogicalOrAccessDecisionManager.java 2010-04-12 21:23:33 +0000
3421+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/LogicalOrAccessDecisionManager.java 2010-05-07 11:16:36 +0000
3422@@ -27,17 +27,17 @@
3423 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3424 */
3425
3426+import java.util.Collection;
3427 import java.util.Collections;
3428 import java.util.List;
3429
3430-import org.springframework.security.AccessDecisionManager;
3431-import org.springframework.security.AccessDeniedException;
3432-import org.springframework.security.Authentication;
3433-import org.springframework.security.ConfigAttribute;
3434-import org.springframework.security.ConfigAttributeDefinition;
3435-import org.springframework.security.InsufficientAuthenticationException;
3436 import org.apache.commons.logging.Log;
3437 import org.apache.commons.logging.LogFactory;
3438+import org.springframework.security.access.AccessDecisionManager;
3439+import org.springframework.security.access.AccessDeniedException;
3440+import org.springframework.security.access.ConfigAttribute;
3441+import org.springframework.security.authentication.InsufficientAuthenticationException;
3442+import org.springframework.security.core.Authentication;
3443
3444 /**
3445 * AccessDecisionManager which delegates to other AccessDecisionManagers in a
3446@@ -65,7 +65,8 @@
3447 // Interface implementation
3448 // -------------------------------------------------------------------------
3449
3450- public void decide( Authentication authentication, Object object, ConfigAttributeDefinition definition )
3451+ @Override
3452+ public void decide( Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes )
3453 throws AccessDeniedException, InsufficientAuthenticationException
3454 {
3455 AccessDeniedException ade = null;
3456@@ -75,7 +76,7 @@
3457 {
3458 try
3459 {
3460- accessDecisionManager.decide( authentication, object, definition );
3461+ accessDecisionManager.decide( authentication, object, configAttributes );
3462
3463 LOG.debug( "ACCESS GRANTED [" + object.toString() + "]" );
3464
3465@@ -117,8 +118,8 @@
3466 return false;
3467 }
3468
3469- @SuppressWarnings( "unchecked" )
3470- public boolean supports( Class clazz )
3471+ @Override
3472+ public boolean supports( Class<?> clazz )
3473 {
3474 for ( AccessDecisionManager accessDecisionManager : accessDecisionManagers )
3475 {
3476
3477=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ModuleAccessVoter.java'
3478--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ModuleAccessVoter.java 2010-04-12 21:23:33 +0000
3479+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/ModuleAccessVoter.java 2010-05-07 11:16:36 +0000
3480@@ -27,14 +27,15 @@
3481 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3482 */
3483
3484+import java.util.Collection;
3485 import java.util.Collections;
3486 import java.util.Set;
3487
3488-import org.springframework.security.Authentication;
3489-import org.springframework.security.ConfigAttributeDefinition;
3490-import org.springframework.security.GrantedAuthority;
3491 import org.apache.commons.logging.Log;
3492 import org.apache.commons.logging.LogFactory;
3493+import org.springframework.security.access.ConfigAttribute;
3494+import org.springframework.security.core.Authentication;
3495+import org.springframework.security.core.GrantedAuthority;
3496
3497 import com.opensymphony.xwork2.config.entities.ActionConfig;
3498
3499@@ -75,8 +76,8 @@
3500 * <code>com.opensymphony.xwork.config.entities.ActionConfig</code>.
3501 * False otherwise.
3502 */
3503- @SuppressWarnings( "unchecked" )
3504- public boolean supports( Class clazz )
3505+ @Override
3506+ public boolean supports( Class<?> clazz )
3507 {
3508 boolean result = ActionConfig.class.equals( clazz );
3509
3510@@ -91,7 +92,7 @@
3511 * prefix + module name, or the module name is in the always accessible set.
3512 * Otherwise votes ACCESS_DENIED.
3513 */
3514- public int vote( Authentication authentication, Object object, ConfigAttributeDefinition definition )
3515+ public int vote( Authentication authentication, Object object, Collection<ConfigAttribute> attributes )
3516 {
3517 if ( !supports( object.getClass() ) )
3518 {
3519
3520=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/SimpleAccessVoter.java'
3521--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/SimpleAccessVoter.java 2010-04-12 21:23:33 +0000
3522+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/security/vote/SimpleAccessVoter.java 2010-05-07 11:16:36 +0000
3523@@ -27,14 +27,16 @@
3524 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3525 */
3526
3527-import org.springframework.security.Authentication;
3528-import org.springframework.security.ConfigAttribute;
3529-import org.springframework.security.ConfigAttributeDefinition;
3530-import org.springframework.security.GrantedAuthority;
3531-import org.springframework.security.vote.AccessDecisionVoter;
3532+import java.util.Collection;
3533+
3534 import org.apache.commons.logging.Log;
3535 import org.apache.commons.logging.LogFactory;
3536
3537+import org.springframework.security.access.AccessDecisionVoter;
3538+import org.springframework.security.access.ConfigAttribute;
3539+import org.springframework.security.core.Authentication;
3540+import org.springframework.security.core.GrantedAuthority;
3541+
3542 /**
3543 * Simple AccessDecisionVoter which grants access if a specified required
3544 * authority is among the configAttributes.
3545@@ -64,13 +66,13 @@
3546 && configAttribute.getAttribute().equals( requiredAuthority );
3547 }
3548
3549- @SuppressWarnings( "unchecked" )
3550- public boolean supports( Class clazz )
3551+ @Override
3552+ public boolean supports( Class<?> clazz )
3553 {
3554 return true;
3555 }
3556
3557- public int vote( Authentication authentication, Object object, ConfigAttributeDefinition definition )
3558+ public int vote( Authentication authentication, Object object, Collection<ConfigAttribute> attributes )
3559 {
3560 for ( GrantedAuthority authority : authentication.getAuthorities() )
3561 {
3562
3563=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml'
3564--- dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml 2010-04-28 04:59:07 +0000
3565+++ dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml 2010-05-07 11:16:36 +0000
3566@@ -5,7 +5,7 @@
3567 xsi:schemaLocation="http://www.springframework.org/schema/beans
3568 http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
3569 http://www.springframework.org/schema/security
3570- http://www.springframework.org/schema/security/spring-security-2.0.xsd">
3571+ http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
3572
3573 <!-- Web Portal -->
3574
3575@@ -21,7 +21,7 @@
3576 </property>
3577 </bean>
3578
3579- <bean id="filterChainProxy" class="org.springframework.security.util.FilterChainProxy">
3580+ <bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
3581 <sec:filter-chain-map path-type="ant">
3582 <sec:filter-chain pattern="/dhis-web-commons/security/**" filters="none"/>
3583 <sec:filter-chain pattern="/dhis-web-commons/util/**" filters="none"/>
3584@@ -281,23 +281,31 @@
3585 <!-- Security : Filter -->
3586
3587 <bean id="httpSessionContextIntegrationFilter"
3588- class="org.springframework.security.context.HttpSessionContextIntegrationFilter" />
3589+ class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter" />
3590
3591 <bean id="authenticationProcessingFilter"
3592- class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter">
3593+ class="org.springframework.security.web.authentication.AuthenticationProcessingFilter">
3594 <property name="authenticationManager" ref="authenticationManager" />
3595- <property name="authenticationFailureUrl" value="/dhis-web-commons/security/loginfailed.jsp" />
3596- <property name="defaultTargetUrl" value="/dhis-web-commons-security/loggedIn.action" />
3597+ <property name="authenticationFailureHandler" ref="failureHandler" />
3598+ <property name="authenticationSuccessHandler" ref="successHandler" />
3599 <property name="filterProcessesUrl" value="/dhis-web-commons-security/login.action" />
3600- <property name="alwaysUseDefaultTargetUrl" value="true" />
3601 </bean>
3602
3603- <bean id="logoutFilter" class="org.springframework.security.ui.logout.LogoutFilter">
3604+ <bean id="successHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" >
3605+ <property name="defaultTargetUrl" value="/dhis-web-commons-security/loggedIn.action" />
3606+ <property name="alwaysUseDefaultTargetUrl" value="true" />
3607+ </bean>
3608+
3609+ <bean id="failureHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler" >
3610+ <property name="defaultFailureUrl" value="/dhis-web-commons/security/loginfailed.jsp" />
3611+ </bean>
3612+
3613+ <bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
3614 <constructor-arg value="/" />
3615 <constructor-arg>
3616 <list>
3617 <ref bean="userAuditLogoutFilter" />
3618- <bean class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />
3619+ <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
3620 </list>
3621 </constructor-arg>
3622 <property name="filterProcessesUrl" value="/dhis-web-commons-security/logout.action" />
3623@@ -369,7 +377,7 @@
3624 </property>
3625 </bean>
3626
3627- <bean id="regularAccessDecisionVoting" class="org.springframework.security.vote.UnanimousBased">
3628+ <bean id="regularAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
3629 <property name="decisionVoters">
3630 <list>
3631 <ref local="actionAccessVoter" />
3632@@ -400,7 +408,7 @@
3633 </property>
3634 </bean>
3635
3636- <bean id="adminAccessDecisionVoting" class="org.springframework.security.vote.UnanimousBased">
3637+ <bean id="adminAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
3638 <property name="decisionVoters">
3639 <list>
3640 <ref local="adminAccessVoter" />
3641
3642=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/GetDataSetAndPeriodByPeriodTypeAction.java'
3643--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/GetDataSetAndPeriodByPeriodTypeAction.java 2010-04-12 21:23:33 +0000
3644+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/GetDataSetAndPeriodByPeriodTypeAction.java 2010-05-07 11:16:36 +0000
3645@@ -28,6 +28,7 @@
3646 package org.hisp.dhis.reportexcel.datasetcompleted.action;
3647
3648 import java.util.ArrayList;
3649+import java.util.Collections;
3650 import java.util.List;
3651
3652 import org.hisp.dhis.dataset.DataSet;
3653@@ -45,8 +46,6 @@
3654
3655 import com.opensymphony.xwork2.Action;
3656
3657-import edu.emory.mathcs.backport.java.util.Collections;
3658-
3659 /**
3660 * @author Tran Thanh Tri
3661 * @version $Id$
3662
3663=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewDataSetCompletedAction.java'
3664--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewDataSetCompletedAction.java 2010-04-12 21:23:33 +0000
3665+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/datasetcompleted/action/ViewDataSetCompletedAction.java 2010-05-07 11:16:36 +0000
3666@@ -27,6 +27,7 @@
3667 package org.hisp.dhis.reportexcel.datasetcompleted.action;
3668
3669 import java.util.ArrayList;
3670+import java.util.Collections;
3671 import java.util.HashSet;
3672 import java.util.List;
3673 import java.util.Set;
3674@@ -44,8 +45,6 @@
3675 import org.hisp.dhis.period.comparator.PeriodComparator;
3676 import org.hisp.dhis.reportexcel.action.ActionSupport;
3677
3678-import edu.emory.mathcs.backport.java.util.Collections;
3679-
3680 /**
3681 * @author Tran Thanh Tri
3682 * @version $Id$
3683
3684=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/SearchAction.java'
3685--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/SearchAction.java 2010-04-27 03:25:54 +0000
3686+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/SearchAction.java 2010-05-07 11:16:36 +0000
3687@@ -29,6 +29,7 @@
3688
3689 import java.util.ArrayList;
3690 import java.util.Collection;
3691+import java.util.Collections;
3692 import java.util.Iterator;
3693 import java.util.List;
3694 import java.util.Set;
3695@@ -53,8 +54,6 @@
3696
3697 import com.opensymphony.xwork2.Action;
3698
3699-import edu.emory.mathcs.backport.java.util.Collections;
3700-
3701 /**
3702 * @author espenjac, joakibj, briane, eivinhb
3703 * @version $Id$
3704
3705=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml'
3706--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2010-04-29 04:33:47 +0000
3707+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2010-05-07 11:16:36 +0000
3708@@ -414,16 +414,13 @@
3709 </property>
3710 </bean>
3711
3712- <bean
3713- id="org.hisp.dhis.dataadmin.action.minmaxvalidation.UnselectOrganisationUnitGroupAction"
3714- class="org.hisp.dhis.dataadmin.action.minmaxvalidation.UnselectOrganisationUnitGroupAction"
3715- scope="prototype">
3716- <property name="selectionTreeManager">
3717- <ref bean="org.hisp.dhis.oust.manager.SelectionTreeManager" />
3718- </property>
3719- <property name="organisationUnitGroupService">
3720- <ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
3721- </property>
3722+ <bean id="org.hisp.dhis.dataadmin.action.minmaxvalidation.UnselectOrganisationUnitGroupAction"
3723+ class="org.hisp.dhis.dataadmin.action.minmaxvalidation.UnselectOrganisationUnitGroupAction"
3724+ scope="prototype">
3725+ <property name="selectionTreeManager"
3726+ ref="org.hisp.dhis.oust.manager.SelectionTreeManager" />
3727+ <property name="organisationUnitGroupService"
3728+ ref="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
3729 </bean>
3730
3731 </beans>
3732
3733=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java'
3734--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java 2010-04-12 21:23:33 +0000
3735+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/GetDataElementAction.java 2010-05-07 11:16:36 +0000
3736@@ -27,7 +27,9 @@
3737 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3738 */
3739
3740+
3741 import java.util.ArrayList;
3742+import java.util.Collections;
3743 import java.util.List;
3744
3745 import org.hisp.dhis.dataelement.DataElement;
3746@@ -37,8 +39,6 @@
3747
3748 import com.opensymphony.xwork2.ActionSupport;
3749
3750-import edu.emory.mathcs.backport.java.util.Collections;
3751-
3752 /**
3753 * @author Torgeir Lorange Ostby
3754 * @version $Id: GetDataElementAction.java 5789 2008-10-02 09:47:04Z larshelg $
3755
3756=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowAddDataElementForm.java'
3757--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowAddDataElementForm.java 2010-04-12 21:23:33 +0000
3758+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowAddDataElementForm.java 2010-05-07 11:16:36 +0000
3759@@ -29,6 +29,7 @@
3760
3761 import java.util.ArrayList;
3762 import java.util.Collection;
3763+import java.util.Collections;
3764 import java.util.List;
3765
3766 import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
3767@@ -43,8 +44,6 @@
3768
3769 import com.opensymphony.xwork2.Action;
3770
3771-import edu.emory.mathcs.backport.java.util.Collections;
3772-
3773 /**
3774 * @author Hans S. Toemmerholt
3775 * @version $Id: GetDataElementAction.java 2869 2007-02-20 14:26:09Z andegje $
3776
3777=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowUpdateDataElementFormAction.java'
3778--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowUpdateDataElementFormAction.java 2010-04-12 21:23:33 +0000
3779+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/dataelement/ShowUpdateDataElementFormAction.java 2010-05-07 11:16:36 +0000
3780@@ -31,6 +31,7 @@
3781
3782 import java.util.ArrayList;
3783 import java.util.Collection;
3784+import java.util.Collections;
3785 import java.util.List;
3786 import java.util.Map;
3787
3788@@ -49,8 +50,6 @@
3789
3790 import com.opensymphony.xwork2.ActionSupport;
3791
3792-import edu.emory.mathcs.backport.java.util.Collections;
3793-
3794 /**
3795 * @author Hans S. Toemmerholt
3796 * @version $Id: GetDataElementAction.java 2869 2007-02-20 14:26:09Z andegje $
3797
3798=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/indicatorgroup/GetAssignedIndicatorGroupsAction.java'
3799--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/indicatorgroup/GetAssignedIndicatorGroupsAction.java 2010-04-12 21:23:33 +0000
3800+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/java/org/hisp/dhis/dd/action/indicatorgroup/GetAssignedIndicatorGroupsAction.java 2010-05-07 11:16:36 +0000
3801@@ -28,6 +28,7 @@
3802 */
3803
3804 import java.util.ArrayList;
3805+import java.util.Collections;
3806 import java.util.List;
3807
3808 import org.hisp.dhis.indicator.Indicator;
3809@@ -37,7 +38,6 @@
3810
3811 import com.opensymphony.xwork2.Action;
3812
3813-import edu.emory.mathcs.backport.java.util.Collections;
3814
3815 /**
3816 * @author Tran Thanh Tri
3817
3818=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupAction.java'
3819--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupAction.java 2010-03-04 13:42:32 +0000
3820+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupAction.java 2010-05-07 11:16:36 +0000
3821@@ -28,6 +28,7 @@
3822 package org.hisp.dhis.patient.action.patientattributegroup;
3823
3824 import java.util.ArrayList;
3825+import java.util.Collections;
3826 import java.util.List;
3827
3828 import org.hisp.dhis.patient.PatientAttribute;
3829@@ -38,8 +39,6 @@
3830
3831 import com.opensymphony.xwork2.Action;
3832
3833-import edu.emory.mathcs.backport.java.util.Collections;
3834-
3835 /**
3836 * @author Chau Thu Tran
3837 * @version $Id$
3838
3839=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupListAction.java'
3840--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupListAction.java 2010-01-29 03:08:45 +0000
3841+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientattributegroup/GetPatientAttributeGroupListAction.java 2010-05-07 11:16:36 +0000
3842@@ -28,6 +28,7 @@
3843 package org.hisp.dhis.patient.action.patientattributegroup;
3844
3845 import java.util.ArrayList;
3846+import java.util.Collections;
3847 import java.util.List;
3848
3849 import org.hisp.dhis.patient.PatientAttributeGroup;
3850@@ -36,7 +37,6 @@
3851
3852 import com.opensymphony.xwork2.Action;
3853
3854-import edu.emory.mathcs.backport.java.util.Collections;
3855
3856 /**
3857 * @author Chau Thu Tran
3858
3859=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientidentifiertype/GetPatientIdentifierTypeListAction.java'
3860--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientidentifiertype/GetPatientIdentifierTypeListAction.java 2010-04-03 09:35:43 +0000
3861+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patientidentifiertype/GetPatientIdentifierTypeListAction.java 2010-05-07 11:16:36 +0000
3862@@ -28,6 +28,7 @@
3863 package org.hisp.dhis.patient.action.patientidentifiertype;
3864
3865 import java.util.ArrayList;
3866+import java.util.Collections;
3867 import java.util.List;
3868
3869 import org.hisp.dhis.patient.PatientIdentifierType;
3870@@ -36,8 +37,6 @@
3871
3872 import com.opensymphony.xwork2.Action;
3873
3874-import edu.emory.mathcs.backport.java.util.Collections;
3875-
3876 /**
3877 * @author Viet
3878 * @version $Id$
3879
3880=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllMapLegendsAction.java'
3881--- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllMapLegendsAction.java 2010-04-12 21:23:33 +0000
3882+++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllMapLegendsAction.java 2010-05-07 11:16:36 +0000
3883@@ -27,7 +27,9 @@
3884 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3885 */
3886
3887+
3888 import java.util.ArrayList;
3889+import java.util.Collections;
3890 import java.util.List;
3891
3892 import org.hisp.dhis.mapping.MapLegend;
3893@@ -36,8 +38,6 @@
3894
3895 import com.opensymphony.xwork2.Action;
3896
3897-import edu.emory.mathcs.backport.java.util.Collections;
3898-
3899 /**
3900 * @author Jan Henrik Overland
3901 * @version $Id$
3902
3903=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendsByMapLegendSetAction.java'
3904--- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendsByMapLegendSetAction.java 2010-04-12 21:23:33 +0000
3905+++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapLegendsByMapLegendSetAction.java 2010-05-07 11:16:36 +0000
3906@@ -28,6 +28,7 @@
3907 */
3908
3909 import java.util.ArrayList;
3910+import java.util.Collections;
3911 import java.util.List;
3912
3913 import org.hisp.dhis.mapping.MapLegend;
3914@@ -36,8 +37,6 @@
3915
3916 import com.opensymphony.xwork2.Action;
3917
3918-import edu.emory.mathcs.backport.java.util.Collections;
3919-
3920 /**
3921 * @author Jan Henrik Overland
3922 * @version $Id$
3923
3924=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/chart/action/SaveChartAction.java'
3925--- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/chart/action/SaveChartAction.java 2010-04-12 21:23:33 +0000
3926+++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/chart/action/SaveChartAction.java 2010-05-07 11:16:36 +0000
3927@@ -30,6 +30,7 @@
3928 import static org.hisp.dhis.system.util.ConversionUtils.getIntegerCollection;
3929
3930 import java.util.ArrayList;
3931+import java.util.Collections;
3932 import java.util.List;
3933
3934 import org.hisp.dhis.chart.Chart;
3935@@ -45,8 +46,6 @@
3936
3937 import com.opensymphony.xwork2.Action;
3938
3939-import edu.emory.mathcs.backport.java.util.Collections;
3940-
3941 /**
3942 * @author Lars Helge Overland
3943 * @version $Id: UploadDesignAction.java 5207 2008-05-22 12:16:36Z larshelg $
3944
3945=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/pivottable/action/GetPivotTableAction.java'
3946--- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/pivottable/action/GetPivotTableAction.java 2010-04-12 21:23:33 +0000
3947+++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/pivottable/action/GetPivotTableAction.java 2010-05-07 11:16:36 +0000
3948@@ -27,6 +27,7 @@
3949 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3950 */
3951
3952+import java.util.Collections;
3953 import java.util.Comparator;
3954
3955 import org.hisp.dhis.i18n.I18nFormat;
3956@@ -37,8 +38,6 @@
3957
3958 import com.opensymphony.xwork2.Action;
3959
3960-import edu.emory.mathcs.backport.java.util.Collections;
3961-
3962 /**
3963 * @author Lars Helge Overland
3964 * @version $Id$
3965
3966=== modified file 'dhis-2/dhis-web/dhis-web-validationrule/pom.xml'
3967--- dhis-2/dhis-web/dhis-web-validationrule/pom.xml 2010-04-08 16:55:35 +0000
3968+++ dhis-2/dhis-web/dhis-web-validationrule/pom.xml 2010-05-07 11:16:36 +0000
3969@@ -46,10 +46,6 @@
3970 <!-- Other -->
3971
3972 <dependency>
3973- <groupId>org.springframework</groupId>
3974- <artifactId>spring</artifactId>
3975- </dependency>
3976- <dependency>
3977 <groupId>net.sourceforge.jexcelapi</groupId>
3978 <artifactId>jxl</artifactId>
3979 </dependency>
3980
3981=== modified file 'dhis-2/pom.xml'
3982--- dhis-2/pom.xml 2010-05-07 10:41:45 +0000
3983+++ dhis-2/pom.xml 2010-05-07 11:16:36 +0000
3984@@ -4,8 +4,8 @@
3985 <artifactId>dhis</artifactId>
3986 <version>2.0.5-SNAPSHOT</version>
3987 <packaging>pom</packaging>
3988- <name>DHIS 2 - District Health Information System</name>
3989- <url>http://dhis2.com</url>
3990+ <name>DHIS 2</name>
3991+ <url>http://dhis2.org</url>
3992
3993 <description>
3994 The District Health Information System deals with registering,
3995@@ -62,6 +62,10 @@
3996 <name>Dhis2 External Dependencies Repository</name>
3997 <url>http://dhis.uio.no/maven/external</url>
3998 </repository>
3999+ <repository>
4000+ <id>JBoss</id>
4001+ <url>http://repository.jboss.org/maven2</url>
4002+ </repository>
4003 </repositories>
4004
4005 <issueManagement>
4006@@ -240,12 +244,12 @@
4007 <dependency>
4008 <groupId>org.apache.struts</groupId>
4009 <artifactId>struts2-core</artifactId>
4010- <version>2.1.6</version>
4011+ <version>2.1.8.1</version>
4012 </dependency>
4013 <dependency>
4014 <groupId>org.apache.struts</groupId>
4015 <artifactId>struts2-spring-plugin</artifactId>
4016- <version>2.1.6</version>
4017+ <version>2.1.8.1</version>
4018 <exclusions>
4019 <exclusion>
4020 <groupId>org.springframework</groupId>
4021@@ -271,10 +275,17 @@
4022 <artifactId>velocity-tools</artifactId>
4023 <version>1.2</version>
4024 </dependency>
4025+<!-- TODO: NEED TO DECIDE ON QUICK -->
4026 <dependency>
4027 <groupId>org.amplecode</groupId>
4028 <artifactId>quick</artifactId>
4029 <version>1.1.6</version>
4030+ <exclusions>
4031+ <exclusion>
4032+ <groupId>org.springframework</groupId>
4033+ <artifactId>spring</artifactId>
4034+ </exclusion>
4035+ </exclusions>
4036 </dependency>
4037 <dependency>
4038 <groupId>com.lowagie</groupId>
4039@@ -283,34 +294,30 @@
4040 </dependency>
4041 <dependency>
4042 <groupId>org.springframework</groupId>
4043- <artifactId>spring</artifactId>
4044- <version>2.5.6</version>
4045- </dependency>
4046- <dependency>
4047- <groupId>org.springframework</groupId>
4048- <artifactId>spring-beans</artifactId>
4049- <version>2.5.6</version>
4050- </dependency>
4051- <dependency>
4052- <groupId>org.springframework</groupId>
4053 <artifactId>spring-test</artifactId>
4054- <version>2.5.6</version>
4055+ <version>${spring.version}</version>
4056 </dependency>
4057 <dependency>
4058 <groupId>org.springframework</groupId>
4059- <artifactId>spring-core</artifactId>
4060- <version>2.5.6</version>
4061+ <artifactId>spring-orm</artifactId>
4062+ <version>${spring.version}</version>
4063 </dependency>
4064 <dependency>
4065 <groupId>org.springframework</groupId>
4066 <artifactId>spring-context</artifactId>
4067- <version>2.5.6</version>
4068+ <version>${spring.version}</version>
4069 </dependency>
4070 <dependency>
4071 <groupId>org.springframework</groupId>
4072 <artifactId>spring-web</artifactId>
4073- <version>2.5.6</version>
4074- </dependency>
4075+ <version>${spring.version}</version>
4076+ </dependency>
4077+ <dependency>
4078+ <groupId>org.springframework</groupId>
4079+ <artifactId>spring-tx</artifactId>
4080+ <version>${spring.version}</version>
4081+ </dependency>
4082+
4083 <dependency>
4084 <groupId>org.aspectj</groupId>
4085 <artifactId>aspectjrt</artifactId>
4086@@ -396,7 +403,7 @@
4087 <dependency>
4088 <groupId>junit</groupId>
4089 <artifactId>junit</artifactId>
4090- <version>4.4</version>
4091+ <version>4.8.1</version>
4092 </dependency>
4093 <dependency>
4094 <groupId>org.amplecode</groupId>
4095@@ -418,6 +425,7 @@
4096 <groupId>javax.servlet</groupId>
4097 <artifactId>servlet-api</artifactId>
4098 <version>2.4</version>
4099+ <scope>provided</scope>
4100 </dependency>
4101 <!--DBMS -->
4102 <dependency>
4103@@ -435,25 +443,43 @@
4104 <artifactId>ibatis2-sqlmap</artifactId>
4105 <version>2.1.7.597</version>
4106 </dependency>
4107- <dependency>
4108- <groupId>org.hibernate</groupId>
4109- <artifactId>hibernate</artifactId>
4110- <version>3.2.6.ga</version>
4111+
4112+ <dependency>
4113+ <groupId>org.hibernate</groupId>
4114+ <artifactId>hibernate-core</artifactId>
4115+ <version>3.5.1-Final</version>
4116+ </dependency>
4117+ <dependency>
4118+ <groupId>org.hibernate</groupId>
4119+ <artifactId>hibernate-ehcache</artifactId>
4120+ <version>3.5.1-Final</version>
4121 <exclusions>
4122 <exclusion>
4123- <groupId>javax.transaction</groupId>
4124- <artifactId>jta</artifactId>
4125- </exclusion>
4126- <exclusion>
4127- <groupId>pull-parser</groupId>
4128- <artifactId>pull-parser</artifactId>
4129+ <groupId>net.sf.ehcache</groupId>
4130+ <artifactId>ehcache</artifactId>
4131 </exclusion>
4132 </exclusions>
4133 </dependency>
4134 <dependency>
4135- <groupId>net.sf.ehcache</groupId>
4136- <artifactId>ehcache</artifactId>
4137- <version>1.5.0</version>
4138+ <groupId>org.hibernate</groupId>
4139+ <artifactId>hibernate-entitymanager</artifactId>
4140+ <version>3.5.1-Final</version>
4141+ </dependency>
4142+ <dependency>
4143+ <groupId>org.slf4j</groupId>
4144+ <artifactId>slf4j-log4j12</artifactId>
4145+ <version>1.5.8</version>
4146+ </dependency>
4147+
4148+ <dependency>
4149+ <groupId>net.sf.ehcache</groupId>
4150+ <artifactId>ehcache-core</artifactId>
4151+ <version>2.0.1</version>
4152+ </dependency>
4153+ <dependency>
4154+ <groupId>net.sf.ehcache</groupId>
4155+ <artifactId>ehcache-terracotta</artifactId>
4156+ <version>2.0.1</version>
4157 </dependency>
4158 <dependency>
4159 <groupId>geronimo-spec</groupId>
4160@@ -479,7 +505,7 @@
4161 <dependency>
4162 <groupId>org.springframework.security</groupId>
4163 <artifactId>spring-security-core</artifactId>
4164- <version>2.0.5.RELEASE</version>
4165+ <version>3.0.2.RELEASE</version>
4166 <exclusions>
4167 <exclusion>
4168 <groupId>org.springframework</groupId>
4169@@ -501,8 +527,13 @@
4170 </dependency>
4171 <dependency>
4172 <groupId>org.springframework.security</groupId>
4173- <artifactId>spring-security-core-tiger</artifactId>
4174- <version>2.0.5.RELEASE</version>
4175+ <artifactId>spring-security-web</artifactId>
4176+ <version>3.0.2.RELEASE</version>
4177+ </dependency>
4178+ <dependency>
4179+ <groupId>org.springframework.security</groupId>
4180+ <artifactId>spring-security-config</artifactId>
4181+ <version>3.0.2.RELEASE</version>
4182 </dependency>
4183 <!--Reporting -->
4184 <dependency>
4185@@ -619,5 +650,6 @@
4186 <properties>
4187 <rootDir></rootDir>
4188 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4189+ <spring.version>3.0.2.RELEASE</spring.version>
4190 </properties>
4191 </project>