List of usage examples for org.apache.lucene.util.mutable MutableValueDate MutableValueDate
MutableValueDate
From source file:org.apache.solr.analytics.util.valuesource.ConstDateSource.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { return new FloatDocValues(this) { @Override//w ww.j a va2 s . c om public float floatVal(int doc) { return getFloat(); } @Override public int intVal(int doc) { return getInt(); } @Override public long longVal(int doc) { return getLong(); } @Override public double doubleVal(int doc) { return getDouble(); } @Override public String toString(int doc) { return description(); } @Override public Object objectVal(int doc) { return new Date(longVal(doc)); } @SuppressWarnings("deprecation") @Override public String strVal(int doc) { return TrieDateField.formatExternal(new Date(longVal(doc))); } @Override public boolean boolVal(int doc) { return getFloat() != 0.0f; } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueDate mval = new MutableValueDate(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.value = longVal(doc); mval.exists = true; } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.DateFieldSource.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final NumericDocValues arr = DocValues.getNumeric(readerContext.reader(), field); final Bits valid = DocValues.getDocsWithField(readerContext.reader(), field); return new LongDocValues(this) { @Override/*w w w.jav a2 s. c om*/ public long longVal(int doc) { return arr.get(doc); } @Override public boolean exists(int doc) { return valid.get(doc); } @Override public Object objectVal(int doc) { return exists(doc) ? longToObject(arr.get(doc)) : null; } @Override public String strVal(int doc) { return exists(doc) ? longToString(arr.get(doc)) : null; } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueDate mval = new MutableValueDate(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.value = arr.get(doc); mval.exists = exists(doc); } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.MultiDateFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }/*from www .j ava 2 s . c o m*/ return new LongDocValues(this) { @Override public long longVal(int doc) { return func(doc, valsArr); } @Override public boolean exists(int doc) { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueDate mval = new MutableValueDate(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.value = longVal(doc); mval.exists = exists(doc); } }; } }; }
From source file:org.apache.solr.schema.DatePointField.java
License:Apache License
@Override protected MutableValueLong newMutableValueLong() { return new MutableValueDate(); }
From source file:org.apache.solr.search.grouping.distributed.command.GroupConverter.java
License:Apache License
static Collection<SearchGroup<MutableValue>> toMutable(SchemaField field, Collection<SearchGroup<BytesRef>> values) { FieldType fieldType = field.getType(); List<SearchGroup<MutableValue>> result = new ArrayList<>(values.size()); for (SearchGroup<BytesRef> original : values) { SearchGroup<MutableValue> converted = new SearchGroup<MutableValue>(); converted.sortValues = original.sortValues; // ? TrieField.TrieTypes type = ((TrieField) fieldType).getType(); final MutableValue v; switch (type) { case INTEGER: MutableValueInt mutableInt = new MutableValueInt(); if (original.groupValue == null) { mutableInt.value = 0;// ww w . j ava 2 s . co m mutableInt.exists = false; } else { mutableInt.value = (Integer) fieldType.toObject(field, original.groupValue); } v = mutableInt; break; case FLOAT: MutableValueFloat mutableFloat = new MutableValueFloat(); if (original.groupValue == null) { mutableFloat.value = 0; mutableFloat.exists = false; } else { mutableFloat.value = (Float) fieldType.toObject(field, original.groupValue); } v = mutableFloat; break; case DOUBLE: MutableValueDouble mutableDouble = new MutableValueDouble(); if (original.groupValue == null) { mutableDouble.value = 0; mutableDouble.exists = false; } else { mutableDouble.value = (Double) fieldType.toObject(field, original.groupValue); } v = mutableDouble; break; case LONG: MutableValueLong mutableLong = new MutableValueLong(); if (original.groupValue == null) { mutableLong.value = 0; mutableLong.exists = false; } else { mutableLong.value = (Long) fieldType.toObject(field, original.groupValue); } v = mutableLong; break; case DATE: MutableValueDate mutableDate = new MutableValueDate(); if (original.groupValue == null) { mutableDate.value = 0; mutableDate.exists = false; } else { mutableDate.value = ((Date) fieldType.toObject(field, original.groupValue)).getTime(); } v = mutableDate; break; default: throw new AssertionError(); } converted.groupValue = v; result.add(converted); } return result; }