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

📄 permistargetpolicy.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/*
* Copyright (c) 2000-2005, University of Salford
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without 
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this 
* list of conditions and the following disclaimer.
* 
* Redistributions in binary form must reproduce the above copyright notice, 
* this list of conditions and the following disclaimer in the documentation 
* and/or other materials provided with the distribution. 
*
* Neither the name of the University of Salford nor the names of its 
* contributors may be used to endorse or promote products derived from this 
* software without specific prior written permission. 
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
* POSSIBILITY OF SUCH DAMAGE.
*/

package issrg.editor.gui;

import issrg.editor.RemoveFromList;
import issrg.editor.PermisDataBox;
import issrg.editor.PermisDomainTree;
import issrg.editor.PermisLdapTree ;

import issrg.utils.LDAP_DIT;
import issrg.utils.DITSelectionListener;
import issrg.pba.rbac.policies.DITSubtree;
import issrg.pba.repository.UserEntry;
import issrg.pba.rbac.LDAPDNPrincipal;
import issrg.pba.rbac.URLHandler;
import issrg.pba.rbac.policies.Subtree;
import issrg.utils.repository.Entry;
import issrg.pba.rbac.policies.LDAPEntry;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;
import java.awt.event.FocusEvent;

import java.util.ResourceBundle;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.StringTokenizer;

import javax.naming.Context;
import javax.naming.directory.InitialDirContext;
import javax.swing.text.DefaultHighlighter;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeModel;
 import javax.swing.tree.DefaultMutableTreeNode;
import org.netbeans.lib.awtextra.AbsoluteLayout;
import org.netbeans.lib.awtextra.AbsoluteConstraints;

/**
 * Classname:   PermisSubjectPolicy
 * 
 * Description: This class creates the Target Policy windows, its associated 
 *              buttons and their methods.
 *              Version 1.0.              
 *
 * Copyright (c) the authors April 2004
 *
 * @author      Professor D.W.Chadwick
 *              P. Langley
 *              U. Mbanaso
 */

public class PermisTargetPolicy extends PermisPolicyPanel implements FocusListener, ActionListener, DITSelectionListener
{
  private static final Pattern uriPattern = Pattern.compile("^\\w+:(//)?(\\w+\\.)*\\w+(:(\\d\\-)?\\d)?.+$");


  private static final String VIEW_ACTION = "view";
  private static final String EDIT_ACTION = "edit";
  private static final String DELETE_ACTION = "delete";
  private static final String CLOSE_ACTION = "close";
  private static final String INCLUDE_ACTION = "include";
  private static final String EXCLUDE_ACTION = "exclude";
  private static final String DELETE1_ACTION = "delete1";
  private static final String OK_ACTION = "ok";
  private static final String CANCEL_ACTION = "cancel";
  private static final String CLOSE1_ACTION = "close1";
  private static final String ADD_ACTION = "add";
  private static final String DELETE2_ACTION = "delete2";
  private static final String LDAP_ACTION = "ldap";
  private static final String URL_ACTION = "url";

    protected static final String ID = "ID";
    protected static final String TARGET_DOMAIN_SPEC = "TargetDomainSpec";
    
    private DefaultListModel targetObjectClassListModel;
    private DefaultListModel targetViewListModel;
     
    private JButton closeTargetButton;
    private JButton targetCancelButton;
    private JButton targetCloseButton;
    private JButton targetDeleteButton;
    private JButton targetExcludeButton;
    private JButton targetIncludeButton;
    private JButton targetObjectClassAddButton;
    private JButton targetObjectClassDeleteButton;
    private JButton targetOkButton;
    private JButton targetViewDeleteButton;
    private JButton targetViewEditButton;
    private javax.swing.JRadioButton urlRadioButton;
   private javax.swing.JPanel buttonPanel1;
    private javax.swing.JPanel idPanel1;
    private javax.swing.JLabel ldapDnLabel;
    private javax.swing.JPanel ldapButtonPanel;
    private javax.swing.JLabel ldapLabel1;
    private javax.swing.JPanel ldapPanel1;
    private javax.swing.JRadioButton ldapRadioButton1;
    private javax.swing.JTree ldapTree1;
    private javax.swing.JPanel optionPanel1;
    private javax.swing.JButton resourceButton;
    private javax.swing.JPanel resourceButtonPanel;
    private javax.swing.JButton resourceDeleteButton;
    private javax.swing.JLabel resourceLabel;
  
    private javax.swing.JPanel resourcePanel1;
  
    private javax.swing.JScrollPane resourceTypeScrollPane;
     private javax.swing.ButtonGroup optionButtonGroup;
  
    private javax.swing.JScrollPane targetLdapScrollPane;
   
    private javax.swing.JTree targetTree1;
    private javax.swing.JScrollPane targetTreeScrollPane;
    private javax.swing.JLabel urlLabel;
    private javax.swing.JPanel urlPanel;
    private javax.swing.JRadioButton urlRadioButton1;
    private javax.swing.JTextField urlTextField;
    private JComboBox targetViewComboBox;
    
    private JInternalFrame targetInternalFrame;
    
    private JLabel targetDomainLDAPLabel;
    private JLabel targetDomainLDAPDNLabel;
    private JLabel targetObjectClassLabel;
    
    private JList targetObjectClassList;
    private JList targetViewList;
    
    private JPanel targetDomainButtonPanel;
    private JPanel targetDomainButtonsPanel;
    private JPanel targetDomainIDPanel;
    private JPanel targetDomainOkButtonsPanel;
    private JPanel targetDomainPanel;
    private JPanel targetDomainsPanel;
    private JPanel targetObjectClassPanel;
    private JPanel targetPolicyCreatePanel;
    private JPanel targetPolicyViewPanel;
    private JPanel optionPanel;
    
    private JScrollPane targetDomainLDAPScrollPane;
    private JScrollPane targetDomainTreeScrollPane;
    private JScrollPane targetObjectClassScrollPane;
    private JScrollPane targetViewScrollPane;
    
    private JTabbedPane targetDomainTabbedPane;
    
    private JTextField targetDnTextField;
    private JTextField targetIdTextField;
    private JTextField targetObjectClassTextField;
    
    private JTree ldapTargetTree;
    private JTree subTree;
    private JTree targetTree;

    private PermisDomainTree permisTargetPolicy;
    private PermisPolicyEditorButton parent;
    
    private PermisPolicyLoader loader;
    
    private LDAP_DIT ldap_dit;
    
    protected boolean editPressed = false;
    
    
    /**
     * Constructor
     */  
    
    public PermisTargetPolicy(PermisPolicyEditorButton parent)
    {
        this.parent = parent;
        loader = parent.getLoader();
    }
    public void setEditPressed(boolean set)
    {
        this.editPressed = set;
    }
    
    
    /**
     * This method creates an instance of the class and initilaises all the 
     * relevant variables.
     *
     * @return          A JInternalFrame containing the Target Policy windows.
     */
    
    public JInternalFrame createPolicy()
    {
        targetObjectClassListModel = new DefaultListModel();
        targetViewListModel = new DefaultListModel();
        
        closeTargetButton = new JButton();
      
        targetObjectClassAddButton = new JButton();
        targetObjectClassDeleteButton = new JButton();
       // targetOkButton = new JButton();
         
        targetViewEditButton = new JButton();
        targetViewDeleteButton = new JButton();
           
        targetViewComboBox = new JComboBox();
        
        targetInternalFrame = new JInternalFrame();

        targetDomainLDAPLabel = new JLabel();
        targetDomainLDAPDNLabel = new JLabel();
        targetObjectClassLabel = new JLabel();
            
        targetObjectClassList = new JList(targetObjectClassListModel);
        targetViewList = new JList(targetViewListModel);
        
        targetDomainButtonsPanel = new JPanel();
        targetDomainIDPanel = new JPanel();
        targetDomainOkButtonsPanel = new JPanel();
        targetDomainPanel = new JPanel();
        targetDomainsPanel = new JPanel();
        targetDomainButtonPanel = new JPanel();
        targetPolicyViewPanel = new JPanel();
        targetObjectClassPanel = new JPanel();
         optionPanel = new JPanel();
        
        targetViewScrollPane = new JScrollPane();
        
        targetDomainTabbedPane = new JTabbedPane();
        
        targetDnTextField = new JTextField();
        targetIdTextField = new JTextField();
        targetObjectClassTextField = new JTextField();
        optionButtonGroup = new javax.swing.ButtonGroup();  
        targetPolicyCreatePanel = new javax.swing.JPanel();
        ldapPanel1 = new javax.swing.JPanel();
        targetDnTextField = new javax.swing.JTextField();
        ldapDnLabel = new javax.swing.JLabel();
        ldapButtonPanel = new javax.swing.JPanel();
        targetIncludeButton = new javax.swing.JButton();
        targetExcludeButton = new javax.swing.JButton();
        targetDeleteButton = new javax.swing.JButton();
        targetTreeScrollPane = new javax.swing.JScrollPane();
        targetTree1 = new javax.swing.JTree();
        targetLdapScrollPane = new javax.swing.JScrollPane();
        ldapTree1 = new javax.swing.JTree();
        ldapLabel1 = new javax.swing.JLabel();
        idPanel1 = new javax.swing.JPanel();
        targetIdTextField = new javax.swing.JTextField();
        buttonPanel1 = new javax.swing.JPanel();
        targetOkButton = new javax.swing.JButton();

⌨️ 快捷键说明

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