1
2// should be granted
3grant principal com.sun.security.auth.UnixPrincipal "1",
4    principal Comparator$PCompare2 "2" {
5    permission java.util.PropertyPermission "foo", "read";
6};
7
8// should be granted
9grant principal Comparator$PCompare1 "1",
10    principal com.sun.security.auth.NTUserPrincipal "4" {
11    permission java.util.PropertyPermission "bar", "read";
12};
13
14// should be granted
15grant principal com.sun.security.auth.UnixPrincipal "1",
16    principal javax.security.auth.x500.X500Principal "cn=x500",
17    principal Comparator$PCompare2 "2" {
18    permission java.util.PropertyPermission "hello", "read";
19};
20
21// should be granted
22grant principal Comparator$PCompare1 "1",
23    principal com.sun.security.auth.NTUserPrincipal "4",
24    principal javax.security.auth.x500.X500Principal "cn=x500" {
25    permission java.util.PropertyPermission "world", "read";
26};
27
28// should not be granted
29grant principal Comparator$PCompare1 "1",
30    principal Comparator$PCompare3 "3" {
31    permission java.util.PropertyPermission "foobar", "read";
32};
33
34