|
|
|
@ -11,11 +11,11 @@ import com.fr.exit.DesignerExiter;
|
|
|
|
|
import com.fr.general.IOUtils; |
|
|
|
|
import com.fr.io.utils.ResourceIOUtils; |
|
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
import com.fr.process.ProcessEventPipe; |
|
|
|
|
import com.fr.process.engine.core.CarryMessageEvent; |
|
|
|
|
import com.fr.process.engine.core.FineProcessContext; |
|
|
|
|
import com.fr.stable.StableUtils; |
|
|
|
|
import com.fr.stable.lifecycle.ErrorType; |
|
|
|
|
import com.fr.stable.lifecycle.ErrorTypeHelper; |
|
|
|
|
import com.fr.stable.lifecycle.FineLifecycleFatalError; |
|
|
|
|
import com.fr.stable.project.ProjectConstants; |
|
|
|
|
|
|
|
|
@ -34,13 +34,7 @@ public class LifecycleFatalErrorHandler {
|
|
|
|
|
private Map<ErrorType, Handler> map = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
private LifecycleFatalErrorHandler() { |
|
|
|
|
for (ErrorType type : ErrorType.values()) { |
|
|
|
|
if (ErrorType.FINEDB.equals(type)) { |
|
|
|
|
map.put(type, FineDBHandler.SELF); |
|
|
|
|
} else { |
|
|
|
|
map.put(type, DefaultHandler.SELF); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
map.put(ErrorTypeHelper.FINEDB, FineDBHandler.SELF); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static LifecycleFatalErrorHandler getInstance() { |
|
|
|
@ -50,7 +44,12 @@ public class LifecycleFatalErrorHandler {
|
|
|
|
|
public void handle(FineLifecycleFatalError fatal) { |
|
|
|
|
SplashContext.getInstance().hide(); |
|
|
|
|
FineProcessContext.getParentPipe().fire(new CarryMessageEvent(ReportState.STOP.getValue())); |
|
|
|
|
map.get(fatal.getErrorType()).handle(fatal); |
|
|
|
|
|
|
|
|
|
Handler handler = map.get(fatal.getErrorType()); |
|
|
|
|
if (handler == null) { |
|
|
|
|
handler = DefaultHandler.SELF; |
|
|
|
|
} |
|
|
|
|
handler.handle(fatal); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
interface Handler { |
|
|
|
|