You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2015/04/24 02:02:24 UTC

[jira] [Updated] (OOZIE-2130) Add EL Function for offsetting a date by a timezone amount including DST

     [ https://issues.apache.org/jira/browse/OOZIE-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Kanter updated OOZIE-2130:
---------------------------------
    Attachment: OOZIE-2130.patch

It doesn't look like you can have overloaded method names with EL Functions.  I tried doing that, but the ELEvaluator complained about having the wrong number of arguments.  [~puru], Any ideas on how to do this?  Otherwise, if the user specifies the Job TZ as an EL variable in their job.properties, they can simply pass it without hardcoding it twice.

In the meantime, I've rebased the current patch on the latest trunk.

> Add EL Function for offsetting a date by a timezone amount including DST
> ------------------------------------------------------------------------
>
>                 Key: OOZIE-2130
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2130
>             Project: Oozie
>          Issue Type: New Feature
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>         Attachments: OOZIE-2130.patch, OOZIE-2130.patch
>
>
> If a Coordinator has a data dependency, you can use the {{tzOffset}} EL Function to get the offset from the dataset timezone to the coordinator timezone (including DST), so that you can pass to your workflow a time in your timezone.  We also have a generic {{dateOffset}} EL Function that lets you offset a date by a specific amount.  For users not using a data dependency who want to take into account a timezone offset (including DST), they cannot use the {{tzOffset}} function, and the {{dateOffset}} function is not enough.
> We should add a {{dateTzOffset}} function that takes an arbitrary date and a timezone that will offset the given date by the given timezone relative to the Oozie processing timezone, including DST.
> In other words, it's like the {{dateOffset}} function, but instead of giving it a fixed offset, you gave it the difference between the Oozie processing timezone and the given timezone, at the time of the given date.
> For example:
> {noformat}
> ${coord:dateTzOffset("2012-06-13T00:00Z", "America/Los_Angeles")}
> {noformat}
> would evaluate to "2012-06-12T17:00Z" (-0700 in Summer)
> and
> {noformat}
> ${coord:dateTzOffset("2012-12-13T00:00Z", "America/Los_Angeles")}
> {noformat}
> would evaluate to "2012-12-12T16:00Z" (-0800 in Winter)



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