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

📄 permispolicyeditormenu.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        cutMenuItem.addActionListener(this);

        editMenu.add(cutMenuItem);

        copyMenuItem.setMnemonic('C');
        copyMenuItem.setText("Copy");
        copyMenuItem.setActionCommand(COPY_ACTION);
        copyMenuItem.addActionListener(this);

        editMenu.add(copyMenuItem);

        editMenu.add(jSeparator4);

        pasteMenuItem.setMnemonic('V');
        pasteMenuItem.setText("Paste");
        pasteMenuItem.setActionCommand(PASTE_ACTION);
        pasteMenuItem.addActionListener(this);
        editMenu.add(pasteMenuItem);
         
        editMenu.add(jSeparator5);

        deleteMenuItem.setMnemonic('D');
        deleteMenuItem.setText("Delete");
        deleteMenuItem.setActionCommand(DELETE_ACTION);
        deleteMenuItem.addActionListener(this);

        editMenu.add(deleteMenuItem);

       // menuBar.add(editMenu);

        viewMenu.setMnemonic('V');
        viewMenu.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_view"));
        viewMenu.setActionCommand(VIEW_ACTION);
        viewMenu.addActionListener(this);

        previewPolicyMenuItem.setMnemonic('P');
        previewPolicyMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("view_readable"));
        previewPolicyMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("view_readble_tt"));
        previewPolicyMenuItem.setActionCommand(PREVIEW_ACTION);
        previewPolicyMenuItem.addActionListener(this);

        viewMenu.add(previewPolicyMenuItem);

        treeViewMenuItem.setMnemonic('m');
        treeViewMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("view_xml"));
        treeViewMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("view_xml_tt"));
        treeViewMenuItem.setActionCommand(TREE_VIEW_ACTION);
        treeViewMenuItem.addActionListener(this);

        viewMenu.add(treeViewMenuItem);
       
        menuBar.add(viewMenu);

        toolsMenu.setMnemonic('T');
        toolsMenu.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_menu"));
        verifyMenuItem.setMnemonic('v');
        verifyMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_verify_policy"));
        verifyMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_verify_policy_tt"));
        verifyMenuItem.setActionCommand(VERIFY_ACTION);
        verifyMenuItem.addActionListener(this);
        
        toolsMenu.add(verifyMenuItem);
        
        configMenuItem.setMnemonic('g');
        configMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_ldap_setup"));
        //configMenuItem.setEnabled(false);
       configMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_ldap_setup_tt"));
        configMenuItem.setActionCommand(CONFIG_ACTION);
        configMenuItem.addActionListener(this);
         toolsMenu.add(configMenuItem);
        sign_publishMenuItem.setMnemonic('c');
       sign_publishMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("tool_sign_publish"));
        sign_publishMenuItem.setActionCommand(SIGN_ACTION);
        sign_publishMenuItem.addActionListener(this);

        toolsMenu.add(sign_publishMenuItem);

        menuBar.add(toolsMenu);

        helpMenu.setMnemonic('H');
        helpMenu.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("help_menu"));
        helpMenu.setActionCommand(HELP_ACTION);
        helpMenu.addActionListener(this);
       dynamicHelpMenuItem.setMnemonic('c');
       dynamicHelpMenuItem.setText(helpButtonTitle);
       dynamicHelpMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("help_tt"));
       dynamicHelpMenuItem.setActionCommand(DYNAMIC_ACTION);
       dynamicHelpMenuItem.addActionListener(this);
        
       
       dynamicHelpMenuItem.setEnabled(true);
       
        contentMenuItem.setMnemonic('m');
        contentMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_help_minimal"));
        contentMenuItem.setActionCommand(CONTENT_ACTION);
        contentMenuItem.addActionListener(this);

        helpMenu.add(contentMenuItem);
        helpMenu.add(dynamicHelpMenuItem);
      
        helpMenu.add(jSeparator3);

        aboutMenuItem.setMnemonic('A');
        aboutMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("help_about"));
        aboutMenuItem.setActionCommand(ABOUT_ACTION);
        aboutMenuItem.addActionListener(this);

        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);
      
      return menuBar;
    }

    private void aboutMenuItemActionPerformed()
    {
        String message = addLineFeed("X.509 PERMIS Policy Editor")
                +addLineFeed("ISSRG, Information Systems Institute")
                +addLineFeed("University of Salford")
                +addLineFeed("Computing Lab, University of Kent")                
                +addLineFeed( ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_version_number"));
               dialog.showOkDialog(message);
    }
    
         
    private void sign_publishMenuItemMenuItemActionPerformed()
    {
         PolicySigningDialog dialog = new PolicySigningDialog(parent);
         OutputFormat format = new OutputFormat();
          //
     PermisXMLVerifier ver = new PermisXMLVerifier();
    // String s =   ver.verifier(this.doc);
        String s =   ver.permisXmlParser(this.doc);
     //if s is null no error message, so policy is valid, then sign the policy
     if( s == null){
       
         format.setLineSeparator(LineSeparator.Windows);
         format.setIndenting(true);
         format.setLineWidth(80);
         format.setPreserveSpace(true);
         java.io.ByteArrayOutputStream baos = null;
        
        try {
            baos = new java.io.ByteArrayOutputStream();
            XMLSerializer serializer = new XMLSerializer (baos, format);
            serializer.serialize(doc);
            baos.flush();
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(parent,e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
        }
        dialog.setPolicy(baos.toString());
        dialog.setLDAPParameters("ldap://sec.isi.salford.ac.uk","login");
        dialog.interact();
        }
     else{
         //display the error message
         JOptionPane.showMessageDialog(parent, s ,"Error",JOptionPane.ERROR_MESSAGE);
     }
    }



    private void verifyMenuItemActionPerformed()
    {
     PermisXMLVerifier ver = new PermisXMLVerifier();
      //  String s =   ver.verifier(this.doc);
      String s =   ver.permisXmlParser(this.doc);
     //if s is null no error message, so policy is valid
     if( s == null){
         JOptionPane.showMessageDialog(null,
             ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_valid_msg"),
            ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                 getString("pol_valid_msg_tt"),JOptionPane.INFORMATION_MESSAGE);
     }
     else{
         //display the error message
         JOptionPane.showMessageDialog(null, s ,"Error",JOptionPane.ERROR_MESSAGE);
     }
       
    }
    
    /**
     * Creates a Jrame and populates with a view of the XML that represents the
     * Document Object Model in memory
     *
     * @param evt       Tree view menu item selected.
     */
         
    private void treeViewMenuItemActionPerformed()
    {
        if (  xmlPolicyView == null){
            xmlPolicyView = new PermisXmlPolicyView();
            xmlPolicyViewFrame =  xmlPolicyView.createXmlPolicyView();
            
            //Add to ArrayList
            PermisPolicyEditorButton.frameArrayList.add(xmlPolicyViewFrame);
            PermisPolicyEditorMain.policyDesktopPane.add(xmlPolicyViewFrame, 
                                                    JLayeredPane.DEFAULT_LAYER);
        }

        populateXmlView();
        PermisPolicyEditorButton.makeFrameVisible(xmlPolicyViewFrame);
    }
    
    /**
     * Creates a Jframe which allows the user to view all the sections contained
     * in the policy represented by the Document Object Model.
     *
     * @param evt       Preview policy menu item selected.
     */
         
    private void previewPolicyMenuItemActionPerformed()
    {
        if (  readablePolicy == null){
            
           readablePolicy = new PermisReadablePolicy();
           readablePolicyFrame =  readablePolicy.createReadablePolicy();
            
            //Add to ArrayList
            PermisPolicyEditorButton.frameArrayList.add(readablePolicyFrame);
            PermisPolicyEditorMain.policyDesktopPane.add(readablePolicyFrame,
                                                    JLayeredPane.DEFAULT_LAYER);
        }
        readablePolicy.refreshReadablePoliyTextArea();
        PermisPolicyEditorButton.makeFrameVisible(readablePolicyFrame);
        readablePolicy.refreshReadablePoliyTextArea();
    }
    
    /**
     * Closes all windows and terminates the program.
     * @param evt       Exit menu item selected.
     */
         
    private void exitMenuItemActionPerformed()
    {
        if(doc != null){
            String message = ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning") + "\n" +
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning_1") + "\n" + 
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning_2");
           
            int n = JOptionPane.showConfirmDialog( parent, 
                                                   message,
                   ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                    getString("pol_warning"),
                                               JOptionPane.YES_NO_CANCEL_OPTION,
                                               JOptionPane.QUESTION_MESSAGE);
        
            if (n == JOptionPane.NO_OPTION){
              System.exit(0);
                
            }
            else if (n == JOptionPane.CANCEL_OPTION){
                
            return;
            }
            else{
                if(savedDocument != null){
                    try{
                    //save document    
                        serializer.writeXml(doc, savedDocument);
                         parent.getButtonMenu().refreshComponents();
                         parent.setFrameTitle("");
                         disableMenuItems();
                         parent.getButtonMenu().disableButton();
                    }catch (Exception e) {
                        e.printStackTrace();
                     }
                    System.exit(0);
                }else{
                    
           savedDocument = fileOps.saveDocument(doc);
            System.exit(0);
                }//else
            }
         }else{
              System.exit(0);
         }
    }
    
    /**
     * To be implemented.
     *
     * @param evt       Close menu item selected.
     */
         
    private void closeMenuItemActionPerformed()
    {
        
       String  message = ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning") + "\n" +
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning_1") + "\n" + 
                         ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("pol_close_warning_2");
            int n = JOptionPane.showConfirmDialog( parent, 
                                                   message,
                    ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                                               getString("pol_warning"),
                                               JOptionPane.YES_NO_CANCEL_OPTION,
                                               JOptionPane.QUESTION_MESSAGE);
        
            if (n == JOptionPane.NO_OPTION){
           
        parent.getButtonMenu().refreshComponents();
      parent.getButtonMenu().disableButton();
      disableMenuItems();
          return;
            }
            else if (n == JOptionPane.CANCEL_OPTION){
                
            return;
            }
        else{
               
                 if (savedDocument != null){
                    try{
                    //save document
                   
                    serializer.writeXml(doc, savedDocument);
                    }catch (Exception e){
                        e.printStackTrace();
                         }
                    savedDocument = null;
                    doc = null;

⌨️ 快捷键说明

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