1 |
package appl.parallel.server; |
2 |
|
3 |
import java.io.Serializable; |
4 |
|
5 |
import appl.parallel.SimpleResourceProperties; |
6 |
|
7 |
/** |
8 |
* Constructs information out of a XuluServer Object. Unfortunately there is no way |
9 |
* to measure CPU load (for this you would need to have access to the OS core). This could |
10 |
* be done with the use of the JNI, but that is low level programming and would be OS |
11 |
* dependent. |
12 |
* |
13 |
* Must be invoked on server side (which should be clear, anyway!).<br> |
14 |
* |
15 |
* Sets the following properties: |
16 |
* <br><br> |
17 |
* Name <br> |
18 |
* isAvailable<br> |
19 |
* Uptime<br><br> |
20 |
* |
21 |
* and of course the Properties the superclass sets<br> |
22 |
* @author Dominik Appl |
23 |
*/ |
24 |
public class XuluServerProperties extends SimpleResourceProperties implements |
25 |
Serializable { |
26 |
|
27 |
public XuluServerProperties(XuluServer server, String name) { |
28 |
super(); |
29 |
if (name != null) |
30 |
properties.setProperty("Name", name); |
31 |
properties.setProperty("isAvailable", (!(server.isClientConnected())) |
32 |
+ ""); |
33 |
|
34 |
//format uptime |
35 |
int uptimeInSeconds = server.getUptime() / 1000; |
36 |
int hours, minutes, seconds; |
37 |
hours = uptimeInSeconds / 3600; |
38 |
uptimeInSeconds = uptimeInSeconds - (hours * 3600); |
39 |
minutes = uptimeInSeconds / 60; |
40 |
uptimeInSeconds = uptimeInSeconds - (minutes * 60); |
41 |
seconds = uptimeInSeconds; |
42 |
String formatedTime = hours + "h " + minutes + "m " + seconds + "s"; |
43 |
properties.setProperty("Uptime", formatedTime); |
44 |
properties.setProperty("Rating", server.getRating() + ""); |
45 |
properties.setProperty("Port", server.getRegistryPort() + ""); |
46 |
} |
47 |
|
48 |
} |