Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java')
-rw-r--r--bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
index 7ddaadc83..55abf9ade 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* Connexta, LLC - evaluation cache implementation
@@ -16,6 +16,7 @@ package org.eclipse.osgi.internal.permadmin;
import java.security.Permission;
import java.security.PermissionCollection;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -51,6 +52,9 @@ public class SecurityTable extends PermissionCollection {
if (bundlePermissions == null) {
return ABSTAIN;
}
+ if (evaluationCache.size() > 10000) {
+ clearEvaluationCache();
+ }
EvaluationCacheKey evaluationCacheKey = new EvaluationCacheKey(bundlePermissions, permission);
if (isEmpty()) {
evaluationCache.put(evaluationCacheKey, ABSTAIN);
@@ -170,9 +174,10 @@ public class SecurityTable extends PermissionCollection {
}
SecurityRow getRow(String name) {
- for (int i = 0; i < rows.length; i++) {
- if (name.equals(rows[i].getName()))
- return rows[i];
+ for (SecurityRow row : rows) {
+ if (name.equals(row.getName())) {
+ return row;
+ }
}
return null;
}
@@ -195,7 +200,7 @@ public class SecurityTable extends PermissionCollection {
@Override
public Enumeration<Permission> elements() {
- return BundlePermissions.EMPTY_ENUMERATION;
+ return Collections.emptyEnumeration();
}
@Override

Back to the top