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

📄 propertiesaction.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        pf.setInput(mapping.getInput());
        pf.setSelectedCategory(selectedCategory);
        rebuildItems(parentCategory, pf, request, session.getUser());
        // Load the propert items
        return mapping.findForward("display");
    }

    public ActionForward configureProfiles(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                    HttpServletResponse response) throws Exception {
        return mapping.findForward("configureProfiles");
    }

    public ActionForward changeSelectedCategory(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                    HttpServletResponse response) throws Exception {
    	if (log.isDebugEnabled())
    		log.debug("Storing properties");
        DefaultPropertiesForm f = (DefaultPropertiesForm) form;
        f.storeItems();
        User user = isSetupMode() ? null : CoreServlet.getServlet().getLogonController().getUser((HttpServletRequest) request);
        f.setSelectedCategory(f.getNewSelectedCategory());
        f.setNewSelectedCategory(-1);
        rebuildItems(f.getParentCategory(), f, request, user);
        return mapping.findForward("display");
    }

    public ActionForward cancel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
                    throws Exception {
        DefaultPropertiesForm pf = (DefaultPropertiesForm) form;
        User user = isSetupMode() ? null : CoreServlet.getServlet().getLogonController().getUser((HttpServletRequest) request);
        pf.setSelectedCategory(-1);
        pf.clearValues();
        int newCategory = pf.popCategory();
        pf.setParentCategory(newCategory);
        rebuildItems(newCategory, pf, request, user);
        return mapping.findForward("display");
    }

    public ActionForward displayCategory(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                    HttpServletResponse response) throws Exception {
        DefaultPropertiesForm pf = (DefaultPropertiesForm) form;
        User user = isSetupMode() ? null : CoreServlet.getServlet().getLogonController().getUser((HttpServletRequest) request);
        pf.setSelectedCategory(-1);
        pf.pushCategory(pf.getParentCategory());
        pf.setParentCategory(pf.getNewSelectedCategory());
        pf.setNewSelectedCategory(-1);
        rebuildItems(pf.getParentCategory(), pf, request, user);
        return mapping.findForward("display");
    }

    public ActionForward commit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
                    throws Exception {
    	if (log.isDebugEnabled())
    		log.debug("Commiting properties");
        DefaultPropertiesForm f = (DefaultPropertiesForm) form;
        f.storeItems();
        ActionMessages errors = new ActionMessages();
        if (!((PropertiesForm) form).getEnabled()) {
            throw new Exception("You may not save a global property profile here.");
        }
        User user = isSetupMode() ? null : CoreServlet.getServlet().getLogonController().getUser((HttpServletRequest) request);
        SessionInfo session = getSessionInfo();
        PropertyProfile profile = CoreServlet.getServlet().getPropertyDatabase().getPropertyProfile(f.getSelectedPropertyProfile());
        
        // 
        if (f.getProfileScope().equals(Constants.SCOPE_SETUP)) {
            PolicyUtil.checkPermission(PolicyConstants.SYSTEM_CONFIGURATION_RESOURCE_TYPE,
                PolicyConstants.PERM_CHANGE, request);
        }
        else if (f.getProfileScope().equals(Constants.SCOPE_PERSONAL)) {
            ResourceUtil.checkResourceManagementRights(profile, session, PolicyConstants.PERM_CHANGE);
        }
        
        // TODO BPS - 17/02/06 - this validation should be moved to the form - im not sure why its not there
        
        if (log.isDebugEnabled())
        	log.debug("Validiting input");
        for (Iterator i = f.storedItems(); i.hasNext();) {
            PropertyItem item = (PropertyItem) i.next();
            if (item.getDefinition().getType() == PropertyDefinition.TYPE_INTEGER
                            || item.getDefinition().getType() == PropertyDefinition.TYPE_TIME_IN_MS) {
                try {
                    Integer.parseInt(item.getPropertyValue().toString());
                } catch (NumberFormatException nfe) {
                    String mrk = item.getMessageResourcesKey();
                    errors.add(Globals.ERROR_KEY, new ActionMessage("error.integerRequired", getResources(request,
                        mrk == null ? "properties" : mrk).getMessage(item.getName() + ".name")));
                }
            }
        }
        saveErrors(request, errors);
        if (errors.size() == 0) {
            for (Iterator i = f.storedItems(); i.hasNext();) {
                PropertyItem item = (PropertyItem) i.next();
                PropertyDefinition def = item.getDefinition();
                String val = null;
                val = String.valueOf(item.getPropertyValue());
                if (log.isDebugEnabled())
                	log.debug("Setting '" + def.getName() + "' to '" + val + "'");
                String propertyUser = f.getProfileScope().equals(Constants.SCOPE_PERSONAL) ? user.getPrincipalName() : "";
                PropertyUtil.getPropertyUtil().setProperty(f.getSelectedPropertyProfile(), propertyUser, def.getName(), val,
                    session);
            }
            CoreUtil.resetMainNavigation(request.getSession());
            ActionMessages messages = new ActionMessages();
            messages.add(Globals.MESSAGES_KEY, new ActionMessage("message.propertiesSaved"));
            saveMessages(request, messages);
        }
        f.clearValues();
        if (errors.size() != 0) {
            ActionForward forward = new ActionForward(f.getInput(), false);
            return forward;
        }
        if (f.getForwardTo() != null && !f.getForwardTo().equals("")) {
            return new ActionForward(f.getForwardTo(), f.isRedirect());
        } else {
//            return mapping.findForward("display");
            return cancel(mapping, form, request, response);
        }
    }

    protected String getMethodName(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                    HttpServletResponse response, String parameter) throws Exception {
        return request.getParameter("actionTarget");
    }

    protected void rebuildItems(int parentCategory, DefaultPropertiesForm pf, HttpServletRequest request, User user)
                    throws Exception {
        List categoryDefinitions = new ArrayList();
        List subCategories = new ArrayList();
        PropertyDefinitionCategory category = CoreServlet.getServlet().getPropertyDatabase().getPropertyDefinitionCategory(
            parentCategory);
        if (category == null) {
            throw new Exception("No category with ID of " + parentCategory);
        }
        for (Iterator i = category.categories(); i.hasNext();) {
            PropertyDefinitionCategory def = (PropertyDefinitionCategory) i.next();
            if (def.size() > 0) {
                subCategories.add(def);
            } else {
                categoryDefinitions.add(def);
                if (pf.getSelectedCategory() == -1) {
                    pf.setSelectedCategory(def.getId());
                }
            }
        }
        pf.setParentCategory(parentCategory);
        pf.setSubCategories(subCategories);
        List propertyItems = new ArrayList();
        List propertyDefinitions = CoreServlet.getServlet().getPropertyDatabase().getPropertyDefinitions(pf.getProfileScope());
        for (Iterator i = propertyDefinitions.iterator(); i.hasNext();) {
            PropertyDefinition def = (PropertyDefinition) i.next();
            if (!def.isHidden() && (pf.getSelectedPropertyProfile() == 0 || (pf.getSelectedPropertyProfile() > 0 && def.getVisibility() == PropertyDefinition.PROFILE))
                            && def.getCategory() == pf.getSelectedCategory()) {
                String propertyUser = pf.getProfileScope().equals(Constants.SCOPE_PERSONAL) ? user.getPrincipalName() : "";
                String val = CoreServlet.getServlet().getPropertyDatabase().getProperty(pf.getSelectedPropertyProfile(),
                    propertyUser, def.getName());
                propertyItems.add(pf.retrieveItem(def.getName(), new PropertyItem(this, request, def, val)));
            }
        }
        if(propertyDefinitions.size() == 0) {
            throw new Exception("No property definitions for this category.");
        }
        PropertyItem[] items = new PropertyItem[propertyItems.size()];
        propertyItems.toArray(items);
        pf.setPropertyItems(items);
        pf.setCategoryDefinitions(categoryDefinitions);
    }

    public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
        return (Constants.SCOPE_GLOBAL.equals(((DefaultPropertiesForm) form).getProfileScope()) && ((PropertiesForm) form)
            .getEnabled()) ? SessionInfo.MANAGEMENT_CONSOLE_CONTEXT
                        : (SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.USER_CONSOLE_CONTEXT);
    }
}

⌨️ 快捷键说明

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