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

📄 permistargetaccesspolicy.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    private void targetAccessCloseButtonActionPerformed()
    {
        targetAccessInternalFrame.setVisible(false);
    }
    
    /**************************************************************************\
     *             targetAccessCancelButtonActionPerformed                    *
    \**************************************************************************/
    
    /**
     * Clears the data entered by the user from all data entry points
     *
     * @param evt   Cancel button operated.
     */
        
    private void targetAccessCancelButtonActionPerformed()
    {
        if(editPressed){
           targetAccessEditButtonActionPerformed();
        }
        else{
        String answer = PermisPolicyEditorMenu.dialog.confirmDialog(
                                          "This action will clear  \n"+
                                          "the boxes Do you wish to continue ?", 
                                          "Warning");
        if (answer.equals("No")){
            return;
        }
        else{
            clearBoxes();
        }
        }
    }
    
    /**************************************************************************\
     *             targetAccessOkButtonActionPerformed                        *
    \**************************************************************************/
    
    /**
     * Collects the data entered by the use and writes it to the Document 
     * Object Model (DOM), the PERMIS Policy, in memory. Informs the user of the
     * outcome of the operation.
     *
     * @param evt   OK button operated.
     */
        
    private void targetAccessOkButtonActionPerformed()
    {
        Character ch = null;
        
        String s = getIDInitialization();
         //checks if the ID already exists in the policy
           
            if (parent.getIdHashtable(targetAccessIDTextField.getText())){
                if(!removeId){
                PermisPolicyEditorMenu.dialog.showOkDialog(
                ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("pol_err_msg_id") +" "+
                   getString(targetAccessIDTextField.getText())+" "+
                   ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("pol_err_msg_id_exist"));
                return;
                }
            }
           
        if (targetAccessIDTextField.getText().equals(s)){
            PermisPolicyEditorMenu.dialog.showOkDialog(
                  ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("sub_pol_err_msg_c") + " "+
                   ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("pol_id_text_err_msg") );
            targetAccessIDTextField.requestFocus();
             targetAccessIDTextField.selectAll();
            return;
        }
        else if (targetAccessIDTextField.getText().equals("")){
            PermisPolicyEditorMenu.dialog.showOkDialog(
            ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("tar_acc_pol_id") + " " +
                   ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("sub_pol_err_msg_a"));                          
            targetAccessIDTextField.requestFocus();
            targetAccessIDTextField.selectAll();
            return;
            }
        
        else if(ch.isDigit(targetAccessIDTextField.getText().charAt(0))){
               PermisPolicyEditorMenu.dialog.showOkDialog(
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                   getString("tar_acc_pol_id") + 
                         "\n" +                          
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("sub_pol_err_msg_b"));
             targetAccessIDTextField.requestFocus();
             targetAccessIDTextField.selectAll();
             return;
        }
         else if(!validateID( targetAccessIDTextField.getText().trim())){
           targetAccessIDTextField.requestFocus();
            return ;
        }
        else {
            if(loader.isID("TargetAccess",targetAccessIDTextField.getText())){
              PermisPolicyEditorMenu.permisXmlDom.deleteNode(
                                                  "TargetAccess", 
                                                  targetAccessIDTextField.getText());
            }
            
            PermisPolicyEditorMenu.permisXmlDom.addDomAttr(
                                             "TargetAccessPolicy",
                                             "TargetAccess", 
                                             ID, 
                                             targetAccessIDTextField.getText());
            PermisPolicyEditorMenu.permisXmlDom.addRoleListDom(
                                             targetAccessRoleListModel, 
                                             "TargetAccess", 
                                             "RoleList", 
                                             targetAccessIDTextField.getText());
            PermisPolicyEditorMenu.permisXmlDom.addTargetDom(
                                              targetAccessActionListModel,
                                              targetDomainComboBox, 
                                              "TargetAccess", 
                                              "TargetList", 
                                             targetAccessIDTextField.getText());
            
            //refresh the ReadablePolicy view
            if(parent.getPermisParent().getMenuItems().
                                                   getReadablePolicy() != null){
                    parent.getPermisParent().getMenuItems().getReadablePolicy().
                                                   comboBoxSetSelectedIndex(7);
            }
              
            PermisPolicyEditorMenu.permisXmlDom.showMessage();
        } 
        if(!removeId){
        parent.putIdHashtable(targetAccessIDTextField.getText());
        }
       
        performRefresh();
       
        highLighter(targetAccessIDTextField);
        //targetAccessIDTextField.requestFocus();
        clearBoxes();
        targetAccessInternalFrame.setVisible(false);
        removeId = false;
    }
    
    /**************************************************************************\
     *             targetRoleRemoveButtonActionPerformed                      *
    \**************************************************************************/
    
    /**
     * Removes the selected role from the List of Role(s)
     *
     * @param evt       Remove role button operated
     */
        
    private void targetRoleRemoveButtonActionPerformed()
    {
        RemoveFromList deleteItem = new RemoveFromList();
        deleteItem.removeFromList( targetAccessRoleListModel, 
                                   targetAccessRoleList);
        targetRoleRemoveButton.setEnabled(targetAccessRoleListModel.getSize()!=0);
    }
    
    
    /**
     * Adds the selected role to the List of Role(s)
     *
     * @param evt       Add role button operated
     */
        
    private void targetRoleAddButtonActionPerformed()
    {
        PermisDataBox dataListener = new PermisDataBox();
        if (checkDuplication(targetRoleComboBox.getSelectedItem().toString(),
                                                  targetAccessRoleListModel)){
           
         PermisPolicyEditorMenu.dialog.showOkDialog(
                                        "Role already exist");
                                                      return ;
                                                      
        }
        dataListener.addFromComboBoxToList( targetRoleRemoveButton, 
                                            targetAccessRoleListModel, 
                                            targetAccessRoleList, 
                                            targetRoleComboBox);
        
    }
    
    /**************************************************************************\
     *             targetAccessCloseButton1ActionPerformed                    *
    \**************************************************************************/
    
    /**
     * Closes the Target Access Policy window.
     *
     * @param evt   Close button operated.
     */
        
    private void targetAccessCloseButton1ActionPerformed()
    {
        targetAccessInternalFrame.setVisible(false);
    }
    
    /**************************************************************************\
     *             targetAccessDeleteButtonActionPerformed                    *
    \**************************************************************************/
    
    /**
     * Deletes the node selected in the combo box from the DOM.
     *
     * @param evt       Delete button (view) operated.
     */
        
    private void targetAccessDeleteButtonActionPerformed()
    {
        if (targetAccessViewComboBox.getSelectedIndex() != -1){
            String targetId = targetAccessViewComboBox.getSelectedItem().
                                                                     toString();
            PermisPolicyEditorMenu.permisXmlDom.deleteNode( "TargetAccess", 
                                                            targetId);
            targetAccessViewComboBox.removeItem(targetAccessViewComboBox.
                                                             getSelectedItem());
            performRefresh();
            targetAccessViewListModel.clear();
            targetAccessViewScrollPane.setViewportView(targetAccessViewList);
        }
    }
    
    
    /**
     * Deletes the node selected in the combo box from the DOM.
     *
     * @param evt       Delete button (view) operated.    
     */
        
    private void targetAccessEditButtonActionPerformed()
    {
        String targetId = targetAccessViewComboBox.getSelectedItem().
                                                                     toString();
        String[] roleSubjectDetails = PermisPolicyEditorMenu.permisXmlDom.
                                         getAttributeValues( "TargetDomainSpec", ID);
        // Empty combo box and repopulate it
        targetDomainComboBox.removeAllItems();	
        
        for (int i = 0; i < roleSubjectDetails.length; i++) {
            targetDomainComboBox.addItem(roleSubjectDetails[i]);
        }

        targetAccessIDTextField.setText(targetId);
        loader.readTargetAccessPolicy( targetAccessRoleListModel,
                                       targetAccessActionListModel,
                                       targetDomainComboBox,
                                      "TargetAccess",
                                       targetId);
        
        loader.readRolesPolicy(null,
                               null, 
                               null,
                               targetRoleComboBox,
                               "RoleSpec");
        
         loader.populateTargetAcessActionComboBox(targetAccessActionComboBox);
         targetActionListScrollPane.setViewportView(targetAccessActionList);
         targetRoleListScrollPane.setViewportView( targetAccessRoleList);
        targetAccessTabbedPane.setSelectedIndex(1);
        editPressed = true;
        //if editing the set the removeId to true
        removeId = true;
    }
    
    
    /**

⌨️ 快捷键说明

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