diff --git a/designer-base/src/main/java/com/fr/env/detect/EnvDetectorCenter.java b/designer-base/src/main/java/com/fr/env/detect/EnvDetectorCenter.java index edaf3d0b3f..1fb2665b28 100644 --- a/designer-base/src/main/java/com/fr/env/detect/EnvDetectorCenter.java +++ b/designer-base/src/main/java/com/fr/env/detect/EnvDetectorCenter.java @@ -151,7 +151,7 @@ public class EnvDetectorCenter { if (!validAction.get()) { return; } - Stream resultStream = DetectorBridge.getInstance().detect(); + Stream resultStream = DetectorBridge.getInstance().detect().stream(); // 展示效果 NotificationDialogProperties properties = new NotificationDialogProperties(DesignerContext.getDesignerFrame(), Toolkit.i18nText("Fine-Design_Basic_Detect_Notification_Title")); @@ -196,7 +196,7 @@ public class EnvDetectorCenter { */ public List terminate(Throwable throwable) { - Stream resultStream = DetectorBridge.getInstance().detect(throwable); + Stream resultStream = DetectorBridge.getInstance().detect(throwable).stream(); return resultStream .filter((e) -> e.getStatus() == DetectorStatus.EXCEPTION) .collect(Collectors.toList()); @@ -209,7 +209,7 @@ public class EnvDetectorCenter { */ public List terminateUnexpectedly() { - Stream resultStream = DetectorBridge.getInstance().detect(); + Stream resultStream = DetectorBridge.getInstance().detect().stream(); return resultStream .filter((e) -> e.getStatus() == DetectorStatus.EXCEPTION) .collect(Collectors.toList()); diff --git a/designer-base/src/main/java/com/fr/env/detect/base/DetectorBridge.java b/designer-base/src/main/java/com/fr/env/detect/base/DetectorBridge.java index c7159eec80..09ff9fe89d 100644 --- a/designer-base/src/main/java/com/fr/env/detect/base/DetectorBridge.java +++ b/designer-base/src/main/java/com/fr/env/detect/base/DetectorBridge.java @@ -16,7 +16,9 @@ import com.fr.log.FineLoggerFactory; import com.fr.value.NotNullLazyValue; import org.jetbrains.annotations.NotNull; +import java.util.Collection; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; import java.util.stream.Stream; /** @@ -128,9 +130,11 @@ public class DetectorBridge { * * @return 能够检测出的异常情况 */ - public Stream detect() { + @NotNull + public Collection detect() { - return detectorManager.getValue().detect(); + Stream results = detectorManager.getValue().detect(); + return results.collect(Collectors.toList()); } /** @@ -141,10 +145,11 @@ public class DetectorBridge { * @param throwable 异常 * @return 检测结果 */ - public Stream detect(Throwable throwable) { + @NotNull + public Collection detect(Throwable throwable) { ThrowableStore.getInstance().add(throwable); - Stream result = detect(); + Collection result = detect(); ThrowableStore.getInstance().reset(); return result; diff --git a/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java b/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java index ba0c5e03da..3115781b3d 100644 --- a/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java +++ b/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java @@ -28,12 +28,12 @@ import com.fr.stable.lifecycle.FineLifecycleFatalError; import com.fr.stable.project.ProjectConstants; import javax.swing.JOptionPane; +import java.util.Collection; import java.util.EnumMap; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * @author hades @@ -88,8 +88,9 @@ public class LifecycleFatalErrorHandler { @Override public void handle(FineLifecycleFatalError fatal) { - Stream resultStream = DetectorBridge.getInstance().detect(fatal); + Collection resultStream = DetectorBridge.getInstance().detect(fatal); List results = resultStream + .stream() .filter((e) -> e.getStatus() == DetectorStatus.EXCEPTION) .collect(Collectors.toList());