1
2
3
4
5
6
7
8
9
10
11 package org.mule.util;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.agent.Agent;
15 import org.mule.config.MuleManifest;
16 import org.mule.config.StartupContext;
17 import org.mule.config.i18n.CoreMessages;
18
19 import java.net.InetAddress;
20 import java.net.UnknownHostException;
21 import java.util.Collection;
22 import java.util.Iterator;
23 import java.util.Map;
24 import java.util.jar.Manifest;
25
26 public class ServerStartupSplashScreen extends SplashScreen
27 {
28 protected void doHeader(MuleContext context)
29 {
30 String notset = CoreMessages.notSet().getMessage();
31
32
33 Manifest mf = MuleManifest.getManifest();
34 Map att = mf.getMainAttributes();
35 if (att.values().size() > 0)
36 {
37 header.add(StringUtils.defaultString(MuleManifest.getProductDescription(), notset));
38 header.add(CoreMessages.version().getMessage() + " Build: "
39 + StringUtils.defaultString(MuleManifest.getBuildNumber(), notset));
40
41 header.add(StringUtils.defaultString(MuleManifest.getVendorName(), notset));
42 header.add(StringUtils.defaultString(MuleManifest.getProductMoreInfo(), notset));
43 }
44 else
45 {
46 header.add(CoreMessages.versionNotSet().getMessage());
47 }
48 header.add(" ");
49 if (context.getStartDate() > 0)
50 {
51 header.add(CoreMessages.serverStartedAt(context.getStartDate()).getMessage());
52 }
53 header.add("Server ID: " + context.getConfiguration().getId());
54
55
56 header.add("JDK: " + System.getProperty("java.version") + " ("
57 + System.getProperty("java.vm.info") + ")");
58 header.add("OS encoding: " + System.getProperty("file.encoding")
59 + ", Mule encoding: " + context.getConfiguration().getDefaultEncoding());
60 String patch = System.getProperty("sun.os.patch.level", null);
61 header.add("OS: " + System.getProperty("os.name")
62 + (patch != null && !"unknown".equalsIgnoreCase(patch) ? " - " + patch : "") + " ("
63 + System.getProperty("os.version") + ", " + System.getProperty("os.arch") + ")");
64 try
65 {
66 InetAddress host = InetAddress.getLocalHost();
67 header.add("Host: " + host.getHostName() + " (" + host.getHostAddress() + ")");
68 }
69 catch (UnknownHostException e)
70 {
71
72 }
73
74
75 final boolean productionMode = StartupContext.get().getStartupOptions().containsKey("production");
76 header.add("Mode: " + (productionMode ? "Production" : "Development"));
77
78 header.add(" ");
79 }
80
81 protected void doFooter(MuleContext context)
82 {
83
84 if (!body.isEmpty())
85 {
86 footer.add(" ");
87 }
88
89 Collection agents = context.getRegistry().lookupObjects(Agent.class);
90 if (agents.size() == 0)
91 {
92 footer.add(CoreMessages.agentsRunning().getMessage() + " "
93 + CoreMessages.none().getMessage());
94 }
95 else
96 {
97 footer.add(CoreMessages.agentsRunning().getMessage());
98 Agent agent;
99 for (Iterator iterator = agents.iterator(); iterator.hasNext();)
100 {
101 agent = (Agent) iterator.next();
102 footer.add(" " + agent.getDescription());
103 }
104 }
105 }
106 }