⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userpropertymanagerejb.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * 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 + -