metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (METAMODEL-172) ElasticSearch Date types should be converted properly
Date Tue, 25 Aug 2015 12:19:46 GMT

    [ https://issues.apache.org/jira/browse/METAMODEL-172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14711169#comment-14711169
] 

ASF GitHub Bot commented on METAMODEL-172:
------------------------------------------

Github user kaspersorensen commented on a diff in the pull request:

    https://github.com/apache/metamodel/pull/43#discussion_r37858020
  
    --- Diff: elasticsearch/src/main/java/org/apache/metamodel/elasticsearch/ElasticSearchDateConverter.java
---
    @@ -0,0 +1,39 @@
    +/**
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *   http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing,
    + * software distributed under the License is distributed on an
    + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    + * KIND, either express or implied.  See the License for the
    + * specific language governing permissions and limitations
    + * under the License.
    + */
    +package org.apache.metamodel.elasticsearch;
    +
    +import java.text.ParseException;
    +import java.text.SimpleDateFormat;
    +import java.util.Date;
    +
    +/**
    + * Util class to convert date strings from ElasticSearch to
    + * proper java Dates.
    + */
    +final class ElasticSearchDateConverter {
    +
    +    public static Date tryToConvert(String dateAsString) {
    +        try {
    +            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
    +            return dateFormat.parse(dateAsString);
    +        } catch (ParseException e) {
    +            return null;
    --- End diff --
    
    I don't like to swallow an exception like this since it may give the wrong impression.
Are we sure that this date format is always used by ES? If so I would throw an exception in
this case. Or else at least make a loud warning or try the general purpose date converter
or so.


> ElasticSearch Date types should be converted properly
> -----------------------------------------------------
>
>                 Key: METAMODEL-172
>                 URL: https://issues.apache.org/jira/browse/METAMODEL-172
>             Project: Apache MetaModel
>          Issue Type: Bug
>            Reporter: Alberto
>            Priority: Critical
>
> When working with ElasticSearch indexes that contains Date types the API is returning
Strings instead of proper Date object.
> We should add some logic inside the ElasticSearchUtils createRow() method to convert
these strings to java.Date objects. As we are not doing this conversion so far the TimeComparator
convertFromString method is not able to parse the string value as a Date, the method returns
null and then the FormatHelper class is throwing an IllegalStateException.
> This is a bit tricky though because the number of date formats supported by ElasticSearch
is quite big  to think about creating a SimpleDateFormat to support every single case: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message