You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by eb...@apache.org on 2020/12/02 00:21:17 UTC
[tomcat] 02/05: Use lambda expressions with
AccessController.doPrivileged()
This is an automated email from the ASF dual-hosted git repository.
ebourg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 2728f60e83b9b46b5dd2529d6efed70b29da8929
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 00:52:02 2020 +0100
Use lambda expressions with AccessController.doPrivileged()
---
java/jakarta/el/BeanELResolver.java | 8 +-
java/jakarta/el/ExpressionFactory.java | 28 +------
.../auth/message/config/AuthConfigFactory.java | 36 ++++-----
java/jakarta/servlet/http/Cookie.java | 30 ++-----
.../authenticator/SpnegoAuthenticator.java | 13 +--
.../catalina/core/ApplicationFilterChain.java | 6 +-
.../org/apache/catalina/security/SecurityUtil.java | 7 +-
.../catalina/startup/ClassLoaderFactory.java | 26 +++---
java/org/apache/catalina/util/Introspection.java | 16 +---
java/org/apache/el/lang/ELSupport.java | 9 +--
java/org/apache/el/lang/ExpressionBuilder.java | 8 +-
java/org/apache/el/util/Validation.java | 10 +--
.../jasper/runtime/JspApplicationContextImpl.java | 8 +-
java/org/apache/jasper/runtime/JspFactoryImpl.java | 7 +-
java/org/apache/jasper/servlet/JspServlet.java | 11 +--
java/org/apache/juli/ClassLoaderLogManager.java | 33 +++-----
.../apache/naming/factory/MailSessionFactory.java | 93 +++++++++++-----------
.../org/apache/naming/factory/SendMailFactory.java | 62 +++++++--------
.../org/apache/tomcat/util/compat/JrePlatform.java | 8 +-
19 files changed, 141 insertions(+), 278 deletions(-)
diff --git a/java/jakarta/el/BeanELResolver.java b/java/jakarta/el/BeanELResolver.java
index 1487033..7525e06 100644
--- a/java/jakarta/el/BeanELResolver.java
+++ b/java/jakarta/el/BeanELResolver.java
@@ -46,13 +46,7 @@ public class BeanELResolver extends ELResolver {
cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "1000");
} else {
cacheSizeStr = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
-
- @Override
- public String run() {
- return System.getProperty(CACHE_SIZE_PROP, "1000");
- }
- });
+ (PrivilegedAction<String>) () -> System.getProperty(CACHE_SIZE_PROP, "1000"));
}
CACHE_SIZE = Integer.parseInt(cacheSizeStr);
}
diff --git a/java/jakarta/el/ExpressionFactory.java b/java/jakarta/el/ExpressionFactory.java
index 599a179..0777451 100644
--- a/java/jakarta/el/ExpressionFactory.java
+++ b/java/jakarta/el/ExpressionFactory.java
@@ -58,14 +58,8 @@ public abstract class ExpressionFactory {
static {
if (IS_SECURITY_ENABLED) {
PROPERTY_FILE = AccessController.doPrivileged(
- new PrivilegedAction<String>(){
- @Override
- public String run() {
- return System.getProperty("java.home") + File.separator +
- "lib" + File.separator + "el.properties";
- }
-
- }
+ (PrivilegedAction<String>) () -> System.getProperty("java.home") + File.separator +
+ "lib" + File.separator + "el.properties"
);
} else {
PROPERTY_FILE = System.getProperty("java.home") + File.separator + "lib" +
@@ -333,14 +327,7 @@ public abstract class ExpressionFactory {
className = getClassNameServices(tccl);
if (className == null) {
if (IS_SECURITY_ENABLED) {
- className = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
- @Override
- public String run() {
- return getClassNameJreDir();
- }
- }
- );
+ className = AccessController.doPrivileged((PrivilegedAction<String>) ExpressionFactory::getClassNameJreDir);
} else {
// Second el.properties file
className = getClassNameJreDir();
@@ -348,14 +335,7 @@ public abstract class ExpressionFactory {
}
if (className == null) {
if (IS_SECURITY_ENABLED) {
- className = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
- @Override
- public String run() {
- return getClassNameSysProp();
- }
- }
- );
+ className = AccessController.doPrivileged((PrivilegedAction<String>) ExpressionFactory::getClassNameSysProp);
} else {
// Third system property
className = getClassNameSysProp();
diff --git a/java/jakarta/security/auth/message/config/AuthConfigFactory.java b/java/jakarta/security/auth/message/config/AuthConfigFactory.java
index 6f02fdef..a51c641 100644
--- a/java/jakarta/security/auth/message/config/AuthConfigFactory.java
+++ b/java/jakarta/security/auth/message/config/AuthConfigFactory.java
@@ -64,22 +64,18 @@ public abstract class AuthConfigFactory {
final String className = getFactoryClassName();
try {
factory = AccessController.doPrivileged(
- new PrivilegedExceptionAction<AuthConfigFactory>() {
- @Override
- public AuthConfigFactory run() throws ReflectiveOperationException,
- IllegalArgumentException, SecurityException {
- // Load this class with the same class loader as used for
- // this class. Note that the Thread context class loader
- // should not be used since that would trigger a memory leak
- // in container environments.
- if (className.equals("org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl")) {
- return new org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl();
- } else {
- Class<?> clazz = Class.forName(className);
- return (AuthConfigFactory) clazz.getConstructor().newInstance();
- }
- }
- });
+ (PrivilegedExceptionAction<AuthConfigFactory>) () -> {
+ // Load this class with the same class loader as used for
+ // this class. Note that the Thread context class loader
+ // should not be used since that would trigger a memory leak
+ // in container environments.
+ if (className.equals("org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl")) {
+ return new org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl();
+ } else {
+ Class<?> clazz = Class.forName(className);
+ return (AuthConfigFactory) clazz.getConstructor().newInstance();
+ }
+ });
} catch (PrivilegedActionException e) {
Exception inner = e.getException();
if (inner instanceof InstantiationException) {
@@ -130,12 +126,8 @@ public abstract class AuthConfigFactory {
}
private static String getFactoryClassName() {
- String className = AccessController.doPrivileged(new PrivilegedAction<String>() {
- @Override
- public String run() {
- return Security.getProperty(DEFAULT_FACTORY_SECURITY_PROPERTY);
- }
- });
+ String className = AccessController.doPrivileged(
+ (PrivilegedAction<String>) () -> Security.getProperty(DEFAULT_FACTORY_SECURITY_PROPERTY));
if (className != null) {
return className;
diff --git a/java/jakarta/servlet/http/Cookie.java b/java/jakarta/servlet/http/Cookie.java
index f0ea2f2..1d8e7de 100644
--- a/java/jakarta/servlet/http/Cookie.java
+++ b/java/jakarta/servlet/http/Cookie.java
@@ -73,32 +73,14 @@ public class Cookie implements Cloneable, Serializable {
"org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR");
} else {
strictServletCompliance = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
- @Override
- public Boolean run() {
- return Boolean.valueOf(System.getProperty(
- "org.apache.catalina.STRICT_SERVLET_COMPLIANCE"));
- }
- }
- ).booleanValue();
+ (PrivilegedAction<Boolean>) () -> Boolean.valueOf(System.getProperty(
+ "org.apache.catalina.STRICT_SERVLET_COMPLIANCE")));
propStrictNaming = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
- @Override
- public String run() {
- return System.getProperty(
- "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING");
- }
- }
- );
+ (PrivilegedAction<String>) () -> System.getProperty(
+ "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING"));
propFwdSlashIsSeparator = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
- @Override
- public String run() {
- return System.getProperty(
- "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR");
- }
- }
- );
+ (PrivilegedAction<String>) () -> System.getProperty(
+ "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR"));
}
if (propStrictNaming == null) {
diff --git a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
index 252d4f3..16e0b36 100644
--- a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
+++ b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
@@ -217,15 +217,10 @@ public class SpnegoAuthenticator extends AuthenticatorBase {
credentialLifetime = GSSCredential.DEFAULT_LIFETIME;
}
final PrivilegedExceptionAction<GSSCredential> action =
- new PrivilegedExceptionAction<GSSCredential>() {
- @Override
- public GSSCredential run() throws GSSException {
- return manager.createCredential(null,
- credentialLifetime,
- new Oid("1.3.6.1.5.5.2"),
- GSSCredential.ACCEPT_ONLY);
- }
- };
+ () -> manager.createCredential(null,
+ credentialLifetime,
+ new Oid("1.3.6.1.5.5.2"),
+ GSSCredential.ACCEPT_ONLY);
gssContext = manager.createContext(Subject.doAs(subject, action));
outToken = Subject.doAs(lc.getSubject(), new AcceptAction(gssContext, decoded));
diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java b/java/org/apache/catalina/core/ApplicationFilterChain.java
index f4c00e2..f9e69ec 100644
--- a/java/org/apache/catalina/core/ApplicationFilterChain.java
+++ b/java/org/apache/catalina/core/ApplicationFilterChain.java
@@ -138,14 +138,10 @@ public final class ApplicationFilterChain implements FilterChain {
final ServletResponse res = response;
try {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Void>() {
- @Override
- public Void run()
- throws ServletException, IOException {
+ (java.security.PrivilegedExceptionAction<Void>) () -> {
internalDoFilter(req,res);
return null;
}
- }
);
} catch( PrivilegedActionException pe) {
Exception e = pe.getException();
diff --git a/java/org/apache/catalina/security/SecurityUtil.java b/java/org/apache/catalina/security/SecurityUtil.java
index d7835c7..52eab47 100644
--- a/java/org/apache/catalina/security/SecurityUtil.java
+++ b/java/org/apache/catalina/security/SecurityUtil.java
@@ -277,13 +277,10 @@ public final class SecurityUtil{
try{
Subject subject = null;
PrivilegedExceptionAction<Void> pea =
- new PrivilegedExceptionAction<Void>(){
- @Override
- public Void run() throws Exception{
+ () -> {
method.invoke(targetObject, targetArguments);
return null;
- }
- };
+ };
// The first argument is always the request object
if (targetArguments != null
diff --git a/java/org/apache/catalina/startup/ClassLoaderFactory.java b/java/org/apache/catalina/startup/ClassLoaderFactory.java
index 2be5613..110b702 100644
--- a/java/org/apache/catalina/startup/ClassLoaderFactory.java
+++ b/java/org/apache/catalina/startup/ClassLoaderFactory.java
@@ -126,14 +126,11 @@ public final class ClassLoaderFactory {
// Construct the class loader itself
final URL[] array = set.toArray(new URL[0]);
return AccessController.doPrivileged(
- new PrivilegedAction<URLClassLoader>() {
- @Override
- public URLClassLoader run() {
- if (parent == null) {
- return new URLClassLoader(array);
- } else {
- return new URLClassLoader(array, parent);
- }
+ (PrivilegedAction<URLClassLoader>) () -> {
+ if (parent == null) {
+ return new URLClassLoader(array);
+ } else {
+ return new URLClassLoader(array, parent);
}
});
}
@@ -229,14 +226,11 @@ public final class ClassLoaderFactory {
}
return AccessController.doPrivileged(
- new PrivilegedAction<URLClassLoader>() {
- @Override
- public URLClassLoader run() {
- if (parent == null)
- return new URLClassLoader(array);
- else
- return new URLClassLoader(array, parent);
- }
+ (PrivilegedAction<URLClassLoader>) () -> {
+ if (parent == null)
+ return new URLClassLoader(array);
+ else
+ return new URLClassLoader(array, parent);
});
}
diff --git a/java/org/apache/catalina/util/Introspection.java b/java/org/apache/catalina/util/Introspection.java
index 9999bba..5c9bc2b 100644
--- a/java/org/apache/catalina/util/Introspection.java
+++ b/java/org/apache/catalina/util/Introspection.java
@@ -99,13 +99,7 @@ public class Introspection {
public static Field[] getDeclaredFields(final Class<?> clazz) {
Field[] fields = null;
if (Globals.IS_SECURITY_ENABLED) {
- fields = AccessController.doPrivileged(
- new PrivilegedAction<Field[]>(){
- @Override
- public Field[] run(){
- return clazz.getDeclaredFields();
- }
- });
+ fields = AccessController.doPrivileged((PrivilegedAction<Field[]>) clazz::getDeclaredFields);
} else {
fields = clazz.getDeclaredFields();
}
@@ -122,13 +116,7 @@ public class Introspection {
public static Method[] getDeclaredMethods(final Class<?> clazz) {
Method[] methods = null;
if (Globals.IS_SECURITY_ENABLED) {
- methods = AccessController.doPrivileged(
- new PrivilegedAction<Method[]>(){
- @Override
- public Method[] run(){
- return clazz.getDeclaredMethods();
- }
- });
+ methods = AccessController.doPrivileged((PrivilegedAction<Method[]>) clazz::getDeclaredMethods);
} else {
methods = clazz.getDeclaredMethods();
}
diff --git a/java/org/apache/el/lang/ELSupport.java b/java/org/apache/el/lang/ELSupport.java
index f251db8..16fd4db 100644
--- a/java/org/apache/el/lang/ELSupport.java
+++ b/java/org/apache/el/lang/ELSupport.java
@@ -48,13 +48,8 @@ public class ELSupport {
String coerceToZeroStr;
if (System.getSecurityManager() != null) {
coerceToZeroStr = AccessController.doPrivileged(
- new PrivilegedAction<String>(){
- @Override
- public String run() {
- return System.getProperty(
- "org.apache.el.parser.COERCE_TO_ZERO", "false");
- }
- }
+ (PrivilegedAction<String>) () -> System.getProperty(
+ "org.apache.el.parser.COERCE_TO_ZERO", "false")
);
} else {
coerceToZeroStr = System.getProperty(
diff --git a/java/org/apache/el/lang/ExpressionBuilder.java b/java/org/apache/el/lang/ExpressionBuilder.java
index 5c11d2d..919898a 100644
--- a/java/org/apache/el/lang/ExpressionBuilder.java
+++ b/java/org/apache/el/lang/ExpressionBuilder.java
@@ -60,13 +60,7 @@ public final class ExpressionBuilder implements NodeVisitor {
cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "5000");
} else {
cacheSizeStr = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
-
- @Override
- public String run() {
- return System.getProperty(CACHE_SIZE_PROP, "5000");
- }
- });
+ (PrivilegedAction<String>) () -> System.getProperty(CACHE_SIZE_PROP, "5000"));
}
CACHE_SIZE = Integer.parseInt(cacheSizeStr);
}
diff --git a/java/org/apache/el/util/Validation.java b/java/org/apache/el/util/Validation.java
index 09a5ebe..61fbe0a 100644
--- a/java/org/apache/el/util/Validation.java
+++ b/java/org/apache/el/util/Validation.java
@@ -42,15 +42,7 @@ public class Validation {
String skipIdentifierCheckStr;
if (IS_SECURITY_ENABLED) {
skipIdentifierCheckStr = AccessController.doPrivileged(
- new PrivilegedAction<String>(){
- @Override
- public String run() {
- return System.getProperty(
- "org.apache.el.parser.SKIP_IDENTIFIER_CHECK",
- "false");
- }
- }
- );
+ (PrivilegedAction<String>) () -> System.getProperty("org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false"));
} else {
skipIdentifierCheckStr = System.getProperty(
"org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false");
diff --git a/java/org/apache/jasper/runtime/JspApplicationContextImpl.java b/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
index bd1f377..82aa1ab 100644
--- a/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
+++ b/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
@@ -90,13 +90,7 @@ public class JspApplicationContextImpl implements JspApplicationContext {
final ELResolver r = this.createELResolver();
ELContextImpl ctx;
if (Constants.IS_SECURITY_ENABLED) {
- ctx = AccessController.doPrivileged(
- new PrivilegedAction<ELContextImpl>() {
- @Override
- public ELContextImpl run() {
- return new ELContextImpl(r);
- }
- });
+ ctx = AccessController.doPrivileged((PrivilegedAction<ELContextImpl>) () -> new ELContextImpl(r));
} else {
ctx = new ELContextImpl(r);
}
diff --git a/java/org/apache/jasper/runtime/JspFactoryImpl.java b/java/org/apache/jasper/runtime/JspFactoryImpl.java
index 25d6406..578b5f3 100644
--- a/java/org/apache/jasper/runtime/JspFactoryImpl.java
+++ b/java/org/apache/jasper/runtime/JspFactoryImpl.java
@@ -206,12 +206,7 @@ public class JspFactoryImpl extends JspFactory {
final ServletContext context) {
if (Constants.IS_SECURITY_ENABLED) {
return AccessController.doPrivileged(
- new PrivilegedAction<JspApplicationContext>() {
- @Override
- public JspApplicationContext run() {
- return JspApplicationContextImpl.getInstance(context);
- }
- });
+ (PrivilegedAction<JspApplicationContext>) () -> JspApplicationContextImpl.getInstance(context));
} else {
return JspApplicationContextImpl.getInstance(context);
}
diff --git a/java/org/apache/jasper/servlet/JspServlet.java b/java/org/apache/jasper/servlet/JspServlet.java
index ab572b1..979dc74 100644
--- a/java/org/apache/jasper/servlet/JspServlet.java
+++ b/java/org/apache/jasper/servlet/JspServlet.java
@@ -128,13 +128,10 @@ public class JspServlet extends HttpServlet implements PeriodicEventListener {
}
try {
if (SecurityUtil.isPackageProtectionEnabled()){
- AccessController.doPrivileged(new PrivilegedExceptionAction<Object>(){
- @Override
- public Object run() throws IOException, ServletException {
- serviceJspFile(null, null, jspFile, true);
- return null;
- }
- });
+ AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> {
+ serviceJspFile(null, null, jspFile, true);
+ return null;
+ });
} else {
serviceJspFile(null, null, jspFile, true);
}
diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java
index a04285c..5672761 100644
--- a/java/org/apache/juli/ClassLoaderLogManager.java
+++ b/java/org/apache/juli/ClassLoaderLogManager.java
@@ -162,12 +162,9 @@ public class ClassLoaderLogManager extends LogManager {
final String levelString = getProperty(loggerName + ".level");
if (levelString != null) {
try {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
- @Override
- public Void run() {
- logger.setLevel(Level.parse(levelString.trim()));
- return null;
- }
+ AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+ logger.setLevel(Level.parse(levelString.trim()));
+ return null;
});
} catch (IllegalArgumentException e) {
// Leave level set to null
@@ -422,16 +419,13 @@ public class ClassLoaderLogManager extends LogManager {
ClassLoaderLogInfo info = classLoaderLoggers.get(classLoader);
if (info == null) {
final ClassLoader classLoaderParam = classLoader;
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
- @Override
- public Void run() {
- try {
- readConfiguration(classLoaderParam);
- } catch (IOException e) {
- // Ignore
- }
- return null;
+ AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+ try {
+ readConfiguration(classLoaderParam);
+ } catch (IOException e) {
+ // Ignore
}
+ return null;
});
info = classLoaderLoggers.get(classLoader);
}
@@ -626,12 +620,9 @@ public class ClassLoaderLogManager extends LogManager {
*/
protected static void doSetParentLogger(final Logger logger,
final Logger parent) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
- @Override
- public Void run() {
- logger.setParent(parent);
- return null;
- }
+ AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+ logger.setParent(parent);
+ return null;
});
}
diff --git a/java/org/apache/naming/factory/MailSessionFactory.java b/java/org/apache/naming/factory/MailSessionFactory.java
index 9259d6d..dde44c0 100644
--- a/java/org/apache/naming/factory/MailSessionFactory.java
+++ b/java/org/apache/naming/factory/MailSessionFactory.java
@@ -102,55 +102,52 @@ public class MailSessionFactory implements ObjectFactory {
// exceptions.
//
// Bugzilla 31288, 33077: add support for authentication.
- return AccessController.doPrivileged(new PrivilegedAction<Session>() {
- @Override
- public Session run() {
-
- // Create the JavaMail properties we will use
- Properties props = new Properties();
- props.put("mail.transport.protocol", "smtp");
- props.put("mail.smtp.host", "localhost");
-
- String password = null;
-
- Enumeration<RefAddr> attrs = ref.getAll();
- while (attrs.hasMoreElements()) {
- RefAddr attr = attrs.nextElement();
- if ("factory".equals(attr.getType())) {
- continue;
- }
-
- if ("password".equals(attr.getType())) {
- password = (String) attr.getContent();
- continue;
- }
-
- props.put(attr.getType(), attr.getContent());
- }
-
- Authenticator auth = null;
- if (password != null) {
- String user = props.getProperty("mail.smtp.user");
- if(user == null) {
- user = props.getProperty("mail.user");
- }
-
- if(user != null) {
- final PasswordAuthentication pa = new PasswordAuthentication(user, password);
- auth = new Authenticator() {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return pa;
- }
- };
- }
- }
-
- // Create and return the new Session object
- Session session = Session.getInstance(props, auth);
- return session;
+ return AccessController.doPrivileged((PrivilegedAction<Session>) () -> {
+ // Create the JavaMail properties we will use
+ Properties props = new Properties();
+ props.put("mail.transport.protocol", "smtp");
+ props.put("mail.smtp.host", "localhost");
+
+ String password = null;
+
+ Enumeration<RefAddr> attrs = ref.getAll();
+ while (attrs.hasMoreElements()) {
+ RefAddr attr = attrs.nextElement();
+ if ("factory".equals(attr.getType())) {
+ continue;
+ }
+
+ if ("password".equals(attr.getType())) {
+ password = (String) attr.getContent();
+ continue;
}
- } );
+
+ props.put(attr.getType(), attr.getContent());
+ }
+
+ Authenticator auth = null;
+ if (password != null) {
+ String user = props.getProperty("mail.smtp.user");
+ if(user == null) {
+ user = props.getProperty("mail.user");
+ }
+
+ if(user != null) {
+ final PasswordAuthentication pa = new PasswordAuthentication(user, password);
+ auth = new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return pa;
+ }
+ };
+ }
+ }
+
+ // Create and return the new Session object
+ Session session = Session.getInstance(props, auth);
+ return session;
+
+ });
}
}
diff --git a/java/org/apache/naming/factory/SendMailFactory.java b/java/org/apache/naming/factory/SendMailFactory.java
index 326dd51..93c692e 100644
--- a/java/org/apache/naming/factory/SendMailFactory.java
+++ b/java/org/apache/naming/factory/SendMailFactory.java
@@ -89,42 +89,38 @@ public class SendMailFactory implements ObjectFactory
// throwing Security Exceptions
if (ref.getClassName().equals(DataSourceClassName)) {
return AccessController.doPrivileged(
- new PrivilegedAction<MimePartDataSource>()
- {
- @Override
- public MimePartDataSource run() {
- // set up the smtp session that will send the message
- Properties props = new Properties();
- // enumeration of all refaddr
- Enumeration<RefAddr> list = ref.getAll();
- // current refaddr to be set
- RefAddr refaddr;
- // set transport to smtp
- props.put("mail.transport.protocol", "smtp");
+ (PrivilegedAction<MimePartDataSource>) () -> {
+ // set up the smtp session that will send the message
+ Properties props = new Properties();
+ // enumeration of all refaddr
+ Enumeration<RefAddr> list = ref.getAll();
+ // current refaddr to be set
+ RefAddr refaddr;
+ // set transport to smtp
+ props.put("mail.transport.protocol", "smtp");
- while (list.hasMoreElements()) {
- refaddr = list.nextElement();
+ while (list.hasMoreElements()) {
+ refaddr = list.nextElement();
- // set property
- props.put(refaddr.getType(), refaddr.getContent());
- }
- MimeMessage message = new MimeMessage(
- Session.getInstance(props));
- try {
- RefAddr fromAddr = ref.get("mail.from");
- String from = null;
- if (fromAddr != null) {
- from = (String)ref.get("mail.from").getContent();
+ // set property
+ props.put(refaddr.getType(), refaddr.getContent());
}
- if (from != null) {
- message.setFrom(new InternetAddress(from));
- }
- message.setSubject("");
- } catch (Exception e) {/*Ignore*/}
- MimePartDataSource mds = new MimePartDataSource(message);
- return mds;
- }
- } );
+ MimeMessage message = new MimeMessage(
+ Session.getInstance(props));
+ try {
+ RefAddr fromAddr = ref.get("mail.from");
+ String from = null;
+ if (fromAddr != null) {
+ from = (String)ref.get("mail.from").getContent();
+ }
+ if (from != null) {
+ message.setFrom(new InternetAddress(from));
+ }
+ message.setSubject("");
+ } catch (Exception e) {/*Ignore*/}
+ MimePartDataSource mds = new MimePartDataSource(message);
+ return mds;
+ });
} else { // We can't create an instance of the DataSource
return null;
}
diff --git a/java/org/apache/tomcat/util/compat/JrePlatform.java b/java/org/apache/tomcat/util/compat/JrePlatform.java
index 89c1bc7..66717d6 100644
--- a/java/org/apache/tomcat/util/compat/JrePlatform.java
+++ b/java/org/apache/tomcat/util/compat/JrePlatform.java
@@ -42,13 +42,7 @@ public class JrePlatform {
osName = System.getProperty(OS_NAME_PROPERTY);
} else {
osName = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
-
- @Override
- public String run() {
- return System.getProperty(OS_NAME_PROPERTY);
- }
- });
+ (PrivilegedAction<String>) () -> System.getProperty(OS_NAME_PROPERTY));
}
IS_MAC_OS = osName.toLowerCase(Locale.ENGLISH).startsWith("mac os x");
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org