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

📄 policyform.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
package com.sslexplorer.policyframework.forms;

import java.util.Iterator;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.sslexplorer.boot.PropertyList;
import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.core.CoreUtil;
import com.sslexplorer.core.forms.CoreForm;
import com.sslexplorer.input.MultiSelectDataSource;
import com.sslexplorer.input.MultiSelectSelectionModel;
import com.sslexplorer.policyframework.DelegatedPoliciesDataSource;
import com.sslexplorer.policyframework.Policy;
import com.sslexplorer.policyframework.PolicyConstants;
import com.sslexplorer.policyframework.Principal;
import com.sslexplorer.policyframework.Resource;
import com.sslexplorer.security.Constants;
import com.sslexplorer.security.Role;
import com.sslexplorer.security.User;
import com.sslexplorer.tabs.TabModel;

public class PolicyForm extends AbstractResourceForm implements TabModel {
    final static Log log = LogFactory.getLog(PoliciesForm.class);
    private PropertyList selectedAccounts;
    private PropertyList selectedRoles;
    private String selectedTab = "details";

    public PolicyForm() {
        super();
        selectedAccounts = new PropertyList();
        selectedRoles = new PropertyList();
    }

    public String getSelectedAccounts() {
        return selectedAccounts.getAsTextFieldText();
    }

    public void setSelectedAccounts(String selectedAccounts) {
        this.selectedAccounts.setAsTextFieldText(selectedAccounts);
    }

    public String getSelectedRoles() {
        return selectedRoles.getAsTextFieldText();
    }

    public void setSelectedRoles(String selectedRoles) {
        this.selectedRoles.setAsTextFieldText(selectedRoles);
    }

    public int getTabCount() {
        return 3;
    }

    public String getTabTitle(int idx) {
        // Get title from resources
        return null;
    }

    public String getTabName(int idx) {
        switch (idx) {
            case 0:
                return "details";
            case 1:
                return "principals";
            default:
                return "nestedPolicies";
        }
    }

    /**
     * @param selectedAccounts The selectedAccounts to set.
     */
    public void setSelectedAccounts(PropertyList selectedAccounts) {
        this.selectedAccounts = selectedAccounts;
    }

    /**
     * @param selectedRoles The selectedRoles to set.
     */
    public void setSelectedRoles(PropertyList selectedRoles) {
        this.selectedRoles = selectedRoles;
    }

    public PropertyList getSelectedAccountsList() {
        return selectedAccounts;
    }

    public PropertyList getSelectedRolesList() {
        return selectedRoles;
    }

    public Resource getResourceByName(String name) throws Exception {
        return CoreServlet.getServlet().getPolicyDatabase().getPolicyByName(name);
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.forms.AbstractResourceForm#initialise(com.sslexplorer.boot.policyframework.Resource,
     *      boolean, com.sslexplorer.boot.MultiSelectSelectionModel,
     *      com.sslexplorer.boot.PropertyList, com.sslexplorer.security.User)
     */
    public void initialise(User user, Resource resource, boolean editing, MultiSelectSelectionModel policyModel,
                    PropertyList selectedPolicies, User owner) throws Exception {
        super.initialise(user, resource, editing, policyModel, selectedPolicies, owner);
        Policy pol = (Policy)resource;
        PropertyList nestedPolicies = new PropertyList();
        int[] childPolicies = pol.getChildPolicies();
        for(int i = 0; i < childPolicies.length; i++) {
            nestedPolicies.add(String.valueOf(childPolicies[i]));
        }
        selectedAccounts = new PropertyList();
        selectedRoles = new PropertyList();
        List principals = CoreServlet.getServlet().getPolicyDatabase().getPrincipalsGrantedPolicy((Policy) resource);
        for (Iterator i = principals.iterator(); i.hasNext();) {
            Principal p = (Principal) i.next();
            if (p instanceof Role) {
                selectedRoles.add(p.getPrincipalName());
            } else {
                selectedAccounts.add(p.getPrincipalName());
            }
        }
    }
    
    public String getSelectedTab() {
        return selectedTab;
    }
    
    public void setSelectedTab(String selectedTab) {
        this.selectedTab = selectedTab;
        
    }

    public void applyToResource() throws Exception {
        Policy pol = (Policy)getResource();
        if(pol.getResourceId() != PolicyConstants.EVERYONE_POLICY_ID) {
            pol.setChildPolicies(getSelectedPoliciesList().toIntArray());
        }
    }

    /* (non-Javadoc)
     * @see com.sslexplorer.tabs.TabModel#getTabBundle(int)
     */
    public String getTabBundle(int idx) {
        return null;
    }
}

⌨️ 快捷键说明

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