You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/06/09 13:19:04 UTC
[commons-email] 05/06: Use try-with-resources
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-email.git
commit e93e4e81652b8d30854815023ad9cf91e28ce230
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Jun 9 09:18:44 2022 -0400
Use try-with-resources
---
src/main/java/org/apache/commons/mail/Email.java | 1 +
.../java/org/apache/commons/mail/MultiPartEmail.java | 17 ++++++-----------
.../mail/resolver/DataSourceClassPathResolver.java | 2 --
.../org/apache/commons/mail/util/MimeMessageParser.java | 7 +++++--
4 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/src/main/java/org/apache/commons/mail/Email.java b/src/main/java/org/apache/commons/mail/Email.java
index ece572b..8b50466 100644
--- a/src/main/java/org/apache/commons/mail/Email.java
+++ b/src/main/java/org/apache/commons/mail/Email.java
@@ -1432,6 +1432,7 @@ public abstract class Email
if (this.popBeforeSmtp)
{
+ // TODO Why is this not a Store leak? When to close?
final Store store = session.getStore("pop3");
store.connect(this.popHost, this.popUsername, this.popPassword);
}
diff --git a/src/main/java/org/apache/commons/mail/MultiPartEmail.java b/src/main/java/org/apache/commons/mail/MultiPartEmail.java
index 15358f7..9a22e99 100644
--- a/src/main/java/org/apache/commons/mail/MultiPartEmail.java
+++ b/src/main/java/org/apache/commons/mail/MultiPartEmail.java
@@ -386,8 +386,7 @@ public class MultiPartEmail extends Email
// verify that the URL is valid
try
{
- final InputStream is = url.openStream();
- is.close();
+ url.openStream().close();
}
catch (final IOException e)
{
@@ -414,16 +413,13 @@ public class MultiPartEmail extends Email
final String description)
throws EmailException
{
+ if (ds == null)
+ {
+ throw new EmailException("Invalid Datasource");
+ }
// verify that the DataSource is valid
- try
+ try (InputStream is = ds.getInputStream())
{
- final InputStream is = ds != null ? ds.getInputStream() : null;
- if (is != null)
- {
- // close the input stream to prevent file locking on windows
- is.close();
- }
-
if (is == null)
{
throw new EmailException("Invalid Datasource");
@@ -433,7 +429,6 @@ public class MultiPartEmail extends Email
{
throw new EmailException("Invalid Datasource", e);
}
-
return attach(ds, name, description, EmailAttachment.ATTACHMENT);
}
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java b/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java
index 4c34ef4..8154144 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java
+++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java
@@ -105,8 +105,6 @@ public class DataSourceClassPathResolver extends DataSourceBaseResolver
result = ds;
}
}
-
-
return result;
}
catch (final IOException e)
diff --git a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java b/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java
index 6d0f391..e29269e 100644
--- a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java
+++ b/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java
@@ -270,10 +270,13 @@ public class MimeMessageParser
final DataHandler dataHandler = part.getDataHandler();
final DataSource dataSource = dataHandler.getDataSource();
final String contentType = getBaseMimeType(dataSource.getContentType());
- final byte[] content = this.getContent(dataSource.getInputStream());
+ byte[] content;
+ try (InputStream inputStream = dataSource.getInputStream())
+ {
+ content = this.getContent(inputStream);
+ }
final ByteArrayDataSource result = new ByteArrayDataSource(content, contentType);
final String dataSourceName = getDataSourceName(part, dataSource);
-
result.setName(dataSourceName);
return result;
}