Search in sources :

Example 1 with AboutRepresentation

use of com.dell.cpsd.paqx.fru.rest.representation.AboutRepresentation in project fru-paqx-parent by dellemc-symphony.

the class AboutResource method root.

@GET
public void root(@Suspended final AsyncResponse asyncResponse) {
    asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
    asyncResponse.setTimeout(10, TimeUnit.SECONDS);
    final AboutRepresentation representation = new AboutRepresentation();
    requiredCapabilities().forEach(capability -> representation.addRequiredCapability(capability));
    try {
        final ListCapabilityProvidersResponse listCapabilityProvidersResponse = this.capabilityRegistryLookupManager.listCapabilityProviders(TimeUnit.SECONDS.toMillis(2L));
        for (final CapabilityProvider capabilityProvider : listCapabilityProvidersResponse.getResponse()) {
            final String provider = capabilityProvider.getIdentity().getName();
            for (final Capability capability : capabilityProvider.getCapabilities()) {
                representation.capabilityMetBy(capability.getProfile(), provider);
            }
        }
    } catch (CapabilityRegistryException e) {
        asyncResponse.resume(e);
        return;
    } catch (ServiceTimeoutException e) {
        asyncResponse.resume(Response.status(Response.Status.REQUEST_TIMEOUT).build());
        return;
    }
    asyncResponse.resume(Response.ok(representation).build());
    LOG.debug("Completed response");
    /*        nodeDiscovery.discover().thenAccept(nodes ->
        {
            nodes.stream().forEach(node -> representation.addNode(node.getId(), node.getName(),node.getType()));
            asyncResponse.resume(Response.ok(representation).build());
            LOG.debug("Completed response");
        });*/
    LOG.debug("Exiting about resource");
}
Also used : Capability(com.dell.cpsd.hdp.capability.registry.api.Capability) CapabilityRegistryException(com.dell.cpsd.hdp.capability.registry.client.CapabilityRegistryException) CapabilityProvider(com.dell.cpsd.hdp.capability.registry.api.CapabilityProvider) AboutRepresentation(com.dell.cpsd.paqx.fru.rest.representation.AboutRepresentation) ListCapabilityProvidersResponse(com.dell.cpsd.hdp.capability.registry.client.callback.ListCapabilityProvidersResponse) ServiceTimeoutException(com.dell.cpsd.service.common.client.exception.ServiceTimeoutException) GET(javax.ws.rs.GET)

Aggregations

Capability (com.dell.cpsd.hdp.capability.registry.api.Capability)1 CapabilityProvider (com.dell.cpsd.hdp.capability.registry.api.CapabilityProvider)1 CapabilityRegistryException (com.dell.cpsd.hdp.capability.registry.client.CapabilityRegistryException)1 ListCapabilityProvidersResponse (com.dell.cpsd.hdp.capability.registry.client.callback.ListCapabilityProvidersResponse)1 AboutRepresentation (com.dell.cpsd.paqx.fru.rest.representation.AboutRepresentation)1 ServiceTimeoutException (com.dell.cpsd.service.common.client.exception.ServiceTimeoutException)1 GET (javax.ws.rs.GET)1