class ComponentEventRestService {

    @GET
    @Path( "/host/nme/{host_id}" )
    @Produces( "application/json" )
    public List<Event> getComponnetNmeEvents( @PathParam( "host_id" ) String host_id )
        throws HMSRestException
    {

        if ( !serverConnector.getNodeMap().containsKey( host_id ) )
            throw new HMSRestException( Status.NOT_FOUND.getStatusCode(), "Invalid Request",
                                        "Can't find host with id " + host_id );
        else
        {
            List<Event> events = new ArrayList<Event>();
            ServerNode node = (ServerNode) serverConnector.getNodeMap().get( host_id );
            try
            {
                for ( ServerComponent component : ServerComponent.values() )
                {
                    try
                    {
                        executeServerMonitorTask( node, component );
                    }
                    catch ( HmsException e )
                    {
                        logger.error( "Exception occured while executing ServerMonitor task for component" + component,
                                      e );
                    }
                    events.addAll( EventMonitoringSubscriptionHolder.getEventList( node, component, true ) );
                }
                return events;
            }
            catch ( Exception e )
            {
                logger.error( "Error getting sensor events for node :" + host_id, e );
                throw new HMSRestException( Status.INTERNAL_SERVER_ERROR.getStatusCode(), "Server Error",
                                            e.getMessage() );
            }
        }
    }

}