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

📄 permispolicyeditormenu.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                  //disable menu items
                    parent.getButtonMenu().refreshComponents();
                     parent.setFrameTitle("");
                   disableMenuItems();
                    parent.getButtonMenu().disableButton();
                 }else{
                    
                    savedDocument = fileOps.saveDocument(doc);
                    savedDocument = null;
                    doc = null;
                    parent.getButtonMenu().refreshComponents();
                    disableMenuItems();
                     parent.setFrameTitle("");
                    parent.getButtonMenu().disableButton();
                    savedDocument = null;
                    doc = null;
                    parent.getButtonMenu().refreshComponents();
                    parent.getButtonMenu().disableButton();
                   //parent.getButtonMenu().enableButton();
                    }//else
   
              
            }
    }
    
    /**
     * Calls the saveAs method in PermisFileOperartions nas passes the current
     * file name to it.
     *
     * @param evt       Save As menu item selected.
     */
         
    private void saveAsMenuItemActionPerformed()
    {
        try{
                        
            // Call the saveAs function and pass the saved file name to it
            savedDocument = fileOps.saveAsDocument(doc,  savedDocument);
        } catch (Exception e){
            e.printStackTrace();
        }
        parent.setFrameTitle(savedDocument);
    }
    
    /**
     * Saves the current file with no further user intervention.
     *
     * @param evt       Save menu item selected
     */
         
    private void saveMenuItemActionPerformed()
    {
        if(alreadySaved && savedDocument != null ){
            try{
                // Save without asking user for filename.
                PermisXmlWrite serializer = new PermisXmlWrite();
                serializer.writeXml(doc, savedDocument);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        else{
            
            //if not already saved prompt user for dialog
            try{
                savedDocument = fileOps.saveDocument(doc);
                alreadySaved = true;
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        if (savedDocument != null){
        saveAsMenuItem.setEnabled(true);
        parent.setFrameTitle(savedDocument);
        }
    }
    
    /**
     * To be implemented.
     *
     * @param evt       Open menu item selected.
     */
         
    private void openMenuItemActionPerformed()
    {  
       
        openedDocument = fileOps.openDocument();
        if (openedDocument != null){   
            //use the XMLPolicyParser 
           // openFile( openedDocument);
          //to use the DocumentBuilderFactory uncomment from here and comment above line
             
            File f = new File(openedDocument);
            try {
                DocumentBuilderFactory factory = 
                                               DocumentBuilderFactory.newInstance();
                factory.setValidating(false);
                builder = factory.newDocumentBuilder();
                //need to check if doc already exist and give users warning message
               doc = builder.parse(openedDocument);
            } 

            catch (SAXException sxe) {
                /** 
                 * Error generated by this application
                 * (or a parser-initialization error) */
                 
                Exception  x = sxe;

                if (sxe.getException() != null){
                    x = sxe.getException();
                }

                x.printStackTrace();
            } 

            catch (ParserConfigurationException pce) {

                pce.printStackTrace();
            } 

            catch (IOException ioe) {

                ioe.printStackTrace();
            }
            
            //doc = docs;
           
            this.permisXmlDom.setDoc(doc);
             if(doc != null){
                 if(!ldapStatus){
                     parent.getButtonMenu().initLDAP_dit();
                     ldapStatus = true;
                 }
            savedDocument = openedDocument;
            alreadySaved = true;
            enableMenuItems();
            parent.setFrameTitle(openedDocument);
            saveAsMenuItem.setEnabled(true);
            refreshReadablePolicy();
            parent.getButtonMenu().refreshComponents();
         
            parent.getButtonMenu().enableButton(); 
            parent.getButtonMenu().controlButton("targetAccessButton", true);
            parent.getButtonMenu().controlButton("roleAssignmentButton", true);
            }
            
        }
    }
    private void openFile( String source)
    {
        PermisXMLVerifier ver = new PermisXMLVerifier();
        ver.docParser(source);
    }


    static int policyCount=0;
    /**
     * Creates a new instance of the Document Object Model in memory.
     *
     * @param evt       New menu item selected.
     */
         
    private void newMenuItemActionPerformed()
    {
        //parent.getButtonMenu().makeFrameNull();
        if(!ldapStatus){
        parent.getButtonMenu().initLDAP_dit();
        ldapStatus = true;
        }
        saveAsMenuItem.setEnabled(false);
        doc = permisXmlDom.newRbacXmlDom();
        alreadySaved = false;
        refreshReadablePolicy();
        enableMenuItems();
        policyCount++;
        parent.setFrameTitle("Xml Policy "+policyCount);
        parent.getButtonMenu().refreshComponents();
      
        parent.getButtonMenu().enableButton();
         
        
    }
    
    /**
     * Closes all windows and terminates the program.
     *
     * @param evt       Close window button window operated
     */
         
    private void exitForm(WindowEvent evt)
    {
     
        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     
                        PermisXmlWrite serializer = new PermisXmlWrite();
                        serializer.writeXml(doc, savedDocument);
                    }catch (Exception e) {
                        e.printStackTrace();
                     }
                    System.exit(0);
                }else{
                    
                    savedDocument = fileOps.saveDocument(doc);
                    System.exit(0);
                }//else
            }
         }else{
              System.exit(0);
         }
    }
    
    /**
     * Calls the method that parses the Document Object Model in memory and
     * outputs the reuslt to a window.
     */
         
    private void populateXmlView()
    {
        if( doc != null){
        //call PermisXTree class to display the document in a tree
        xmlView = new PermisXTree(doc); 
        PermisXmlPolicyView.xmlPreviewScrollPane.setViewportView(xmlView);
        }
    }
    
    /**
     * Disables all the menu items.
     */
         
    private void disableMenuItems()
    {
        saveMenuItem.setEnabled(false);
        saveAsMenuItem.setEnabled(false);
        previewPolicyMenuItem.setEnabled(false);
        treeViewMenuItem.setEnabled(false);
        verifyMenuItem.setEnabled(false);
        closeMenuItem.setEnabled(false);
        sign_publishMenuItem.setEnabled(false);
    }
    
    /**
     * Enables all the menu items.
     */
         
    private void enableMenuItems()
    {
        saveMenuItem.setEnabled(true);
        previewPolicyMenuItem.setEnabled(true);
        treeViewMenuItem.setEnabled(true);
        verifyMenuItem.setEnabled(true);
        closeMenuItem.setEnabled(true);
        sign_publishMenuItem.setEnabled(true);
    }
    private void refreshReadablePolicy()
    {
        if(readablePolicyFrame != null){
            readablePolicyFrame.setVisible(false);
            if(readablePolicy != null){
            readablePolicyFrame = readablePolicy.createReadablePolicy();
            }
        }
        this.readablePolicy = null;
       
    
    }
   private String addLineFeed(String message)
   {String s= null;
     return s = message + "\n";  
   }
   
   public String getLdapParam()
   {
    
       if (this.ldapParam == null){
           this.ldapParam = this.ldapSetup.getConnectionParameter();
    }
    return  this.ldapParam;
   
   }
   public void setLdapParm(String s)
   {
      this.ldapParam = s; 
   }

   public void actionPerformed(ActionEvent evt){
     String event = evt.getActionCommand().intern();
     if (event==NEW_ACTION){
       newMenuItemActionPerformed();
     }else if(event==OPEN_ACTION){
       openMenuItemActionPerformed();
     }else if(event==SAVE_ACTION){
       saveMenuItemActionPerformed();
     }else if(event==SAVE_AS_ACTION){
       saveAsMenuItemActionPerformed();
     }else if(event==CLOSE_ACTION){
       closeMenuItemActionPerformed();
     }else if(event==EXIT_ACTION){
       exitMenuItemActionPerformed();
     }else if(event==PREVIEW_ACTION){
       previewPolicyMenuItemActionPerformed();
     }else if(event==TREE_VIEW_ACTION){
       treeViewMenuItemActionPerformed();
     }else if(event==VERIFY_ACTION){
       verifyMenuItemActionPerformed();
     }else if(event==CONFIG_ACTION){
       ldapSetup.show();
     }else if(event==SIGN_ACTION){
       sign_publishMenuItemMenuItemActionPerformed();
     }else if(event==DYNAMIC_ACTION){
       help.show();
     }else if(event==CONTENT_ACTION){
       ma.show();
     }else if(event==ABOUT_ACTION){
       aboutMenuItemActionPerformed();
     }
   }
}

⌨️ 快捷键说明

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