From c05212799ad5559a8a8a74a3b951e38df3a2074a Mon Sep 17 00:00:00 2001 From: godotg Date: Sun, 3 Sep 2023 00:45:32 +0800 Subject: [PATCH] ref[storage]: refactor storage --- orm/src/main/java/com/zfoo/orm/manager/OrmManager.java | 2 +- .../java/com/zfoo/storage/manager/IStorageManager.java | 2 +- .../{PrimitiveIntStorage.java => StorageInt.java} | 4 ++-- .../{PrimitiveLongStorage.java => StorageLong.java} | 4 ++-- .../java/com/zfoo/storage/manager/StorageManager.java | 4 ++-- .../manager/{ObjectStorage.java => StorageObject.java} | 10 +++++----- .../src/test/java/com/zfoo/storage/StudentManager.java | 6 +++--- .../java/com/zfoo/storage/export/ExportBinaryTest.java | 4 ++-- 8 files changed, 18 insertions(+), 18 deletions(-) rename storage/src/main/java/com/zfoo/storage/manager/{PrimitiveIntStorage.java => StorageInt.java} (94%) rename storage/src/main/java/com/zfoo/storage/manager/{PrimitiveLongStorage.java => StorageLong.java} (94%) rename storage/src/main/java/com/zfoo/storage/manager/{ObjectStorage.java => StorageObject.java} (95%) diff --git a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java index 1e40d91b..36dac9de 100644 --- a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java +++ b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java @@ -471,7 +471,7 @@ public class OrmManager implements IOrmManager { ReflectionUtils.publicEmptyConstructor(clazz); // 不能使用Storage的Index注解 - var storageIndexes = ReflectionUtils.getFieldsByAnnoNameInPOJOClass(clazz, "com.zfoo.storage.model.anno.Index"); + var storageIndexes = ReflectionUtils.getFieldsByAnnoNameInPOJOClass(clazz, "com.zfoo.storage.anno.Index"); if (ArrayUtils.isNotEmpty(storageIndexes)) { throw new RunException("在Orm中只能使用Orm的Index注解,不能使用Storage的Index注解,为了避免不必要的误解和增强项目的健壮性,禁止这样使用"); } diff --git a/storage/src/main/java/com/zfoo/storage/manager/IStorageManager.java b/storage/src/main/java/com/zfoo/storage/manager/IStorageManager.java index 52c0629a..73a0ef48 100644 --- a/storage/src/main/java/com/zfoo/storage/manager/IStorageManager.java +++ b/storage/src/main/java/com/zfoo/storage/manager/IStorageManager.java @@ -42,7 +42,7 @@ public interface IStorageManager { Map, IStorage> storageMap(); - void updateStorage(Class clazz, ObjectStorage storageObject); + void updateStorage(Class clazz, IStorage storageObject); StorageConfig storageConfig(); } diff --git a/storage/src/main/java/com/zfoo/storage/manager/PrimitiveIntStorage.java b/storage/src/main/java/com/zfoo/storage/manager/StorageInt.java similarity index 94% rename from storage/src/main/java/com/zfoo/storage/manager/PrimitiveIntStorage.java rename to storage/src/main/java/com/zfoo/storage/manager/StorageInt.java index 739b4524..17f1c5c3 100644 --- a/storage/src/main/java/com/zfoo/storage/manager/PrimitiveIntStorage.java +++ b/storage/src/main/java/com/zfoo/storage/manager/StorageInt.java @@ -23,11 +23,11 @@ import java.util.Map; * @author godotg * @version 3.0 */ -public class PrimitiveIntStorage extends ObjectStorage { +public class StorageInt extends StorageObject { private IntObjectHashMap dataMap; - public PrimitiveIntStorage(ObjectStorage storageObject) { + public StorageInt(StorageObject storageObject) { this.dataMap = new IntObjectHashMap(storageObject.size()); this.dataMap.putAll((Map) storageObject.getData()); super.indexMap = storageObject.indexMap; diff --git a/storage/src/main/java/com/zfoo/storage/manager/PrimitiveLongStorage.java b/storage/src/main/java/com/zfoo/storage/manager/StorageLong.java similarity index 94% rename from storage/src/main/java/com/zfoo/storage/manager/PrimitiveLongStorage.java rename to storage/src/main/java/com/zfoo/storage/manager/StorageLong.java index 774544eb..e6ae1e93 100644 --- a/storage/src/main/java/com/zfoo/storage/manager/PrimitiveLongStorage.java +++ b/storage/src/main/java/com/zfoo/storage/manager/StorageLong.java @@ -23,11 +23,11 @@ import java.util.Map; * @author godotg * @version 3.0 */ -public class PrimitiveLongStorage extends ObjectStorage { +public class StorageLong extends StorageObject { private LongObjectHashMap dataMap; - public PrimitiveLongStorage(ObjectStorage storageObject) { + public StorageLong(StorageObject storageObject) { this.dataMap = new LongObjectHashMap(storageObject.size()); this.dataMap.putAll((Map) storageObject.getData()); super.indexMap = storageObject.indexMap; diff --git a/storage/src/main/java/com/zfoo/storage/manager/StorageManager.java b/storage/src/main/java/com/zfoo/storage/manager/StorageManager.java index d0dd8a5d..960ba2fa 100644 --- a/storage/src/main/java/com/zfoo/storage/manager/StorageManager.java +++ b/storage/src/main/java/com/zfoo/storage/manager/StorageManager.java @@ -125,7 +125,7 @@ public class StorageManager implements IStorageManager { var clazz = definition.getClazz(); var resource = definition.getResource(); var fileExtName = FileUtils.fileExtName(resource.getFilename()); - ObjectStorage storageObject = ObjectStorage.parse(resource.getInputStream(), clazz, fileExtName); + StorageObject storageObject = StorageObject.parse(resource.getInputStream(), clazz, fileExtName); storageMap.putIfAbsent(clazz, storageObject); } } catch (Exception e) { @@ -205,7 +205,7 @@ public class StorageManager implements IStorageManager { } @Override - public void updateStorage(Class clazz, ObjectStorage storageObject) { + public void updateStorage(Class clazz, IStorage storageObject) { storageMap.put(clazz, storageObject); } diff --git a/storage/src/main/java/com/zfoo/storage/manager/ObjectStorage.java b/storage/src/main/java/com/zfoo/storage/manager/StorageObject.java similarity index 95% rename from storage/src/main/java/com/zfoo/storage/manager/ObjectStorage.java rename to storage/src/main/java/com/zfoo/storage/manager/StorageObject.java index 9d5d454d..a8e07c69 100644 --- a/storage/src/main/java/com/zfoo/storage/manager/ObjectStorage.java +++ b/storage/src/main/java/com/zfoo/storage/manager/StorageObject.java @@ -29,7 +29,7 @@ import java.util.*; * @author godotg * @version 3.0 */ -public class ObjectStorage implements IStorage { +public class StorageObject implements IStorage { private Map dataMap = new HashMap<>(); // 非唯一索引 @@ -44,9 +44,9 @@ public class ObjectStorage implements IStorage { protected boolean recycle = true; - public static ObjectStorage parse(InputStream inputStream, Class resourceClazz, String suffix) { + public static StorageObject parse(InputStream inputStream, Class resourceClazz, String suffix) { try { - ObjectStorage storageObject = new ObjectStorage<>(); + StorageObject storageObject = new StorageObject<>(); storageObject.clazz = resourceClazz; var idDef = IdDef.valueOf(resourceClazz); storageObject.idDef = idDef; @@ -57,9 +57,9 @@ public class ObjectStorage implements IStorage { } var idType = idDef.getField().getType(); if (idType == int.class || idType == Integer.class) { - return new PrimitiveIntStorage<>(storageObject); + return new StorageInt<>(storageObject); } else if (idType == long.class || idType == Long.class) { - return new PrimitiveLongStorage<>(storageObject); + return new StorageLong<>(storageObject); } else { return storageObject; } diff --git a/storage/src/test/java/com/zfoo/storage/StudentManager.java b/storage/src/test/java/com/zfoo/storage/StudentManager.java index 05413feb..537596ce 100644 --- a/storage/src/test/java/com/zfoo/storage/StudentManager.java +++ b/storage/src/test/java/com/zfoo/storage/StudentManager.java @@ -14,7 +14,7 @@ package com.zfoo.storage; import com.zfoo.storage.anno.StorageInjection; -import com.zfoo.storage.manager.ObjectStorage; +import com.zfoo.storage.manager.IStorage; import com.zfoo.storage.resource.StudentCsvResource; import com.zfoo.storage.resource.StudentResource; import org.springframework.stereotype.Component; @@ -27,8 +27,8 @@ import org.springframework.stereotype.Component; public class StudentManager { @StorageInjection - public ObjectStorage studentResources; + public IStorage studentResources; @StorageInjection - public ObjectStorage studentCsvResources; + public IStorage studentCsvResources; } diff --git a/storage/src/test/java/com/zfoo/storage/export/ExportBinaryTest.java b/storage/src/test/java/com/zfoo/storage/export/ExportBinaryTest.java index 041d7000..b423b6c1 100644 --- a/storage/src/test/java/com/zfoo/storage/export/ExportBinaryTest.java +++ b/storage/src/test/java/com/zfoo/storage/export/ExportBinaryTest.java @@ -23,8 +23,8 @@ import com.zfoo.storage.anno.AliasFieldName; import com.zfoo.storage.anno.Id; import com.zfoo.storage.anno.Storage; import com.zfoo.storage.config.StorageConfig; -import com.zfoo.storage.manager.ObjectStorage; import com.zfoo.storage.manager.StorageManager; +import com.zfoo.storage.manager.StorageObject; import com.zfoo.storage.util.ExportUtils; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.UnpooledHeapByteBuf; @@ -105,7 +105,7 @@ public class ExportBinaryTest { var bytes = ByteBufUtils.readAllBytes(buffer); FileUtils.writeInputStreamToFile(new File("D:/github/godot-bird/binary_data.cfg"), new ByteArrayInputStream(bytes)); - var storage = (ObjectStorage) storageManager.getStorage(StudentResource.class); + var storage = (StorageObject) storageManager.getStorage(StudentResource.class); for (StudentResource resource : storage.getAll()) { System.out.println(JsonUtils.object2String(resource)); }