public void setProperties(Map<String, Object> properties) { for (Entry<String, Object> entrySet : properties.entrySet()) { this.put(entrySet.getKey(), entrySet.getValue()); } for (Iterator<String> it = this.properties.keySet().iterator(); it.hasNext();) { String entry = it.next(); if (!properties.containsKey(entry)) { it.remove(); } } }
private Configuration deserialize(JsonObject propertiesObject) { Configuration configuration = new Configuration(); for (Entry<String, JsonElement> entry : propertiesObject.entrySet()) { JsonElement value = entry.getValue(); String key = entry.getKey(); if (value.isJsonPrimitive()) { JsonPrimitive primitive = value.getAsJsonPrimitive(); configuration.put(key, deserialize(primitive)); } else if (value.isJsonArray()) { JsonArray array = value.getAsJsonArray(); configuration.put(key, deserialize(array)); } else { throw new IllegalArgumentException( "Configuration parameters must be primitives or arrays of primities only but was " + value); } } return configuration; }
protected void _merge(final Configuration target, final Configuration source) { final Consumer<String> _function = (String it) -> { target.put(it, source.get(it)); }; source.keySet().forEach(_function); }
private void persist(V value) { Configuration configuration = handler.editConfiguration(); configuration.put(this.channelID, value); handler.updateConfiguration(configuration); }
@Override public void handleConfigurationUpdate(Map<String, Object> configurationParameters) { validateConfigurationParameters(configurationParameters); // can be overridden by subclasses Configuration configuration = editConfiguration(); for (Map.Entry<String, Object> configurationParmeter : configurationParameters.entrySet()) { configuration.put(configurationParmeter.getKey(), configurationParmeter.getValue()); } updateConfiguration(configuration); updateDevice(configuration); }
@PUT @Path("/{ruleUID}/{moduleCategory}/{id}/config/{param}") @ApiOperation(value = "Sets the module's configuration parameter value.") @ApiResponses(value = { @ApiResponse(code = 200, message = "OK"), @ApiResponse(code = 404, message = "Rule corresponding to the given UID does not found or does not have a module with such Category and ID.") }) @Consumes(MediaType.TEXT_PLAIN) public Response setModuleConfigParam( @PathParam("ruleUID") @ApiParam(value = "ruleUID", required = true) String ruleUID, @PathParam("moduleCategory") @ApiParam(value = "moduleCategory", required = true) String moduleCategory, @PathParam("id") @ApiParam(value = "id", required = true) String id, @PathParam("param") @ApiParam(value = "param", required = true) String param, @ApiParam(value = "value", required = true) String value) { Rule rule = ruleRegistry.get(ruleUID); if (rule != null) { Module module = getModule(rule, moduleCategory, id); if (module != null) { Configuration configuration = module.getConfiguration(); configuration.put(param, ConfigUtil.normalizeType(value)); module = ModuleBuilder.create(module).withConfiguration(configuration).build(); ruleRegistry.update(rule); return Response.ok(null, MediaType.TEXT_PLAIN).build(); } } return Response.status(Status.NOT_FOUND).build(); }
private void updateControllerProperties() { Configuration configuration = editConfiguration(); configuration.put(ZWaveBindingConstants.CONFIGURATION_SISNODE, controller.getSucId()); try { // If the thing is defined statically, then this will fail and we will never start! updateConfiguration(configuration); } catch (IllegalStateException e) { // Eat it... } }
public static void updateConfiguration(Thing thing, Configuration configuration) { for (String parameterName : configuration.keySet()) { thing.getConfiguration().put(parameterName, configuration.get(parameterName)); } }
private Configuration createConfiguration(final ModelPropertyContainer propertyContainer) { Configuration _xblockexpression = null; { final Configuration configuration = new Configuration(); final Consumer<ModelProperty> _function = (ModelProperty it) -> { int _size = it.getValue().size(); boolean _tripleEquals = (_size == 1); if (_tripleEquals) { configuration.put(it.getKey(), it.getValue().get(0)); } else { configuration.put(it.getKey(), it.getValue()); } }; propertyContainer.getProperties().forEach(_function); _xblockexpression = configuration; } return _xblockexpression; }
private boolean synchronizeConfiguration(ThingTypeUID thingTypeUID, Map<String, Object> properties, Configuration config) { boolean configUpdated = false; final Set<Map.Entry<String, Object>> propertySet = properties.entrySet(); final ThingType thingType = thingTypeRegistry.getThingType(thingTypeUID); final List<ConfigDescriptionParameter> configDescParams = getConfigDescParams(thingType); for (Map.Entry<String, Object> propertyEntry : propertySet) { final String propertyKey = propertyEntry.getKey(); final Object propertyValue = propertyEntry.getValue(); // Check if the key is present in the configuration. if (!config.containsKey(propertyKey)) { continue; } // Normalize first ConfigDescriptionParameter configDescParam = getConfigDescriptionParam(configDescParams, propertyKey); Object normalizedValue = ConfigUtil.normalizeType(propertyValue, configDescParam); // If the value is equal to the one of the configuration, there is nothing to do. if (Objects.equals(normalizedValue, config.get(propertyKey))) { continue; } // - the given key is part of the configuration // - the values differ // update value config.put(propertyKey, normalizedValue); configUpdated = true; } return configUpdated; }
private boolean synchronizeConfiguration(ThingTypeUID thingTypeUID, Map<String, Object> properties, Configuration config) { boolean configUpdated = false; final Set<Map.Entry<String, Object>> propertySet = properties.entrySet(); final ThingType thingType = thingTypeRegistry.getThingType(thingTypeUID); final List<ConfigDescriptionParameter> configDescParams = getConfigDescParams(thingType); for (Map.Entry<String, Object> propertyEntry : propertySet) { final String propertyKey = propertyEntry.getKey(); final Object propertyValue = propertyEntry.getValue(); // Check if the key is present in the configuration. if (!config.containsKey(propertyKey)) { continue; } // Normalize first ConfigDescriptionParameter configDescParam = getConfigDescriptionParam(configDescParams, propertyKey); Object normalizedValue = ConfigUtil.normalizeType(propertyValue, configDescParam); // If the value is equal to the one of the configuration, there is nothing to do. if (Objects.equals(normalizedValue, config.get(propertyKey))) { continue; } // - the given key is part of the configuration // - the values differ // update value config.put(propertyKey, normalizedValue); configUpdated = true; } return configUpdated; }
@Override public void handleConfigurationUpdate(Map<String, Object> configurationParameters) { if (!isModifyingCurrentConfig(configurationParameters)) { return; } validateConfigurationParameters(configurationParameters); // can be overridden by subclasses Configuration configuration = editConfiguration(); for (Entry<String, Object> configurationParameter : configurationParameters.entrySet()) { configuration.put(configurationParameter.getKey(), configurationParameter.getValue()); } if (isInitialized()) { // persist new configuration and reinitialize handler dispose(); updateConfiguration(configuration); initialize(); } else { // persist new configuration and notify Thing Manager updateConfiguration(configuration); if (this.callback != null) { this.callback.configurationUpdated(this.getThing()); } else { logger.warn("Handler {} tried updating its configuration although the handler was already disposed.", this.getClass().getSimpleName()); } } }
private void applyDefaultConfiguration(final Configuration configuration, final ChannelType channelType) { if (((this.configDescriptionRegistry != null) && (configuration != null))) { URI _configDescriptionURI = channelType.getConfigDescriptionURI(); boolean _tripleNotEquals = (_configDescriptionURI != null); if (_tripleNotEquals) { final ConfigDescription configDescription = this.configDescriptionRegistry.getConfigDescription(channelType.getConfigDescriptionURI()); if ((configDescription != null)) { final Function1<ConfigDescriptionParameter, Boolean> _function = (ConfigDescriptionParameter it) -> { return Boolean.valueOf(((it.getDefault() != null) && (configuration.get(it.getName()) == null))); }; final Consumer<ConfigDescriptionParameter> _function_1 = (ConfigDescriptionParameter it) -> { final Object value = this.getDefaultValueAsCorrectType(it.getType(), it.getDefault()); if ((value != null)) { configuration.put(it.getName(), value); } }; IterableExtensions.<ConfigDescriptionParameter>filter(configDescription.getParameters(), _function).forEach(_function_1); } } } }
defaultValue); if (value != null) { configuration.put(parameter.getName(), value);
@Override public void initialize() { DeviceGovernor deviceGovernor = getGovernor(); deviceGovernor.addGenericBluetoothDeviceListener(this); deviceGovernor.addGovernorListener(this); deviceGovernor.setBlockedControl(false); Configuration conf = editConfiguration(); if (conf.get("onlineTimeout") == null) { conf.put("onlineTimeout", getBindingConfig().getInitialOnlineTimeout()); updateConfiguration(conf); } DeviceConfig config = conf.as(DeviceConfig.class); preventLocationUpdate = config.getPreventLocationUpdate(); if (preventLocationUpdate) { locationHandler.updateChannel(getThing().getLocation()); } updateDevice(getConfig()); // init channel handlers super.initialize(); setAliasFuture = deviceGovernor.<DeviceGovernor, Void>whenReady(governor -> { governor.setAlias(thing.getLabel()); return null; }); updateStatus(deviceGovernor.isOnline() ? ThingStatus.ONLINE : ThingStatus.OFFLINE); }
Object value = getDefaultValueAsCorrectType(param.getType(), defaultValue); if (value != null) { config.put(param.getName(), value);