@Override public int size() { return data.size(); }
@Override public int size() { return data.size(); }
@Override public int size() { return data.size(); }
@Override public int size() { return data.size(); }
private String[] extractArray(ValueArray va) { int size = va.size(); String[] arr = new String[size]; for (int i = 0; i < size; i++) { arr[i] = va.get(i).toString(); } return arr; } }
public static ValueArray sortArray(ValueArray array) { List<ValueObject> tmpObjs = new ArrayList<>(); for (ValueObject obj : array) { tmpObjs.add(obj); } Collections.sort(tmpObjs, valueObjectComparator); ValueArray rv = ValueFactory.createArray(array.size()); for (ValueObject obj : tmpObjs) { rv.add(obj); } return rv; } }
@Override public boolean remove(Object o) { for (int i = 0; i < data.size(); i++) { ValueObject next = data.get(i); if ((next != null && next.equals(o)) || (next == null && o == null)) { data.remove(i); return true; } } return false; }
@Override public boolean remove(Object o) { for (int i = 0; i < data.size(); i++) { ValueObject next = data.get(i); if ((next != null && next.equals(o)) || (next == null && o == null)) { data.remove(i); return true; } } return false; }
@Override public boolean remove(Object o) { for (int i = 0; i < data.size(); i++) { ValueObject next = data.get(i); if ((next != null && next.equals(o)) || (next == null && o == null)) { data.remove(i); return true; } } return false; }
@Override public boolean remove(Object o) { for (int i = 0; i < data.size(); i++) { ValueObject next = data.get(i); if ((next != null && next.equals(o)) || (next == null && o == null)) { data.remove(i); return true; } } return false; }
@Override public ValueLong asLong() { return ValueFactory.create(asArray().size()); }
public ListDouble(ValueArray array, boolean copy) { if (copy) { int size = array.size(); this.data = ValueFactory.createArray(size); for (int i = 0; i < size; i++) { this.data.add(data.get(i)); } } else { this.data = array; } }
public ListString(ValueArray array, boolean copy) { if (copy) { int size = array.size(); this.data = ValueFactory.createArray(size); for (int i = 0; i < size; i++) { this.data.add(array.get(i)); } } else { this.data = array; } }
public ListBytes(ValueArray array, boolean copy) { if (copy) { int size = array.size(); this.data = ValueFactory.createArray(size); for (int i = 0; i < size; i++) { this.data.add(array.get(i)); } } else { this.data = array; } }
public ListLong(ValueArray array, boolean copy) { if (copy) { int size = array.size(); this.data = ValueFactory.createArray(size); for (int i = 0; i < size; i++) { this.data.add(array.get(i)); } } else { this.data = array; } }
@Override public ValueObject filter(ValueObject value, Bundle context) { ValueObject nullReturn = toNull ? null : value; if (ValueUtil.isEmpty(value)) { return nullReturn; } if (value.getObjectType() == ValueObject.TYPE.ARRAY) { ValueArray arr = value.asArray(); if (arr.isEmpty()) { return nullReturn; } int i = index.getInt(context).getAsInt(); while (i < 0) { i = arr.size() + i; } return (arr.size() > i) ? arr.get(i) : nullReturn; } return nullReturn; }
@Override public ValueObject filterValue(ValueObject value) { if (value != null) { if (value.getObjectType() == ValueObject.TYPE.ARRAY) { return ValueFactory.create(value.asArray().size()); } if (value.getObjectType() == ValueObject.TYPE.MAP) { return ValueFactory.create(value.asMap().size()); } Numeric num = ValueUtil.asNumber(value); if (num != null) { return num; } return ValueFactory.create(ValueUtil.asNativeString(value).length()); } return null; }
public MapStringListString(ValueMap map, boolean copy) { if (copy) { this.data = ValueFactory.createMap(); for (ValueMapEntry entry : map) { ValueArray array = entry.getValue().asArray(); int size = array.size(); ValueArray copyArray = ValueFactory.createArray(size); for (int i = 0; i < size; i++) { copyArray.add(array.get(i)); } this.data.put(entry.getKey(), copyArray); } } else { this.data = map; } }
@Test public void akamaiGroup() { ValueFilterRegex vf = new ValueFilterRegex().setPattern(Pattern.compile("Log_([0-9]+)\\.")); ValueObject res = vf.filter(ValueFactory.create("stream://san1.local:8614/split/logs/12345/2011/05/20/aLog_12345.esw3c_U.201105200000-0100-1.gz")); assertTrue(res != null); assertTrue(res.asArray().size() > 0); assertEquals("12345", res.asArray().get(0).asString().toString()); } }
@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()); }