package com.sequenceiq.cloudbreak.core.flow2.stack; import java.util.Arrays; import javax.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import com.sequenceiq.cloudbreak.service.events.CloudbreakEventService; import com.sequenceiq.cloudbreak.service.messages.CloudbreakMessagesService; @Service public class FlowMessageService { private static final Logger LOGGER = LoggerFactory.getLogger(FlowMessageService.class); @Inject private CloudbreakMessagesService messagesService; @Inject private CloudbreakEventService cloudbreakEventService; public void fireEventAndLog(Long stackId, Msg msgCode, String eventType, Object... args) { LOGGER.debug("{} [STACK_FLOW_STEP].", msgCode); String message = messagesService.getMessage(msgCode.code(), Arrays.asList(args)); cloudbreakEventService.fireCloudbreakEvent(stackId, eventType, message); } public void fireInstanceGroupEventAndLog(Long stackId, Msg msgCode, String eventType, String instanceGroup, Object... args) { LOGGER.debug("{} [STACK_FLOW_STEP].", msgCode); String message = messagesService.getMessage(msgCode.code(), Arrays.asList(args)); cloudbreakEventService.fireCloudbreakInstanceGroupEvent(stackId, eventType, message, instanceGroup); } }