class ServerInfoServerTask extends IpmiTask {

    @Override
    public void executeTask()
        throws Exception
    {
        try
        {
            ServiceServerNode serviceServerNode = (ServiceServerNode) node.getServiceObject();
            IBoardService boardService = BoardServiceProvider.getBoardService( serviceServerNode );
            if ( boardService != null )
            {
                // Object[] paramsArray = new Object[] { serviceServerNode };
                ServerNodeInfo serverNodeInfo = boardService.getServerInfo( serviceServerNode );
                // ServerNodeInfo serverNodeInfo =
                // HmsPluginServiceCallWrapper.invokeHmsPluginService(boardService,
                // serviceServerNode, "getServerInfo", paramsArray);
                // We are getting following two properties from hms-inventory
                // file, so not overwriting those values.
                // node.setBoardProductName(serverNodeInfo.getBoardProductName());
                // node.setBoardVendor(serverNodeInfo.getBoardVendor());
                this.node.setBoardSerialNumber( serverNodeInfo.getComponentIdentifier().getSerialNumber() );
                this.node.setBoardPartNumber( serverNodeInfo.getComponentIdentifier().getPartNumber() );
                this.node.setBoardMfgDate( serverNodeInfo.getComponentIdentifier().getManufacturingDate() );
                node.setDiscoverable( true );
            }
            else
            {
                throw new Exception( "Board Service is NULL for node: " + node.getNodeID() );
            }

        }
        catch ( HmsResourceBusyException e )
        {
            String error =
                String.format( "HMS Resource is Busy for the node [%s]. Please try after some time", node.getNodeID() );
            logger.debug( error, e );
            throw e;
        }
        catch ( Exception e )
        {
            throw new HmsException( "Error while getting Server Info for Node: " + node.getNodeID(), e );
        }
    }

    public  ServerInfoServerTask( TaskResponse response );

}