protected void setResourceValue(V resource, String value, OgemaHttpRequest req) { if(!(resource instanceof StringResource || resource instanceof BooleanResource)) { value = value.replaceAll("[^\\d.,-]", ""); } // may throw different kinds of exceptions boolean exists = resource.exists(); if(!exists) resource.create(); if (resource instanceof TemperatureResource) { ((TemperatureResource) resource).setValue(Float.parseFloat(value) + 273.15F); } else ValueResourceUtils.setValue(resource, value); if(!exists) resource.activate(false); }
@Override public void onPrePOST(String data, OgemaHttpRequest req) { S source = getResource(sva, req, resourceType); if(!source.exists()) { source.create(); source.activate(true); } } };
@Override public void channelEvent(EventType type, List<SampledValueContainer> channels) { logger.trace("Channel event for {}", pattern.target); for (SampledValueContainer container: channels) { if (container.getChannelLocator().equals(channelConfiguration.getChannelLocator())) { float factor = 1; float offset = 0; if (pattern.scalingFactor.isActive()) factor = pattern.scalingFactor.getValue(); if (pattern.valueOffset.isActive()) offset = pattern.valueOffset.getValue(); Value value = transform(container.getSampledValue().getValue(), factor, offset); ValueResourceUtils.setValue(pattern.target, value); pattern.target.activate(false); } } }
ResourceSimulation(ConfigPattern config, ReadOnlyTimeSeries input, ApplicationManager appMan) { this.config = config; this.resource = config.target.getLocationResource(); this.input = input; this.additive = config.additive.isActive() && config.additive.getValue(); if (!config.forecast.isActive()) { this.forecast = null; this.iterator = null; } else { final String scheduleName = config.forecast.getValue(); Schedule sched0 = resource.getSubResource(scheduleName); if (sched0 == null) sched0 = resource.getSubResource(scheduleName, AbsoluteSchedule.class).create(); this.forecast = sched0; sched0.activate(false); this.iterator = new CyclicIterator(input, appMan.getFrameworkTime()); } this.timer = appMan.createTimer(10000000, this); timerElapsed(timer); resource.activate(false); LoggingUtils.activateLogging(resource, -2); appMan.getLogger().debug("Simulation started for resource {}", resource); }
configs.activate(false); resource.activate(false); final ScheduledSimulationConfig config = configs.add(); config.target().setAsReference(resource);