public class org.apache.isis.commons.internal.debug.xray.XrayUi extends javax.swing.JFrame
{
private static final long serialVersionUID;
private final javax.swing.JTree tree;
private final javax.swing.tree.DefaultMutableTreeNode root;
private final org.apache.isis.commons.internal.debug.xray.XrayModel xrayModel;
private static org.apache.isis.commons.internal.debug.xray.XrayUi INSTANCE;
private static java.util.concurrent.atomic.AtomicBoolean startRequested;
private static java.util.concurrent.CountDownLatch latch;
private final java.util.Map iconCache;
public static void start(int)
{
java.util.concurrent.CountDownLatch v;
int v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Runnable v;
boolean v;
v := @parameter: int;
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.atomic.AtomicBoolean startRequested>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean getAndSet(boolean)>(1);
if v != 0 goto label;
v = new java.util.concurrent.CountDownLatch;
specialinvoke v.<java.util.concurrent.CountDownLatch: void <init>(int)>(1);
<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.CountDownLatch latch> = v;
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_start_0__265: java.lang.Runnable bootstrap$(int)>(v);
staticinvoke <javax.swing.SwingUtilities: void invokeLater(java.lang.Runnable)>(v);
label:
return;
}
public static void updateModel(java.util.function.Consumer)
{
java.util.function.Consumer v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Runnable v;
boolean v;
v := @parameter: java.util.function.Consumer;
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.atomic.AtomicBoolean startRequested>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_updateModel_1__266: java.lang.Runnable bootstrap$(java.util.function.Consumer)>(v);
staticinvoke <javax.swing.SwingUtilities: void invokeLater(java.lang.Runnable)>(v);
label:
return;
}
public static void waitForShutdown()
{
java.io.PrintStream v;
java.util.concurrent.CountDownLatch v, v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
java.lang.Exception v;
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.CountDownLatch latch>;
if v == null goto label;
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayUi INSTANCE>;
if v != null goto label;
label:
return;
label:
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Waiting for XrayUi to shut down...");
label:
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.CountDownLatch latch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
label:
return;
catch java.lang.Exception from label to label with label;
}
public static boolean isXrayEnabled()
{
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v = <org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.atomic.AtomicBoolean startRequested>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
protected void <init>(int)
{
org.apache.isis.commons.internal.debug.xray.XrayDataModel v;
java.util.Map v, v, v;
java.util.concurrent.ConcurrentHashMap v;
javax.swing.tree.MutableTreeNode v;
org.apache.isis.commons.internal.debug.xray.XrayModelSimple v;
javax.swing.tree.DefaultMutableTreeNode v, v, v;
javax.swing.tree.TreeCellRenderer v;
org.apache.isis.commons.internal.debug.xray.XrayUi$5 v;
org.apache.isis.commons.internal.debug.xray.XrayUi$4 v;
org.apache.isis.commons.internal.debug.xray.XrayUi$6 v;
org.apache.isis.commons.internal.debug.xray.XrayDataModel$KeyValue v;
javax.swing.event.TreeSelectionListener v;
javax.swing.JMenuItem v, v, v, v, v, v;
org.apache.isis.commons.internal.debug.xray.XrayUi$1 v;
org.apache.isis.commons.internal.debug.xray.XrayUi$3 v;
org.apache.isis.commons.internal.debug.xray.XrayUi$2 v;
int v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
org.apache.isis.commons.internal.debug.xray.XrayModel$Stickiness v;
org.apache.isis.commons.internal.debug.xray.XrayModel v, v;
javax.swing.JPopupMenu v;
javax.swing.tree.TreeSelectionModel v;
javax.swing.JTree v, v, v, v, v, v, v, v;
javax.swing.JScrollPane v;
org.apache.isis.commons.internal.debug.xray.XrayUi$XrayTreeCellRenderer v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: int;
specialinvoke v.<javax.swing.JFrame: void <init>()>();
v = staticinvoke <org.apache.isis.commons.internal.collections._Maps: java.util.concurrent.ConcurrentHashMap newConcurrentHashMap()>();
v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.Map iconCache> = v;
v = new javax.swing.tree.DefaultMutableTreeNode;
specialinvoke v.<javax.swing.tree.DefaultMutableTreeNode: void <init>(java.lang.Object)>("X-ray");
v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.tree.DefaultMutableTreeNode root> = v;
v = new org.apache.isis.commons.internal.debug.xray.XrayModelSimple;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.tree.DefaultMutableTreeNode root>;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayModelSimple: void <init>(javax.swing.tree.MutableTreeNode)>(v);
v.<org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayModel xrayModel> = v;
v = new javax.swing.JTree;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.tree.DefaultMutableTreeNode root>;
specialinvoke v.<javax.swing.JTree: void <init>(javax.swing.tree.TreeNode)>(v);
v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree> = v;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
virtualinvoke v.<javax.swing.JTree: void setShowsRootHandles(boolean)>(0);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JScrollPane layoutUIAndGetDetailPanel(javax.swing.JTree)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = virtualinvoke v.<javax.swing.JTree: javax.swing.tree.TreeSelectionModel getSelectionModel()>();
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_new_2__267: javax.swing.event.TreeSelectionListener bootstrap$(javax.swing.JScrollPane)>(v);
interfaceinvoke v.<javax.swing.tree.TreeSelectionModel: void addTreeSelectionListener(javax.swing.event.TreeSelectionListener)>(v);
v = new javax.swing.JPopupMenu;
specialinvoke v.<javax.swing.JPopupMenu: void <init>()>();
v = new javax.swing.JMenuItem;
specialinvoke v.<javax.swing.JMenuItem: void <init>(java.lang.String)>("Clear Threads");
v = virtualinvoke v.<javax.swing.JPopupMenu: javax.swing.JMenuItem add(javax.swing.JMenuItem)>(v);
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$1;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$1: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
virtualinvoke v.<javax.swing.JMenuItem: void addActionListener(java.awt.event.ActionListener)>(v);
v = new javax.swing.JMenuItem;
specialinvoke v.<javax.swing.JMenuItem: void <init>(java.lang.String)>("Merge Logged Call-Stack");
v = virtualinvoke v.<javax.swing.JPopupMenu: javax.swing.JMenuItem add(javax.swing.JMenuItem)>(v);
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$2;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$2: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
virtualinvoke v.<javax.swing.JMenuItem: void addActionListener(java.awt.event.ActionListener)>(v);
v = new javax.swing.JMenuItem;
specialinvoke v.<javax.swing.JMenuItem: void <init>(java.lang.String)>("Delete");
v = virtualinvoke v.<javax.swing.JPopupMenu: javax.swing.JMenuItem add(javax.swing.JMenuItem)>(v);
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$3;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$3: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
virtualinvoke v.<javax.swing.JMenuItem: void addActionListener(java.awt.event.ActionListener)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$XrayTreeCellRenderer;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = virtualinvoke v.<javax.swing.JTree: javax.swing.tree.TreeCellRenderer getCellRenderer()>();
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.Map iconCache>;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$XrayTreeCellRenderer: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi,javax.swing.tree.DefaultTreeCellRenderer,java.util.Map)>(v, v, v);
virtualinvoke v.<javax.swing.JTree: void setCellRenderer(javax.swing.tree.TreeCellRenderer)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$4;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$4: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi,javax.swing.JPopupMenu)>(v, v);
virtualinvoke v.<javax.swing.JTree: void addMouseListener(java.awt.event.MouseListener)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$5;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$5: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
virtualinvoke v.<javax.swing.JTree: void addKeyListener(java.awt.event.KeyListener)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayModel xrayModel>;
v = interfaceinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayModel: javax.swing.tree.MutableTreeNode getRootNode()>();
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayModel xrayModel>;
v = new org.apache.isis.commons.internal.debug.xray.XrayDataModel$KeyValue;
v = <org.apache.isis.commons.internal.debug.xray.XrayModel$Stickiness: org.apache.isis.commons.internal.debug.xray.XrayModel$Stickiness CANNOT_DELETE_NODE>;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayDataModel$KeyValue: void <init>(java.lang.String,java.lang.String,org.apache.isis.commons.internal.debug.xray.XrayModel$Stickiness)>("isis-xray-keys", "X-ray Keybindings", v);
v = interfaceinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayModel: org.apache.isis.commons.internal.debug.xray.XrayDataModel addDataNode(javax.swing.tree.MutableTreeNode,org.apache.isis.commons.internal.debug.xray.XrayDataModel)>(v, v);
v = virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayDataModel$KeyValue: java.util.Map getData()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("F5", "Clear Threads");
v = virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayDataModel$KeyValue: java.util.Map getData()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("DELETE", "Delete Selected Nodes");
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void setDefaultCloseOperation(int)>(v);
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void setTitle(java.lang.String)>("X-ray Viewer (Apache Isis\u)");
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void pack()>();
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void setSize(int,int)>(800, 600);
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void setLocationRelativeTo(java.awt.Component)>(null);
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void setVisible(boolean)>(1);
<org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayUi INSTANCE> = v;
v = new org.apache.isis.commons.internal.debug.xray.XrayUi$6;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi$6: void <init>(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: void addWindowListener(java.awt.event.WindowListener)>(v);
return;
}
private java.util.stream.Stream streamSelectedNodes()
{
org.apache.isis.commons.collections.Can v;
javax.swing.tree.TreeSelectionModel v;
javax.swing.JTree v;
java.util.function.Function v;
javax.swing.tree.TreePath[] v;
java.util.stream.Stream v, v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = virtualinvoke v.<javax.swing.JTree: javax.swing.tree.TreeSelectionModel getSelectionModel()>();
v = interfaceinvoke v.<javax.swing.tree.TreeSelectionModel: javax.swing.tree.TreePath[] getSelectionPaths()>();
v = staticinvoke <org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can ofArray(java.lang.Object[])>(v);
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_streamSelectedNodes_3__268: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
return v;
}
private java.util.stream.Stream streamChildrenOf(javax.swing.tree.DefaultMutableTreeNode)
{
java.util.stream.IntStream v;
java.util.function.Function v;
javax.swing.tree.DefaultMutableTreeNode v, v;
java.util.stream.Stream v, v;
int v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
java.util.function.IntFunction v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: javax.swing.tree.DefaultMutableTreeNode;
v = virtualinvoke v.<javax.swing.tree.DefaultMutableTreeNode: int getChildCount()>();
v = staticinvoke <java.util.stream.IntStream: java.util.stream.IntStream range(int,int)>(0, v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.tree.DefaultMutableTreeNode root>;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$getChildAt__269: java.util.function.IntFunction bootstrap$(javax.swing.tree.DefaultMutableTreeNode)>(v);
v = interfaceinvoke v.<java.util.stream.IntStream: java.util.stream.Stream mapToObj(java.util.function.IntFunction)>(v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(class "Ljavax/swing/tree/DefaultMutableTreeNode;");
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$cast__270: java.util.function.Function bootstrap$(java.lang.Class)>(class "Ljavax/swing/tree/DefaultMutableTreeNode;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
return v;
}
private java.util.Optional extractUserObject(javax.swing.tree.DefaultMutableTreeNode)
{
java.util.Optional v;
java.lang.Object v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
javax.swing.tree.DefaultMutableTreeNode v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: javax.swing.tree.DefaultMutableTreeNode;
v = virtualinvoke v.<javax.swing.tree.DefaultMutableTreeNode: java.lang.Object getUserObject()>();
v = staticinvoke <org.apache.isis.commons.internal.base._Casts: java.util.Optional castTo(java.lang.Class,java.lang.Object)>(class "Lorg/apache/isis/commons/internal/debug/xray/XrayModel$HasIdAndLabel;", v);
return v;
}
private boolean canRemoveNode(javax.swing.tree.DefaultMutableTreeNode)
{
javax.swing.tree.TreeNode v;
java.util.function.Function v, v;
javax.swing.tree.DefaultMutableTreeNode v;
java.lang.Boolean v;
java.util.Optional v, v, v;
java.lang.Object v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
boolean v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: javax.swing.tree.DefaultMutableTreeNode;
v = virtualinvoke v.<javax.swing.tree.DefaultMutableTreeNode: javax.swing.tree.TreeNode getParent()>();
if v != null goto label;
return 0;
label:
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.Optional extractUserObject(javax.swing.tree.DefaultMutableTreeNode)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$getStickiness__271: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_canRemoveNode_4__272: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
public void removeNode(javax.swing.tree.DefaultMutableTreeNode)
{
org.apache.isis.commons.internal.debug.xray.XrayModel v;
javax.swing.tree.TreeModel v;
javax.swing.JTree v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
boolean v;
javax.swing.tree.DefaultMutableTreeNode v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: javax.swing.tree.DefaultMutableTreeNode;
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: boolean canRemoveNode(javax.swing.tree.DefaultMutableTreeNode)>(v);
if v == 0 goto label;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = virtualinvoke v.<javax.swing.JTree: javax.swing.tree.TreeModel getModel()>();
virtualinvoke v.<javax.swing.tree.DefaultTreeModel: void removeNodeFromParent(javax.swing.tree.MutableTreeNode)>(v);
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: org.apache.isis.commons.internal.debug.xray.XrayModel xrayModel>;
interfaceinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayModel: void remove(javax.swing.tree.MutableTreeNode)>(v);
label:
return;
}
private void doClearThreads()
{
java.util.function.Predicate v;
javax.swing.tree.TreeModel v;
javax.swing.JTree v;
java.util.function.Consumer v;
java.util.stream.Stream v, v;
java.lang.Object v, v;
java.util.stream.Collector v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v = v.<org.apache.isis.commons.internal.debug.xray.XrayUi: javax.swing.JTree tree>;
v = virtualinvoke v.<javax.swing.JTree: javax.swing.tree.TreeModel getModel()>();
v = interfaceinvoke v.<javax.swing.tree.TreeModel: java.lang.Object getRoot()>();
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.stream.Stream streamChildrenOf(javax.swing.tree.DefaultMutableTreeNode)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_doClearThreads_6__273: java.util.function.Predicate bootstrap$(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.isis.commons.collections.Can: java.util.stream.Collector toCan()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$removeNode__274: java.util.function.Consumer bootstrap$(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
interfaceinvoke v.<org.apache.isis.commons.collections.Can: void forEach(java.util.function.Consumer)>(v);
return;
}
private void doRemoveSelectedNodes()
{
java.util.function.Consumer v;
java.util.stream.Stream v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.stream.Stream streamSelectedNodes()>();
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$removeNode__275: java.util.function.Consumer bootstrap$(org.apache.isis.commons.internal.debug.xray.XrayUi)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
private void doMergeCallStacksOnSelectedNodes()
{
java.util.function.Function v;
java.awt.Container v;
java.util.stream.Collector v;
javax.swing.JFrame v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
boolean v;
javax.swing.BoxLayout v;
org.apache.isis.commons.collections.Cardinality v;
java.io.PrintStream v;
java.awt.Font v;
java.util.function.Predicate v;
javax.swing.JScrollPane v;
java.awt.Dimension v;
java.util.stream.Stream v, v, v;
java.lang.Object v;
org.apache.isis.commons.internal.debug.xray._CallStackMerger v;
javax.swing.JTextArea v;
javax.swing.JPanel v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v = specialinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.stream.Stream streamSelectedNodes()>();
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_doMergeCallStacksOnSelectedNodes_7__276: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.isis.commons.internal.debug.xray.XrayUi$lambda_doMergeCallStacksOnSelectedNodes_8__277: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.commons.collections.Can: java.util.stream.Collector toCan()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Cardinality getCardinality()>();
v = virtualinvoke v.<org.apache.isis.commons.collections.Cardinality: boolean isMultiple()>();
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("must select at least 2 logs for merging");
return;
label:
v = new org.apache.isis.commons.internal.debug.xray._CallStackMerger;
specialinvoke v.<org.apache.isis.commons.internal.debug.xray._CallStackMerger: void <init>(org.apache.isis.commons.collections.Can)>(v);
v = new javax.swing.JFrame;
specialinvoke v.<javax.swing.JFrame: void <init>(java.lang.String)>("Merged Log View");
v = new javax.swing.JPanel;
specialinvoke v.<javax.swing.JPanel: void <init>()>();
v = new javax.swing.BoxLayout;
specialinvoke v.<javax.swing.BoxLayout: void <init>(java.awt.Container,int)>(v, 1);
virtualinvoke v.<javax.swing.JPanel: void setLayout(java.awt.LayoutManager)>(v);
virtualinvoke v.<javax.swing.JPanel: void setOpaque(boolean)>(1);
v = new javax.swing.JTextArea;
specialinvoke v.<javax.swing.JTextArea: void <init>(java.lang.String)>("no content");
v = new java.awt.Font;
specialinvoke v.<java.awt.Font: void <init>(java.lang.String,int,int)>("Serif", 0, 16);
virtualinvoke v.<javax.swing.JTextArea: void setFont(java.awt.Font)>(v);
virtualinvoke v.<javax.swing.JTextArea: void setLineWrap(boolean)>(1);
virtualinvoke v.<javax.swing.JTextArea: void setWrapStyleWord(boolean)>(1);
v = new javax.swing.JScrollPane;
specialinvoke v.<javax.swing.JScrollPane: void <init>(java.awt.Component)>(v);
virtualinvoke v.<org.apache.isis.commons.internal.debug.xray._CallStackMerger: void render(javax.swing.JTextArea)>(v);
virtualinvoke v.<javax.swing.JScrollPane: void setVerticalScrollBarPolicy(int)>(22);
virtualinvoke v.<javax.swing.JScrollPane: void setHorizontalScrollBarPolicy(int)>(31);
virtualinvoke v.<javax.swing.JPanel: java.awt.Component add(java.awt.Component)>(v);
v = virtualinvoke v.<javax.swing.JFrame: java.awt.Container getContentPane()>();
virtualinvoke v.<java.awt.Container: java.awt.Component add(java.lang.String,java.awt.Component)>("Center", v);
v = new java.awt.Dimension;
specialinvoke v.<java.awt.Dimension: void <init>(int,int)>(800, 600);
virtualinvoke v.<javax.swing.JFrame: void setPreferredSize(java.awt.Dimension)>(v);
virtualinvoke v.<javax.swing.JFrame: void pack()>();
virtualinvoke v.<javax.swing.JFrame: void setLocationByPlatform(boolean)>(1);
virtualinvoke v.<javax.swing.JFrame: void setVisible(boolean)>(1);
virtualinvoke v.<javax.swing.JFrame: void setResizable(boolean)>(1);
virtualinvoke v.<javax.swing.JFrame: void setVisible(boolean)>(1);
return;
}
private javax.swing.JScrollPane layoutUIAndGetDetailPanel(javax.swing.JTree)
{
javax.swing.JSplitPane v;
javax.swing.JTree v;
javax.swing.JScrollPane v, v;
java.awt.Dimension v, v;
javax.swing.JScrollBar v;
java.awt.Container v;
org.apache.isis.commons.internal.debug.xray.XrayUi v;
v := @this: org.apache.isis.commons.internal.debug.xray.XrayUi;
v := @parameter: javax.swing.JTree;
v = new javax.swing.JScrollPane;
specialinvoke v.<javax.swing.JScrollPane: void <init>(java.awt.Component)>(v);
v = new javax.swing.JScrollPane;
specialinvoke v.<javax.swing.JScrollPane: void <init>()>();
v = new javax.swing.JSplitPane;
specialinvoke v.<javax.swing.JSplitPane: void <init>(int,java.awt.Component,java.awt.Component)>(1, v, v);
virtualinvoke v.<javax.swing.JSplitPane: void setOneTouchExpandable(boolean)>(1);
virtualinvoke v.<javax.swing.JSplitPane: void setDividerLocation(int)>(260);
v = new java.awt.Dimension;
specialinvoke v.<java.awt.Dimension: void <init>(int,int)>(100, 50);
virtualinvoke v.<javax.swing.JScrollPane: void setMinimumSize(java.awt.Dimension)>(v);
virtualinvoke v.<javax.swing.JScrollPane: void setMinimumSize(java.awt.Dimension)>(v);
virtualinvoke v.<javax.swing.JScrollPane: void setVerticalScrollBarPolicy(int)>(20);
virtualinvoke v.<javax.swing.JScrollPane: void setHorizontalScrollBarPolicy(int)>(30);
v = virtualinvoke v.<javax.swing.JScrollPane: javax.swing.JScrollBar getVerticalScrollBar()>();
virtualinvoke v.<javax.swing.JScrollBar: void setUnitIncrement(int)>(8);
v = new java.awt.Dimension;
specialinvoke v.<java.awt.Dimension: void <init>(int,int)>(800, 600);
virtualinvoke v.<javax.swing.JSplitPane: void setPreferredSize(java.awt.Dimension)>(v);
v = virtualinvoke v.<org.apache.isis.commons.internal.debug.xray.XrayUi: java.awt.Container getContentPane()>();
virtualinvoke v.<java.awt.Container: java.awt.Component add(java.awt.Component)>(v);
return v;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicBoolean v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.atomic.AtomicBoolean startRequested> = v;
<org.apache.isis.commons.internal.debug.xray.XrayUi: java.util.concurrent.CountDownLatch latch> = null;
return;
}
}