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

📄 usersettingsmanager.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 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.integrator;

import com.queplix.core.client.app.vo.FamgMeta;
import com.queplix.core.client.app.vo.FieldMeta;
import com.queplix.core.client.app.vo.FocusMeta;
import com.queplix.core.client.app.vo.MetaData;
import com.queplix.core.client.app.vo.SubFocusMeta;
import com.queplix.core.client.app.vo.TabMeta;
import com.queplix.core.client.app.vo.uisettings.DialogUISettings;
import com.queplix.core.client.app.vo.uisettings.GridUISettings;
import com.queplix.core.integrator.security.LogonSession;
import com.queplix.core.integrator.security.User;
import com.queplix.core.integrator.security.WebLoginManager;
import com.queplix.core.modules.config.ejb.UserPropertyManagerLocal;
import com.queplix.core.modules.config.utils.DialogSetting;
import com.queplix.core.modules.config.utils.GridSettingDefImpl;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

/**
 * Contains fucntions to manage user UI settings
 *
 * @author Sergey Kozmin
 * @since 01.02.2007
 */
public class UserSettingsManager {

    public static void saveUserUISettings(MetaData meta, HttpServletRequest request) {
        if(meta != null) {
            ServletContext ctx = request.getSession().getServletContext();
            UserPropertyManagerLocal propertiesMrg = IntegratorHelper.getActionContext(ctx).getUserPropertyManager();
            LogonSession ls = WebLoginManager.getLogonSession(request);
            User user = ls.getUser();
            propertiesMrg.deleteDialogUISettings(user);
            propertiesMrg.deleteGridSettings(user);
            DialogSettingsWrapper wrp = new DialogSettingsWrapper();
            GridSettingDefImpl gsw = new GridSettingDefImpl();
            //update all saveable settings
            for(FocusMeta focusMeta : meta.getFocuses()) {
                for(SubFocusMeta subFocusMeta : focusMeta.getSubFocuses()) {
                    for(TabMeta tabMeta : subFocusMeta.getTabs()) {
                        for(FamgMeta famgMeta : tabMeta.getFamgs()) {
                            for(FieldMeta fieldMeta : famgMeta.getForm().getEntityMeta().getFields()) {
                                DialogUISettings set = fieldMeta.getUISettings();
                                if(set != null && (set.isPositionSet() || set.isSizeSet())) {
                                    wrp.initialize(set, famgMeta.getFormID(), fieldMeta.getFieldID());
                                    propertiesMrg.updateDialogUISettings(user, wrp);
                                }
                            }
                            GridUISettings gridSets = famgMeta.getGrid().getUISettings();
                            if(gridSets != null && (gridSets.isPageSizeSet() || gridSets.isAnyColumnWidthSet() || gridSets.isCounterOn())) {
                                gsw.initialize(famgMeta.getFormID(), gridSets.isCounterOn(), gridSets.getPageSize(),
                                        gridSets.getColumnWidths());
                                propertiesMrg.updateGridSettings(user, gsw);
                            }
                        }
                    }
                }
            }
        } else {
            throw new IllegalArgumentException("Could not save user UI settings. Application metadata could not be a null object. ");
        }
    }
    
    private static final class DialogSettingsWrapper implements DialogSetting {
        private DialogUISettings dialogSettings;
        private String formId;
        private String fieldId;

        public void initialize(DialogUISettings dialogSettings, String formId, String fieldId) {
            this.fieldId = fieldId;
            this.formId = formId;
            this.dialogSettings = dialogSettings;
        }

        public String getFormId() {
            return formId;
        }

        public String getFieldId() {
            return fieldId;
        }

        public int getLeft() {
            return dialogSettings.getLeft();
        }

        public int getTop() {
            return dialogSettings.getTop();
        }

        public int getWidth() {
            return dialogSettings.getWidth();
        }

        public int getHeight() {
            return dialogSettings.getHeight();
        }
    }
}

⌨️ 快捷键说明

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