From 72989c60b7476f96ed694811df812def152738f5 Mon Sep 17 00:00:00 2001 From: Forwolk Date: Sat, 4 Aug 2018 14:56:03 +0300 Subject: [PATCH] Checking reference is not initialized --- core/src/main/java/mc/core/Location.java | 7 +++++-- .../mc/core/exception/ResourceUnloadException.java | 8 -------- .../mc/core/exception/ResourceUnloadedException.java | 8 ++++++++ .../java/mc/world/generated_world/chunk/ChunkImpl.java | 7 +++++-- .../mc/world/generated_world/region/RegionImpl.java | 10 ++++++---- 5 files changed, 24 insertions(+), 16 deletions(-) delete mode 100644 core/src/main/java/mc/core/exception/ResourceUnloadException.java create mode 100644 core/src/main/java/mc/core/exception/ResourceUnloadedException.java diff --git a/core/src/main/java/mc/core/Location.java b/core/src/main/java/mc/core/Location.java index 2816f25..6f5d7d7 100644 --- a/core/src/main/java/mc/core/Location.java +++ b/core/src/main/java/mc/core/Location.java @@ -5,7 +5,7 @@ package mc.core; import lombok.Data; -import mc.core.exception.ResourceUnloadException; +import mc.core.exception.ResourceUnloadedException; import mc.core.world.World; import java.io.Serializable; @@ -98,8 +98,11 @@ public class Location implements Serializable{ } public World getWorld () { + if (world == null) { + throw new IllegalStateException("World is not initialized"); + } if (world.get() == null) { - throw new ResourceUnloadException("You're trying to get unloaded world"); + throw new ResourceUnloadedException("You're trying to get unloaded world"); } return this.world.get(); } diff --git a/core/src/main/java/mc/core/exception/ResourceUnloadException.java b/core/src/main/java/mc/core/exception/ResourceUnloadException.java deleted file mode 100644 index b277411..0000000 --- a/core/src/main/java/mc/core/exception/ResourceUnloadException.java +++ /dev/null @@ -1,8 +0,0 @@ -package mc.core.exception; - -public class ResourceUnloadException extends McCoreUncheckedException { - - public ResourceUnloadException(String msg) { - super(msg); - } -} diff --git a/core/src/main/java/mc/core/exception/ResourceUnloadedException.java b/core/src/main/java/mc/core/exception/ResourceUnloadedException.java new file mode 100644 index 0000000..07ac21f --- /dev/null +++ b/core/src/main/java/mc/core/exception/ResourceUnloadedException.java @@ -0,0 +1,8 @@ +package mc.core.exception; + +public class ResourceUnloadedException extends McCoreUncheckedException { + + public ResourceUnloadedException(String msg) { + super(msg); + } +} diff --git a/generated_world/src/main/java/mc/world/generated_world/chunk/ChunkImpl.java b/generated_world/src/main/java/mc/world/generated_world/chunk/ChunkImpl.java index 5dd5951..d47cb1f 100644 --- a/generated_world/src/main/java/mc/world/generated_world/chunk/ChunkImpl.java +++ b/generated_world/src/main/java/mc/world/generated_world/chunk/ChunkImpl.java @@ -3,7 +3,7 @@ package mc.world.generated_world.chunk; import lombok.Getter; import mc.core.block.Block; import mc.core.block.BlockType; -import mc.core.exception.ResourceUnloadException; +import mc.core.exception.ResourceUnloadedException; import mc.core.world.Biome; import mc.core.world.Chunk; import mc.core.world.Region; @@ -111,8 +111,11 @@ public class ChunkImpl implements Chunk{ @Override public Region getRegion() { + if (region == null) { + throw new IllegalStateException("Region is not initialized"); + } if (region.get() == null) { - throw new ResourceUnloadException("Region is unloaded"); + throw new ResourceUnloadedException("Region is unloaded"); } return region.get(); } diff --git a/generated_world/src/main/java/mc/world/generated_world/region/RegionImpl.java b/generated_world/src/main/java/mc/world/generated_world/region/RegionImpl.java index c5aea75..69bfbcb 100644 --- a/generated_world/src/main/java/mc/world/generated_world/region/RegionImpl.java +++ b/generated_world/src/main/java/mc/world/generated_world/region/RegionImpl.java @@ -1,15 +1,14 @@ package mc.world.generated_world.region; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import mc.core.exception.ResourceUnloadException; +import mc.core.exception.ResourceUnloadedException; import mc.core.serialization.IRegionReaderWriter; import mc.core.serialization.Serializer; import mc.core.world.*; -import mc.world.generated_world.chunk.InMemoryCacheChunkLoader; import mc.world.generated_world.chunk.ChunkImpl; import mc.world.generated_world.chunk.ChunkProxy; +import mc.world.generated_world.chunk.InMemoryCacheChunkLoader; import org.springframework.beans.factory.annotation.Autowired; import java.io.File; @@ -81,8 +80,11 @@ public class RegionImpl implements Region{ @Override public World getWorld() { + if (world == null) { + throw new IllegalStateException("World is not initialized"); + } if (world.get() == null) { - throw new ResourceUnloadException("World is unloaded"); + throw new ResourceUnloadedException("World is unloaded"); } return world.get(); }