117 * @return an enumeration of all the UnresolvedPermission objects. |
117 * @return an enumeration of all the UnresolvedPermission objects. |
118 */ |
118 */ |
119 |
119 |
120 public Enumeration<Permission> elements() { |
120 public Enumeration<Permission> elements() { |
121 List<Permission> results = |
121 List<Permission> results = |
122 new ArrayList<Permission>(); // where results are stored |
122 new ArrayList<>(); // where results are stored |
123 |
123 |
124 // Get iterator of Map values (which are lists of permissions) |
124 // Get iterator of Map values (which are lists of permissions) |
125 synchronized (this) { |
125 synchronized (this) { |
126 for (List<UnresolvedPermission> l : perms.values()) { |
126 for (List<UnresolvedPermission> l : perms.values()) { |
127 synchronized (l) { |
127 synchronized (l) { |
159 private void writeObject(ObjectOutputStream out) throws IOException { |
159 private void writeObject(ObjectOutputStream out) throws IOException { |
160 // Don't call out.defaultWriteObject() |
160 // Don't call out.defaultWriteObject() |
161 |
161 |
162 // Copy perms into a Hashtable |
162 // Copy perms into a Hashtable |
163 Hashtable<String, Vector<UnresolvedPermission>> permissions = |
163 Hashtable<String, Vector<UnresolvedPermission>> permissions = |
164 new Hashtable<String, Vector<UnresolvedPermission>>(perms.size()*2); |
164 new Hashtable<>(perms.size()*2); |
165 |
165 |
166 // Convert each entry (List) into a Vector |
166 // Convert each entry (List) into a Vector |
167 synchronized (this) { |
167 synchronized (this) { |
168 Set<Map.Entry<String, List<UnresolvedPermission>>> set = perms.entrySet(); |
168 Set<Map.Entry<String, List<UnresolvedPermission>>> set = perms.entrySet(); |
169 for (Map.Entry<String, List<UnresolvedPermission>> e : set) { |
169 for (Map.Entry<String, List<UnresolvedPermission>> e : set) { |
170 // Convert list into Vector |
170 // Convert list into Vector |
171 List<UnresolvedPermission> list = e.getValue(); |
171 List<UnresolvedPermission> list = e.getValue(); |
172 Vector<UnresolvedPermission> vec = |
172 Vector<UnresolvedPermission> vec = new Vector<>(list.size()); |
173 new Vector<UnresolvedPermission>(list.size()); |
|
174 synchronized (list) { |
173 synchronized (list) { |
175 vec.addAll(list); |
174 vec.addAll(list); |
176 } |
175 } |
177 |
176 |
178 // Add to Hashtable being serialized |
177 // Add to Hashtable being serialized |
205 // Convert each entry (Vector) into a List |
204 // Convert each entry (Vector) into a List |
206 Set<Map.Entry<String, Vector<UnresolvedPermission>>> set = permissions.entrySet(); |
205 Set<Map.Entry<String, Vector<UnresolvedPermission>>> set = permissions.entrySet(); |
207 for (Map.Entry<String, Vector<UnresolvedPermission>> e : set) { |
206 for (Map.Entry<String, Vector<UnresolvedPermission>> e : set) { |
208 // Convert Vector into ArrayList |
207 // Convert Vector into ArrayList |
209 Vector<UnresolvedPermission> vec = e.getValue(); |
208 Vector<UnresolvedPermission> vec = e.getValue(); |
210 List<UnresolvedPermission> list = |
209 List<UnresolvedPermission> list = new ArrayList<>(vec.size()); |
211 new ArrayList<UnresolvedPermission>(vec.size()); |
|
212 list.addAll(vec); |
210 list.addAll(vec); |
213 |
211 |
214 // Add to Hashtable being serialized |
212 // Add to Hashtable being serialized |
215 perms.put(e.getKey(), list); |
213 perms.put(e.getKey(), list); |
216 } |
214 } |