dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #34645
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17773: User settings, cleanup. Moved all methods related to user settings from UserService to UserSettin...
------------------------------------------------------------
revno: 17773
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2014-12-22 12:16:13 +0100
message:
User settings, cleanup. Moved all methods related to user settings from UserService to UserSettingService.
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingStore.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/AbstractPropertyIntrospectorService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/sms/SmsMessageSender.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserSettingService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/UserSettingDeletionHandler.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserSettingStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java
dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddUserAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/DeleteCurrentUserAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/SetupTreeAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/UpdateUserAction.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserService.java 2014-12-19 15:42:38 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserService.java 2014-12-22 11:16:13 +0000
@@ -1,17 +1,5 @@
package org.hisp.dhis.user;
-import org.hisp.dhis.dataelement.CategoryOptionGroup;
-import org.hisp.dhis.dataelement.DataElementCategoryOption;
-import org.hisp.dhis.dataset.DataSet;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
/*
* Copyright (c) 2004-2014, University of Oslo
* All rights reserved.
@@ -40,6 +28,16 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+import org.hisp.dhis.dataelement.CategoryOptionGroup;
+import org.hisp.dhis.dataelement.DataElementCategoryOption;
+import org.hisp.dhis.dataset.DataSet;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+
/**
* @author Chau Thu Tran
* @version $Id$
@@ -404,88 +402,6 @@
*/
void canIssueFilter( Collection<UserAuthorityGroup> userRoles );
- // -------------------------------------------------------------------------
- // UserSettings
- // -------------------------------------------------------------------------
-
- /**
- * Adds a UserSetting.
- *
- * @param userSetting the UserSetting to add.
- */
- void addUserSetting( UserSetting userSetting );
-
- /**
- * If a matching UserSetting exists, based on its user and name, it will be
- * updated, if not, the given UserSetting will be added.
- *
- * @param userSetting the UserSetting.
- */
- void addOrUpdateUserSetting( UserSetting userSetting );
-
- /**
- * Updates a UserSetting.
- *
- * @param userSetting the UserSetting to update.
- */
- void updateUserSetting( UserSetting userSetting );
-
- /**
- * Retrieves the UserSetting associated with the given User for the given
- * UserSetting name.
- *
- * @param user the User.
- * @param name the name of the UserSetting.
- * @return the UserSetting.
- */
- UserSetting getUserSetting( User user, String name );
-
- /**
- * Retrieves a user setting value for the given user and setting name. Returns
- * the given default value if the setting does not exist or the setting value
- * is null.
- *
- * @param user the user.
- * @param name the setting name.
- * @param defaultValue the default value.
- * @return a setting value.
- */
- Serializable getUserSettingValue( User user, String name, Serializable defaultValue );
-
- /**
- * Retrieves all UserSettings for the given User.
- *
- * @param user the User.
- * @return a Collection of UserSettings.
- */
- Collection<UserSetting> getAllUserSettings( User user );
-
- Collection<UserSetting> getUserSettings( String name );
-
- /**
- * Deletes a UserSetting.
- *
- * @param userSetting the UserSetting to delete.
- */
- void deleteUserSetting( UserSetting userSetting );
-
- /**
- * Returns a Map with an entry for all UserSettings with the given name where
- * the key is the user and the value is the value of the user setting.
- *
- * @param name the name of the UserSetting.
- * @param defaultValue the value to return if the UserSetting value is null.
- * @return a Map.
- */
- Map<User, Serializable> getUserSettings( String name, Serializable defaultValue );
-
- /**
- * Removes all user settings associated with the given user.
- *
- * @param user the user.
- */
- void removeUserSettings( User user );
-
Collection<User> getUsersByName( String name );
Collection<String> getUsernames( String query, Integer max );
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java 2014-05-15 16:58:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java 2014-12-22 11:16:13 +0000
@@ -32,6 +32,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
/**
* The main interface for working with user settings. Implementation need to get
@@ -60,6 +61,94 @@
final List<Integer> DASHBOARD_CHARTS_TO_DISPLAY = Arrays.asList( 4, 6, 8 );
+ // -------------------------------------------------------------------------
+ // UserSettings
+ // -------------------------------------------------------------------------
+
+ /**
+ * Adds a UserSetting.
+ *
+ * @param userSetting the UserSetting to add.
+ */
+ void addUserSetting( UserSetting userSetting );
+
+ /**
+ * If a matching UserSetting exists, based on its user and name, it will be
+ * updated, if not, the given UserSetting will be added.
+ *
+ * @param userSetting the UserSetting.
+ */
+ void addOrUpdateUserSetting( UserSetting userSetting );
+
+ /**
+ * Updates a UserSetting.
+ *
+ * @param userSetting the UserSetting to update.
+ */
+ void updateUserSetting( UserSetting userSetting );
+
+ /**
+ * Retrieves the UserSetting associated with the given User for the given
+ * UserSetting name.
+ *
+ * @param user the User.
+ * @param name the name of the UserSetting.
+ * @return the UserSetting.
+ */
+ UserSetting getUserSetting( User user, String name );
+
+ /**
+ * Retrieves a user setting value for the given user and setting name. Returns
+ * the given default value if the setting does not exist or the setting value
+ * is null.
+ *
+ * @param user the user.
+ * @param name the setting name.
+ * @param defaultValue the default value.
+ * @return a setting value.
+ */
+ Serializable getUserSettingValue( User user, String name, Serializable defaultValue );
+
+ /**
+ * Retrieves all UserSettings for the given User.
+ *
+ * @param user the User.
+ * @return a Collection of UserSettings.
+ */
+ Collection<UserSetting> getAllUserSettings( User user );
+
+ /**
+ * Retrieves all UserSettings with the given name.
+ *
+ * @param name the name.
+ * @return a Collection of UserSettings.
+ */
+ Collection<UserSetting> getUserSettings( String name );
+
+ /**
+ * Deletes a UserSetting.
+ *
+ * @param userSetting the UserSetting to delete.
+ */
+ void deleteUserSetting( UserSetting userSetting );
+
+ /**
+ * Returns a Map with an entry for all UserSettings with the given name where
+ * the key is the user and the value is the value of the user setting.
+ *
+ * @param name the name of the UserSetting.
+ * @param defaultValue the value to return if the UserSetting value is null.
+ * @return a Map.
+ */
+ Map<User, Serializable> getUserSettings( String name, Serializable defaultValue );
+
+ /**
+ * Removes all user settings associated with the given user.
+ *
+ * @param user the user.
+ */
+ void removeUserSettings( User user );
+
/**
* Saves the name/value pair as a user setting connected to the currently
* logged in user.
@@ -107,7 +196,7 @@
*
* @param name the name of the user setting.
* @param defaultValue the value to return if there is no current user or no
- * user setting correspoinding to the given name.
+ * user setting corresponding to the given name.
* @return the value corresponding to the names user setting, or the default
* value if there is no current user or matching user setting.
*/
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingStore.java 2014-10-01 10:19:12 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingStore.java 2014-12-22 11:16:13 +0000
@@ -50,4 +50,11 @@
* @return a Collection of UserSettings.
*/
Collection<UserSetting> getUserSettings( String name );
+
+ /**
+ * Removes all user settings associated with the given user.
+ *
+ * @param user the user.
+ */
+ void removeUserSettings( User user );
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserStore.java 2014-03-18 08:10:10 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserStore.java 2014-12-22 11:16:13 +0000
@@ -68,12 +68,11 @@
Collection<User> getUsersByPhoneNumber( String phoneNumber );
/**
- * Removes all user settings associated with the given user.
+ * Returns all users with the given name. Matches on the first name and
+ * surname properties of the user.
*
- * @param user the user.
+ * @param name the name.
+ * @return a Collection of Users.
*/
- void removeUserSettings( User user );
-
Collection<User> getUsersByName( String name );
-
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java 2014-11-18 12:55:20 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java 2014-12-22 11:16:13 +0000
@@ -44,7 +44,7 @@
import org.hisp.dhis.setting.SystemSettingManager;
import org.hisp.dhis.system.util.DebugUtils;
import org.hisp.dhis.user.User;
-import org.hisp.dhis.user.UserService;
+import org.hisp.dhis.user.UserSettingService;
import org.springframework.scheduling.annotation.Async;
/**
@@ -78,11 +78,11 @@
this.configurationService = configurationService;
}
- private UserService userService;
+ private UserSettingService userSettingService;
- public void setUserService( UserService userService )
+ public void setUserSettingService( UserSettingService userSettingService )
{
- this.userService = userService;
+ this.userSettingService = userSettingService;
}
// -------------------------------------------------------------------------
@@ -124,7 +124,7 @@
for ( User user : users )
{
- boolean doSend = forceSend || (Boolean) userService.getUserSettingValue( user, KEY_MESSAGE_EMAIL_NOTIFICATION, false );
+ boolean doSend = forceSend || (Boolean) userSettingService.getUserSettingValue( user, KEY_MESSAGE_EMAIL_NOTIFICATION, false );
if ( doSend && user.getEmail() != null && !user.getEmail().trim().isEmpty() )
{
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/AbstractPropertyIntrospectorService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/AbstractPropertyIntrospectorService.java 2014-12-19 13:27:39 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/AbstractPropertyIntrospectorService.java 2014-12-22 11:16:13 +0000
@@ -28,9 +28,11 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
*/
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.SessionFactory;
import org.hibernate.mapping.Collection;
import org.hibernate.mapping.Column;
@@ -53,10 +55,9 @@
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
@@ -139,7 +140,7 @@
LocalSessionFactoryBean sessionFactoryBean = getLocalSessionFactoryBean();
PersistentClass persistentClass = sessionFactoryBean.getConfiguration().getClassMapping( klass.getName() );
- Iterator propertyIterator = persistentClass.getPropertyClosureIterator();
+ Iterator<?> propertyIterator = persistentClass.getPropertyClosureIterator();
Map<String, Property> properties = new HashMap<>();
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java 2014-12-19 15:42:38 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java 2014-12-22 11:16:13 +0000
@@ -117,6 +117,9 @@
@Autowired
private CurrentUserService currentUserService;
+
+ @Autowired
+ private UserSettingService userSettingService;
@Autowired
private AclService aclService;
@@ -231,7 +234,7 @@
vars.put( "username", credentials.getUsername() );
User user = credentials.getUser();
- Locale locale = (Locale) userService.getUserSettingValue( user, UserSettingService.KEY_UI_LOCALE, LocaleManager.DHIS_STANDARD_LOCALE );
+ Locale locale = (Locale) userSettingService.getUserSettingValue( user, UserSettingService.KEY_UI_LOCALE, LocaleManager.DHIS_STANDARD_LOCALE );
I18n i18n = i18nManager.getI18n( locale );
vars.put( "i18n" , i18n );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/sms/SmsMessageSender.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/sms/SmsMessageSender.java 2014-09-10 04:36:51 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/sms/SmsMessageSender.java 2014-12-22 11:16:13 +0000
@@ -43,7 +43,6 @@
import org.hisp.dhis.sms.outbound.OutboundSmsTransportService;
import org.hisp.dhis.user.CurrentUserService;
import org.hisp.dhis.user.User;
-import org.hisp.dhis.user.UserService;
import org.hisp.dhis.user.UserSetting;
import org.hisp.dhis.user.UserSettingService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,26 +63,15 @@
// Dependencies
// -------------------------------------------------------------------------
+ @Autowired
private CurrentUserService currentUserService;
- public void setCurrentUserService( CurrentUserService currentUserService )
- {
- this.currentUserService = currentUserService;
- }
-
- private UserService userService;
-
- public void setUserService( UserService userService )
- {
- this.userService = userService;
- }
+ @Autowired
+ private UserSettingService userSettingService;
@Autowired
private OutboundSmsTransportService outboundSmsTransportService;
- /**
- * Note this methods is invoked asynchronously.
- */
// @Async
@Override
public String sendMessage( String subject, String text, User sender, Set<User> users, boolean forceSend )
@@ -187,8 +175,7 @@
else
// Receiver is user
{
- UserSetting userSetting = userService
- .getUserSetting( user, UserSettingService.KEY_MESSAGE_SMS_NOTIFICATION );
+ UserSetting userSetting = userSettingService.getUserSetting( user, UserSettingService.KEY_MESSAGE_SMS_NOTIFICATION );
return (userSetting != null && userSetting.getValue() != null) ? (Boolean) userSetting.getValue() : false;
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java 2014-12-19 15:56:06 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java 2014-12-22 11:16:13 +0000
@@ -30,15 +30,12 @@
import static org.hisp.dhis.setting.SystemSettingManager.KEY_CAN_GRANT_OWN_USER_AUTHORITY_GROUPS;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
@@ -95,13 +92,6 @@
this.userAuthorityGroupStore = userAuthorityGroupStore;
}
- private UserSettingStore userSettingStore;
-
- public void setUserSettingStore( UserSettingStore userSettingStore )
- {
- this.userSettingStore = userSettingStore;
- }
-
private CurrentUserService currentUserService;
public void setCurrentUserService( CurrentUserService currentUserService )
@@ -714,91 +704,12 @@
// -------------------------------------------------------------------------
@Override
- public void addUserSetting( UserSetting userSetting )
- {
- userSettingStore.addUserSetting( userSetting );
- }
-
- @Override
- public void addOrUpdateUserSetting( UserSetting userSetting )
- {
- UserSetting setting = getUserSetting( userSetting.getUser(), userSetting.getName() );
-
- if ( setting != null )
- {
- setting.mergeWith( userSetting );
- updateUserSetting( setting );
- }
- else
- {
- addUserSetting( userSetting );
- }
- }
-
- @Override
- public void updateUserSetting( UserSetting userSetting )
- {
- userSettingStore.updateUserSetting( userSetting );
- }
-
- @Override
- public void deleteUserSetting( UserSetting userSetting )
- {
- userSettingStore.deleteUserSetting( userSetting );
- }
-
- @Override
- public Collection<UserSetting> getAllUserSettings( User user )
- {
- return userSettingStore.getAllUserSettings( user );
- }
-
- @Override
- public Collection<UserSetting> getUserSettings( String name )
- {
- return userSettingStore.getUserSettings( name );
- }
-
- @Override
- public UserSetting getUserSetting( User user, String name )
- {
- return userSettingStore.getUserSetting( user, name );
- }
-
- @Override
- public Serializable getUserSettingValue( User user, String name, Serializable defaultValue )
- {
- UserSetting setting = getUserSetting( user, name );
-
- return setting != null && setting.getValue() != null ? setting.getValue() : defaultValue;
- }
-
- @Override
- public Map<User, Serializable> getUserSettings( String name, Serializable defaultValue )
- {
- Map<User, Serializable> map = new HashMap<>();
-
- for ( UserSetting setting : userSettingStore.getUserSettings( name ) )
- {
- map.put( setting.getUser(), setting.getValue() != null ? setting.getValue() : defaultValue );
- }
-
- return map;
- }
-
- @Override
public Collection<User> getUsersByOrganisationUnits( Collection<OrganisationUnit> units )
{
return userStore.getUsersByOrganisationUnits( units );
}
@Override
- public void removeUserSettings( User user )
- {
- userStore.removeUserSettings( user );
- }
-
- @Override
public Collection<String> getUsernames( String query, Integer max )
{
return userCredentialsStore.getUsernames( query, max );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserSettingService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserSettingService.java 2014-10-16 06:17:19 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserSettingService.java 2014-12-22 11:16:13 +0000
@@ -33,6 +33,8 @@
import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author Torgeir Lorange Ostby
@@ -53,6 +55,13 @@
this.currentUserService = currentUserService;
}
+ private UserSettingStore userSettingStore;
+
+ public void setUserSettingStore( UserSettingStore userSettingStore )
+ {
+ this.userSettingStore = userSettingStore;
+ }
+
private UserService userService;
public void setUserService( UserService userService )
@@ -65,6 +74,89 @@
// -------------------------------------------------------------------------
@Override
+ public void addUserSetting( UserSetting userSetting )
+ {
+ userSettingStore.addUserSetting( userSetting );
+ }
+
+ @Override
+ public void addOrUpdateUserSetting( UserSetting userSetting )
+ {
+ UserSetting setting = getUserSetting( userSetting.getUser(), userSetting.getName() );
+
+ if ( setting != null )
+ {
+ setting.mergeWith( userSetting );
+ updateUserSetting( setting );
+ }
+ else
+ {
+ addUserSetting( userSetting );
+ }
+ }
+
+ @Override
+ public void updateUserSetting( UserSetting userSetting )
+ {
+ userSettingStore.updateUserSetting( userSetting );
+ }
+
+ @Override
+ public void deleteUserSetting( UserSetting userSetting )
+ {
+ userSettingStore.deleteUserSetting( userSetting );
+ }
+
+ @Override
+ public Collection<UserSetting> getAllUserSettings( User user )
+ {
+ return userSettingStore.getAllUserSettings( user );
+ }
+
+ @Override
+ public Collection<UserSetting> getUserSettings( String name )
+ {
+ return userSettingStore.getUserSettings( name );
+ }
+
+ @Override
+ public UserSetting getUserSetting( User user, String name )
+ {
+ return userSettingStore.getUserSetting( user, name );
+ }
+
+ @Override
+ public Serializable getUserSettingValue( User user, String name, Serializable defaultValue )
+ {
+ UserSetting setting = getUserSetting( user, name );
+
+ return setting != null && setting.getValue() != null ? setting.getValue() : defaultValue;
+ }
+
+ @Override
+ public Map<User, Serializable> getUserSettings( String name, Serializable defaultValue )
+ {
+ Map<User, Serializable> map = new HashMap<>();
+
+ for ( UserSetting setting : userSettingStore.getUserSettings( name ) )
+ {
+ map.put( setting.getUser(), setting.getValue() != null ? setting.getValue() : defaultValue );
+ }
+
+ return map;
+ }
+
+ @Override
+ public void removeUserSettings( User user )
+ {
+ userSettingStore.removeUserSettings( user );
+ }
+
+ // -------------------------------------------------------------------------
+ // UserSettingService implementation
+ // -------------------------------------------------------------------------
+
+ @Override
public void saveUserSetting( String name, Serializable value )
{
User currentUser = currentUserService.getCurrentUser();
@@ -90,7 +182,7 @@
return;
}
- UserSetting userSetting = userService.getUserSetting( user, name );
+ UserSetting userSetting = getUserSetting( user, name );
if ( userSetting == null )
{
@@ -99,13 +191,13 @@
userSetting.setName( name );
userSetting.setValue( value );
- userService.addUserSetting( userSetting );
+ addUserSetting( userSetting );
}
else
{
userSetting.setValue( value );
- userService.updateUserSetting( userSetting );
+ updateUserSetting( userSetting );
}
}
@@ -132,7 +224,7 @@
return null;
}
- UserSetting userSetting = userService.getUserSetting( currentUser, name );
+ UserSetting userSetting = getUserSetting( currentUser, name );
if ( userSetting != null )
{
@@ -152,7 +244,7 @@
return defaultValue;
}
- UserSetting userSetting = userService.getUserSetting( currentUser, name );
+ UserSetting userSetting = getUserSetting( currentUser, name );
if ( userSetting != null )
{
@@ -172,7 +264,7 @@
return Collections.emptySet();
}
- return userService.getAllUserSettings( currentUser );
+ return getAllUserSettings( currentUser );
}
@Override
@@ -182,7 +274,7 @@
if ( currentUser != null )
{
- userService.deleteUserSetting( userService.getUserSetting( currentUser, name ) );
+ deleteUserSetting( getUserSetting( currentUser, name ) );
}
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/UserSettingDeletionHandler.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/UserSettingDeletionHandler.java 2014-10-15 04:17:05 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/UserSettingDeletionHandler.java 2014-12-22 11:16:13 +0000
@@ -33,7 +33,6 @@
/**
* @author Lars Helge Overland
- * @version $Id$
*/
public class UserSettingDeletionHandler
extends DeletionHandler
@@ -43,7 +42,7 @@
// -------------------------------------------------------------------------
@Autowired
- private UserService userService;
+ private UserSettingService userSettingService;
// -------------------------------------------------------------------------
// DeletionHandler implementation
@@ -58,9 +57,9 @@
@Override
public void deleteUser( User user )
{
- for ( UserSetting setting : userService.getAllUserSettings( user ) )
+ for ( UserSetting setting : userSettingService.getAllUserSettings( user ) )
{
- userService.deleteUserSetting( setting );
+ userSettingService.deleteUserSetting( setting );
}
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserSettingStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserSettingStore.java 2014-10-16 06:17:19 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserSettingStore.java 2014-12-22 11:16:13 +0000
@@ -117,4 +117,14 @@
session.delete( userSetting );
}
+
+ @Override
+ public void removeUserSettings( User user )
+ {
+ Session session = sessionFactory.getCurrentSession();
+
+ String hql = "delete from UserSetting us where us.user = :user";
+
+ session.createQuery( hql ).setEntity( "user", user ).executeUpdate();
+ }
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java 2014-10-16 06:17:19 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java 2014-12-22 11:16:13 +0000
@@ -116,14 +116,6 @@
}
@Override
- public void removeUserSettings( User user )
- {
- String hql = "delete from UserSetting us where us.user = :user";
-
- getQuery( hql ).setEntity( "user", user ).executeUpdate();
- }
-
- @Override
@SuppressWarnings("unchecked")
public List<User> getUsersByName( String name )
{
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2014-12-22 10:31:50 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2014-12-22 11:16:13 +0000
@@ -585,6 +585,7 @@
<bean id="org.hisp.dhis.user.UserSettingService" class="org.hisp.dhis.user.DefaultUserSettingService">
<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
+ <property name="userSettingStore" ref="org.hisp.dhis.user.UserSettingStore" />
<property name="userService" ref="org.hisp.dhis.user.UserService" />
</bean>
@@ -592,7 +593,6 @@
<property name="userStore" ref="org.hisp.dhis.user.UserStore" />
<property name="userCredentialsStore" ref="org.hisp.dhis.user.UserCredentialsStore" />
<property name="userAuthorityGroupStore" ref="org.hisp.dhis.user.UserAuthorityGroupStore" />
- <property name="userSettingStore" ref="org.hisp.dhis.user.UserSettingStore" />
<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
<property name="systemSettingManager" ref="org.hisp.dhis.setting.SystemSettingManager" />
@@ -637,7 +637,7 @@
<bean id="emailMessageSender" class="org.hisp.dhis.message.EmailMessageSender">
<property name="systemSettingManager" ref="org.hisp.dhis.setting.SystemSettingManager" />
<property name="configurationService" ref="org.hisp.dhis.configuration.ConfigurationService" />
- <property name="userService" ref="org.hisp.dhis.user.UserService" />
+ <property name="userSettingService" ref="org.hisp.dhis.user.UserSettingService" />
</bean>
<bean id="org.hisp.dhis.email.EmailService" class="org.hisp.dhis.email.DefaultEmailService">
@@ -888,7 +888,6 @@
<property name="smsCommandService" ref="smsCommandService" />
<property name="messageService" ref="org.hisp.dhis.message.MessageService" />
<property name="smsMessageSender" ref="org.hisp.dhis.sms.SmsMessageSender" />
- <property name="userService" ref="org.hisp.dhis.user.UserService" />
<property name="incomingSmsService" ref="org.hisp.dhis.sms.incoming.IncomingSmsService" />
</bean>
@@ -900,10 +899,7 @@
<property name="incomingSmsService" ref="org.hisp.dhis.sms.incoming.IncomingSmsService" />
</bean>
- <bean id="org.hisp.dhis.sms.SmsMessageSender" class="org.hisp.dhis.sms.SmsMessageSender">
- <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
- <property name="userService" ref="org.hisp.dhis.user.UserService" />
- </bean>
+ <bean id="org.hisp.dhis.sms.SmsMessageSender" class="org.hisp.dhis.sms.SmsMessageSender"/>
<bean id="org.hisp.dhis.sms.task.SendSmsTask" class="org.hisp.dhis.sms.task.SendSmsTask" />
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddUserAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddUserAction.java 2014-12-21 18:12:49 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddUserAction.java 2014-12-22 11:16:13 +0000
@@ -115,6 +115,9 @@
@Autowired
private CurrentUserService currentUserService;
+
+ @Autowired
+ private UserSettingService userSettingService;
@Autowired
private UserGroupService userGroupService;
@@ -391,8 +394,8 @@
// User settings
// ---------------------------------------------------------------------
- userService.addUserSetting( new UserSetting( user, UserSettingService.KEY_UI_LOCALE, LocaleUtils.getLocale( localeUi ) ) );
- userService.addUserSetting( new UserSetting( user, UserSettingService.KEY_DB_LOCALE, LocaleUtils.getLocale( localeDb ) ) );
+ userSettingService.addUserSetting( new UserSetting( user, UserSettingService.KEY_UI_LOCALE, LocaleUtils.getLocale( localeUi ) ) );
+ userSettingService.addUserSetting( new UserSetting( user, UserSettingService.KEY_DB_LOCALE, LocaleUtils.getLocale( localeDb ) ) );
if ( ACCOUNT_ACTION_INVITE.equals( accountAction ) )
{
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/DeleteCurrentUserAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/DeleteCurrentUserAction.java 2014-11-24 14:15:14 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/DeleteCurrentUserAction.java 2014-12-22 11:16:13 +0000
@@ -29,7 +29,9 @@
*/
import com.opensymphony.xwork2.Action;
+
import java.util.Collection;
+
import org.hisp.dhis.i18n.I18n;
import org.hisp.dhis.security.migration.MigrationPasswordManager;
import org.hisp.dhis.user.CurrentUserService;
@@ -37,6 +39,8 @@
import org.hisp.dhis.user.UserCredentials;
import org.hisp.dhis.user.UserService;
import org.hisp.dhis.user.UserSetting;
+import org.hisp.dhis.user.UserSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
public class DeleteCurrentUserAction
implements Action
@@ -62,6 +66,13 @@
this.userService = userService;
}
+ @Autowired
+ private UserSettingService userSettingService;
+
+ // -------------------------------------------------------------------------
+ // Input & Output
+ // -------------------------------------------------------------------------
+
private I18n i18n;
public void setI18n( I18n i18n )
@@ -100,10 +111,14 @@
this.oldPassword = oldPassword;
}
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
@Override
public String execute() throws Exception
{
- message = " ";
+ message = "";
User user = userService.getUser( currentUserService.getCurrentUser().getId() );
UserCredentials userCredentials = userService.getUserCredentials( user );
@@ -130,11 +145,11 @@
}
else
{
- Collection<UserSetting> userSettings = userService.getAllUserSettings( user );
+ Collection<UserSetting> userSettings = userSettingService.getAllUserSettings( user );
for ( UserSetting userSetting : userSettings )
{
- userService.deleteUserSetting( userSetting );
+ userSettingService.deleteUserSetting( userSetting );
}
if ( userService.isLastSuperUser( userCredentials ) )
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/SetupTreeAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/SetupTreeAction.java 2014-10-16 06:17:19 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/SetupTreeAction.java 2014-12-22 11:16:13 +0000
@@ -52,6 +52,8 @@
import org.hisp.dhis.user.UserAuthorityGroup;
import org.hisp.dhis.user.UserCredentials;
import org.hisp.dhis.user.UserService;
+import org.hisp.dhis.user.UserSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.Action;
@@ -108,6 +110,9 @@
this.localeManager = localeManager;
}
+ @Autowired
+ private UserSettingService userSettingService;
+
// -------------------------------------------------------------------------
// Input & Output
// -------------------------------------------------------------------------
@@ -233,9 +238,9 @@
attributeValues = AttributeUtils.getAttributeValueMap( user.getAttributeValues() );
- currentLocale = (Locale) userService.getUserSettingValue( user, KEY_UI_LOCALE, LocaleManager.DHIS_STANDARD_LOCALE );
+ currentLocale = (Locale) userSettingService.getUserSettingValue( user, KEY_UI_LOCALE, LocaleManager.DHIS_STANDARD_LOCALE );
- currentLocaleDb = (Locale) userService.getUserSettingValue( user, KEY_DB_LOCALE, null );
+ currentLocaleDb = (Locale) userSettingService.getUserSettingValue( user, KEY_DB_LOCALE, null );
}
else
{
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/UpdateUserAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/UpdateUserAction.java 2014-12-19 15:42:38 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/UpdateUserAction.java 2014-12-22 11:16:13 +0000
@@ -108,6 +108,9 @@
private IdentifiableObjectManager manager;
@Autowired
+ private UserSettingService userSettingService;
+
+ @Autowired
private UserGroupService userGroupService;
@Autowired
@@ -371,8 +374,8 @@
// User settings
// ---------------------------------------------------------------------
- userService.addOrUpdateUserSetting( new UserSetting( user, UserSettingService.KEY_UI_LOCALE, LocaleUtils.getLocale( localeUi ) ) );
- userService.addOrUpdateUserSetting( new UserSetting( user, UserSettingService.KEY_DB_LOCALE, LocaleUtils.getLocale( localeDb ) ) );
+ userSettingService.addOrUpdateUserSetting( new UserSetting( user, UserSettingService.KEY_UI_LOCALE, LocaleUtils.getLocale( localeUi ) ) );
+ userSettingService.addOrUpdateUserSetting( new UserSetting( user, UserSettingService.KEY_DB_LOCALE, LocaleUtils.getLocale( localeDb ) ) );
// ---------------------------------------------------------------------
// User groups