Skip to content

Commit 841e788

Browse files
authored
Merge pull request #300 from maarzt/fix-log-message-empty-attachments
Fix NullPointerException when calling LogMessage::attachments()
2 parents b5f24eb + 67f3c03 commit 841e788

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/main/java/org/scijava/log/LogMessage.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public Date time() {
112112
* {@link #attach(Object)}.
113113
*/
114114
public Collection<Object> attachments() {
115+
if (attachments == null) return Collections.emptyList();
115116
return Collections.unmodifiableCollection(attachments);
116117
}
117118

src/test/java/org/scijava/log/LogMessageTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
import org.junit.Assert;
3535
import org.junit.Test;
3636

37+
import java.util.ArrayList;
38+
import java.util.Collections;
39+
40+
import static junit.framework.TestCase.assertTrue;
41+
import static org.junit.Assert.assertEquals;
42+
3743
/**
3844
* Tests {@link LogMessage}.
3945
*
@@ -68,4 +74,13 @@ public void testToStringOptionalParameters() {
6874
// test
6975
Assert.assertTrue("Log message contains level", s.contains(LogLevel.prefix(message.level())));
7076
}
77+
78+
@Test
79+
public void testAttachments() {
80+
LogMessage message = new LogMessage(LogSource.newRoot(), LogLevel.ERROR, "Message") ;
81+
assertTrue(message.attachments().isEmpty());
82+
Object object = new Object();
83+
message.attach(object);
84+
assertEquals(Collections.singletonList(object), new ArrayList<>(message.attachments()));
85+
}
7186
}

0 commit comments

Comments
 (0)