@Override Value createScheduleValue(Float value) { return new FloatValue(value); } };
@Override public Value createOgemaValue() { return new FloatValue(value); }
/** * Create a list of sampled values from the arrays of values and timestamps. * Both arrays must have the same size. * @param values * @param timestamps * @return */ public static List<SampledValue> getSampledValues(float[] values, long[] timestamps) { if (values.length != timestamps.length) throw new IllegalArgumentException("Array length must coincide. Got length " + values.length + " and " + timestamps.length); List<SampledValue> v = new ArrayList<>(); for (int i=0;i<values.length;i++) { v.add(new SampledValue(new FloatValue(values[i]), timestamps[i], Quality.GOOD)); } return v; }
/** * Like {@link ReadOnlyTimeSeries#getValue(long)}, but never returns null. * If the schedule is not defined at <tt>time</tt>, a bad quality value is returned. * @param schedule * @param time * @return */ public static SampledValue getValueSafe(ReadOnlyTimeSeries schedule, long time) { SampledValue val = schedule.getValue(time); if (val == null) val = new SampledValue(new FloatValue(Float.NaN), time, Quality.BAD); return val; }
@Override public SampledValue getValueSecure(long t) { final SampledValue result = getValue(t); return (result!=null) ? result : new SampledValue(new FloatValue(0.f), t, Quality.BAD); }
@Override public SampledValue getValueSecure(long t) { final SampledValue result = getValue(t); return (result != null) ? result : new SampledValue(new FloatValue(0.f), t, Quality.BAD); }
private final static SampledValue getValueSecure(ReadOnlyTimeSeries schedule, long t) { final SampledValue v = schedule.getValue(t); return (v != null ? v : new SampledValue(new FloatValue(Float.NaN), t, Quality.BAD)); }
private static ReadOnlyTimeSeries deserialize(final TimeseriesDTO dto) { final TreeTimeSeries ts = new FloatTreeTimeSeries(); if (dto.values == null || dto.timestamps == null) throw new NullPointerException("Timestamps or values are null"); if (dto.values.size() != dto.timestamps.size()) throw new IllegalStateException("Nr of timestamps does not equal nr of values"); final Iterator<Long> tIt = dto.timestamps.iterator(); final Iterator<Float> vIt = dto.values.iterator(); final List<SampledValue> values = new ArrayList<>(dto.timestamps.size()); while (tIt.hasNext()) { values.add(new SampledValue(new FloatValue(vIt.next()), tIt.next(), Quality.GOOD)); } ts.addValues(values); return ts; }
@Override SampledValue createValue(long time) { return new SampledValue(new FloatValue(el.getData().getFloat()), time, Quality.GOOD); }
protected void init2() { for (Map.Entry<Integer, SampledValue> entry : comingValues.entrySet()) { final int key = entry.getKey(); final SampledValue sv = entry.getValue(); final float val = sv.getQuality() == Quality.GOOD ? (doAverage ? sv.getValue().getFloatValue() : 0) : Float.NaN; final boolean ok = !Float.isNaN(val); nextValuesIntegrated.put(key, new SampledValue(ok ? new FloatValue(val) : FloatValue.NAN, sv.getTimestamp(), ok ? Quality.GOOD : Quality.BAD)); } }
/** * Listener called whenever the management system updated the temperature setpoint. */ @Override public void resourceChanged(TemperatureResource res) { float localDesiredTemp = res.getCelsius(); ChannelConfiguration locator = this.commandChannel.get("COMMAND:01"); writeToChannel(locator, new FloatValue(localDesiredTemp)); }
private boolean checkInputData() { for(SchedUpdateInfo sui2:sources.values()) { if(sui2.lastTimestampFound < (currentAlignedTime-500)) return false; } //we got all values, we can transfer now float sumUp = (new SimpleAggregation<Schedule>() { @Override protected float getValue(Schedule element) { SampledValue rawVal = element.getValue(currentAlignedTime); if(rawVal != null) return element.getValue(currentAlignedTime).getValue().getFloatValue(); else return 0; } }).getAggregatedValue(sources.keySet(), mode); destination.addValue(currentAlignedTime, new FloatValue(sumUp)); return true; }
@Override public final void setConstant(float value) { deleteValues(); setInterpolationMode(InterpolationMode.STEPS); addValue(Long.MIN_VALUE, new FloatValue(value)); addValue(0, new FloatValue(value)); }
@Override public SampledValue apply(Collection<SampledValue> input) { float v = 0f; int cnt = 0; for (SampledValue sv: input) { if (sv != null && sv.getQuality() == Quality.GOOD) { v += sv.getValue().getFloatValue(); cnt++; } } return new SampledValue(new FloatValue(v/cnt), input.iterator().next().getTimestamp(), cnt > 0 ? Quality.GOOD : Quality.BAD); } };
@Override public SampledValue apply(Collection<SampledValue> input) { float v = 0f; boolean qualityGood = false; for (SampledValue sv: input) { if (sv != null && sv.getQuality() == Quality.GOOD) { v += sv.getValue().getFloatValue(); qualityGood = true; } } return new SampledValue(new FloatValue(v), input.iterator().next().getTimestamp(), qualityGood ? Quality.GOOD : Quality.BAD); } };
Value getValue(N value) { if (value == null) value = getNullReplacement(); if (type == Float.class) return new FloatValue((Float) value); if (type == Integer.class) return new IntegerValue((Integer) value); if (type == Long.class) return new LongValue((Long) value); if (type == String.class) { return new StringValue((String) value); } return new FloatValue((Float) value); }
@Override public final SampledValue apply(SampledValue value) { return new SampledValue(new FloatValue(value.getValue().getFloatValue() * m_factor), value.getTimestamp(), value.getQuality()); }
/** * Create a {@link Value} from a {@link Number}. * @param value * either a {@link Float}, {@link Double}, {@link Integer}, {@link Long}, {@link Short} or {@link Byte}. * @throws IllegalArgumentException * if <tt>value</tt> is not of admissible type * @return */ public static Value createValue(final Number value) throws IllegalArgumentException { if (value instanceof Float) { final float f = value.floatValue(); return f == 0F ? FloatValue.ZERO : Float.isNaN(f) ? FloatValue.NAN : new FloatValue(f); } if (value instanceof Integer || value instanceof Short) return new IntegerValue(value.intValue()); if (value instanceof Long) return new LongValue(value.longValue()); if (value instanceof Double) return new DoubleValue(value.doubleValue()); if (value instanceof Byte) return new ByteArrayValue(new byte[]{value.byteValue()}); throw new IllegalArgumentException("Value type " + value.getClass() + " not supported"); }
@Override public final SampledValue apply(SampledValue value) { return new SampledValue(new FloatValue(value.getValue().getFloatValue() + m_addend), value.getTimestamp(), value.getQuality()); }
@Override public final SampledValue apply(final SampledValue value1, final SampledValue value2) { final long t1 = value1.getTimestamp(); final long t2 = value2.getTimestamp(); if (t1 != t2) return new SampledValue(new FloatValue(0.f), t1, Quality.BAD); final float x1 = value1.getValue().getFloatValue(); final float x2 = value2.getValue().getFloatValue(); final Quality q1 = value1.getQuality(); final Quality q2 = value2.getQuality(); final Quality quality = (q1 == Quality.GOOD && q2 == Quality.GOOD) ? Quality.GOOD : Quality.BAD; return new SampledValue(new FloatValue(x1 * x2), t2, quality); } }