jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java
changeset 7970 af1579474d16
parent 5506 202f599c92aa
child 9035 1255eb81cc2f
equal deleted inserted replaced
7969:1a6282ab0d2a 7970:af1579474d16
   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         }