Mercurial > hg > release > icedtea-web-1.6
changeset 1156:a1b50e850558
Added menuentry to PolicyEditor to allow quicky open default java.policy
* netx/net/sourceforge/jnlp/resources/Messages.properties: added keys of PEOpenDefaultMenuItem, PEOpenDefaultMenuItemMnemonic, PEOpenDefaultMenuItemAccelerator
* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: added openDefaultButtonAction to open PathsAndFiles.JAVA_POLICY. Added openDefaultItem menu entry calling openDefaultButtonAction.
author | Jiri Vanek <jvanek@redhat.com> |
---|---|
date | Wed, 18 Feb 2015 18:47:18 +0100 |
parents | 62290d68e546 |
children | d52d1381012f |
files | ChangeLog netx/net/sourceforge/jnlp/InformationDesc.java netx/net/sourceforge/jnlp/JNLPFile.java netx/net/sourceforge/jnlp/Parser.java netx/net/sourceforge/jnlp/resources/Messages.properties netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java |
diffstat | 8 files changed, 66 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Feb 17 16:33:14 2015 -0500 +++ b/ChangeLog Wed Feb 18 18:47:18 2015 +0100 @@ -1,3 +1,13 @@ +2015-02-18 Jiri Vanek <jvanek@redhat.com> + + Added menuentry to PolicyEditor to allow quicky open default java.policy + * netx/net/sourceforge/jnlp/resources/Messages.properties: added keys of + PEOpenDefaultMenuItem, PEOpenDefaultMenuItemMnemonic, + PEOpenDefaultMenuItemAccelerator + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: added + openDefaultButtonAction to open PathsAndFiles.JAVA_POLICY. Added openDefaultItem + menu entry calling openDefaultButtonAction. + 2015-02-17 Jie Kang <jkang@redhat.com> Refactor initializeResources in ResourceDownloader.
--- a/netx/net/sourceforge/jnlp/InformationDesc.java Tue Feb 17 16:33:14 2015 -0500 +++ b/netx/net/sourceforge/jnlp/InformationDesc.java Wed Feb 18 18:47:18 2015 +0100 @@ -47,19 +47,24 @@ public static final Object DEFAULT = "default"; /** the locales for the information */ - private Locale locales[]; + final private Locale locales[]; /** the data as list of key,value pairs */ private List<Object> info; - + final boolean strict; /** * Create an information element object. * * @param locales the locales the information is for */ - public InformationDesc(Locale locales[]) { + public InformationDesc(Locale locales[], boolean strict) { this.locales = locales; + this.strict = strict; + } + + InformationDesc(Locale locales[]) { + this(locales, false); } /** @@ -186,7 +191,12 @@ * Returns whether offline execution allowed. */ public boolean isOfflineAllowed() { - return null != getItem("offline-allowed"); + if (strict) { + return null != getItem("offline-allowed"); + } else { + // by deault itw ignore this switch. Most applications are missusing it + return true; + } } /**
--- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Feb 17 16:33:14 2015 -0500 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 18 18:47:18 2015 +0100 @@ -426,7 +426,16 @@ * through the specified locale. */ public InformationDesc getInformation(final Locale locale) { - return new InformationDesc(new Locale[] { locale }) { + boolean strict = false; + if (this.info != null) { + for (InformationDesc infoDesc : this.info) { + if (infoDesc.strict) { + strict = true; + break; + } + } + } + return new InformationDesc(new Locale[] { locale }, strict) { @Override protected List<Object> getItems(Object key) { List<Object> result = new ArrayList<Object>();
--- a/netx/net/sourceforge/jnlp/Parser.java Tue Feb 17 16:33:14 2015 -0500 +++ b/netx/net/sourceforge/jnlp/Parser.java Wed Feb 18 18:47:18 2015 +0100 @@ -495,7 +495,7 @@ Locale locales[] = getLocales(node); // create information - InformationDesc info = new InformationDesc(locales); + InformationDesc info = new InformationDesc(locales, strict); // step through the elements Node child = node.getFirstChild();
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Feb 17 16:33:14 2015 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 18 18:47:18 2015 +0100 @@ -709,6 +709,7 @@ PEFileMenu=File PENewMenuItem=New PEOpenMenuItem=Open... +PEOpenDefaultMenuItem=Open default policy file PESaveMenuItem=Save PESaveAsMenuItem=Save As... PEExitMenuItem=Exit @@ -784,6 +785,7 @@ PERemoveCodebaseItemMnemonic=R PENewMenuItemMnemonic=N PEOpenMenuItemMnemonic=O +PEOpenDefaultMenuItemMnemonic=D PESaveMenuItemMnemonic=S PEExitMenuItemMnemonic=X PECustomPermissionsItemMnemonic=U @@ -800,6 +802,7 @@ PERemoveCodebaseItemAccelerator=DELETE PENewMenuItemAccelerator=control N PEOpenMenuItemAccelerator=control O +PEOpenDefaultMenuItemAccelerator=control D PESaveMenuItemAccelerator=control S PESaveAsMenuItemAccelerator=control shift S PEExitMenuItemAccelerator=control Q
--- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Feb 17 16:33:14 2015 -0500 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Feb 18 18:47:18 2015 +0100 @@ -61,9 +61,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -102,6 +100,7 @@ import javax.swing.event.ListSelectionListener; import net.sourceforge.jnlp.about.AboutDialog; import net.sourceforge.jnlp.OptionsDefinitions; +import net.sourceforge.jnlp.config.PathsAndFiles; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.Group; @@ -180,7 +179,7 @@ public final PolicyEditorController policyEditorController = new PolicyEditorController(); private final ActionListener okButtonAction, addCodebaseButtonAction, - removeCodebaseButtonAction, newButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction, + removeCodebaseButtonAction, newButtonAction, openButtonAction, openDefaultButtonAction, saveAsButtonAction, viewCustomButtonAction, renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction, policyEditorHelpButtonAction, aboutPolicyEditorButtonAction, aboutItwButtonAction; private final ActionListener closeButtonAction; @@ -330,6 +329,15 @@ } } }; + + openDefaultButtonAction = new ActionListener() { + @Override + public void actionPerformed(final ActionEvent e) { + if (!promptOnSaveChangesMade(true)) return; + PolicyEditor.this.setFile(PathsAndFiles.JAVA_POLICY.getFullPath()); + openAndParsePolicyFile(); + } + }; saveAsButtonAction = new ActionListener() { @Override @@ -1037,6 +1045,12 @@ openItem.addActionListener(editor.openButtonAction); fileMenu.add(openItem); + final JMenuItem openDefaultItem = new JMenuItem(R("PEOpenDefaultMenuItem")); + setButtonMnemonic(openDefaultItem, R("PEOpenDefaultMenuItemMnemonic")); + setMenuItemAccelerator(openDefaultItem, R("PEOpenDefaultMenuItemAccelerator")); + openDefaultItem.addActionListener(editor.openDefaultButtonAction); + fileMenu.add(openDefaultItem); + final JMenuItem saveItem = new JMenuItem(R("PESaveMenuItem")); setButtonMnemonic(saveItem, R("PESaveMenuItemMnemonic")); setMenuItemAccelerator(saveItem, R("PESaveMenuItemAccelerator")); @@ -1048,7 +1062,7 @@ setMenuItemAccelerator(saveAsItem, R("PESaveAsMenuItemAccelerator")); saveAsItem.addActionListener(editor.saveAsButtonAction); fileMenu.add(saveAsItem); - + final JMenuItem exitItem = new JMenuItem(R("PEExitMenuItem")); setButtonMnemonic(exitItem, R("PEExitMenuItemMnemonic")); setMenuItemAccelerator(exitItem, R("PEExitMenuItemAccelerator"));
--- a/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java Tue Feb 17 16:33:14 2015 -0500 +++ b/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java Wed Feb 18 18:47:18 2015 +0100 @@ -159,11 +159,19 @@ @Test public void testIsOfflineAllowed() { - InformationDesc info = new InformationDesc(new Locale[0]); + InformationDesc info = new InformationDesc(new Locale[0], true); assertFalse(info.isOfflineAllowed()); info.addItem("offline-allowed", new Object()); assertTrue(info.isOfflineAllowed()); } + + @Test + public void testIsOfflineAllowedNotStrict() { + InformationDesc info = new InformationDesc(new Locale[0], false); + assertTrue(info.isOfflineAllowed()); + info.addItem("offline-allowed", new Object()); + assertTrue(info.isOfflineAllowed()); + } @Test public void testIsSharingAllowed() {
--- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Tue Feb 17 16:33:14 2015 -0500 +++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java Wed Feb 18 18:47:18 2015 +0100 @@ -338,7 +338,7 @@ private void setTitle(final DummyJNLPFileWithJar jnlpFile, final String title) { jnlpFile.setInfo(Arrays.asList(new InformationDesc[]{ - new InformationDesc(new Locale[]{}) { + new InformationDesc(new Locale[]{}, false) { @Override public String getTitle() { return title;