Skip to content

Commit 8fbb240

Browse files
committed
Fixed SpotBugs issue and static initialization issue that came up since I fixed the username check in the DemoAppBase (which checks if the placeholders have been replaced for gmail authentication or else it throws an exception when the class is loaded)
1 parent 2bd5120 commit 8fbb240

File tree

6 files changed

+32
-19
lines changed

6 files changed

+32
-19
lines changed

modules/batch-module/src/main/java/org/simplejavamail/internal/batchsupport/BatchSupport.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.simplejavamail.internal.batchsupport;
22

3+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
34
import jakarta.mail.Session;
45
import jakarta.mail.Transport;
6+
import lombok.val;
57
import org.bbottema.clusteredobjectpool.core.api.ResourceKey.ResourceClusterAndPoolKey;
68
import org.bbottema.genericobjectpool.PoolableObject;
79
import org.jetbrains.annotations.NotNull;
@@ -17,6 +19,7 @@
1719
import org.slf4j.Logger;
1820
import org.slf4j.LoggerFactory;
1921

22+
import java.util.Properties;
2023
import java.util.UUID;
2124
import java.util.concurrent.CompletableFuture;
2225
import java.util.concurrent.ExecutorService;
@@ -92,6 +95,7 @@ private void ensureClusterInitialized(@NotNull OperationalConfig operationalConf
9295
*/
9396
@NotNull
9497
@Override
98+
@SuppressFBWarnings(value = "NP_NULL_ON_SOME_PATH", justification = "This is bullshit, Spotbugs. There's a requireNonNull() right in front of you, you numbnuts")
9599
public LifecycleDelegatingTransport acquireTransport(@NotNull final UUID clusterKey, @NotNull final Session session, boolean stickySession) {
96100
try {
97101
requireNonNull(smtpConnectionPool, "Connection pool used before it was initialized. This shouldn't be possible.");
@@ -108,9 +112,10 @@ public LifecycleDelegatingTransport acquireTransport(@NotNull final UUID cluster
108112
// since the SMTP connection pool doesn't know about Simple Java Mail,
109113
// it won't know where to look for the OAUTH2 token unless we copy the property
110114
private void checkConfigureOAuth2Token(Session session) {
111-
if (session.getProperties().containsKey(TransportStrategy.OAUTH2_TOKEN_PROPERTY)) {
112-
session.getProperties().setProperty(SmtpConnectionPool.OAUTH2_TOKEN_PROPERTY,
113-
session.getProperties().getProperty(TransportStrategy.OAUTH2_TOKEN_PROPERTY));
115+
val props = session.getProperties();
116+
if (props.containsKey(TransportStrategy.OAUTH2_TOKEN_PROPERTY)) {
117+
props.setProperty(SmtpConnectionPool.OAUTH2_TOKEN_PROPERTY,
118+
props.getProperty(TransportStrategy.OAUTH2_TOKEN_PROPERTY));
114119
}
115120
}
116121

modules/core-test-module/src/main/java/demo/DemoAppBase.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import testutil.ConfigLoaderTestHelper;
88
import testutil.ImplLoader;
99

10-
import static jakarta.xml.bind.DatatypeConverter.parseBase64Binary;
11-
1210
public class DemoAppBase {
1311

1412
static final Logger LOGGER = LoggerFactory.getLogger(DemoAppBase.class);
@@ -49,14 +47,4 @@ static MailerRegularBuilder<?> buildMailer(String host, int port, String gMailAd
4947
.withTransportModeLoggingOnly(LOGGING_MODE)
5048
.clearProxy();
5149
}
52-
53-
public static byte[] produceThumbsUpImage() {
54-
String base64String = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABeElEQVRYw2NgoAAYGxu3GxkZ7TY1NZVloDcA" +
55-
"Wq4MxH+B+D8Qv3FwcOCgtwM6oJaDMTAUXOhmuYqKCjvQ0pdoDrCnmwNMTEwakC0H4u8GBgYC9Ap6DSD+iewAoIPm0ctyLqBlp9F" +
56-
"8/x+YE4zpYT8T0LL16JYD8U26+B7oyz4sloPwenpYno3DchCeROsUbwa05A8eB3wB4kqgIxOAuArIng7EW4H4EhC/B+JXQLwDaI4" +
57-
"ryZaDSjeg5mt4LCcFXyIn1fdSyXJQVt1OtMWGhoai0OD8T0W8GohZifE1PxD/o7LlsPLiFNAKRrwOABWptLAcqc6QGDAHQEOAYaA" +
58-
"c8BNotsJAOgAUAosG1AFA/AtUoY3YEFhKMAvS2AE7iC1+WaG1H6gY3gzE36hUFJ8mqzbU1dUVBBqQBzTgIDQRkWo5qCZdpaenJ0Z" +
59-
"x1aytrc0DDB0foIG1oAYKqC0IZK8D4n1AfA6IzwPxXpCFoGoZVEUDaRGGUTAKRgEeAAA2eGJC+ETCiAAAAABJRU5ErkJggg==";
60-
return parseBase64Binary(base64String);
61-
}
62-
}
50+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package testutil;
2+
3+
import static jakarta.xml.bind.DatatypeConverter.parseBase64Binary;
4+
5+
public class ThumbsUpImage {
6+
public static byte[] produceThumbsUpImage() {
7+
String base64String = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABeElEQVRYw2NgoAAYGxu3GxkZ7TY1NZVloDcA" +
8+
"Wq4MxH+B+D8Qv3FwcOCgtwM6oJaDMTAUXOhmuYqKCjvQ0pdoDrCnmwNMTEwakC0H4u8GBgYC9Ap6DSD+iewAoIPm0ctyLqBlp9F" +
9+
"8/x+YE4zpYT8T0LL16JYD8U26+B7oyz4sloPwenpYno3DchCeROsUbwa05A8eB3wB4kqgIxOAuArIng7EW4H4EhC/B+JXQLwDaI4" +
10+
"ryZaDSjeg5mt4LCcFXyIn1fdSyXJQVt1OtMWGhoai0OD8T0W8GohZifE1PxD/o7LlsPLiFNAKRrwOABWptLAcqc6QGDAHQEOAYaA" +
11+
"c8BNotsJAOgAUAosG1AFA/AtUoY3YEFhKMAvS2AE7iC1+WaG1H6gY3gzE36hUFJ8mqzbU1dUVBBqQBzTgIDQRkWo5qCZdpaenJ0Z" +
12+
"x1aytrc0DDB0foIG1oAYKqC0IZK8D4n1AfA6IzwPxXpCFoGoZVEUDaRGGUTAKRgEeAAA2eGJC+ETCiAAAAABJRU5ErkJggg==";
13+
return parseBase64Binary(base64String);
14+
}
15+
}

modules/simple-java-mail/src/test/java/demo/EmailTypesDemoApp.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import org.simplejavamail.api.mailer.Mailer;
55
import org.simplejavamail.email.EmailBuilder;
66
import testutil.ModuleLoaderTestHelper;
7+
import testutil.ThumbsUpImage;
78

89
import java.io.IOException;
910
import java.util.concurrent.CompletableFuture;
1011

1112
import static org.assertj.core.api.Assertions.assertThat;
13+
import static testutil.ThumbsUpImage.*;
1214

1315
/**
1416
* Demonstration program for the Simple Java Mail framework. Just fill your gmail, password and press GO.

modules/simple-java-mail/src/test/java/demo/FullEmailDemoApp.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
import org.simplejavamail.email.EmailBuilder;
1010
import testutil.CalendarHelper;
1111
import testutil.ModuleLoaderTestHelper;
12+
import testutil.ThumbsUpImage;
1213

1314
import java.io.IOException;
1415

1516
import static demo.ResourceFolderHelper.determineResourceFolder;
1617
import static java.nio.charset.Charset.defaultCharset;
18+
import static testutil.ThumbsUpImage.*;
1719

1820
/**
1921
* Demonstration program for the Simple Java Mail framework. Just fill your gmail, password and press GO.

modules/simple-java-mail/src/test/java/org/simplejavamail/api/email/EmailTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.simplejavamail.api.email;
22

3-
import demo.DemoAppBase;
43
import jakarta.mail.util.ByteArrayDataSource;
54
import org.jetbrains.annotations.NotNull;
65
import org.junit.Before;
@@ -10,6 +9,7 @@
109
import org.simplejavamail.internal.util.NamedDataSource;
1110
import testutil.ConfigLoaderTestHelper;
1211
import testutil.EmailHelper;
12+
import testutil.ThumbsUpImage;
1313

1414
import java.io.ByteArrayOutputStream;
1515
import java.io.IOException;
@@ -32,6 +32,7 @@
3232
import static org.simplejavamail.api.email.CalendarMethod.REPLY;
3333
import static org.simplejavamail.api.email.ContentTransferEncoding.BASE_64;
3434
import static org.simplejavamail.util.TestDataHelper.loadPkcs12KeyStore;
35+
import static testutil.ThumbsUpImage.*;
3536

3637
public class EmailTest {
3738

@@ -97,8 +98,8 @@ public void testToStringFull() {
9798
.withHeader("dummyHeader2", "dummyHeaderValue2")
9899
.withCalendarText(CalendarMethod.ADD, "Calendar text")
99100
.signWithDomainKey("dkim_key", "dkim_domain", "dkim_selector")
100-
.withEmbeddedImage("the_image", DemoAppBase.produceThumbsUpImage(), "image/png")
101-
.withAttachment("the_attachment", DemoAppBase.produceThumbsUpImage(), "image/png")
101+
.withEmbeddedImage("the_image", produceThumbsUpImage(), "image/png")
102+
.withAttachment("the_attachment", produceThumbsUpImage(), "image/png")
102103
.withAttachment("described_attachment", "blah".getBytes(defaultCharset()), "text/plain", "cool description", BASE_64)
103104
.buildEmail();
104105

0 commit comments

Comments
 (0)