@Override protected void updateDynamicComponents() { try { logger.info("state: " + getProviderService().getActivationState().getValue().name()); switch (getProviderService().getActivationState().getValue()) { case ACTIVE: activationStatusLabel.setForeground(Color.BLACK); activationStatePanel.setBackground(Color.GREEN.darker()); activationButton.setText("Deactivate"); break; case DEACTIVE: activationStatusLabel.setForeground(Color.LIGHT_GRAY); activationStatePanel.setBackground(Color.GRAY.darker()); activationButton.setText("Activate"); break; case UNKNOWN: activationStatusLabel.setForeground(Color.BLACK); activationStatePanel.setBackground(Color.ORANGE.darker()); activationButton.setText("Activate"); break; default: throw new InvalidStateException("State[" + getProviderService().getActivationState().getValue() + "] is unknown."); } activationStatusLabel.setText("Current ActivationState = " + StringProcessor.transformUpperCaseToCamelCase(getProviderService().getActivationState().getValue().name())); } catch (CouldNotPerformException ex) { ExceptionPrinter.printHistory(ex, logger); } } }
public PresenceLightAgent() throws InstantiationException { super(PresenceLightAgent.class); actionRescheduleHelper = new ActionRescheduler(RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { logger.warn("New trigger state: " + data.getValue()); GlobalCachedExecutorService.submit(() -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { switchlightsOn(); } else { logger.warn("Stop execution"); actionRescheduleHelper.stopExecution(); } return null; }); }; }
/** * Method returns the state source(s) result(s) (contains state value(s)) of the input activationState. * * @param activationState The ActivationState. * @return state source(s) result(s) of the input state. */ private List<RdfNodeObject> activationStateSources(final ActivationState activationState) { final List<RdfNodeObject> stateSources = new ArrayList<>(); final String activationStateVal = activationState.getValue().toString(); stateSources.add(new RdfNodeObject(new ArrayList<String>() {{add(activationStateVal);}}, false)); return stateSources; }
public Future<ActionFuture> setActivationState(final ActivationState activation) throws CouldNotPerformException { if (activation == null || activation.getValue().equals(ActivationState.State.UNKNOWN)) { throw new InvalidStateException("Unknown is not a valid state!"); applyDataUpdate(activation.toBuilder().setTimestamp(TimestampProcessor.getCurrentTimestamp()).build(), ServiceType.ACTIVATION_STATE_SERVICE); } catch (CouldNotPerformException ex) { throw new CouldNotPerformException("Could not " + StringProcessor.transformUpperCaseToCamelCase(activation.getValue().name()) + " " + this, ex);
@Override public Void call() throws Exception { if (activation == null || activation.getValue().equals(ActivationState.State.UNKNOWN)) { throw new InvalidStateException("Unknown is not a valid state!"); throw new CouldNotPerformException("Could not " + StringProcessor.transformUpperCaseToCamelCase(activation.getValue().name()) + " " + this, ex);
@Override public JsonObject upgrade(JsonObject agentConfig, final Map<File, JsonObject> dbSnapshot) { // remove activation state and use it to set up the enabling state if (agentConfig.has("activation_state")) { JsonObject activationState = agentConfig.getAsJsonObject("activation_state"); agentConfig.remove("activation_state"); JsonObject enablingState = new JsonObject(); if (activationState.has("value")) { EnablingState.State enablingValue = EnablingState.State.ENABLED; ActivationState.State activationValue = ActivationState.State.valueOf(activationState.getAsJsonPrimitive("value").getAsString()); switch (activationValue) { case ACTIVE: enablingValue = EnablingState.State.ENABLED; break; case DEACTIVE: enablingValue = EnablingState.State.DISABLED; break; case UNKNOWN: enablingValue = EnablingState.State.UNKNOWN; } enablingState.addProperty("value", enablingValue.toString()); } agentConfig.add("enabling_state", enablingState); } return agentConfig; } }
public TriggerPool() throws InstantiationException { triggerListAND = new ArrayList(); triggerListOR = new ArrayList(); active = false; triggerAndObserver = (Observable<ActivationState> source, ActivationState data) -> { verifyCondition(); }; triggerOrObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { if (!getActivationState().getValue().equals(ActivationState.State.ACTIVE)) { notifyChange(TimestampProcessor.updateTimestampWithCurrentTime(ActivationState.newBuilder().setValue(ActivationState.State.ACTIVE).build())); } } else { verifyCondition(); } }; try { notifyChange(TimestampProcessor.updateTimestampWithCurrentTime(ActivationState.newBuilder().setValue(ActivationState.State.UNKNOWN).build())); } catch (CouldNotPerformException ex) { throw new InstantiationException("Could not set initial state", ex); } }
public IlluminationRollerShutterAgent() throws InstantiationException { super(IlluminationRollerShutterAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { if (locationRemote.getIlluminanceState().getIlluminance() > MAXIMUM_WANTED_ILLUMINATION) { regulateShutterLevelDown(); } else if (locationRemote.getIlluminanceState().getIlluminance() < MINIMUM_NEEDED_ILLUMINATION) { regulateShutterLevelUp(); } } else { actionRescheduleHelper.stopExecution(); } }; }
public RandomLightPatternAgent() throws InstantiationException { super(RandomLightPatternAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationStateType.ActivationState> source, ActivationStateType.ActivationState data) -> { GlobalCachedExecutorService.submit(() -> { if (data.getValue().equals(ActivationStateType.ActivationState.State.ACTIVE)) { makeRandomLightPattern(); } else { stopRandomLightPattern(); } return null; }); }; }
public static OnOffHolder transform(final ActivationState.State activationState) throws TypeNotSupportedException, CouldNotTransformException { switch (activationState) { case DEACTIVE: return OnOffHolder.newBuilder().setState(OnOffHolder.OnOff.OFF).build(); case ACTIVE: return OnOffHolder.newBuilder().setState(OnOffHolder.OnOff.ON).build(); case UNKNOWN: throw new TypeNotSupportedException(activationState, OnOffHolder.OnOff.class); default: throw new CouldNotTransformException("Could not transform " + ActivationState.State.class.getName() + "! " + ActivationState.State.class.getSimpleName() + "[" + activationState.name() + "] is unknown!"); } } }
public AbsenceEnergySavingAgent() throws InstantiationException { super(AbsenceEnergySavingAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationStateType.ActivationState> source, ActivationStateType.ActivationState data) -> { GlobalCachedExecutorService.submit(() -> { if (data.getValue().equals(ActivationStateType.ActivationState.State.ACTIVE)) { switchlightsOff(); switchMultimediaOff(); } else { actionRescheduleHelper.stopExecution(); } return null; }); }; }
public TemperatureControllerAgent() throws InstantiationException { super(TemperatureControllerAgent.class); previousTemperatureState = new HashMap(); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { regulateTemperature(); } else { actionRescheduleHelper.stopExecution(); restoreTemperature(); } }; }
public HeaterEnergySavingAgent() throws InstantiationException { super(HeaterEnergySavingAgent.class); previousTemperatureState = new HashMap(); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { regulateHeater(); } else { actionRescheduleHelper.stopExecution(); restoreTemperatureState(); } }; }
public static OnOffHolderType.OnOffHolder transform(ActivationState.State activationState) throws TypeNotSupportedException, CouldNotTransformException { switch (activationState) { case DEACTIVE: return OnOffHolderType.OnOffHolder.newBuilder().setState(OnOffHolderType.OnOffHolder.OnOff.OFF).build(); case ACTIVE: return OnOffHolderType.OnOffHolder.newBuilder().setState(OnOffHolderType.OnOffHolder.OnOff.ON).build(); case UNKNOWN: throw new TypeNotSupportedException(activationState, OnOffHolderType.OnOffHolder.OnOff.class); default: throw new CouldNotTransformException("Could not transform " + ActivationState.State.class.getName() + "! " + ActivationState.State.class.getSimpleName() + "[" + activationState.name() + "] is unknown!"); } } }
public static OnOffHolderType.OnOffHolder transform(ActivationState.State activationState) throws TypeNotSupportedException, CouldNotTransformException { switch (activationState) { case DEACTIVE: return OnOffHolderType.OnOffHolder.newBuilder().setState(OnOffHolderType.OnOffHolder.OnOff.OFF).build(); case ACTIVE: return OnOffHolderType.OnOffHolder.newBuilder().setState(OnOffHolderType.OnOffHolder.OnOff.ON).build(); case UNKNOWN: throw new TypeNotSupportedException(activationState, OnOffHolderType.OnOffHolder.OnOff.class); default: throw new CouldNotTransformException("Could not transform " + ActivationState.State.class.getName() + "! " + ActivationState.State.class.getSimpleName() + "[" + activationState.name() + "] is unknown!"); } } }
private boolean verifyAndCondition() throws CouldNotPerformException { for (AbstractTrigger abstractTrigger : triggerListAND) { if (!abstractTrigger.getActivationState().getValue().equals(ActivationState.State.ACTIVE) && !abstractTrigger.getActivationState().getValue().equals(ActivationState.State.UNKNOWN)) { return false; } } return !triggerListAND.isEmpty(); }
private void verifyCondition() throws CouldNotPerformException { if (verifyOrCondition() || verifyAndCondition()) { if (!getActivationState().getValue().equals(ActivationState.State.ACTIVE)) { notifyChange(TimestampProcessor.updateTimestampWithCurrentTime(ActivationState.newBuilder().setValue(ActivationState.State.ACTIVE).build())); } } else { if (!getActivationState().getValue().equals(ActivationState.State.DEACTIVE)) { notifyChange(TimestampProcessor.updateTimestampWithCurrentTime(ActivationState.newBuilder().setValue(ActivationState.State.DEACTIVE).build())); } } }
public IlluminationLightSavingAgent() throws InstantiationException { super(IlluminationLightSavingAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { regulateLightIntensity(); } else { actionRescheduleHelper.stopExecution(); } }; }
public FireAlarmAgent() throws InstantiationException { super(FireAlarmAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { alarmRoutine(); } else { actionRescheduleHelper.stopExecution(); } }; }
private boolean verifyOrCondition() throws CouldNotPerformException { for (AbstractTrigger abstractTrigger : triggerListOR) { if (abstractTrigger.getActivationState().getValue().equals(ActivationState.State.ACTIVE)) { return true; } } return false; }