Merge pull request #412 from jhanders34/branch1
Remove SecurityManager related code from API
diff --git a/api/src/main/java/jakarta/json/spi/JsonProvider.java b/api/src/main/java/jakarta/json/spi/JsonProvider.java
index 28fe280..b3df62b 100644
--- a/api/src/main/java/jakarta/json/spi/JsonProvider.java
+++ b/api/src/main/java/jakarta/json/spi/JsonProvider.java
@@ -23,8 +23,6 @@
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
@@ -108,9 +106,7 @@
*/
public static JsonProvider provider() {
LOG.log(Level.FINE, "Checking system property {0}", JSONP_PROVIDER_FACTORY);
- final String factoryClassName = System.getSecurityManager() != null
- ? AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty(JSONP_PROVIDER_FACTORY))
- : System.getProperty(JSONP_PROVIDER_FACTORY);
+ final String factoryClassName = System.getProperty(JSONP_PROVIDER_FACTORY);
if (factoryClassName != null) {
JsonProvider provider = newInstance(factoryClassName);
LOG.log(Level.FINE, "System property used; returning object [{0}]",
@@ -152,7 +148,6 @@
*/
private static JsonProvider newInstance(String className) {
try {
- checkPackageAccess(className);
@SuppressWarnings({"unchecked"})
Class<JsonProvider> clazz = (Class<JsonProvider>) Class.forName(className);
return clazz.getConstructor().newInstance();
@@ -167,20 +162,6 @@
}
/**
- * Make sure that the current thread has an access to the package of the given name.
- * @param className The class name to check.
- */
- private static void checkPackageAccess(String className) {
- SecurityManager s = System.getSecurityManager();
- if (s != null) {
- int i = className.lastIndexOf('.');
- if (i != -1) {
- s.checkPackageAccess(className.substring(0, i));
- }
- }
- }
-
- /**
* Creates a JSON parser from a character stream.
*
* @param reader i/o reader from which JSON is to be read