All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huaweicloud.sdk.iot.device.devicerule.DeviceRuleJob Maven / Gradle / Ivy

package com.huaweicloud.sdk.iot.device.devicerule;

import com.huaweicloud.sdk.iot.device.devicerule.model.DeviceRuleAction;
import com.huaweicloud.sdk.iot.device.devicerule.model.TimeRange;
import com.huaweicloud.sdk.iot.device.utils.ExceptionUtil;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;

import java.util.List;

public class DeviceRuleJob implements Job {
    private static final Logger log = LogManager.getLogger(DeviceRuleJob.class);

    @Override
    public void execute(JobExecutionContext context) {
        try {
            final List actionList = (List) context.getMergedJobDataMap()
                .get("actionList");
            final DeviceRuleService deviceRuleService = (DeviceRuleService) context.getMergedJobDataMap()
                .get("deviceRuleService");
            final TimeRange timeRange = (TimeRange) context.getMergedJobDataMap().get("timeRange");
            if (deviceRuleService.checkTimeRange(timeRange)) {
                deviceRuleService.onRuleActionHandler(actionList);
            }
        } catch (Exception e) {
            log.warn("failed to execute DeviceRuleJob, exception={}", ExceptionUtil.getBriefStackTrace(e));
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy