📄 permispolicyeditormenu.java
字号:
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 + -