private void scheduleImmediateAlert(Map<String, Object> propertyMap) throws AuthorizationException {
    Clusters clusters = getManagementController().getClusters();
    String stringId = (String) propertyMap.get(ALERT_DEF_ID);
    long id = Long.parseLong(stringId);

    AlertDefinitionEntity entity = alertDefinitionDAO.findById(id);
    if (null == entity) {
      LOG.error("Unable to lookup alert definition with ID {}", id);
      return;
    }

    Cluster cluster = null;
    try {
      cluster = clusters.getClusterById(entity.getClusterId());
    } catch (AmbariException ambariException) {
      LOG.error("Unable to lookup cluster with ID {}", entity.getClusterId(),
          ambariException);
      return;
    }

    AlertResourceProviderUtils.verifyExecuteAuthorization(entity);

    Set<String> hostNames = alertDefinitionHash.getAssociatedHosts(cluster,
        entity.getSourceType(),
        entity.getDefinitionName(), entity.getServiceName(),
        entity.getComponentName());

    for (String hostName : hostNames) {
      AlertDefinition definition = definitionFactory.coerce(entity);
      AlertExecutionCommand command = new AlertExecutionCommand(
          cluster.getClusterName(), hostName, definition);

      //TODO implement alert execution commands logic
      //actionQueue.enqueue(hostName, command);
    }
  }
Extracts an {@link AlertDefinitionEntity} from the property map and
enqueues an {@link AlertExecutionCommand} for every host that should re-run
the specified definition.

@param propertyMap
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java