Example usage for org.apache.lucene.util.mutable MutableValueDate MutableValueDate

List of usage examples for org.apache.lucene.util.mutable MutableValueDate MutableValueDate

Introduction

In this page you can find the example usage for org.apache.lucene.util.mutable MutableValueDate MutableValueDate.

Prototype

MutableValueDate

Source Link

Usage

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;
}