15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 package com.nokia.helium.internaldata.ant.listener; |
18 package com.nokia.helium.internaldata.ant.listener; |
19 |
19 |
|
20 import java.lang.management.ManagementFactory; |
|
21 import java.lang.management.MemoryMXBean; |
|
22 import java.lang.management.MemoryUsage; |
|
23 import java.util.Date; |
20 import java.util.Hashtable; |
24 import java.util.Hashtable; |
21 import java.util.Date; |
25 |
22 import com.nokia.helium.internaldata.ant.taskdefs.HlmAssertMessageTask; |
26 import org.apache.log4j.Logger; |
23 import org.apache.tools.ant.BuildEvent; |
27 import org.apache.tools.ant.BuildEvent; |
24 import org.apache.tools.ant.BuildListener; |
28 import org.apache.tools.ant.BuildListener; |
25 import org.apache.tools.ant.Project; |
29 import org.apache.tools.ant.Project; |
26 import org.apache.tools.ant.SubBuildListener; |
30 import org.apache.tools.ant.SubBuildListener; |
27 import org.dom4j.Document; |
31 import org.dom4j.Document; |
28 import org.apache.log4j.Logger; |
32 |
29 import java.lang.management.ManagementFactory; |
33 import com.nokia.helium.internaldata.ant.taskdefs.HlmAssertMessageTask; |
30 import java.lang.management.MemoryMXBean; |
|
31 import java.lang.management.MemoryUsage; |
|
32 |
34 |
33 /** |
35 /** |
34 * Listener class for the Logger. |
36 * Listener class for the Logger. |
35 * |
37 * |
36 */ |
38 */ |
44 |
46 |
45 // Ant build Stack. Useful to associate with current parent. |
47 // Ant build Stack. Useful to associate with current parent. |
46 private EndLessStack<DataNode> buildEventStack = new EndLessStack<DataNode>(); |
48 private EndLessStack<DataNode> buildEventStack = new EndLessStack<DataNode>(); |
47 |
49 |
48 // default list of properties to extract. |
50 // default list of properties to extract. |
49 private String[] propList = {"os.name", "user.name", "build.name", "build.number", "build.id", "build.family", "build.system", "env.NUMBER_OF_PROCESSORS", "helium.version", "env.SYMSEE_VERSION", "diamonds.build.id"}; |
51 private String[] propList = {"os.name", "user.name", "build.name", |
|
52 "build.number", "build.id", "build.family", "build.system", |
|
53 "env.NUMBER_OF_PROCESSORS", "helium.version", |
|
54 "env.SYMSEE_VERSION", "diamonds.build.id"}; |
50 |
55 |
51 // Memory bean |
56 // Memory bean |
52 private MemoryMXBean mbean; |
57 private MemoryMXBean mbean; |
53 |
58 |
54 public Listener() { |
59 public Listener() { |
60 * Method to call to trigger the data sending. |
65 * Method to call to trigger the data sending. |
61 */ |
66 */ |
62 public void sendData(String smtpServer, BuildEvent event) { |
67 public void sendData(String smtpServer, BuildEvent event) { |
63 if (buildNode != null) { |
68 if (buildNode != null) { |
64 Document database = null; |
69 Document database = null; |
65 //TreeDumper dumper = new TreeDumper(buildNode); |
|
66 //dumper.dump(); |
|
67 log.debug("Creating the XML log."); |
70 log.debug("Creating the XML log."); |
68 XMLRenderer writer = new XMLRenderer(buildNode, database, this.extractProperties(), event); |
71 XMLRenderer writer = new XMLRenderer(buildNode, database, this.extractProperties(), event); |
69 EmailDataSender sender = new EmailDataSender(); |
72 EmailDataSender sender = new EmailDataSender(); |
70 // Setting the server address. |
73 // Setting the server address. |
71 sender.setSMTPServer(smtpServer); |
74 sender.setSMTPServer(smtpServer); |