1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package net.sf.jguard.jee.extras.dwr2;
30
31 import java.security.BasicPermission;
32 import java.security.Permission;
33 import net.sf.jguard.core.authorization.permissions.JGPositivePermissionCollection;
34
35
36
37
38
39
40
41 public class DWR2Permission extends BasicPermission{
42
43 private static final long serialVersionUID = -5380977242062636050L;
44
45 private String name = null;
46 private String creatorClassName = null;
47 private String className = null;
48 private String methodName = null;
49 private String actions = null;
50
51
52
53
54
55
56
57
58
59
60
61
62
63 public DWR2Permission(String name, String actions) {
64 super(name);
65 this.name = name;
66 this.actions = actions;
67 if(name==null){
68 throw new IllegalArgumentException(" 'name' must not be null ");
69 }
70 String[] actionsArray = (String[])actions.split(",");
71 if(actionsArray.length!=3){
72 throw new IllegalArgumentException(" DWR1Permission must have 3 actions : creatorClassName,className and methodName ");
73 }
74 creatorClassName = actionsArray[0];
75 className = actionsArray[1];
76 methodName = actionsArray[2];
77 if(creatorClassName==null ||className==null || methodName==null){
78 throw new IllegalArgumentException(" one or more of these arguments are 'null' : \n name="+name+ "creatorClassName ="+creatorClassName+" className= "+className);
79 }
80 }
81
82 public int hashCode(){
83 return name.hashCode()+creatorClassName.hashCode()+className.hashCode()+methodName.hashCode();
84 }
85
86 public boolean equals(Object object){
87 if (object instanceof DWR2Permission == false) {
88 return false;
89 }else{
90 DWR2Permission dwrPerm = (DWR2Permission) object;
91 if(name.equals(dwrPerm.getName())||!creatorClassName.equals(dwrPerm.getCreatorClassName())||!className.equals(dwrPerm.getClassName())||!methodName.equals(dwrPerm.getMethodName())){
92 return false;
93 }else{
94
95 return true;
96 }
97 }
98 }
99
100
101 public boolean implies(Permission p) {
102 if (p instanceof DWR2Permission == false) {
103 return false;
104 }else{
105 DWR2Permission dwrPerm = (DWR2Permission) p;
106 if(!creatorClassName.equals(dwrPerm.getCreatorClassName())||!className.equals(dwrPerm.getClassName())||!methodName.equals(dwrPerm.getMethodName())){
107 return false;
108 }else{
109
110 return true;
111 }
112 }
113
114 }
115
116 public String getClassName() {
117 return className;
118 }
119
120 public String getMethodName() {
121 return methodName;
122 }
123
124 public String getCreatorClassName() {
125 return creatorClassName;
126 }
127
128 public String toString(){
129 StringBuffer buffer = new StringBuffer();
130 buffer.append("name=");
131 buffer.append(name);
132 buffer.append(",");
133 buffer.append("creatorClassName=");
134 buffer.append(creatorClassName);
135 buffer.append(",");
136 buffer.append("className=");
137 buffer.append(className);
138 buffer.append(",");
139 buffer.append("methodName=");
140 buffer.append(methodName);
141 return buffer.toString();
142
143 }
144
145
146
147
148
149
150 public java.security.PermissionCollection newPermissionCollection() {
151 return new JGPositivePermissionCollection();
152 }
153
154 public String getActions() {
155 return actions;
156 }
157
158 }