Example usage for org.joda.time.format DateTimeFormatter withZone

List of usage examples for org.joda.time.format DateTimeFormatter withZone

Introduction

In this page you can find the example usage for org.joda.time.format DateTimeFormatter withZone.

Prototype

public DateTimeFormatter withZone(DateTimeZone zone) 

Source Link

Document

Returns a new formatter that will use the specified zone in preference to the zone of the printed object, or default zone on a parse.

Usage

From source file:org.ddialliance.ddiftp.util.Translator.java

License:Open Source License

/**
 * Format time in milli seconds to an ISO8601 time string<BR>
 * Defined by '-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)?
 * (zzzzzz)?/*w  w  w. j  a  v  a2 s. com*/
 * 
 * @see http://www.w3.org/TR/xmlschema-2/#dateTime
 * @param time
 *            in milli seconds
 * @return ISO8601 time string
 * @throws DDIFtpException
 */
public static String formatIso8601DateTime(long time) {
    DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
    fmt.withLocale(getLocale());
    fmt.withZone(DateTimeZone.forTimeZone(getTimeZone()));
    return fmt.print(time);
}

From source file:org.drftpd.commands.tvmaze.TvMazeUtils.java

License:Open Source License

public static ReplacerEnvironment getShowEnv(TvMazeInfo tvShow) {
    ReplacerEnvironment env = new ReplacerEnvironment(SiteBot.GLOBAL_ENV);
    DateTimeFormatter df = DateTimeFormat.forPattern(TvMazeConfig.getInstance().getDateFormat());
    DateTimeFormatter tf = DateTimeFormat.forPattern(TvMazeConfig.getInstance().getTimeFormat());

    env.add("id", tvShow.getID());
    env.add("url", tvShow.getURL());
    env.add("name", tvShow.getName());
    env.add("type", tvShow.getType());
    env.add("language", tvShow.getLanguage());
    env.add("genres", StringUtils.join(tvShow.getGenres(), " | "));
    env.add("status", tvShow.getStatus());
    env.add("runtime", tvShow.getRuntime());
    DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd");
    env.add("premiered", df.withZone(TvMazeConfig.getInstance().getTimezone())
            .print(dtf.parseDateTime(tvShow.getPremiered())));
    env.add("network", tvShow.getNetwork());
    env.add("country", tvShow.getCountry());
    env.add("summary", StringUtils.abbreviate(tvShow.getSummary(), 250));

    if (tvShow.getPreviousEP() != null) {
        env.add("prevepid", tvShow.getPreviousEP().getID());
        env.add("prevepurl", tvShow.getPreviousEP().getURL());
        env.add("prevepname", tvShow.getPreviousEP().getName());
        env.add("prevepseason", tvShow.getPreviousEP().getSeason());
        env.add("prevepnumber", String.format("%02d", tvShow.getPreviousEP().getNumber()));
        env.add("prevepairdate", df.withZone(TvMazeConfig.getInstance().getTimezone())
                .print(new DateTime(tvShow.getPreviousEP().getAirDate())));
        env.add("prevepairtime", tf.withZone(TvMazeConfig.getInstance().getTimezone())
                .print(new DateTime(tvShow.getPreviousEP().getAirDate())));
        env.add("prevepruntime", tvShow.getPreviousEP().getRuntime());
        env.add("prevepsummary", StringUtils.abbreviate(tvShow.getPreviousEP().getSummary(), 250));
        env.add("prevepage", calculateAge(new DateTime(tvShow.getPreviousEP().getAirDate())));
    }// w  ww .  java 2s.  c  o m
    if (tvShow.getNextEP() != null) {
        env.add("nextepid", tvShow.getNextEP().getID());
        env.add("nextepurl", tvShow.getNextEP().getURL());
        env.add("nextepname", tvShow.getNextEP().getName());
        env.add("nextepseason", tvShow.getNextEP().getSeason());
        env.add("nextepnumber", String.format("%02d", tvShow.getNextEP().getNumber()));
        env.add("nextepairdate", df.withZone(TvMazeConfig.getInstance().getTimezone())
                .print(new DateTime(tvShow.getNextEP().getAirDate())));
        env.add("nextepairtime", tf.withZone(TvMazeConfig.getInstance().getTimezone())
                .print(new DateTime(tvShow.getNextEP().getAirDate())));
        env.add("nextepruntime", tvShow.getNextEP().getRuntime());
        env.add("nextepsummary", StringUtils.abbreviate(tvShow.getNextEP().getSummary(), 250));
        env.add("nextepage", calculateAge(new DateTime(tvShow.getNextEP().getAirDate())));
    }

    return env;
}

From source file:org.drftpd.commands.tvmaze.TvMazeUtils.java

License:Open Source License

public static ReplacerEnvironment getEPEnv(TvMazeInfo tvShow, TvEpisode tvEP) {
    ReplacerEnvironment env = new ReplacerEnvironment(SiteBot.GLOBAL_ENV);
    DateTimeFormatter df = DateTimeFormat.forPattern(TvMazeConfig.getInstance().getDateFormat());
    DateTimeFormatter tf = DateTimeFormat.forPattern(TvMazeConfig.getInstance().getTimeFormat());

    env.add("id", tvShow.getID());
    env.add("url", tvShow.getURL());
    env.add("name", tvShow.getName());
    env.add("type", tvShow.getType());
    env.add("language", tvShow.getLanguage());
    env.add("genres", StringUtils.join(tvShow.getGenres(), " | "));
    env.add("status", tvShow.getStatus());
    env.add("runtime", tvShow.getRuntime());
    DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd");
    env.add("premiered", df.withZone(TvMazeConfig.getInstance().getTimezone())
            .print(dtf.parseDateTime(tvShow.getPremiered())));
    env.add("network", tvShow.getNetwork());
    env.add("country", tvShow.getCountry());
    env.add("summary", StringUtils.abbreviate(tvShow.getSummary(), 250));

    env.add("epid", tvEP.getID());
    env.add("epurl", tvEP.getURL());
    env.add("epname", tvEP.getName());
    env.add("epseason", tvEP.getSeason());
    env.add("epnumber", String.format("%02d", tvEP.getNumber()));
    env.add("epairdate",
            df.withZone(TvMazeConfig.getInstance().getTimezone()).print(new DateTime(tvEP.getAirDate())));
    env.add("epairtime",
            tf.withZone(TvMazeConfig.getInstance().getTimezone()).print(new DateTime(tvEP.getAirDate())));
    env.add("epruntime", tvEP.getRuntime());
    env.add("epsummary", StringUtils.abbreviate(tvEP.getSummary(), 250));
    env.add("epage", calculateAge(new DateTime(tvEP.getAirDate())));

    return env;//www  .  j a  v a2  s  .  c  o  m
}

From source file:org.elasticsearch.common.joda.Joda.java

License:Apache License

/**
 * Parses a joda based pattern, including some named ones (similar to the built in Joda ISO ones).
 *///from w  w w  . j a  v  a 2 s  . com
public static FormatDateTimeFormatter forPattern(String input, Locale locale) {
    if (Strings.hasLength(input)) {
        input = input.trim();
    }
    if (input == null || input.length() == 0) {
        throw new IllegalArgumentException("No date pattern provided");
    }

    DateTimeFormatter formatter;
    if ("basicDate".equals(input) || "basic_date".equals(input)) {
        formatter = ISODateTimeFormat.basicDate();
    } else if ("basicDateTime".equals(input) || "basic_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicDateTime();
    } else if ("basicDateTimeNoMillis".equals(input) || "basic_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicDateTimeNoMillis();
    } else if ("basicOrdinalDate".equals(input) || "basic_ordinal_date".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDate();
    } else if ("basicOrdinalDateTime".equals(input) || "basic_ordinal_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDateTime();
    } else if ("basicOrdinalDateTimeNoMillis".equals(input)
            || "basic_ordinal_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDateTimeNoMillis();
    } else if ("basicTime".equals(input) || "basic_time".equals(input)) {
        formatter = ISODateTimeFormat.basicTime();
    } else if ("basicTimeNoMillis".equals(input) || "basic_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicTimeNoMillis();
    } else if ("basicTTime".equals(input) || "basic_t_Time".equals(input)) {
        formatter = ISODateTimeFormat.basicTTime();
    } else if ("basicTTimeNoMillis".equals(input) || "basic_t_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicTTimeNoMillis();
    } else if ("basicWeekDate".equals(input) || "basic_week_date".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDate();
    } else if ("basicWeekDateTime".equals(input) || "basic_week_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDateTime();
    } else if ("basicWeekDateTimeNoMillis".equals(input) || "basic_week_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDateTimeNoMillis();
    } else if ("date".equals(input)) {
        formatter = ISODateTimeFormat.date();
    } else if ("dateHour".equals(input) || "date_hour".equals(input)) {
        formatter = ISODateTimeFormat.dateHour();
    } else if ("dateHourMinute".equals(input) || "date_hour_minute".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinute();
    } else if ("dateHourMinuteSecond".equals(input) || "date_hour_minute_second".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecond();
    } else if ("dateHourMinuteSecondFraction".equals(input)
            || "date_hour_minute_second_fraction".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecondFraction();
    } else if ("dateHourMinuteSecondMillis".equals(input) || "date_hour_minute_second_millis".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecondMillis();
    } else if ("dateOptionalTime".equals(input) || "date_optional_time".equals(input)) {
        // in this case, we have a separate parser and printer since the dataOptionalTimeParser can't print
        // this sucks we should use the root local by default and not be dependent on the node
        return new FormatDateTimeFormatter(input,
                ISODateTimeFormat.dateOptionalTimeParser().withZone(DateTimeZone.UTC),
                ISODateTimeFormat.dateTime().withZone(DateTimeZone.UTC), locale);
    } else if ("dateTime".equals(input) || "date_time".equals(input)) {
        formatter = ISODateTimeFormat.dateTime();
    } else if ("dateTimeNoMillis".equals(input) || "date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.dateTimeNoMillis();
    } else if ("hour".equals(input)) {
        formatter = ISODateTimeFormat.hour();
    } else if ("hourMinute".equals(input) || "hour_minute".equals(input)) {
        formatter = ISODateTimeFormat.hourMinute();
    } else if ("hourMinuteSecond".equals(input) || "hour_minute_second".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecond();
    } else if ("hourMinuteSecondFraction".equals(input) || "hour_minute_second_fraction".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecondFraction();
    } else if ("hourMinuteSecondMillis".equals(input) || "hour_minute_second_millis".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecondMillis();
    } else if ("ordinalDate".equals(input) || "ordinal_date".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDate();
    } else if ("ordinalDateTime".equals(input) || "ordinal_date_time".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDateTime();
    } else if ("ordinalDateTimeNoMillis".equals(input) || "ordinal_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDateTimeNoMillis();
    } else if ("time".equals(input)) {
        formatter = ISODateTimeFormat.time();
    } else if ("tTime".equals(input) || "t_time".equals(input)) {
        formatter = ISODateTimeFormat.tTime();
    } else if ("tTimeNoMillis".equals(input) || "t_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.tTimeNoMillis();
    } else if ("weekDate".equals(input) || "week_date".equals(input)) {
        formatter = ISODateTimeFormat.weekDate();
    } else if ("weekDateTime".equals(input) || "week_date_time".equals(input)) {
        formatter = ISODateTimeFormat.weekDateTime();
    } else if ("weekyear".equals(input) || "week_year".equals(input)) {
        formatter = ISODateTimeFormat.weekyear();
    } else if ("weekyearWeek".equals(input)) {
        formatter = ISODateTimeFormat.weekyearWeek();
    } else if ("year".equals(input)) {
        formatter = ISODateTimeFormat.year();
    } else if ("yearMonth".equals(input) || "year_month".equals(input)) {
        formatter = ISODateTimeFormat.yearMonth();
    } else if ("yearMonthDay".equals(input) || "year_month_day".equals(input)) {
        formatter = ISODateTimeFormat.yearMonthDay();
    } else if (Strings.hasLength(input) && input.contains("||")) {
        String[] formats = Strings.delimitedListToStringArray(input, "||");
        DateTimeParser[] parsers = new DateTimeParser[formats.length];

        if (formats.length == 1) {
            formatter = forPattern(input, locale).parser();
        } else {
            DateTimeFormatter dateTimeFormatter = null;
            for (int i = 0; i < formats.length; i++) {
                DateTimeFormatter currentFormatter = forPattern(formats[i], locale).parser();
                if (dateTimeFormatter == null) {
                    dateTimeFormatter = currentFormatter;
                }
                parsers[i] = currentFormatter.getParser();
            }

            DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder()
                    .append(dateTimeFormatter.withZone(DateTimeZone.UTC).getPrinter(), parsers);
            formatter = builder.toFormatter();
        }
    } else {
        try {
            formatter = DateTimeFormat.forPattern(input);
        } catch (IllegalArgumentException e) {
            throw new IllegalArgumentException("Invalid format: [" + input + "]: " + e.getMessage(), e);
        }
    }

    return new FormatDateTimeFormatter(input, formatter.withZone(DateTimeZone.UTC), locale);
}

From source file:org.elasticsearch.util.joda.Joda.java

License:Apache License

/**
 * Parses a joda based pattern, including some named ones (similar to the built in Joda ISO ones).
 */// w  w w  . j a v  a2  s .  c  o m
public static FormatDateTimeFormatter forPattern(String input) {
    DateTimeFormatter formatter;
    if ("basicDate".equals(input) || "basic_date".equals(input)) {
        formatter = ISODateTimeFormat.basicDate();
    } else if ("basicDateTime".equals(input) || "basic_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicDateTime();
    } else if ("basicDateTimeNoMillis".equals(input) || "basic_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicDateTimeNoMillis();
    } else if ("basicOrdinalDate".equals(input) || "basic_ordinal_date".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDate();
    } else if ("basicOrdinalDateTime".equals(input) || "basic_ordinal_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDateTime();
    } else if ("basicOrdinalDateTimeNoMillis".equals(input)
            || "basic_ordinal_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicOrdinalDateTimeNoMillis();
    } else if ("basicTime".equals(input) || "basic_time".equals(input)) {
        formatter = ISODateTimeFormat.basicTime();
    } else if ("basicTimeNoMillis".equals(input) || "basic_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicTimeNoMillis();
    } else if ("basicTTime".equals(input) || "basic_t_Time".equals(input)) {
        formatter = ISODateTimeFormat.basicTTime();
    } else if ("basicTTimeNoMillis".equals(input) || "basic_t_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicTTimeNoMillis();
    } else if ("basicWeekDate".equals(input) || "basic_week_date".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDate();
    } else if ("basicWeekDateTime".equals(input) || "basic_week_date_time".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDateTime();
    } else if ("basicWeekDateTimeNoMillis".equals(input) || "basic_week_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.basicWeekDateTimeNoMillis();
    } else if ("date".equals(input)) {
        formatter = ISODateTimeFormat.date();
    } else if ("dateHour".equals(input) || "date_hour".equals(input)) {
        formatter = ISODateTimeFormat.dateHour();
    } else if ("dateHourMinute".equals(input) || "date_hour_minute".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinute();
    } else if ("dateHourMinuteSecond".equals(input) || "date_hour_minute_second".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecond();
    } else if ("dateHourMinuteSecondFraction".equals(input)
            || "date_hour_minute_second_fraction".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecondFraction();
    } else if ("dateHourMinuteSecondMillis".equals(input) || "date_hour_minute_second_millis".equals(input)) {
        formatter = ISODateTimeFormat.dateHourMinuteSecondMillis();
    } else if ("dateOptionalTime".equals(input) || "date_optional_time".equals(input)) {
        // in this case, we have a separate parser and printer since the dataOptionalTimeParser can't print
        return new FormatDateTimeFormatter(input,
                ISODateTimeFormat.dateOptionalTimeParser().withZone(DateTimeZone.UTC),
                ISODateTimeFormat.dateTime().withZone(DateTimeZone.UTC));
    } else if ("dateTime".equals(input) || "date_time".equals(input)) {
        formatter = ISODateTimeFormat.dateTime();
    } else if ("dateTimeNoMillis".equals(input) || "date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.dateTimeNoMillis();
    } else if ("hour".equals(input)) {
        formatter = ISODateTimeFormat.hour();
    } else if ("hourMinute".equals(input) || "hour_minute".equals(input)) {
        formatter = ISODateTimeFormat.hourMinute();
    } else if ("hourMinuteSecond".equals(input) || "hour_minute_second".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecond();
    } else if ("hourMinuteSecondFraction".equals(input) || "hour_minute_second_fraction".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecondFraction();
    } else if ("hourMinuteSecondMillis".equals(input) || "hour_minute_second_millis".equals(input)) {
        formatter = ISODateTimeFormat.hourMinuteSecondMillis();
    } else if ("ordinalDate".equals(input) || "ordinal_date".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDate();
    } else if ("ordinalDateTime".equals(input) || "ordinal_date_time".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDateTime();
    } else if ("ordinalDateTimeNoMillis".equals(input) || "ordinal_date_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.ordinalDateTimeNoMillis();
    } else if ("time".equals(input)) {
        formatter = ISODateTimeFormat.time();
    } else if ("tTime".equals(input) || "t_time".equals(input)) {
        formatter = ISODateTimeFormat.tTime();
    } else if ("tTimeNoMillis".equals(input) || "t_time_no_millis".equals(input)) {
        formatter = ISODateTimeFormat.tTimeNoMillis();
    } else if ("weekDate".equals(input) || "week_date".equals(input)) {
        formatter = ISODateTimeFormat.weekDate();
    } else if ("weekDateTime".equals(input) || "week_date_time".equals(input)) {
        formatter = ISODateTimeFormat.weekDateTime();
    } else if ("weekyear".equals(input) || "week_year".equals(input)) {
        formatter = ISODateTimeFormat.weekyear();
    } else if ("weekyearWeek".equals(input)) {
        formatter = ISODateTimeFormat.weekyearWeek();
    } else if ("year".equals(input)) {
        formatter = ISODateTimeFormat.year();
    } else if ("yearMonth".equals(input) || "year_month".equals(input)) {
        formatter = ISODateTimeFormat.yearMonth();
    } else if ("yearMonthDay".equals(input) || "year_month_day".equals(input)) {
        formatter = ISODateTimeFormat.yearMonthDay();
    } else {
        formatter = DateTimeFormat.forPattern(input);
    }
    formatter.withZone(DateTimeZone.UTC);
    return new FormatDateTimeFormatter(input, formatter);
}

From source file:org.gephi.graph.api.AttributeUtils.java

License:Apache License

private static DateTimeFormatter getDateTimeFormatterByTimeZone(Map<DateTimeZone, DateTimeFormatter> cache,
        DateTimeFormatter baseFormatter, DateTimeZone timeZone) {
    if (timeZone == null) {
        return baseFormatter;
    }//from   w ww  .  ja  v a2  s  .  com

    DateTimeFormatter formatter = cache.get(timeZone);
    if (formatter == null) {
        formatter = baseFormatter.withZone(timeZone);
        cache.put(timeZone, formatter);
    }

    return formatter;
}

From source file:org.graylog.plugins.pipelineprocessor.functions.dates.FormatDate.java

License:Open Source License

@Override
public String evaluate(FunctionArgs args, EvaluationContext context) {
    final DateTime dateTime = value.required(args, context);
    final DateTimeFormatter formatter = format.required(args, context);
    if (dateTime == null || formatter == null) {
        return null;
    }//from  w w  w .  j av a  2  s .  c om
    final DateTimeZone timeZone = timeZoneParam.optional(args, context).orElse(DateTimeZone.UTC);

    return formatter.withZone(timeZone).print(dateTime);
}

From source file:org.jevis.sqldatasource.SQLDriverAbstract.java

License:Open Source License

/**
 * Get samples from SQL-database and parse into results
 *
 * @param channel defines the table to query from
 * @return//from  www . j ava2 s.  c o m
 */
@Override
public List<InputStream> sendSampleRequest(JEVisObject channel) {
    try {
        JEVisClass channelClass = channel.getJEVisClass();
        JEVisType tableType = channelClass.getType(SQLChannel.TABLE);
        JEVisType col_idType = channelClass.getType(SQLChannel.COL_ID);
        JEVisType col_tsType = channelClass.getType(SQLChannel.COL_TS);
        JEVisType col_tsFormatType = channelClass.getType(SQLChannel.COL_TS_FORMAT);
        JEVisType valueType = channelClass.getType(SQLChannel.COL_VALUE);
        String table = DatabaseHelper.getObjectAsString(channel, tableType);
        String col_id = DatabaseHelper.getObjectAsString(channel, col_idType);
        if (col_id == null)
            col_id = "";
        String col_ts = DatabaseHelper.getObjectAsString(channel, col_tsType);
        String col_ts_format = DatabaseHelper.getObjectAsString(channel, col_tsFormatType);
        String col_value = DatabaseHelper.getObjectAsString(channel, valueType);
        JEVisType readoutType = channelClass.getType(SQLChannel.LAST_READOUT);
        // TODO: this pattern should be in JECommons
        DateTime lastReadout = null;
        if (channel.getAttribute(readoutType).hasSample()) {
            lastReadout = DatabaseHelper.getObjectAsDate(channel, readoutType,
                    DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
        }
        // Either there is no sample or there was a sample and it is empty
        if (lastReadout == null || DatabaseHelper.getObjectAsString(channel, readoutType).isEmpty()) {
            lastReadout = new DateTime(0);
        }

        String sql_lastReadout;
        DateTimeFormatter dbDateTimeFormatter = DateTimeFormat.forPattern(col_ts_format);
        sql_lastReadout = lastReadout.toString(DateTimeFormat.forPattern(col_ts_format));

        // Prepare SQL-Statement
        // only include column if it is defined
        String col_id_sql_str = "";
        if (!col_id.isEmpty())
            col_id_sql_str = col_id + ',';

        String sql_query = String.format("select %s %s, %s", col_id_sql_str, col_ts, col_value);
        sql_query += " from " + table;
        sql_query += String.format(" where %s > '%s'", col_ts, sql_lastReadout);
        if (!col_id.isEmpty())
            sql_query += " and " + col_id + " =?";
        sql_query += ";";
        PreparedStatement ps = _con.prepareStatement(sql_query);
        String msg = "SQL-Driver: Prepared querry: " + sql_query;
        Logger.getLogger(SQLDriverAbstract.class.getName()).log(Level.INFO, msg);

        List<JEVisObject> dataPoints;
        try {
            // Recursively get all datapoints under the current channel
            dataPoints = getDataPoints(channel);
            Logger.getLogger(SQLDriverAbstract.class.getName()).log(Level.INFO, "Found DataPoints:");
            for (JEVisObject dp : dataPoints) {
                Logger.getLogger(SQLDriverAbstract.class.getName()).log(Level.INFO, dp.getName());
            }

        } catch (JEVisException ex) {
            Logger.getLogger(SQLDriverAbstract.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
        // Create query for each datapoint
        for (JEVisObject dp : dataPoints) {
            JEVisClass dpClass = dp.getJEVisClass();

            JEVisType idType = dpClass.getType(SQLDataPoint.ID);
            JEVisType targetType = dpClass.getType(SQLDataPoint.TARGET);

            String id = DatabaseHelper.getObjectAsString(dp, idType);
            Long target = DatabaseHelper.getObjectAsLong(dp, targetType);

            // Querry for ID given by the datapoint
            if (!col_id.isEmpty())
                ps.setString(1, id);
            ResultSet rs = ps.executeQuery();

            try {
                // Parse the results
                while (rs.next()) {
                    String ts_str = rs.getString(col_ts);
                    String val_str = rs.getString(col_value);
                    msg = String.format("SQL-Driver: SQL-COL: %s, %s, %s", id, ts_str, val_str);
                    Logger.getLogger(SQLDriverAbstract.class.getName()).log(Level.INFO, msg);

                    // Parse value and timestamp
                    double value = Double.parseDouble(val_str);
                    DateTime dateTime = dbDateTimeFormatter.withZone(DateTimeZone.UTC).parseDateTime(ts_str);

                    // add to results
                    _result.add(new Result(target, value, dateTime));
                }
            } catch (NumberFormatException nfe) {
                java.util.logging.Logger.getLogger(SQLDriverAbstract.class.getName())
                        .log(java.util.logging.Level.SEVERE, null, nfe);
            } catch (SQLException ex) {
                java.util.logging.Logger.getLogger(SQLDriverAbstract.class.getName())
                        .log(java.util.logging.Level.SEVERE, null, ex);
            }
        }

    } catch (JEVisException ex) {
        java.util.logging.Logger.getLogger(SQLDriverAbstract.class.getName())
                .log(java.util.logging.Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        java.util.logging.Logger.getLogger(SQLDriverAbstract.class.getName())
                .log(java.util.logging.Level.SEVERE, null, ex);
    }
    return null;
}

From source file:org.kalypso.ogc.sensor.util.TimestampHelper.java

License:Open Source License

/**
 * This function converts the timestamp text (e.g. 11:00) into UTC.
 * /*from  www  .  j a va 2  s.co m*/
 * @param timestampText
 *          The timestamp text in the kalypso timezone.
 * @return The timestamp text in UTC.
 */
public static String convertToUTC(final String timestampText) {
    /* Nothing to do. */
    if (timestampText == null || timestampText.length() == 0)
        return ""; //$NON-NLS-1$

    /* Create the date time formatter. */
    final DateTimeFormatter formatter = createDateTimeFormatter();
    final DateTimeFormatter formatterZone = formatter
            .withZone(DateTimeZone.forTimeZone(KalypsoCorePlugin.getDefault().getTimeZone()));

    /* Get the timestamp in the kalypso timezone. */
    final DateTime timestampZone = formatterZone.parseDateTime(timestampText);
    final DateTime timestampUTC = new DateTime(timestampZone.toDate(),
            DateTimeZone.forTimeZone(TimeZone.getTimeZone("UTC"))); //$NON-NLS-1$

    return timestampUTC.toString("HH:mm"); //$NON-NLS-1$
}

From source file:org.projectforge.framework.xstream.converter.JodaDateMidnightConverter.java

License:Open Source License

Object parse(final String data) {
    try {/*ww w.j  a v a 2 s.  c o  m*/
        final DateTimeFormatter parseFormat = DateTimeFormat.forPattern(ISO_FORMAT);
        final DateTime date = parseFormat.withZone(DateTimeZone.UTC).parseDateTime(data);
        final DateMidnight dateMidnight = date.toDateMidnight();
        return dateMidnight;
    } catch (final Exception ex) {
        log.error("Can't parse DateMidnight: " + data);
        return new DateMidnight();
    }
}