Search in sources :

Example 11 with Action

use of org.eclipse.smarthome.automation.Action in project smarthome by eclipse.

the class ReferenceResolverUtilTest method testModuleConfigurationResolving.

@Test
public void testModuleConfigurationResolving() {
    // test trigger configuration..
    Module trigger = new Trigger(null, null, new Configuration(moduleConfiguration));
    ReferenceResolverUtil.updateModuleConfiguration(trigger, context);
    Assert.assertEquals(trigger.getConfiguration(), new Configuration(expectedModuleConfiguration));
    // test condition configuration..
    Module condition = new Condition(null, null, new Configuration(moduleConfiguration), null);
    ReferenceResolverUtil.updateModuleConfiguration(condition, context);
    Assert.assertEquals(condition.getConfiguration(), new Configuration(expectedModuleConfiguration));
    // test action configuration..
    Module action = new Action(null, null, new Configuration(moduleConfiguration), null);
    ReferenceResolverUtil.updateModuleConfiguration(action, context);
    Assert.assertEquals(action.getConfiguration(), new Configuration(expectedModuleConfiguration));
}
Also used : Condition(org.eclipse.smarthome.automation.Condition) Action(org.eclipse.smarthome.automation.Action) Trigger(org.eclipse.smarthome.automation.Trigger) Configuration(org.eclipse.smarthome.config.core.Configuration) Module(org.eclipse.smarthome.automation.Module) Test(org.junit.Test)

Example 12 with Action

use of org.eclipse.smarthome.automation.Action in project smarthome by eclipse.

the class RuleEngineTest method createActions.

private List<Action> createActions(String type) {
    List<Action> actions = new ArrayList<Action>();
    Configuration configurations = new Configuration();
    configurations.put("a", "x");
    configurations.put("b", "y");
    configurations.put("c", "z");
    Map<String, String> inputs = new HashMap<String, String>(11);
    String ouputModuleId = "triggerId";
    String outputName = "triggerOutput";
    String inputName = "actionInput";
    inputs.put(inputName, ouputModuleId + "." + outputName);
    inputs.put("in6", ouputModuleId + "." + outputName);
    actions.add(new Action("actionId", type, configurations, inputs));
    return actions;
}
Also used : Action(org.eclipse.smarthome.automation.Action) Configuration(org.eclipse.smarthome.config.core.Configuration) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList)

Example 13 with Action

use of org.eclipse.smarthome.automation.Action in project smarthome by eclipse.

the class ActionDTOMapper method mapDto.

public static Action mapDto(final ActionDTO actionDto) {
    final Action action = new Action(actionDto.id, actionDto.type, new Configuration(actionDto.configuration), actionDto.inputs);
    action.setLabel(actionDto.label);
    action.setDescription(actionDto.description);
    return action;
}
Also used : Action(org.eclipse.smarthome.automation.Action) Configuration(org.eclipse.smarthome.config.core.Configuration)

Example 14 with Action

use of org.eclipse.smarthome.automation.Action in project smarthome by eclipse.

the class SampleHandlerFactory method internalCreate.

@Override
protected ModuleHandler internalCreate(Module module, String ruleUID) {
    ModuleHandler moduleHandler = null;
    if (SUPPORTED_TRIGGER.equals(module.getTypeUID())) {
        moduleHandler = new SampleTriggerHandler((Trigger) module, ruleUID);
        createdTriggerHandler.add((TriggerHandler) moduleHandler);
    } else if (SUPPORTED_CONDITION.equals(module.getTypeUID())) {
        moduleHandler = new SampleConditionHandler((Condition) module);
    } else if (SUPPORTED_ACTION.equals(module.getTypeUID())) {
        moduleHandler = new SampleActionHandler((Action) module);
    } else {
        logger.error(MODULE_HANDLER_FACTORY_NAME + "Not supported moduleHandler: {}", module.getTypeUID());
    }
    return moduleHandler;
}
Also used : ModuleHandler(org.eclipse.smarthome.automation.handler.ModuleHandler) Action(org.eclipse.smarthome.automation.Action) Trigger(org.eclipse.smarthome.automation.Trigger)

Example 15 with Action

use of org.eclipse.smarthome.automation.Action in project smarthome by eclipse.

the class SampleJavaDemo method addRule.

void addRule() {
    final Configuration triggerConfig = new Configuration();
    triggerConfig.put("itemName", "DemoSwitch");
    final Trigger ruleTrigger = new Trigger("RuleTrigger", "ItemStateChangeTrigger", triggerConfig);
    final Configuration actionConfig = new Configuration();
    actionConfig.put("itemName", "DemoDimmer");
    actionConfig.put("command", "ON");
    final Action ruleAction = new Action("RuleAction", "ItemPostCommandAction", actionConfig, null);
    final ArrayList<Trigger> triggers = new ArrayList<Trigger>();
    triggers.add(ruleTrigger);
    final ArrayList<Action> actions = new ArrayList<Action>();
    actions.add(ruleAction);
    final Rule r = new Rule(RULE_UID, triggers, null, actions, null, null, null, Visibility.VISIBLE);
    r.setName("DemoRule");
    ruleRegistry.add(r);
}
Also used : Action(org.eclipse.smarthome.automation.Action) Trigger(org.eclipse.smarthome.automation.Trigger) Configuration(org.eclipse.smarthome.config.core.Configuration) ArrayList(java.util.ArrayList) Rule(org.eclipse.smarthome.automation.Rule)

Aggregations

Action (org.eclipse.smarthome.automation.Action)28 Trigger (org.eclipse.smarthome.automation.Trigger)15 Configuration (org.eclipse.smarthome.config.core.Configuration)15 Condition (org.eclipse.smarthome.automation.Condition)9 Rule (org.eclipse.smarthome.automation.Rule)9 ArrayList (java.util.ArrayList)8 Test (org.junit.Test)8 HashMap (java.util.HashMap)6 Set (java.util.Set)5 RuleRegistry (org.eclipse.smarthome.automation.RuleRegistry)5 EventPublisher (org.eclipse.smarthome.core.events.EventPublisher)5 JavaOSGiTest (org.eclipse.smarthome.test.java.JavaOSGiTest)5 LinkedList (java.util.LinkedList)4 Event (org.eclipse.smarthome.core.events.Event)4 HashSet (java.util.HashSet)3 RuleStatus (org.eclipse.smarthome.automation.RuleStatus)3 ActionHandler (org.eclipse.smarthome.automation.handler.ActionHandler)3 ActionType (org.eclipse.smarthome.automation.type.ActionType)3 CompositeActionType (org.eclipse.smarthome.automation.type.CompositeActionType)3 ConfigDescriptionParameter (org.eclipse.smarthome.config.core.ConfigDescriptionParameter)3