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