mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-25 12:15:12 +01:00
Merge pull request #2457 from BentoBoxWorld/2456_mysterious_exception
Handle nulls if they happen
This commit is contained in:
commit
7ed9ceaf22
@ -538,7 +538,9 @@ public class IslandCache {
|
||||
* @return list of islands
|
||||
*/
|
||||
public @NonNull List<Island> getIslands(UUID uniqueId) {
|
||||
return islandsByUUID.getOrDefault(uniqueId, Collections.emptySet()).stream().map(this::getIslandById).toList();
|
||||
return islandsByUUID.getOrDefault(uniqueId, Collections.emptySet()).stream().map(this::getIslandById)
|
||||
.filter(Objects::nonNull) // Filter out null values
|
||||
.toList();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -470,6 +470,23 @@ public class IslandCacheTest extends AbstractCommonSetup {
|
||||
assertTrue(ic.getIslands(owner).isEmpty());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link world.bentobox.bentobox.managers.island.IslandCache#getIslands(java.util.UUID)}.
|
||||
* @throws IntrospectionException
|
||||
* @throws NoSuchMethodException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws InvocationTargetException
|
||||
* @throws IllegalAccessException
|
||||
* @throws InstantiationException
|
||||
*/
|
||||
@Test
|
||||
public void testGetIslandsUUIDNoIslands() throws InstantiationException, IllegalAccessException,
|
||||
InvocationTargetException, ClassNotFoundException, NoSuchMethodException, IntrospectionException {
|
||||
// Test is WIP.
|
||||
when(handler.loadObject(anyString())).thenReturn(null);
|
||||
assertTrue(ic.getIslands(owner).isEmpty());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link world.bentobox.bentobox.managers.island.IslandCache#addIsland(world.bentobox.bentobox.database.objects.Island)}.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user