@Override public List<String> get(Object key) { String stringKey = (String) key; ValueObject val = data.get(stringKey); if (val == null) { return null; } else { return new ListString(val.asArray(), false); } }
@Override public ValueObject filterValue(ValueObject value, Bundle context) { if (value == null || value.getObjectType() != ValueObject.TYPE.MAP || this.key == null) { // TODO: log error return null; } ValueMap mapValue = value.asMap(); if (this.put != null) { ValueMap copy = ValueFactory.createMap(); copy.putAll(mapValue); copy.put(this.key.getString(context).get(), this.put.getValue(context)); return copy; } else if (this.defaultValue != null) { return mapValue.getOrDefault(this.key.getString(context).get(), this.defaultValue.getValue(context)); } else { return mapValue.get(this.key.getString(context).get()); } } }
@Nullable @Override public ValueObject filterValue(@Nullable ValueObject value, @Nullable Bundle context) { if (value != null) { if (map == null) { value = defaultValue != null ? defaultValue : toNull ? null : value; } else { ValueObject v = map.getValue(context).asMap().get(value.toString()); if (v != null) { value = v; } else if (defaultValue != null) { value = defaultValue; } else if (toNull) { value = null; } } return value; } else { return value; } } }
@Override public byte[] get(Object key) { String stringKey = (String) key; ValueObject val = data.get(stringKey); if (val == null) { return null; } else { return val.asBytes().asNative(); } }
@Override public Long get(Object key) { String stringKey = (String) key; ValueObject val = data.get(stringKey); if (val == null) { return null; } else { return val.asLong().getLong(); } }
@Override public Double get(Object key) { String stringKey = (String) key; ValueObject val = data.get(stringKey); if (val == null) { return null; } else { return val.asDouble().getDouble(); } }
@Override public void setValues(ValueMap valueMapEntries) { byte[] b = valueMapEntries.get("b").asBytes().asNative(); this.quantile = valueMapEntries.get("q").asDouble().getDouble(); this.op = OP.valueOf(valueMapEntries.get("o").asString().toString()); heldObject = TDigest.fromBytes(ByteBuffer.wrap(b)); }
@Override public String get(Object key) { String stringKey = (String) key; ValueObject val = data.get(stringKey); if (val == null) { return null; } else { return val.asString().asNative(); } }
@Override public void setValues(ValueMap map) { ValueObject vo = map.get(key); if (vo != null) { BloomFilter.deserialize(vo.asBytes().asNative()); } }
@Override public void setValues(ValueMap map) { targetEpoch = map.get("targetEpoch").asLong().asNative(); numObservations = map.get("numObservations").asLong().asNative().intValue(); doubleToLongBits = map.get("doubleToLongBits").asLong().asNative().intValue() == 1; raw = map.get("raw").asLong().asNative().intValue() == 1; percentile = map.get("percentile").asDouble().asNative(); sigma = map.get("sigma").asDouble().asNative(); minMeasurement = map.get("minMeasurement").asLong().asNative().intValue(); mode = map.get("mode").asString().asNative(); long minEpoch = map.get("minEpoch").asLong().asNative(); ValueArray reservoirValueObject = map.get("reservoir").asArray(); int size = reservoirValueObject.size(); int[] reservoir = new int[size]; for (int i = 0; i < size; i++) { reservoir[i] = reservoirValueObject.get(i).asLong().asNative().intValue(); } this.heldObject = new DataReservoir(minEpoch, reservoir); }
@Override public void setValues(ValueMap map) { try { heldObject = (SeenFilterBasic<?>) CodecBin2.decodeBytes( new SeenFilterBasic(), map.get("b").asBytes().asNative()); } catch (Exception ex) { throw new ValueTranslationException(ex); } }
private void insertMapValue(ValueMap map, ValueObject vo) { String valueString = vo.asString().asNative(); String[] elementArray = valueString.split(elementSeparator); for (String element : elementArray) { String[] keyValue = element.split(keySeparator); if (!includeNullValues && keyValue.length != 2) { continue; } String key = keyValue[0]; ValueObject value = keyValue.length > 1 ? ValueFactory.create(keyValue[1]) : null; ValueObject current = map.get(key); if (!appendValues || (current == null)) { map.put(key, value); } else { ValueArray array = current.asArray(); array.add(value); map.put(key, array); } } } }
subsetMap = ValueFactory.createMap(); for (String key : whitelist) { ValueObject valueObject = map.get(key); if (valueObject != null) { subsetMap.put(key, valueObject);
ValueObject val = mapValue.get(key); if (me.filter != null) { val = me.filter.filter(val, bundle);
@Test public void createMap() throws IOException { ValueFilterCreateMap vf = Configs.decodeObject(ValueFilterCreateMap.class, ""); ValueMap result = vf.filter(ValueFactory.create("hello=world,foo=bar")).asMap(); assertEquals("world", result.get("hello").asString().asNative()); assertEquals("bar", result.get("foo").asString().asNative()); result = vf.filter(ValueFactory.create("hello=world,hello=bar")).asMap(); assertEquals("bar", result.get("hello").asString().asNative()); result = vf.filter(ValueFactory.create("hello=world,hello")).asMap(); assertEquals("world", result.get("hello").asString().asNative()); }
@Test public void append() throws IOException { ValueFilterCreateMap vf = Configs.decodeObject(ValueFilterCreateMap.class, "appendValues=true"); ValueMap result = vf.filter(ValueFactory.create("hello=world,baz=quux,hello=bar,hello=world")).asMap(); ValueArray values = result.get("hello").asArray(); assertEquals(3, values.size()); assertEquals("world", values.get(0).asString().asNative()); assertEquals("bar", values.get(1).asString().asNative()); assertEquals("world", values.get(2).asString().asNative()); assertEquals("quux", result.get("baz").asString().asNative()); }