You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/01/27 16:50:53 UTC

[isis] branch master updated: ISIS-2502: remove FatalException as is just a synonym for NonRecoverableException

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 289f756  ISIS-2502: remove FatalException as is just a synonym for NonRecoverableException
289f756 is described below

commit 289f756b93d9a23eadc5ff9608b6caeb5d938f36
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Jan 27 17:50:36 2021 +0100

    ISIS-2502: remove FatalException as is just a synonym for
    NonRecoverableException
    
    rename NonRecoverableException -> UnrecoverableException
---
 .../org/apache/isis/applib/FatalException.java     | 54 ----------------------
 .../apache/isis/applib/PersistFailedException.java |  6 +--
 .../apache/isis/applib/RecoverableException.java   |  8 ++--
 .../apache/isis/applib/RepositoryException.java    |  6 +--
 ...eException.java => UnrecoverableException.java} | 28 +++++------
 .../InteractionException.java                      |  2 +-
 .../applib/exceptions/TranslatableException.java   |  2 +-
 .../applib/services/wrapper/DisabledException.java |  1 +
 .../applib/services/wrapper/HiddenException.java   |  1 +
 .../applib/services/wrapper/InvalidException.java  |  1 +
 .../applib/services/wrapper/WrapperFactory.java    |  1 +
 .../core/metamodel/facets/DomainEventHelper.java   |  8 ++--
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |  4 +-
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |  4 +-
 ...inObjectLayoutAnnotationUsingLayoutUiEvent.java |  4 +-
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |  4 +-
 .../handlers/DomainObjectInvocationHandler.java    |  2 +-
 .../jdosupport/JdoSupportServiceDefault.java       |  4 +-
 .../isis/extensions/zip/dom/impl/ZipService.java   |  6 +--
 .../viewer/wicket/ui/errors/ExceptionModel.java    |  8 ++--
 20 files changed, 50 insertions(+), 104 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/FatalException.java b/api/applib/src/main/java/org/apache/isis/applib/FatalException.java
deleted file mode 100644
index b663634..0000000
--- a/api/applib/src/main/java/org/apache/isis/applib/FatalException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib;
-
-/**
- * Indicates that an unexpected, non-recoverable (fatal) exception has occurred within
- * the application logic.
- *
- * <p>
- * Throwing this exception will (dependent on the viewer) result in some sort of an error page being displayed to the user.
- *
- * <p>
- * Note that this exception has identical semantics to {@link NonRecoverableException}, and can be considered a
- * synonym.
- *
- * @see RecoverableException
- * @see ApplicationException
- * @see NonRecoverableException
- * @since 1.x {@index}
- */
-public class FatalException extends NonRecoverableException {
-
-    private static final long serialVersionUID = 1L;
-
-    public FatalException(final String msg) {
-        super(msg);
-    }
-
-    public FatalException(final Throwable cause) {
-        this(cause.getMessage(), cause);
-    }
-
-    public FatalException(final String msg, final Throwable cause) {
-        super(msg, cause);
-    }
-
-}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java b/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
index a2aa3bd..314d9a2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
@@ -24,15 +24,15 @@ package org.apache.isis.applib;
  *
  * <p>
  * This exception is intended to represent an unexpected and non-recoverable condition (eg a unique/primary key/
- * foreign key constaint has been violated), and so is a subclass of {@link NonRecoverableException}.
+ * foreign key constaint has been violated), and so is a subclass of {@link UnrecoverableException}.
  * Throwing this exception will therefore result in (some sort of) error page being displayed
  * to the user.
  *
- * @see NonRecoverableException
+ * @see UnrecoverableException
  * @see RecoverableException
  * @since 1.x {@index}
  */
-public class PersistFailedException extends NonRecoverableException {
+public class PersistFailedException extends UnrecoverableException {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
index bda290e..3ee15ef 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
@@ -21,6 +21,7 @@ package org.apache.isis.applib;
 
 import org.apache.isis.applib.exceptions.TranslatableException;
 import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 
@@ -28,12 +29,12 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
  * Indicates that an exceptional condition/problem has occurred within the application's domain logic.
  *
  * <p>
- * Throwing this exception is equivalent to calling {@link DomainObjectContainer#raiseError(String)}.
+ * Throwing this exception is equivalent to calling {@link MessageService#raiseError(String)}.
  * The framework will trap the error and display the exception message as a warning.
  *
  * <p>
  * This exception should only be thrown for &quot;recoverable&quot; exceptions, that is, those which
- * could be anticipated by the application.  It should not be thrown for fatal, unanticipated exceptions.
+ * could be anticipated by the application. It should not be thrown for fatal, unanticipated exceptions.
  *
  * <p>
  * The framework attempts to apply some heuristics; if the underlying Isis transaction has been aborted
@@ -44,8 +45,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
  * Note that this exception has identical semantics to {@link ApplicationException} (of which it is the immediate
  * superclass), and can be considered a synonym.
  *
- * @see ApplicationException
- * @see NonRecoverableException
+ * @see UnrecoverableException
  * @see FatalException
  * @since 1.x {@index}
  */
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java b/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
index 2e79680..526ce9a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
@@ -24,15 +24,15 @@ package org.apache.isis.applib;
  *
  * <p>
  * This exception is intended to represent an unexpected and non-recoverable condition (eg a syntax error in some
- * JDOQL query syntax or similar), and so is a subclass of {@link NonRecoverableException}.
+ * JDOQL query syntax or similar), and so is a subclass of {@link UnrecoverableException}.
  * Throwing this exception will therefore result in (some sort of) error page being displayed
  * to the user.
  *
- * @see NonRecoverableException
+ * @see UnrecoverableException
  * @see RecoverableException
  * @since ? {@index}
  */
-public class RepositoryException extends NonRecoverableException {
+public class RepositoryException extends UnrecoverableException {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/UnrecoverableException.java
similarity index 84%
rename from api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
rename to api/applib/src/main/java/org/apache/isis/applib/UnrecoverableException.java
index 54084f6..3cb6a28 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/UnrecoverableException.java
@@ -27,46 +27,42 @@ import org.apache.isis.commons.internal.functions._Functions;
 /**
  * Indicates that an unexpected, non-recoverable (fatal) exception has occurred within
  * the application logic.
- *
- * <p>
- * Throwing this exception will (dependent on the viewer) result in some sort of an error page being displayed to the user.
- *
  * <p>
- * Note that this exception has identical semantics to {@link FatalException} (of which it is the immediate
- * superclass) and can be considered a synonym.
+ * Throwing this exception will (dependent on the viewer) result in some sort of an error 
+ * page being displayed to the user.
  *
  * @see RecoverableException
- * @see ApplicationException
- * @see FatalException
  * @since 1.x {@index}
  */
-public class NonRecoverableException extends RuntimeException implements TranslatableException {
+public class UnrecoverableException 
+extends RuntimeException 
+implements TranslatableException {
 
     private static final long serialVersionUID = 1L;
 
     private final TranslatableString translatableMessage;
     private final String translationContext;
 
-    public NonRecoverableException(final String msg) {
+    public UnrecoverableException(final String msg) {
         this(msg, null, null, null, null);
     }
 
-    public NonRecoverableException(
+    public UnrecoverableException(
             final TranslatableString translatableMessage,
             final Class<?> translationContextClass,
             final String translationContextMethod) {
         this(null, translatableMessage, translationContextClass, translationContextMethod, null);
     }
 
-    public NonRecoverableException(final Throwable cause) {
+    public UnrecoverableException(final Throwable cause) {
         this(null, null, null, null, cause);
     }
 
-    public NonRecoverableException(final String msg, final Throwable cause) {
+    public UnrecoverableException(final String msg, final Throwable cause) {
         this(msg, null, null, null, cause);
     }
 
-    public NonRecoverableException(
+    public UnrecoverableException(
             final TranslatableString translatableMessage,
             final Class<?> translationContextClass,
             final String translationContextMethod,
@@ -74,7 +70,7 @@ public class NonRecoverableException extends RuntimeException implements Transla
         this(null, translatableMessage, translationContextClass, translationContextMethod, cause);
     }
 
-    private NonRecoverableException(
+    private UnrecoverableException(
             final String message,
             final TranslatableString translatableMessage,
             final Class<?> translationContextClass,
@@ -135,7 +131,7 @@ public class NonRecoverableException extends RuntimeException implements Transla
         try {
             checkedRunnable.run();
         } catch (Exception cause) {
-            throw new NonRecoverableException(cause);
+            throw new UnrecoverableException(cause);
         }
     }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/InteractionException.java
similarity index 98%
rename from api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java
rename to api/applib/src/main/java/org/apache/isis/applib/exceptions/InteractionException.java
index 23619e9..d2d3b96 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/InteractionException.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.services.wrapper;
+package org.apache.isis.applib.exceptions;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.RecoverableException;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
index df24fb5..8448069 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
@@ -39,7 +39,7 @@ public interface TranslatableException {
      * <p>
      *     If returns <code>null</code>, then {@link Exception#getMessage()} will be used as a fallback.
      *     This design allows the Isis-provided {@link org.apache.isis.applib.RecoverableException} and
-     *     {@link org.apache.isis.applib.NonRecoverableException} to provide constructors that
+     *     {@link org.apache.isis.applib.UnrecoverableException} to provide constructors that
      *     accept a {@link org.apache.isis.applib.services.i18n.TranslatableString}, but can be left as null for any existing code.
      * </p>
      */
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/DisabledException.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/DisabledException.java
index 51b8f7e..ccb3d75 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/DisabledException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/DisabledException.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.applib.services.wrapper;
 
+import org.apache.isis.applib.exceptions.InteractionException;
 import org.apache.isis.applib.services.wrapper.events.InteractionEvent;
 import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/HiddenException.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/HiddenException.java
index 12d2eaa..aff0988 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/HiddenException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/HiddenException.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.applib.services.wrapper;
 
+import org.apache.isis.applib.exceptions.InteractionException;
 import org.apache.isis.applib.services.wrapper.events.InteractionEvent;
 import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
index 75a2d9b..d78b435 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.applib.services.wrapper;
 
+import org.apache.isis.applib.exceptions.InteractionException;
 import org.apache.isis.applib.services.wrapper.events.InteractionEvent;
 import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
index c47d589..874ba5b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.applib.services.wrapper;
 
 import java.util.List;
 
+import org.apache.isis.applib.exceptions.InteractionException;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.wrapper.control.AsyncControl;
 import org.apache.isis.applib.services.wrapper.control.SyncControl;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
index 5457538..2b61690 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
@@ -25,8 +25,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.isis.applib.FatalException;
 import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
 import org.apache.isis.applib.events.domain.ActionDomainEvent;
 import org.apache.isis.applib.events.domain.CollectionDomainEvent;
@@ -158,7 +158,7 @@ public class DomainEventHelper {
 
             return event;
         } catch (Exception e) {
-            throw new FatalException(e);
+            throw new UnrecoverableException(e);
         }
     }
 
@@ -253,7 +253,7 @@ public class DomainEventHelper {
             metamodelEventService.firePropertyDomainEvent(event);
             return event;
         } catch (Exception e) {
-            throw new FatalException(e);
+            throw new UnrecoverableException(e);
         }
     }
 
@@ -338,7 +338,7 @@ public class DomainEventHelper {
             metamodelEventService.fireCollectionDomainEvent(event);
             return event;
         } catch (Exception e) {
-            throw new FatalException(e);
+            throw new UnrecoverableException(e);
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
index 362a0e8..aff9baf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.isis.applib.NonRecoverableException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.CssClassUiEvent;
 import org.apache.isis.commons.internal.base._Casts;
@@ -110,7 +110,7 @@ implements CssClassFacet {
             cssClassUiEvent.initSource(domainObject);
             return cssClassUiEvent;
         } catch (InstantiationException | IllegalAccessException ex) {
-            throw new NonRecoverableException(ex);
+            throw new UnrecoverableException(ex);
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
index 79ede8a..504c186 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.isis.applib.NonRecoverableException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.IconUiEvent;
 import org.apache.isis.commons.internal.base._Casts;
@@ -105,7 +105,7 @@ public class IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent extends Ic
             iconUiEvent.initSource(domainObject);
             return iconUiEvent;
         } catch (InstantiationException | IllegalAccessException ex) {
-            throw new NonRecoverableException(ex);
+            throw new UnrecoverableException(ex);
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
index 04a9c0d..714e1a6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.isis.applib.NonRecoverableException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.LayoutUiEvent;
 import org.apache.isis.core.config.IsisConfiguration;
@@ -107,7 +107,7 @@ implements LayoutFacet {
             layoutUiEvent.initSource(domainObject);
             return layoutUiEvent;
         } catch (InstantiationException | IllegalAccessException ex) {
-            throw new NonRecoverableException(ex);
+            throw new UnrecoverableException(ex);
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index 8cd4d4f..4fa2dc7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.isis.applib.NonRecoverableException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.events.ui.TitleUiEvent;
 import org.apache.isis.applib.services.i18n.TranslatableString;
@@ -149,7 +149,7 @@ public class TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent extends
             titleUiEvent.initSource(domainObject);
             return titleUiEvent;
         } catch (InstantiationException | IllegalAccessException ex) {
-            throw new NonRecoverableException(ex);
+            throw new UnrecoverableException(ex);
         }
     }
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
index c904635..820a867 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -26,9 +26,9 @@ import java.util.function.Supplier;
 import java.util.stream.Stream;
 
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.exceptions.InteractionException;
 import org.apache.isis.applib.services.wrapper.DisabledException;
 import org.apache.isis.applib.services.wrapper.HiddenException;
-import org.apache.isis.applib.services.wrapper.InteractionException;
 import org.apache.isis.applib.services.wrapper.InvalidException;
 import org.apache.isis.applib.services.wrapper.WrappingObject;
 import org.apache.isis.applib.services.wrapper.control.ExecutionMode;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java
index c9a0b3c..90cc87e 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java
@@ -43,7 +43,7 @@ import org.springframework.context.annotation.Primary;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.FatalException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.exceptions.ObjectPersistenceException;
 import org.apache.isis.commons.internal.collections._Lists;
@@ -171,7 +171,7 @@ public class JdoSupportServiceDefault implements JdoSupportService {
             try {
                 getPersistenceManager().deletePersistentAll(instances);
             } catch (final Exception ex) {
-                throw new FatalException(ex);
+                throw new UnrecoverableException(ex);
             }
         }
     }
diff --git a/subdomains/zip/applib/src/main/java/org/apache/isis/extensions/zip/dom/impl/ZipService.java b/subdomains/zip/applib/src/main/java/org/apache/isis/extensions/zip/dom/impl/ZipService.java
index f4a9c0f..5e3d2b0 100644
--- a/subdomains/zip/applib/src/main/java/org/apache/isis/extensions/zip/dom/impl/ZipService.java
+++ b/subdomains/zip/applib/src/main/java/org/apache/isis/extensions/zip/dom/impl/ZipService.java
@@ -29,7 +29,7 @@ import java.util.zip.ZipOutputStream;
 
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.FatalException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.commons.internal.base._Bytes;
 
 import lombok.Data;
@@ -66,7 +66,7 @@ public class ZipService {
             zos.close();
             return baos.toByteArray();
         } catch (final IOException ex) {
-            throw new FatalException("Unable to create zip", ex);
+            throw new UnrecoverableException("Unable to create zip", ex);
         }
     }
 
@@ -107,7 +107,7 @@ public class ZipService {
             zos.close();
             bytes = baos.toByteArray();
         } catch (final IOException ex) {
-            throw new FatalException("Unable to create zip", ex);
+            throw new UnrecoverableException("Unable to create zip", ex);
         }
         return bytes;
     }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/ExceptionModel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/ExceptionModel.java
index faeedb6..4ef92f9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/ExceptionModel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/errors/ExceptionModel.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.ui.errors;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.isis.applib.NonRecoverableException;
+import org.apache.isis.applib.UnrecoverableException;
 import org.apache.isis.applib.services.error.ErrorReportingService;
 import org.apache.isis.applib.services.error.Ticket;
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer.Recognition;
@@ -84,10 +84,10 @@ public class ExceptionModel extends ModelAbstract<List<StackTraceDetail>> {
 
                 // see if we can find a NonRecoverableException in the stack trace
                 
-                NonRecoverableException nonRecoverableException =
+                UnrecoverableException nonRecoverableException =
                 _Exceptions.streamCausalChain(ex)
-                .filter(NonRecoverableException.class::isInstance)
-                .map(NonRecoverableException.class::cast)
+                .filter(UnrecoverableException.class::isInstance)
+                .map(UnrecoverableException.class::cast)
                 .findFirst()
                 .orElse(null);