Commit 5c17c54d authored by suhuiguang's avatar suhuiguang

feat(大编辑):管道增减功能开发

1.解析优化
parent b921821e
...@@ -8,7 +8,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; ...@@ -8,7 +8,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import java.lang.reflect.Field; import java.lang.reflect.Field;
public interface IColumnDiff { public interface ColumnDiff {
boolean supports(Class<?> type); boolean supports(Class<?> type);
......
...@@ -5,18 +5,23 @@ import org.springframework.stereotype.Component; ...@@ -5,18 +5,23 @@ import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class ColumnDiffFactory { public class ColumnDiffFactory {
private final List<IColumnDiff> IColumnDiffs; private final List<ColumnDiff> columnDiffs;
private final Map<Class<?>, ColumnDiff> diffCache = new ConcurrentHashMap<>();
public IColumnDiff getDiffAdapter(Class<?> clazz) { public ColumnDiff getDiffAdapter(Class<?> clazz) {
for (IColumnDiff columnDiff : IColumnDiffs) { return diffCache.computeIfAbsent(clazz, (k) -> {
if (columnDiff.supports(clazz)) { for (ColumnDiff columnDiff : columnDiffs) {
return columnDiff; if (columnDiff.supports(clazz)) {
return columnDiff;
}
} }
} throw new BadRequest("no found handler for class: " + clazz);
throw new BadRequest("no found handler for class: " + clazz); });
} }
} }
...@@ -16,7 +16,7 @@ import java.util.Objects; ...@@ -16,7 +16,7 @@ import java.util.Objects;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class JsonIColumnDiffHandler implements IColumnDiff { public class JsonColumnDiffHandler implements ColumnDiff {
private final FormatService formatService; private final FormatService formatService;
......
...@@ -16,7 +16,7 @@ import java.util.Objects; ...@@ -16,7 +16,7 @@ import java.util.Objects;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class StringIColumnDiffHandler implements IColumnDiff { public class StringColumnDiffHandler implements ColumnDiff {
private final FormatService formatService; private final FormatService formatService;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment