📄 userpropertymanagerejb.java
字号:
/* * Copyright 2006-2007 Queplix Corp. * * Licensed under the Queplix Public License, Version 1.1.1 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.queplix.com/solutions/commercial-open-source/queplix-public-license/ * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */package com.queplix.core.modules.config.ejb;import com.queplix.core.integrator.security.User;import com.queplix.core.modules.config.utils.ConfigPropertyFactory;import com.queplix.core.modules.config.utils.DialogSetting;import com.queplix.core.modules.config.utils.UserPropertyID;import com.queplix.core.modules.config.utils.GridSetting;import com.queplix.core.modules.config.utils.GridSettingDefImpl;import com.queplix.core.utils.StringHelper;import com.queplix.core.utils.cache.Cache;import com.queplix.core.utils.ejb.AbstractSessionEJB;import java.util.Collection;import java.util.LinkedList;import java.util.Map;import java.util.HashMap;/** * User properties management session EJB. * * @author [DAG] Dmitry Gaponenko * @author [ALB] Baranov Andrey * @author [ONZ] Oleg N. Zhovtanyuk * @version $Revision: 1.1.1.1 $ $Date: 2005/09/12 15:30:15 $ */public class UserPropertyManagerEJB extends AbstractSessionEJB { private static final String FIELDS_FOR_GRID_PROP_PREFIX = "__fieldForGrid_"; private static final String DIALOG_SETTINGS_PROP_PREFIX = "__dialogUISettings_"; private static final String GRID_SETTINGS_PROP_PREFIX = "__gridSettings_"; private static final String DIVIDER_UI_SETTINGS_CHAR = ":"; /** * Initialize bean. */ public void ejbCreate() { } /** * Delete user property. * * @param propId property id * @param user User object * @return UserPropertyID */ public UserPropertyID deleteUserProperty(String propId, User user) { if(getLogger().isDebugEnabled()) { DEBUG("Try to delete user property" + ". Id: " + propId + ". User: " + user + "."); } // Delete record. UserPropertyID key = new UserPropertyID(propId, user.getUserID(), user.getAuthenticationType()); ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().deleteUserProperty(key); // Remove from cache. Cache cache = ConfigPropertyFactory.getInstance().getUserPropertyConfigCache(); cache.remove(key); // Ok. return key; } /** * Create user property. * * @param propId property id * @param value some value * @param user User object */ public void createUserProperty(String propId, String value, User user) { if(getLogger().isDebugEnabled()) { DEBUG("Try to create user property" + ". Id: " + propId + ". User: " + user + ". Value: " + value + "."); } // Insert new record. UserPropertyID key = new UserPropertyID(propId, user.getUserID(), user.getAuthenticationType()); ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().createUserProperty(key, value); // Store in cache. Cache cache = ConfigPropertyFactory.getInstance().getUserPropertyConfigCache(); cache.put(key, value); } /** * Set user property. * * @param propId property id * @param value some value * @param user User object * @return UserPropertyID */ public UserPropertyID setUserProperty(String propId, String value, User user) { if(getLogger().isDebugEnabled()) { DEBUG("Try to update user property" + ". Id: " + propId + ". User: " + user + ". Value: " + value + "."); } // Update record. UserPropertyID key = new UserPropertyID(propId, user.getUserID(), user.getAuthenticationType()); boolean areEqual = false; Cache cache = ConfigPropertyFactory.getInstance().getUserPropertyConfigCache(); if(cache.containsKey(key)) { String cachedValue = (String) cache.get(key); if(cachedValue != null) { if(cachedValue.equals(value)) { areEqual = true; } } else if(value == null) { areEqual = true; } } if(!areEqual) { int rows = ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().updateUserProperty(key, value); if(rows == 0) { // insert record createUserProperty(propId, value, user); } else { // store in cache cache.put(key, value); } } return key; } /** * Get user property. * * @param propId property id * @param user User object * @return some value */ public String getUserProperty(String propId, User user) { if(getLogger().isDebugEnabled()) { DEBUG("Try to get user property" + ". Id: " + propId + ". User: " + user + "."); } // Try to find out in cache. UserPropertyID key = new UserPropertyID(propId, user.getUserID(), user.getAuthenticationType()); String value; Cache cache = ConfigPropertyFactory.getInstance().getUserPropertyConfigCache(); if(!cache.containsKey(key)) { // Load property from database. value = ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().loadUserProperty(key); // Store in cache. cache.put(key, value); } else { // Found in cache! if(getLogger().isDebugEnabled()) { DEBUG("Property '" + key + "' found in cache."); } value = (String) cache.get(key); } return value; } /** * Get all user properties as a map * * @param user User object * @return map of properties */ public Map getAllUserProperties(User user) { if(getLogger().isDebugEnabled()) { DEBUG("Try to get all user properties" + ". User: " + user + "."); } // Load properties from database. return ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().loadAllUserProperty(user); } /** * Retrieves collections of fields to represent in grid * * @param user User object * @param entity Entity name * @return Array of fields names */ public String[] getFieldsForGrid(User user, String entity) { String[] fields = null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -