public class org.apache.isis.viewer.wicket.ui.errors.ExceptionModel extends org.apache.isis.viewer.wicket.model.models.ModelAbstract
{
private static final long serialVersionUID;
private static final java.lang.String MAIN_MESSAGE_IF_NOT_RECOGNIZED;
private java.util.List stackTraceDetailList;
private java.util.List stackTraceDetailLists;
private boolean recognized;
private boolean authorizationCause;
private final java.lang.String mainMessage;
private org.apache.isis.applib.services.error.Ticket ticket;
public static org.apache.isis.viewer.wicket.ui.errors.ExceptionModel create(org.apache.isis.core.runtime.context.IsisAppCommonContext, java.util.Optional, java.lang.Exception)
{
java.util.function.Function v;
java.lang.Exception v;
org.apache.isis.applib.services.i18n.TranslationService v;
java.util.Optional v, v;
org.apache.isis.core.runtime.context.IsisAppCommonContext v;
java.lang.Object v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @parameter: org.apache.isis.core.runtime.context.IsisAppCommonContext;
v := @parameter: java.util.Optional;
v := @parameter: java.lang.Exception;
v = virtualinvoke v.<org.apache.isis.core.runtime.context.IsisAppCommonContext: org.apache.isis.applib.services.i18n.TranslationService getTranslationService()>();
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel$lambda_create_0__247: java.util.function.Function bootstrap$(org.apache.isis.applib.services.i18n.TranslationService)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = new org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
specialinvoke v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: void <init>(org.apache.isis.core.runtime.context.IsisAppCommonContext,java.lang.String,java.lang.Exception)>(v, v, v);
return v;
}
private void <init>(org.apache.isis.core.runtime.context.IsisAppCommonContext, java.lang.String, java.lang.Exception)
{
java.util.function.Function v;
java.lang.String v, v, v;
java.util.function.Predicate v;
java.lang.Exception v, v;
java.util.List v, v;
java.util.stream.Stream v, v, v;
java.util.Optional v;
org.apache.isis.core.runtime.context.IsisAppCommonContext v;
java.lang.Object v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v := @parameter: org.apache.isis.core.runtime.context.IsisAppCommonContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Exception;
specialinvoke v.<org.apache.isis.viewer.wicket.model.models.ModelAbstract: void <init>(org.apache.isis.core.runtime.context.IsisAppCommonContext)>(v);
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.lang.Exception causalChainOf(java.lang.Exception,java.lang.Class)>(v, class "Lorg/apache/isis/core/metamodel/spec/feature/ObjectMember$AuthorizationException;");
if v == null goto label;
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean authorizationCause> = 1;
v = virtualinvoke v.<org.apache.isis.core.metamodel.spec.feature.ObjectMember$AuthorizationException: java.lang.String getMessage()>();
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.lang.String mainMessage> = v;
goto label;
label:
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean authorizationCause> = 0;
if v == null goto label;
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean recognized> = 1;
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.lang.String mainMessage> = v;
goto label;
label:
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean recognized> = 0;
v = staticinvoke <org.apache.isis.commons.internal.exceptions._Exceptions: java.util.stream.Stream streamCausalChain(java.lang.Throwable)>(v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(class "Lorg/apache/isis/applib/exceptions/UnrecoverableException;");
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel$isInstance__248: java.util.function.Predicate bootstrap$(java.lang.Class)>(class "Lorg/apache/isis/applib/exceptions/UnrecoverableException;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(class "Lorg/apache/isis/applib/exceptions/UnrecoverableException;");
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel$cast__249: java.util.function.Function bootstrap$(java.lang.Class)>(class "Lorg/apache/isis/applib/exceptions/UnrecoverableException;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.applib.exceptions.UnrecoverableException: java.lang.String getMessage()>();
goto label;
label:
v = "Sorry, an unexpected error occurred.";
label:
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.lang.String mainMessage> = v;
label:
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List asStackTrace(java.lang.Throwable)>(v);
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailList> = v;
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List asStackTraces(java.lang.Throwable)>(v);
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailLists> = v;
return;
}
protected java.util.List load()
{
java.util.List v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailList>;
return v;
}
private static java.lang.Exception causalChainOf(java.lang.Exception, java.lang.Class)
{
java.util.Iterator v;
java.lang.Exception v;
java.util.List v;
java.lang.Class v, v;
java.lang.Object v, v;
boolean v, v;
v := @parameter: java.lang.Exception;
v := @parameter: java.lang.Class;
v = staticinvoke <org.apache.isis.commons.internal.exceptions._Exceptions: java.util.List getCausalChain(java.lang.Throwable)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.isis.commons.internal.base._Casts: java.lang.Object uncheckedCast(java.lang.Object)>(v);
return v;
label:
return null;
}
public void setObject(java.util.List)
{
java.util.List v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v := @parameter: java.util.List;
if v != null goto label;
return;
label:
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailList> = v;
return;
}
public org.apache.isis.applib.services.error.Ticket getTicket()
{
org.apache.isis.applib.services.error.Ticket v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: org.apache.isis.applib.services.error.Ticket ticket>;
return v;
}
public void setTicket(org.apache.isis.applib.services.error.Ticket)
{
org.apache.isis.applib.services.error.Ticket v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v := @parameter: org.apache.isis.applib.services.error.Ticket;
v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: org.apache.isis.applib.services.error.Ticket ticket> = v;
return;
}
public boolean isRecognized()
{
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
boolean v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean recognized>;
return v;
}
public java.lang.String getMainMessage()
{
java.lang.String v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.lang.String mainMessage>;
return v;
}
public boolean isAuthorizationException()
{
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
boolean v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: boolean authorizationCause>;
return v;
}
public java.util.List getStackTrace()
{
java.util.List v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailList>;
return v;
}
public java.util.List getStackTraces()
{
java.util.List v;
org.apache.isis.viewer.wicket.ui.errors.ExceptionModel v;
v := @this: org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
v = v.<org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: java.util.List stackTraceDetailLists>;
return v;
}
private static java.util.List asStackTrace(java.lang.Throwable)
{
java.lang.Throwable v;
java.util.Iterator v;
java.util.ArrayList v;
java.util.List v;
java.lang.Object v;
org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail v, v, v;
boolean v, v;
v := @parameter: java.lang.Throwable;
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList()>();
v = staticinvoke <org.apache.isis.commons.internal.exceptions._Exceptions: java.util.List getCausalChain(java.lang.Throwable)>(v);
v = 1;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v != 0 goto label;
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail spacer()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail causedBy()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail spacer()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: void append(java.lang.Throwable,java.util.List)>(v, v);
goto label;
label:
return v;
}
private static java.util.List asStackTraces(java.lang.Throwable)
{
java.lang.Throwable v;
java.util.List v;
java.util.Iterator v;
java.lang.Object v;
boolean v;
java.util.ArrayList v, v;
v := @parameter: java.lang.Throwable;
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList()>();
v = staticinvoke <org.apache.isis.commons.internal.exceptions._Exceptions: java.util.List getCausalChain(java.lang.Throwable)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList()>();
staticinvoke <org.apache.isis.viewer.wicket.ui.errors.ExceptionModel: void append(java.lang.Throwable,java.util.List)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private static void append(java.lang.Throwable, java.util.List)
{
java.lang.Throwable v;
java.util.List v;
java.lang.StackTraceElement[] v;
int v, v;
java.lang.StackTraceElement v;
org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail v, v, v;
v := @parameter: java.lang.Throwable;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail exceptionClassName(java.lang.Throwable)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail exceptionMessage(java.lang.Throwable)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Throwable: java.lang.StackTraceElement[] getStackTrace()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail: org.apache.isis.viewer.wicket.ui.errors.StackTraceDetail element(java.lang.StackTraceElement)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return;
}
}