perf[storage]: 优化代码结构,并删除无用代码

This commit is contained in:
jaysunxiao
2021-06-26 14:13:11 +08:00
parent 036d05d7d7
commit bb9522eaa9
3 changed files with 11 additions and 24 deletions
@@ -17,7 +17,6 @@ import com.zfoo.storage.model.vo.Storage;
import org.springframework.lang.Nullable;
import java.util.Map;
import java.util.Set;
/**
* @author jaysunxiao
@@ -43,9 +42,9 @@ public interface IStorageManager {
@Nullable
Storage<?, ?> getStorage(Class<?> clazz);
Set<Class<?>> allStorageClassSet();
Map<Class<?>, Boolean> allStorageUsableMap();
Map<Class<?>, Storage<?, ?>> getStorageMap();
Map<Class<?>, Storage<?, ?>> storageMap();
void updateStorage(Class<?> clazz, Storage<?, ?> storage);
@@ -59,9 +59,9 @@ public class StorageManager implements IStorageManager {
private Map<Class<?>, Storage<?, ?>> storageMap = new HashMap<>();
/**
* 全部的Storage定义
* 全部的Storage定义key为对应的excel配置表,value为当前配置表是否在当前项目中使用
*/
private Set<Class<?>> allStorageClassSet = new HashSet<>();
private Map<Class<?>, Boolean> allStorageUsableMap = new HashMap<>();
public StorageConfig getStorageConfig() {
return storageConfig;
@@ -97,7 +97,7 @@ public class StorageManager implements IStorageManager {
Storage<?, ?> storage = new Storage<>();
storage.init(definition.getResource().getInputStream(), definition.getClazz());
storageMap.putIfAbsent(clazz, storage);
allStorageClassSet.add(clazz);
allStorageUsableMap.put(clazz, false);
}
} catch (Exception e) {
throw new RuntimeException(e);
@@ -147,15 +147,15 @@ public class StorageManager implements IStorageManager {
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field, bean, storage);
storage.setUsable(true);
allStorageUsableMap.put(resourceClazz, true);
});
}
}
@Override
public void initAfter() {
var unusableStorageClassList = storageMap.entrySet().stream()
.filter(it -> !it.getValue().isUsable())
var unusableStorageClassList = allStorageUsableMap.entrySet().stream()
.filter(it -> !it.getValue())
.map(it -> it.getKey())
.collect(Collectors.toList());
@@ -170,12 +170,12 @@ public class StorageManager implements IStorageManager {
}
@Override
public Set<Class<?>> allStorageClassSet() {
return allStorageClassSet;
public Map<Class<?>, Boolean> allStorageUsableMap() {
return allStorageUsableMap;
}
@Override
public Map<Class<?>, Storage<?, ?>> getStorageMap() {
public Map<Class<?>, Storage<?, ?>> storageMap() {
return storageMap;
}
@@ -39,11 +39,6 @@ public class Storage<K, V> {
private IdDef idDef;
private Map<String, IndexDef> indexDefMap;
/**
* 是否被使用
*/
private boolean usable = false;
public Storage() {
}
@@ -140,11 +135,4 @@ public class Storage<K, V> {
return dataMap.size();
}
public boolean isUsable() {
return usable;
}
public void setUsable(boolean usable) {
this.usable = usable;
}
}