Skip to content

Commit 6bc8984

Browse files
authored
Merge pull request #96 from Umutayb/email-utilities-fix
Email utilities fix
2 parents 18498e5 + 55d412d commit 6bc8984

File tree

5 files changed

+34
-21
lines changed

5 files changed

+34
-21
lines changed

pom.xml

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.umutayb</groupId>
88
<artifactId>Utilities</artifactId>
9-
<version>1.6.6</version>
9+
<version>1.6.7-SNAPSHOT</version>
1010
<packaging>jar</packaging>
1111

1212
<name>Java-Utilities</name>
@@ -59,7 +59,7 @@
5959
<retrofit.version>2.9.0</retrofit.version>
6060
<lombok.version>1.18.26</lombok.version>
6161
<okhttp.version>4.9.3</okhttp.version>
62-
62+
<java.version>17</java.version>
6363
</properties>
6464

6565
<dependencyManagement>
@@ -178,17 +178,10 @@
178178
</dependency>
179179

180180
<!-- Javax Mail -->
181-
<dependency>
182-
<groupId>javax.mail</groupId>
183-
<artifactId>javax.mail-api</artifactId>
184-
<version>1.6.2</version>
185-
<scope>compile</scope>
186-
</dependency>
187181
<dependency>
188182
<groupId>com.sun.mail</groupId>
189-
<artifactId>javax.mail</artifactId>
190-
<version>1.6.2</version>
191-
<scope>compile</scope>
183+
<artifactId>jakarta.mail</artifactId>
184+
<version>2.0.1</version>
192185
</dependency>
193186

194187
<!-- Apache PDFBox -->
@@ -217,8 +210,8 @@
217210
<version>${maven.compiler.version}</version>
218211
<configuration>
219212
<encoding>UTF-8</encoding>
220-
<source>17</source>
221-
<target>17</target>
213+
<source>${java.version}</source>
214+
<target>${java.version}</target>
222215
</configuration>
223216
</plugin>
224217

src/main/java/utils/arrays/ArrayUtilities.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,19 @@ public static <ItemType> ItemType getRandomItemFrom(List<ItemType> items) {
2626
int randomIndex = new Random().nextInt(items.size());
2727
return items.get(randomIndex);
2828
}
29+
30+
/**
31+
* Checks if the specified member is the last element in the provided list.
32+
*
33+
* @param <ItemType> the type of elements in the list
34+
* @param items the list of items to check
35+
* @param member the item to check if it's the last element in the list
36+
* @return {@code true} if the specified member is the last element in the list,
37+
* {@code false} otherwise
38+
* @throws NullPointerException if the {@code items} list or {@code member} is {@code null}
39+
*/
40+
public static <ItemType> boolean isLastMemberOf(List<ItemType> items, ItemType member){
41+
return items.indexOf(member) == (items.size() - 1);
42+
}
2943
}
3044

src/main/java/utils/email/EmailAcquisition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public String acquireEmail(
183183
absolutePath = "file://" + email.getAbsolutePath().replaceAll("#", "%23");
184184
break;
185185
}
186-
} catch (IOException e) {
186+
} catch (Exception e) {
187187
throw new RuntimeException(e);
188188
}
189189
return absolutePath;

src/main/java/utils/email/EmailUtilities.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package utils.email;
22

33
import collections.Pair;
4+
import jakarta.mail.*;
5+
import jakarta.mail.internet.InternetAddress;
6+
import jakarta.mail.internet.MimeBodyPart;
7+
import jakarta.mail.internet.MimeMessage;
48
import lombok.AllArgsConstructor;
59
import lombok.Data;
610
import lombok.Getter;
711
import lombok.NoArgsConstructor;
812
import utils.DateUtilities;
913
import utils.Printer;
1014
import utils.reflection.ReflectionUtilities;
11-
import javax.mail.internet.InternetAddress;
12-
import javax.mail.internet.MimeBodyPart;
13-
import javax.mail.internet.MimeMessage;
1415
import java.io.FileWriter;
1516
import java.io.IOException;
1617
import java.io.File;
17-
import javax.mail.*;
1818
import java.util.*;
1919

2020
import static utils.arrays.lambda.Collectors.toSingleton;
@@ -410,7 +410,7 @@ private void resolveMessage(Message message, Integer index, Boolean print, Boole
410410
log.info("Subject: " + subject);
411411
log.info("Sent Date: " + sentDate);
412412
log.info("Message: " + messageContent);
413-
if (attachments.length() > 0) log.info("Attachments: " + attachments);
413+
if (!attachments.isEmpty()) log.info("Attachments: " + attachments);
414414
}
415415

416416
if (save) saveMessage(emailMessage.getFileName(), messageContent);
@@ -485,8 +485,7 @@ public static String getContent(Message message) {
485485
messageContent = message.getContent().toString();
486486
return messageContent;
487487
} catch (MessagingException | IOException e) {
488-
e.printStackTrace();
489-
throw new RuntimeException(e);
488+
throw new RuntimeException(e.getMessage(), e);
490489
}
491490
}
492491

src/test/java/AppTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.List;
2020
import java.util.regex.Pattern;
2121

22+
import static utils.arrays.ArrayUtilities.isLastMemberOf;
2223
import static utils.email.EmailUtilities.Inbox.EmailField.CONTENT;
2324
import static utils.email.EmailUtilities.Inbox.EmailField.SUBJECT;
2425
import static utils.MappingUtilities.Json.*;
@@ -242,4 +243,10 @@ public void setFieldTest() {
242243
);
243244
printer.success("The setFieldTest() test passed!");
244245
}
246+
247+
@Test
248+
public void lastItemOfTest() {
249+
List<Integer> integers = List.of(1, 2, 3, 4, 5);
250+
Assert.assertTrue("Integer was not the last member!", isLastMemberOf(integers, 5));
251+
}
245252
}

0 commit comments

Comments
 (0)