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 <ebo...@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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org