[rfc][icedtea-web][policyeditor] CustomPermission no-actions constructor

Jiri Vanek jvanek at redhat.com
Thu Jun 19 13:30:03 UTC 2014


On 06/16/2014 11:09 PM, Andrew Azores wrote:
> Hi,
>
> This patch very simply adds a new constructor to model CustomPermissions which do not have any
> actions, rather than forcing no-actions permissions to be instantiated by passing an empty string
> for the actions argument.
>

Well if this serves you...


few minors. Can go in with those fixed.

> diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java
> --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java
> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java
> @@ -61,6 +61,16 @@
>       public final String type, target, actions;
>
>       /**
> +     * Constructor for custom basic permissions (ie those without actions)
Please mention that its behaviour si same as  this(type, target, "");

> +     * @param type eg java.io.FilePermission
> +     * @param target eg ${user.home}${/}*
> +     */
> +    public CustomPermission(final String type, final String target) {
> +        this(type, target, "");
> +    }
> +
> +    /**
> +     * Constructor for custom permissions with actions
>        * @param type eg java.io.FilePermission
>        * @param target eg ${user.home}${/}*
>        * @param actions eg read,write
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java
> --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java
> +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java
> @@ -117,7 +117,7 @@
>
>       @Test
>       public void testToStringWithoutActions() throws Exception {
> -        final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", "");
Please do not remove this test. This constructor is stil valid

> +        final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader");

add test with this new constructor.
>           final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";";
>           assertEquals(expected, cp.toString());
>       }
> @@ -126,7 +126,7 @@
>       public void testCompareTo() throws Exception {
>           final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read");
>           final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read");
> -        final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob", "");
> +        final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob");

same here
>           assertTrue("cp1.compareTo(cp2) should be > 0", cp1.compareTo(cp2) > 0);
>           assertTrue("cp1.compareTo(cp1) should be 0", cp1.compareTo(cp1) == 0);
>           assertTrue("cp2.compareTo(cp3) should be < 0", cp2.compareTo(cp3) < 0);
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java
> --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java
> +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java
> @@ -55,7 +55,7 @@
>
>       private CustomPolicyViewer viewer;
>       private static final String CODEBASE ="http://example.com";
> -    private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", "");
> +    private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader");

and here
>
>       @Before
>       public void setupViewer() {
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java
> --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java
> +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java
> @@ -143,7 +143,7 @@
>       @Test
>       public void testAddCustomPermission() throws Exception {
>           final String codebase ="http://example.com";
> -        final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", "");
> +        final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader");

and here
>           editor.addCustomPermission(codebase, customPermission);
>           assertTrue(editor.getCustomPermissions(codebase).contains(customPermission));
>       }
> @@ -151,7 +151,7 @@
>       @Test
>       public void testClearCustomPermissions() throws Exception {
>           final String codebase ="http://example.com";
> -        final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", "");
> +        final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader");

and here
>           editor.addCustomPermission(codebase, customPermission);
>           assertTrue(editor.getCustomPermissions(codebase).contains(customPermission));
>           editor.clearCustomPermissions(codebase);
> @@ -251,4 +251,4 @@
>                   map.get("-codebase").equals("http://example.com http://icedtea.classpath.org"));
>       }
>
> -}
> \ No newline at end of file
> +}
>

ty!

  J.



More information about the distro-pkg-dev mailing list