package ddth.dasp.statushetty.actionhandler;
import java.util.HashMap;
import java.util.Map;
import ddth.dasp.hetty.message.IRequest;
public class ServerStatusActionHandler extends BaseActionHandler {
/**
* {@inheritDoc}
*/
@Override
protected Map<String, Object> buildViewModel(IRequest request) {
Map<String, Object> model = super.buildViewModel(request);
model.put("SERVER", buildModelServer());
return model;
}
private Object buildModelServer() {
Map<String, Object> model = new HashMap<String, Object>();
Runtime rt = Runtime.getRuntime();
model.put("cpu_processors", rt.availableProcessors());
long memMax = rt.maxMemory();
long memUsed = rt.totalMemory() - rt.freeMemory();
long memFree = memMax - memUsed;
model.put("memory_used", memUsed);
model.put("memory_free", memFree);
model.put("memory_used_percent", memUsed * 100 / memMax);
model.put("memory_free_percent", memFree * 100 / memMax);
model.put("memory_available", memMax);
String os = System.getProperty("os.name") + " - " + System.getProperty("os.arch") + " - "
+ System.getProperty("os.version");
model.put("os", os);
String java = System.getProperty("java.vendor") + " - "
+ System.getProperty("java.version");
String javaSpec = System.getProperty("java.specification.name") + " - "
+ System.getProperty("java.specification.vendor") + " - "
+ System.getProperty("java.specification.version");
String javaVm = System.getProperty("java.vm.name") + " - "
+ System.getProperty("java.vm.vendor") + " - "
+ System.getProperty("java.vm.version");
String javaVmSpec = System.getProperty("java.vm.specification.name") + " - "
+ System.getProperty("java.vm.specification.vendor") + " - "
+ System.getProperty("java.vm.specification.version");
model.put("java", java);
model.put("java_spec", javaSpec);
model.put("java_vm", javaVm);
model.put("java_vm_spec", javaVmSpec);
return model;
}
}