001 package org.shiftone.jrat.provider.tree.ui;
002
003 import org.shiftone.jrat.core.spi.ViewBuilder;
004 import org.shiftone.jrat.provider.tree.TreeNode;
005 import org.shiftone.jrat.util.Assert;
006
007 import javax.swing.*;
008 import java.io.ObjectInputStream;
009 import java.util.Properties;
010 import java.util.Set;
011
012 /**
013 * @author jeff@shiftone.org (Jeff Drost)
014 */
015 public class TraceViewBuilder implements ViewBuilder { //, Externalizable {
016
017 private static final long serialVersionUID = 1;
018 private TreeNode root;
019 private Set allMethodKeys;
020 private long sessionStartMs;
021 private long sessionEndMs;
022 private Properties systemProperties;
023 private String hostName;
024 private String hostAddress;
025
026 public TraceViewBuilder() {
027 }
028
029 public TraceViewBuilder(TreeNode root, Set allMethodKeys,
030 long sessionStartMs, long sessionEndMs,
031 Properties systemProperties,
032 String hostName, String hostAddress) {
033
034 Assert.assertNotNull(root);
035 Assert.assertNotNull(allMethodKeys);
036 Assert.assertNotNull(systemProperties);
037 Assert.assertNotNull(hostName);
038 Assert.assertNotNull(hostAddress);
039
040 this.root = root;
041 this.allMethodKeys = allMethodKeys;
042 this.sessionStartMs = sessionStartMs;
043 this.sessionEndMs = sessionEndMs;
044 this.systemProperties = systemProperties;
045 this.hostName = hostName;
046 this.hostAddress = hostAddress;
047 }
048
049 public JComponent buildView(ObjectInputStream input) throws Exception {
050
051 return new TraceViewPanel(
052 new TraceTreeNode(root),
053 allMethodKeys,
054 sessionStartMs, sessionEndMs,
055 systemProperties,
056 hostName, hostAddress);
057 }
058
059 //
060 // public void writeExternal(ObjectOutput out) throws IOException {
061 // root.writeExternal(out);
062 // }
063 //
064 // public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
065 // root = new TreeNode();
066 // root.readExternal(in);
067 // }
068 }