public List<Status> getServiceStatus(@PathParam("domainURI") @DefaultValue("default") String domainURI) {
if( ! nodeMap.containsKey(domainURI)) {
throw new WebApplicationException(404);
}
NodeExtension node = nodeMap.get(domainURI);
Composite domainComposite = node.getDomainComposite();
List<Status> statuses = new ArrayList<Status>();
for(Component component : domainComposite.getComponents()) {
for(Service service : component.getServices()) {
Interface interfaceContract = service.getInterfaceContract().getInterface();
if(Manageable.class.getName().equals(interfaceContract.toString())) {
Status status = new Status();
status.setName(component.getName());
status.setUri(service.getBindings().get(0).getURI());
try {
String serviceName = component.getName() + "/" + service.getName();
Manageable serviceInstance = node.getService(Manageable.class, serviceName);
Timer t = new Timer();
serviceInstance.isAlive();
status.setExecution(t.elapsed(TimeUnit.MILLISECONDS));
if(status.getExecution() < warningThreshold) {