修复不显示后台定义数据源的BUG
This commit is contained in:
parent
310df93499
commit
94fa6193f6
@ -2,6 +2,9 @@ package org.ssssssss.magicapi.core.service;
|
||||
|
||||
import org.ssssssss.magicapi.core.model.MagicEntity;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public interface MagicDynamicRegistry<T extends MagicEntity> {
|
||||
|
||||
/**
|
||||
@ -21,5 +24,9 @@ public interface MagicDynamicRegistry<T extends MagicEntity> {
|
||||
*/
|
||||
MagicResourceStorage<T> getMagicResourceStorage();
|
||||
|
||||
default List<T> defaultMappings() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -2,12 +2,12 @@ package org.ssssssss.magicapi.core.web;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.ssssssss.magicapi.core.config.Constants;
|
||||
import org.ssssssss.magicapi.core.resource.Resource;
|
||||
import org.ssssssss.magicapi.core.resource.FileResource;
|
||||
import org.ssssssss.magicapi.core.config.MagicConfiguration;
|
||||
import org.ssssssss.magicapi.core.model.*;
|
||||
import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
|
||||
import org.ssssssss.magicapi.core.interceptor.Authorization;
|
||||
import org.ssssssss.magicapi.core.model.*;
|
||||
import org.ssssssss.magicapi.core.resource.FileResource;
|
||||
import org.ssssssss.magicapi.core.resource.Resource;
|
||||
import org.ssssssss.magicapi.core.service.MagicDynamicRegistry;
|
||||
import org.ssssssss.magicapi.core.service.MagicResourceService;
|
||||
import org.ssssssss.magicapi.utils.IoUtils;
|
||||
@ -15,6 +15,7 @@ import org.ssssssss.magicapi.utils.IoUtils;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
@ -143,7 +144,23 @@ public class MagicResourceController extends MagicController implements MagicExc
|
||||
public JsonBean<Map<String, TreeNode<Attributes<Object>>>> resources(HttpServletRequest request) {
|
||||
Map<String, TreeNode<Group>> tree = service.tree();
|
||||
Map<String, TreeNode<Attributes<Object>>> result = new HashMap<>();
|
||||
tree.forEach((key, value) -> result.put(key, process(value, request)));
|
||||
tree.forEach((key, value) -> {
|
||||
TreeNode<Attributes<Object>> node = process(value, request);
|
||||
List<TreeNode<Attributes<Object>>> groups = node.getChildren();
|
||||
if(groups.size() > 0){
|
||||
List<TreeNode<Attributes<Object>>> nodes = groups.get(0).getChildren();
|
||||
configuration.getMagicDynamicRegistries().stream()
|
||||
.filter(it -> it.getMagicResourceStorage().folder().equals(key))
|
||||
.findFirst()
|
||||
.map(MagicDynamicRegistry::defaultMappings)
|
||||
.ifPresent(mappings -> {
|
||||
for (MagicEntity mapping : mappings) {
|
||||
nodes.add(new TreeNode<>(mapping));
|
||||
}
|
||||
});
|
||||
}
|
||||
result.put(key, node);
|
||||
});
|
||||
return new JsonBean<>(result);
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,9 @@ import org.ssssssss.magicapi.core.service.MagicResourceStorage;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class DataSourceMagicDynamicRegistry extends AbstractMagicDynamicRegistry<DataSourceInfo> {
|
||||
|
||||
@ -105,5 +107,13 @@ public class DataSourceMagicDynamicRegistry extends AbstractMagicDynamicRegistry
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<DataSourceInfo> defaultMappings() {
|
||||
return magicDynamicDataSource.datasourceNodes().stream().filter(it -> it.getId() == null).map(it -> {
|
||||
DataSourceInfo dataSourceInfo = new DataSourceInfo();
|
||||
dataSourceInfo.setName(StringUtils.defaultIfBlank(it.getName(), StringUtils.defaultIfBlank(it.getKey(), "默认数据源")));
|
||||
dataSourceInfo.setKey(it.getKey());
|
||||
return dataSourceInfo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user