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

📄 userpropertymanagerejb.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        String fieldsValue = getUserProperty(FIELDS_FOR_GRID_PROP_PREFIX + entity, user);        if(fieldsValue != null) {            fields = StringHelper.split(fieldsValue, ";");        }        return fields;    }    /**     * Sets collections of fields represented in grid     *     * @param user   User object     * @param entity Entity name     * @param fields Fields names to set.     */    public UserPropertyID setFieldsForGrid(User user, String entity, String[] fields) {        String fieldsValue = StringHelper.join(fields, ";");        return setUserProperty(FIELDS_FOR_GRID_PROP_PREFIX + entity, fieldsValue, user);    }    /**     * Delete all dialog ui settings for the given user     * @param user user     */    public void deleteDialogUISettings(User user) {        deletePropsStartsWith(user, DIALOG_SETTINGS_PROP_PREFIX);    }    /**     * Updates the given dialog ui settings without any cleaning for the given user.     * @param user user     * @param settingsToSave settings to save     */    public void updateDialogUISettings(User user, DialogSetting settingsToSave) {        setUserProperty(getSerizlizedDialogSettingKey(settingsToSave), getSerializedDialogSettingValue(settingsToSave), user);    }    /**     * We delete all user settings and recreate it again to optimize future all props loading.     *     * @param user           user     * @param settingsToSave settings to save     */    public void resetDialogUISettings(User user, Collection<DialogSetting> settingsToSave) {        deleteDialogUISettings(user);        for(DialogSetting dialogSetting : settingsToSave) {            setUserProperty(getSerizlizedDialogSettingKey(dialogSetting), getSerializedDialogSettingValue(dialogSetting), user);        }    }    public Collection<DialogSetting> loadDialogsUISettings(User user) {        Collection<DialogSetting> ret = new LinkedList<DialogSetting>();        Map<String, String> uiProps = ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().                loadUserPropertiesLike(user, DIALOG_SETTINGS_PROP_PREFIX);        for(String uiElementId : uiProps.keySet()) {            DialogSetting setting = deserializeDialogSettings(uiElementId, uiProps.get(uiElementId));            if(setting != null) {                ret.add(setting);            }        }        return ret;    }    public void deleteGridSettings(User user) {        deletePropsStartsWith(user, GRID_SETTINGS_PROP_PREFIX);    }    public void updateGridSettings(User user, GridSetting settingsToSave) {        setUserProperty(getSerizlizedGridSettingKey(settingsToSave), getSerializedGridSettingValue(settingsToSave), user);    }    public Collection<GridSetting> loadGridSettings(User user) {        Collection<GridSetting> ret = new LinkedList<GridSetting>();        Map<String, String> uiProps = ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().                loadUserPropertiesLike(user, GRID_SETTINGS_PROP_PREFIX);        for(String uiElementId : uiProps.keySet()) {            GridSetting setting = deserializeGridSettings(uiElementId, uiProps.get(uiElementId));            if(setting != null) {                ret.add(setting);            }        }        return ret;    }    private void deletePropsStartsWith(User user, String propStarting) {        ConfigPropertyFactory.getInstance().getUserPropertyConfigDAO().deleteUserPropertiesLike(user, propStarting);        //clear all cache for user, because we need to be sure, that procedure updateUserProperty(key, value) works properly and store it in DB.        Cache cache = ConfigPropertyFactory.getInstance().getUserPropertyConfigCache();        Collection<UserPropertyID> toDelete = new LinkedList<UserPropertyID>();        for(Object objKey : cache.keys()) {            UserPropertyID key = (UserPropertyID) objKey;            if(key.getUserId() == user.getUserID() && key.getId().startsWith(propStarting)) {                toDelete.add(key);            }        }        for(UserPropertyID key : toDelete) {            cache.remove(key);        }    }    private String getSerializedDialogSettingValue(DialogSetting dialogSetting) {        return dialogSetting.getLeft() + DIVIDER_UI_SETTINGS_CHAR + dialogSetting.getTop() +                DIVIDER_UI_SETTINGS_CHAR + dialogSetting.getWidth() + DIVIDER_UI_SETTINGS_CHAR                + dialogSetting.getHeight();    }    private String getSerizlizedDialogSettingKey(DialogSetting dialogSetting) {        return DIALOG_SETTINGS_PROP_PREFIX + dialogSetting.getFormId() + DIVIDER_UI_SETTINGS_CHAR + dialogSetting.getFieldId();    }    private DialogSetting deserializeDialogSettings(String uiElementId, String uiElementValue) {        String formAndField = uiElementId.substring(DIALOG_SETTINGS_PROP_PREFIX.length());        String formAndFieldArr[] = formAndField.split(DIVIDER_UI_SETTINGS_CHAR);        String sizes[] = uiElementValue.split(DIVIDER_UI_SETTINGS_CHAR);        DialogSetting ret = null;        if((formAndFieldArr.length >= 2) && (sizes.length >= 4)) {            try {                int left = Integer.parseInt(sizes[0]);                int top = Integer.parseInt(sizes[1]);                int width = Integer.parseInt(sizes[2]);                int height = Integer.parseInt(sizes[3]);                ret = new DialogSettingImpl(formAndFieldArr[0], formAndFieldArr[1], left, top, width, height);            } catch (Exception e) {                //do nothing just return the null value            }        }        return ret;    }    private String getSerializedGridSettingValue(GridSetting settings) {        StringBuffer ret = new StringBuffer(Boolean.toString(settings.isCounterOn()) + DIVIDER_UI_SETTINGS_CHAR                + Integer.toString(settings.getPageSize()) + DIVIDER_UI_SETTINGS_CHAR);        Map<String, Integer> columnWidths = settings.getColumnWidths();        if(columnWidths != null) {            for(String columnName : columnWidths.keySet()) {                ret.append(columnName).append(DIVIDER_UI_SETTINGS_CHAR).append(columnWidths.get(columnName)).append(DIVIDER_UI_SETTINGS_CHAR);            }        }        return ret.toString();    }    private String getSerizlizedGridSettingKey(GridSetting setting) {        return GRID_SETTINGS_PROP_PREFIX + setting.getFormID();    }    private GridSetting deserializeGridSettings(String gridElementId, String gridElementValue) {        String formId = gridElementId.substring(GRID_SETTINGS_PROP_PREFIX.length());        String params[] = gridElementValue.split(DIVIDER_UI_SETTINGS_CHAR);        GridSettingDefImpl setts = null;        if(params.length >= 2) {            try {                boolean isCounter = Boolean.parseBoolean(params[0]);                int pageSize = Integer.parseInt(params[1]);                Map<String, Integer> columnsWidth = new HashMap<String, Integer>();                for(int i = 2; i < params.length - 1; i=i+2) {                    String columnName = params[i];                    String columnWidth = params[i + 1];                    Integer width = Integer.parseInt(columnWidth);                    columnsWidth.put(columnName, width);                }                setts = new GridSettingDefImpl(formId, isCounter, pageSize, columnsWidth);            } catch (Exception e) {                //do nothing just return the null value            }        }        return setts;    }    private static class DialogSettingImpl implements DialogSetting {        private String formId;        private String fieldId;        private int left;        private int top;        private int width;        private int height;        public DialogSettingImpl(String formId, String fieldId, int left, int top, int width, int height) {            this.formId = formId;            this.fieldId = fieldId;            this.left = left;            this.top = top;            this.width = width;            this.height = height;        }        public String getFormId() {            return formId;        }        public String getFieldId() {            return fieldId;        }        public int getLeft() {            return left;        }        public int getTop() {            return top;        }        public int getWidth() {            return width;        }        public int getHeight() {            return height;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -