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

📄 permispolicyeditormenu.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/*
* 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 java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.apache.xml.serialize.LineSeparator;
import javax.swing.JOptionPane;

import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.ResourceBundle;

import javax.swing.JInternalFrame;
import javax.swing.JLayeredPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;

import issrg.editor.PermisDialogBox;
import issrg.editor.PermisFileOperations;
import issrg.editor.PermisXmlDom;
import issrg.editor.PermisXmlWrite;
import issrg.editor.PermisXTree;
import issrg.editor.PermisXMLVerifier;
import issrg.utils.HelpWindow;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Element;
import org.w3c.dom.Document;
import org.w3c.dom.Node;

import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
/**
 * Classname:   PermisPolicyEditorMenu
 * 
 * Description: A class that generates the the policy editor menu items and 
 *              provides methods to implement their functionality.
 *              Version 1.0.
 *
 * Copyright (c) the authors April 2004
 *
 * @author      Professor D.W.Chadwick
 *              P. Langley
 *              U. Mbanaso
 */

public class PermisPolicyEditorMenu implements ActionListener
{
    private static final String NEW_ACTION = "new";
    private static final String OPEN_ACTION = "open";
    private static final String SAVE_ACTION = "save";
    private static final String SAVE_AS_ACTION = "save as";
    private static final String CLOSE_ACTION = "close";
    private static final String EXIT_ACTION = "exit";
    private static final String EDIT_ACTION = "edit";
    private static final String CUT_ACTION = "cut";
    private static final String COPY_ACTION = "copy";
    private static final String PASTE_ACTION = "paste";
    private static final String DELETE_ACTION = "delete";
    private static final String VIEW_ACTION = "VIEW";
    private static final String PREVIEW_ACTION = "preview";
    private static final String TREE_VIEW_ACTION = "treeview";
    private static final String VERIFY_ACTION = "verify";
    private static final String CONFIG_ACTION = "config";
    private static final String SIGN_ACTION = "sign";
    private static final String HELP_ACTION = "help";
    private static final String DYNAMIC_ACTION = "dynamic";
    private static final String CONTENT_ACTION = "content";
    private static final String ABOUT_ACTION = "about";
    

    public static boolean alreadySaved;
    
    private Document doc;
    private DocumentBuilder builder;
    private JInternalFrame ContextHelpFrame;
     private JInternalFrame LDAPSetupFrame;
    private JInternalFrame xmlPolicyViewFrame;
    private JInternalFrame readablePolicyFrame;
    
    protected static PermisXmlDom permisXmlDom;
    protected static String openedDocument;
    protected static String savedDocument;
    
    private JMenu editMenu;
    private JMenu fileMenu;
    private JMenu helpMenu;
    private JMenu viewMenu;
    
    private JMenuBar menuBar;
    
    private JMenuItem aboutMenuItem;
    private JMenuItem closeMenuItem;
    private JMenuItem contentMenuItem;
    private JMenuItem copyElementMenuItem;
    private JMenuItem copyMenuItem;
    private JMenuItem configMenuItem;
    private JMenuItem cutMenuItem;
    private JMenuItem dynamicHelpMenuItem;
    private JMenuItem deleteMenuItem;
    private JMenuItem exitMenuItem;
    private JMenuItem newMenuItem;
    private JMenuItem openMenuItem;
    private JMenuItem pasteMenuItem;
    private JMenuItem previewPolicyMenuItem;
    private JMenuItem saveAsMenuItem;
    private JMenuItem saveMenuItem;
    private JMenuItem treeViewMenuItem;
    private JMenuItem sign_publishMenuItem;
    private JMenu toolsMenu;
    private JMenuItem verifyMenuItem;
    
    private JSeparator fileSeparator1;
    private JSeparator fileSeparator2;
    private JSeparator jSeparator3;
    private JSeparator jSeparator4;
    private JSeparator jSeparator5;
    
    protected static PermisDialogBox dialog;
    private PermisPolicyEditorMain parent;
    private PermisFileOperations fileOps;
    private PermisReadablePolicy readablePolicy;
    
    private  PermisLdapSetup ldapSetup;// = new PermisLdapSetup(parent);
   // private  PermisSubjectPolicy subject;
    private PermisXmlPolicyView xmlPolicyView;
    private  PermisXTree xmlView;
    private  PermisXmlWrite serializer;
    
    private PermisDynamicContextHelp dynamicHelp;
    private String helpButtonTitle = "Contents";
    public String ldapParam;
    boolean ldapStatus = false;
    HelpWindow ma;
    HelpWindow help;
    
    /** 
     * Constructor
     *
     * @param parentIn      Name of the instance of the PermisPolicyEditorMain 
     *                      that called the constructor.
     */
     
     public PermisPolicyEditorMenu(PermisPolicyEditorMain parentIn)
    {
       this.readablePolicy = new PermisReadablePolicy();
       
       this.fileOps = new PermisFileOperations();
       this.serializer = new PermisXmlWrite();
       this.dialog = new PermisDialogBox(); 
       this.permisXmlDom = new PermisXmlDom();
       this.parent = parentIn;
       this.ldapSetup = new PermisLdapSetup(parent);
       //read default ldap config file
       //this.ldapSetup.readDefaultConfig();
       //this.subject = new PermisSubjectPolicy();
      this.ldapParam = null;
      ma = new HelpWindow(null, "Minimal Manual", PermisPolicyEditorMenu.class, "issrg/editor/gui/minimalManual.help");
      help = new HelpWindow(null, "Help", PermisPolicyEditorMenu.class, "issrg/editor/gui/full.help");
    }
      public PermisPolicyEditorMenu(){
      }

    /**
     * Get object of ReadablePolicy.
     *
     * @return     readablePolicy object
     */     
    public PermisReadablePolicy getReadablePolicy()
    {
        return  this.readablePolicy;
    }
    public PermisLdapSetup getLdapSetup()
    {
        return this.ldapSetup ;
    }
    public void setButtonTitle(String title)
    {
       helpButtonTitle = title;
    }
     /**
      * Creates the populauted menu bar.
      *
      * @return     The Jmenu the method has created.
      */

    public JMenuBar createMenu()
    {
        menuBar = new JMenuBar();
        
        editMenu = new JMenu();
        fileMenu = new JMenu();
        helpMenu = new JMenu();
        toolsMenu = new JMenu();
        viewMenu = new JMenu();
        
        aboutMenuItem = new JMenuItem();
        closeMenuItem = new JMenuItem();
        contentMenuItem = new JMenuItem();
        copyElementMenuItem = new JMenuItem();
        copyMenuItem = new JMenuItem();
        configMenuItem = new JMenuItem();
        dynamicHelpMenuItem = new JMenuItem();
        pasteMenuItem = new JMenuItem();
        cutMenuItem = new JMenuItem();
        deleteMenuItem = new JMenuItem();
        exitMenuItem = new JMenuItem();
        newMenuItem = new JMenuItem();
        openMenuItem = new JMenuItem();
        previewPolicyMenuItem = new JMenuItem();
        sign_publishMenuItem = new JMenuItem();
        saveAsMenuItem = new JMenuItem();
        saveMenuItem = new JMenuItem();
        treeViewMenuItem = new JMenuItem();
        verifyMenuItem = new JMenuItem();
        
        fileSeparator1 = new JSeparator();
        fileSeparator2 = new JSeparator();
        jSeparator3 = new JSeparator();
        jSeparator4 = new JSeparator();
        jSeparator5 = new JSeparator();
        
        disableMenuItems();
        fileMenu.setMnemonic('F');
        fileMenu.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_menu"));
        fileMenu.setToolTipText("");
        newMenuItem.setMnemonic('N');
        newMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_new"));
        newMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("create_new_tt"));
        newMenuItem.setActionCommand(NEW_ACTION);
        newMenuItem.addActionListener(this);

        fileMenu.add(newMenuItem);

        openMenuItem.setMnemonic('O');
        openMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_open"));
        openMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_open_tt"));

        openMenuItem.setActionCommand(OPEN_ACTION);
        openMenuItem.addActionListener(this);

        fileMenu.add(openMenuItem);

        fileMenu.add(fileSeparator1);

        saveMenuItem.setMnemonic('S');
        saveMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_save"));
        saveMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_save_tt"));
        saveMenuItem.setEnabled(false);
        saveMenuItem.setActionCommand(SAVE_ACTION);
        saveMenuItem.addActionListener(this);

        fileMenu.add(saveMenuItem);

        saveAsMenuItem.setMnemonic('V');
        saveAsMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_save_as"));
        saveAsMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_save_as_tt"));
        saveAsMenuItem.setEnabled(false);
        saveAsMenuItem.setActionCommand(SAVE_AS_ACTION);
        saveAsMenuItem.addActionListener(this);

        fileMenu.add(saveAsMenuItem);

        fileMenu.add(fileSeparator2);

        closeMenuItem.setMnemonic('C');
        closeMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_close"));
        closeMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_close_tt"));
        closeMenuItem.setActionCommand(CLOSE_ACTION);
        closeMenuItem.addActionListener(this);

        fileMenu.add(closeMenuItem);

        exitMenuItem.setMnemonic('X');
        exitMenuItem.setText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_exit"));
        exitMenuItem.setToolTipText(ResourceBundle.getBundle("issrg/editor/gui/Editor_GUI_i18n").
                         getString("file_exit_tt"));
        exitMenuItem.setActionCommand(EXIT_ACTION);
        exitMenuItem.addActionListener(this);

        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        editMenu.setMnemonic('E');
        editMenu.setText("Edit");
        editMenu.setActionCommand(EDIT_ACTION);
        editMenu.addActionListener(this);

        cutMenuItem.setMnemonic('X');
        cutMenuItem.setText("Cut");
        cutMenuItem.setActionCommand(CUT_ACTION);

⌨️ 快捷键说明

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