You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2016/01/28 15:35:18 UTC

[1/2] nifi git commit: NIFI-1078 Fixing the 'now' EL documentation

Repository: nifi
Updated Branches:
  refs/heads/master f70f7e344 -> 8a9a44c10


NIFI-1078 Fixing the 'now' EL documentation

Signed-off-by: Mark Payne <ma...@hotmail.com>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/23364f55
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/23364f55
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/23364f55

Branch: refs/heads/master
Commit: 23364f554c4b5b4de407ef6e96ad45ec41469cd8
Parents: f70f7e3
Author: jpercivall <jo...@yahoo.com>
Authored: Tue Jan 26 17:11:27 2016 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Thu Jan 28 08:56:31 2016 -0500

----------------------------------------------------------------------
 .../asciidoc/expression-language-guide.adoc     | 37 ++++++++++++--------
 1 file changed, 22 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/23364f55/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
index 00ce0bb..e894a12 100644
--- a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
@@ -190,8 +190,12 @@ Language supports four different data types:
 - *String*: A String is a sequence of characters that can consist of numbers, letters, white space, and
 	special characters.
 - *Number*: A Number is an integer comprised of one or more digits (`0` through `9`). The Expression Language 
-	does not provide support for fractional numbers. Dates and times are represented in the
-	Expression Language as Numbers, representing the number of milliseconds since midnight GMT on January 1, 1970.
+	does not provide support for fractional numbers. When converting to numbers from Date data types, they are represented as
+	the number of milliseconds since midnight GMT on January 1, 1970.
+- *Date*: A Date is an object that holds a Date and Time. Utilizing the <<dates>> and <<type_cast>> functions this data
+	type can be converted to/from Strings and numbers. If the whole Expression Language expression is evaluated to be a
+	date then it will be converted to a String with the format: "<Day of Week> <Month> <Day of Month> <Hour>:<Minute>:<Second> <Time Zone> <Year>".
+	Also expressed as "E MMM dd HH:mm:ss z yyyy" in Java SimpleDateFormat format. For example: "Wed Dec 31 12:00:04 UTC 2016".
 - *Boolean*: A Boolean is one of either `true` or `false`.
 
 All attributes are considered to be of type String.
@@ -1338,10 +1342,9 @@ Expressions will provide the following results:
 [.function]
 === toDate
 
-*Description*: [.description]#Converts a String into a Number, based on the format specified by the argument. The argument
-	must be a String that is a valid Java SimpleDateFormat syntax. The Subject is expected to be a String
-	that is formatted according the argument. The return value is the number of milliseconds since 
-	Midnight GMT on January 1, 1970.#
+*Description*: [.description]#Converts a String into a Date data type, based on the format specified by the argument. The argument
+	must be a String that is a valid Java SimpleDateFormat syntax. The Subject is expected to be a String that is formatted
+	according the argument.#
 
 *Subject Type*: [.subject]#String#
 
@@ -1350,12 +1353,12 @@ Expressions will provide the following results:
 		- [.argName]#_format_# : [.argDesc]#The current format to use when parsing the Subject, in the Java SimpleDateFormat syntax.#
 
 
-*Return Type*: [.returnType]#Number#
+*Return Type*: [.returnType]#Date#
 
 *Examples*: If the attribute "year" has the value "2014" and the attribute "time" has the value "2014/12/31 15:36:03.264Z",
-	then the Expression `${year:toDate('yyyy')}` will return the number of milliseconds between Midnight GMT on January 1, 1970
-	and Midnight GMT on January 1, 2014. The Expression `${time:toDate("yyyy/MM/dd HH:mm:ss.SSS'Z'")}` will result in the
-	number of milliseconds between Midnight GMT on January 1, 1970 and 15:36:03.264 GMT on December 31, 2014.
+	then the Expression `${year:toDate('yyyy')}` will return a Date data type with a value representing Midnight GMT on
+	January 1, 2014. The Expression `${time:toDate("yyyy/MM/dd HH:mm:ss.SSS'Z'")}` will result in a Date data type for
+	15:36:03.264 GMT on December 31, 2014.
 	
 Often, this function is used in conjunction with the <<format>> function to change the format of a date/time. For example,
 if the attribute "date" has the value "12-24-2014" and we want to change the format to "2014/12/24", we can do so by
@@ -1367,18 +1370,22 @@ chaining together the two functions: `${date:toDate('MM-dd-yyyy'):format('yyyy/M
 [.function]
 === now
 
-*Description*: [.description]#The `now` function returns the current date and time as the number of milliseconds since Midnight GMT on
-	January 1, 1970.#
+*Description*: [.description]#Returns the current date and time as a Date data type object.#
 
 *Subject Type*: [.subjectless]#No Subject#
 
 *Arguments*: No arguments
 
-*Return Type*: [.returnType]#Number#
+*Return Type*: [.returnType]#Date#
 
-*Examples*: We can format the current date and time by using the `now` function in conjunction with the <<format>> function:
-	`${now():format('yyyy/MM/dd HH:mm:ss')}`.
+*Examples*: We can get the current date and time as a Date data type by using the `now` function: `${now()}`. As an example,
+	on Wednesday December 31st 2014 at 36 minutes after 3pm and 36.123 seconds EST `${now()}` would be evaluated to be a
+	Date type representing that time. Since whole Expression Language expressions can only return Strings it would formatted as
+	`Wed Dec 31 15:36:03 EST 2014` when the expression completes.
 
+The utilizing the <<toNumber>> method, `now` can provide the current date and time as the number of milliseconds since
+Midnight GMT on January 1, 1970. For instance, if instead of executing `${now()}` in the previous example `${now():toNumber()}`
+was run then it would output `1453843201123`. This way preserves the millisecond field.
 
 
 


[2/2] nifi git commit: NIFI-1078: Fixed typo in docs and added additional examples

Posted by ma...@apache.org.
NIFI-1078: Fixed typo in docs and added additional examples


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/8a9a44c1
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/8a9a44c1
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/8a9a44c1

Branch: refs/heads/master
Commit: 8a9a44c102f6e60e826fa85115ce31084eab4f17
Parents: 23364f5
Author: Mark Payne <ma...@hotmail.com>
Authored: Thu Jan 28 09:35:05 2016 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Thu Jan 28 09:35:05 2016 -0500

----------------------------------------------------------------------
 .../main/asciidoc/expression-language-guide.adoc    | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/8a9a44c1/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
index e894a12..a78c559 100644
--- a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
@@ -1383,9 +1383,21 @@ chaining together the two functions: `${date:toDate('MM-dd-yyyy'):format('yyyy/M
 	Date type representing that time. Since whole Expression Language expressions can only return Strings it would formatted as
 	`Wed Dec 31 15:36:03 EST 2014` when the expression completes.
 
-The utilizing the <<toNumber>> method, `now` can provide the current date and time as the number of milliseconds since
+Utilizing the <<toNumber>> method, `now` can provide the current date and time as the number of milliseconds since
 Midnight GMT on January 1, 1970. For instance, if instead of executing `${now()}` in the previous example `${now():toNumber()}`
-was run then it would output `1453843201123`. This way preserves the millisecond field.
+was run then it would output `1453843201123`. This method provides millisecond-level precision and provides the ability to
+manipulate the value.
+
+.now Examples
+|==================================================================================================================
+| Expression | Value
+| `${now()}` | A Date type representing the current date and time to the nearest millisecond
+| `${now():toNumber()}` | The number of milliseconds since midnight GMT Jan 1, 1970 (`1453843201123`, for example)
+| `${now():toNumber():minus(86400000)` | A number presenting the time 24 hours ago
+| `${now():format('yyyy')}` | The current year
+| `${now():toNumber():minus(86400000):format('E')}` | The day of the week that was yesterday,
+													  as a 3-letter abbreviation (For example, `Wed`)
+|==================================================================================================================