Example usage for org.apache.poi.ss.formula.atp DateParser parseDate

List of usage examples for org.apache.poi.ss.formula.atp DateParser parseDate

Introduction

In this page you can find the example usage for org.apache.poi.ss.formula.atp DateParser parseDate.

Prototype

public static Calendar parseDate(String strVal) throws EvaluationException 

Source Link

Document

Parses a date from a string.

Usage

From source file:net.yacy.search.schema.CollectionSchema.java

License:Open Source License

@Override
public final void add(final SolrInputDocument doc, final List<?> value) {
    assert this.isMultiValued();
    if (value == null || value.size() == 0) {
        if (this.type == SolrType.num_integer) {
            doc.setField(this.getSolrFieldName(), new Integer[0]);
        } else if (this.type == SolrType.string || this.type == SolrType.text_general) {
            doc.setField(this.getSolrFieldName(), new String[0]);
        } else if (this.type == SolrType.date) {
            doc.setField(this.getSolrFieldName(), new Date[0]);
        } else {/*from w ww  .ja va2s  . c o  m*/
            assert false : "ADD(1): type is " + this.type.name();
            doc.setField(this.getSolrFieldName(), new Object[0]);
        }
        return;
    }
    if (this.type == SolrType.num_integer) {
        assert (value.iterator().next() instanceof Integer) : "type: "
                + value.iterator().next().getClass().getName();
        doc.setField(this.getSolrFieldName(), value.toArray(new Integer[value.size()]));
    } else if (this.type == SolrType.string || this.type == SolrType.text_general) {
        assert (value.iterator().next() instanceof String) : "type: "
                + value.iterator().next().getClass().getName();
        doc.setField(this.getSolrFieldName(), value.toArray(new String[value.size()]));
    } else if (this.type == SolrType.date) {
        assert (value.iterator().next() instanceof String)
                || (value.iterator().next() instanceof Date) : "type: "
                        + value.iterator().next().getClass().getName();
        if (value.iterator().next() instanceof String) {
            Date[] da = new Date[value.size()];
            for (int i = 0; i < value.size(); i++) {
                try {
                    da[i] = DateParser.parseDate((String) value.get(i)).getTime();
                } catch (EvaluationException e) {
                    da[i] = null;
                }
            }
            doc.setField(this.getSolrFieldName(), da);
        } else {
            doc.setField(this.getSolrFieldName(), value.toArray(new Date[value.size()]));
        }
    } else {
        assert false : "ADD(2): type is " + this.type.name();
        doc.setField(this.getSolrFieldName(), value.toArray(new Object[value.size()]));
    }
}