You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2019/06/23 23:32:34 UTC
[freemarker] branch 2.3 updated (c3cedd4 -> 0170b80)
This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a change to branch 2.3
in repository https://gitbox.apache.org/repos/asf/freemarker.git.
from c3cedd4 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
add 02fa5ed Version number typo fix
new 31544b0 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
add abaed15 Some cleanup related to local lambdas, ?filter and ?map. Added optimizations to ?size operating on the result of ?filter/?map.
add e7d91e6 Made ?size smarter when its result is compared to an integer literal. Specifically, for ?filter-ed sequences (or for the result of similar future Stream-API-like built-ins) it won't count more elements then it's necessary to tell the comparison result. Also, for a TemplateCollectionModelEx, it calls isEmpty() instead of size(), if for the comparison result we only have to know if we have more than 0 elements.
add 700e87e (Added some version history entry for ?filter/?map and local lambdas... documentation is still missing)
add d6a8ece (Fixed typo in Manual)
add abebe99 BeansWrapper method clearClassIntrospecitonCache contains a typo. Renamed to clearClassIntrospectionCache and kept the old name as deprecated for backward compatibility
add 3f66d01 Merge pull request #57 from ajbanck/fix-typo-clearClassIntrospecitonCache
add 1e16a4f Adjustments to recently merged BeansWrapper.clearClassIntrospecitonCache -> clearClassIntrospectionCache typo fix
add 33d6e9a exp[rangeExp] operator now supports lazily generated sequences as input. For now it always gives lazily generated output in that case, but that's incorrect and will change.
add 1f25c8b Generalized/simplified the way it's decided if an expression can produce or consume lazily generated values.
add a2ed41d exp[rangeExp] now returns sequence or lazily generated sequence depending on what the consumer supports. Also added size bypassing through exp[rangeExp] (like in seq?map(f)[10..]?size no seq element will be consumed, as the size can be calculated without that).
add e05bd9a Now operations that require a sequence will only accept a lazily generated collection (typically returned by ?filter or ?map) if it was explicitly marked as a sequence (via LazilyGeneratedCollectionModel.isSequence()). Thus, applying operations like ?filter or ?map on a non-sequence enumerable value won't allow sequence-only operations. This was made this strict as if a huge collection was passed to the template as Iterator, an implicit conversion to sequence can consum [...]
new 0170b80 Merge remote-tracking branch 'origin/2.3-gae' into 2.3
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/freemarker/core/BoundedRangeModel.java | 2 +-
src/main/java/freemarker/core/BuiltIn.java | 17 +-
.../freemarker/core/BuiltInsForMultipleTypes.java | 57 +++-
.../java/freemarker/core/BuiltInsForSequences.java | 213 ++++++++-----
.../java/freemarker/core/ComparisonExpression.java | 16 +
src/main/java/freemarker/core/DynamicKeyName.java | 249 +++++++++++++--
src/main/java/freemarker/core/Environment.java | 2 -
src/main/java/freemarker/core/EvalUtil.java | 12 +
src/main/java/freemarker/core/Expression.java | 18 ++
src/main/java/freemarker/core/IteratorBlock.java | 10 +-
.../core/LazilyGeneratedCollectionModel.java | 80 +++++
....java => LazilyGeneratedCollectionModelEx.java} | 20 +-
...eratedCollectionModelWithAlreadyKnownSize.java} | 25 +-
...GeneratedCollectionModelWithSameSizeCollEx.java | 53 ++++
...lyGeneratedCollectionModelWithSameSizeSeq.java} | 40 +--
...lyGeneratedCollectionModelWithUnknownSize.java} | 27 +-
...va => LazyCollectionTemplateModelIterator.java} | 33 +-
...enceIterator.java => LazySequenceIterator.java} | 19 +-
src/main/java/freemarker/core/MiscUtil.java | 7 +
.../freemarker/core/ParentheticalExpression.java | 7 +-
src/main/java/freemarker/core/RangeModel.java | 2 +-
.../freemarker/core/RightUnboundedRangeModel.java | 2 +-
.../core/SingleIterationCollectionModel.java | 6 +-
src/main/java/freemarker/core/_CoreAPI.java | 6 +-
src/main/java/freemarker/core/_MessageUtil.java | 22 +-
.../java/freemarker/ext/beans/BeansWrapper.java | 23 +-
.../freemarker/ext/beans/ClassIntrospector.java | 2 +-
.../java/freemarker/template/Configuration.java | 2 +-
.../freemarker/template/utility/ClassUtil.java | 4 +
src/main/resources/freemarker/included.html | 9 +
src/main/resources/freemarker/version.properties | 2 +-
src/manual/en_US/book.xml | 68 ++++-
src/test/java/freemarker/core/FilterBiTest.java | 25 ++
.../core/LazilyGeneratedCollectionTest.java | 338 +++++++++++++++++++++
.../core/ListWithStreamLikeBuiltinsTest.java | 2 +-
src/test/java/freemarker/core/MapBiTest.java | 19 ++
.../beans/AbstractParallelIntrospectionTest.java | 2 +-
.../java/freemarker/ext/beans/EnumModelsTest.java | 2 +-
.../java/freemarker/ext/beans/ModelCacheTest.java | 2 +-
.../freemarker/ext/beans/StaticModelsTest.java | 2 +-
.../test/templatesuite/templates/range-lazy.ftl | 58 ++++
.../freemarker/test/templatesuite/testcases.xml | 5 +-
42 files changed, 1273 insertions(+), 237 deletions(-)
create mode 100644 src/main/java/freemarker/core/LazilyGeneratedCollectionModel.java
copy src/main/java/freemarker/core/{FlowControlException.java => LazilyGeneratedCollectionModelEx.java} (64%)
copy src/main/java/freemarker/core/{SequenceIterator.java => LazilyGeneratedCollectionModelWithAlreadyKnownSize.java} (61%)
create mode 100644 src/main/java/freemarker/core/LazilyGeneratedCollectionModelWithSameSizeCollEx.java
copy src/main/java/freemarker/core/{SingleIterationCollectionModel.java => LazilyGeneratedCollectionModelWithSameSizeSeq.java} (50%)
copy src/main/java/freemarker/core/{RightUnboundedRangeModel.java => LazilyGeneratedCollectionModelWithUnknownSize.java} (64%)
copy src/main/java/freemarker/core/{SingleIterationCollectionModel.java => LazyCollectionTemplateModelIterator.java} (58%)
copy src/main/java/freemarker/core/{SequenceIterator.java => LazySequenceIterator.java} (70%)
create mode 100644 src/main/resources/freemarker/included.html
create mode 100644 src/test/java/freemarker/core/LazilyGeneratedCollectionTest.java
create mode 100644 src/test/resources/freemarker/test/templatesuite/templates/range-lazy.ftl
[freemarker] 01/02: Merge remote-tracking branch 'origin/2.3-gae'
into 2.3
Posted by dd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a commit to branch 2.3
in repository https://gitbox.apache.org/repos/asf/freemarker.git
commit 31544b042e5cd868f2c2deba435e76cd673d3285
Merge: c3cedd4 02fa5ed
Author: ddekany <dd...@apache.org>
AuthorDate: Wed Mar 6 08:33:33 2019 +0100
Merge remote-tracking branch 'origin/2.3-gae' into 2.3
src/main/resources/freemarker/version.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[freemarker] 02/02: Merge remote-tracking branch 'origin/2.3-gae'
into 2.3
Posted by dd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a commit to branch 2.3
in repository https://gitbox.apache.org/repos/asf/freemarker.git
commit 0170b80e3eb5fb75ae7c13da1927aa816b5e0e9c
Merge: 31544b0 e05bd9a
Author: ddekany <dd...@apache.org>
AuthorDate: Mon Jun 24 01:32:16 2019 +0200
Merge remote-tracking branch 'origin/2.3-gae' into 2.3
.../java/freemarker/core/BoundedRangeModel.java | 2 +-
src/main/java/freemarker/core/BuiltIn.java | 17 +-
.../freemarker/core/BuiltInsForMultipleTypes.java | 57 +++-
.../java/freemarker/core/BuiltInsForSequences.java | 213 ++++++++-----
.../java/freemarker/core/ComparisonExpression.java | 16 +
src/main/java/freemarker/core/DynamicKeyName.java | 249 +++++++++++++--
src/main/java/freemarker/core/Environment.java | 2 -
src/main/java/freemarker/core/EvalUtil.java | 12 +
src/main/java/freemarker/core/Expression.java | 18 ++
src/main/java/freemarker/core/IteratorBlock.java | 10 +-
.../core/LazilyGeneratedCollectionModel.java | 80 +++++
....java => LazilyGeneratedCollectionModelEx.java} | 33 +-
...eratedCollectionModelWithAlreadyKnownSize.java} | 33 +-
...GeneratedCollectionModelWithSameSizeCollEx.java | 53 ++++
...lyGeneratedCollectionModelWithSameSizeSeq.java} | 40 +--
...lyGeneratedCollectionModelWithUnknownSize.java} | 27 +-
...va => LazyCollectionTemplateModelIterator.java} | 33 +-
...lectionModel.java => LazySequenceIterator.java} | 36 ++-
src/main/java/freemarker/core/MiscUtil.java | 7 +
.../freemarker/core/ParentheticalExpression.java | 7 +-
src/main/java/freemarker/core/RangeModel.java | 2 +-
.../freemarker/core/RightUnboundedRangeModel.java | 2 +-
.../core/SingleIterationCollectionModel.java | 6 +-
src/main/java/freemarker/core/_CoreAPI.java | 6 +-
src/main/java/freemarker/core/_MessageUtil.java | 22 +-
.../java/freemarker/ext/beans/BeansWrapper.java | 23 +-
.../freemarker/ext/beans/ClassIntrospector.java | 2 +-
.../java/freemarker/template/Configuration.java | 2 +-
.../freemarker/template/utility/ClassUtil.java | 4 +
src/main/resources/freemarker/included.html | 9 +
src/manual/en_US/book.xml | 68 ++++-
src/test/java/freemarker/core/FilterBiTest.java | 25 ++
.../core/LazilyGeneratedCollectionTest.java | 338 +++++++++++++++++++++
.../core/ListWithStreamLikeBuiltinsTest.java | 2 +-
src/test/java/freemarker/core/MapBiTest.java | 19 ++
.../beans/AbstractParallelIntrospectionTest.java | 2 +-
.../java/freemarker/ext/beans/EnumModelsTest.java | 2 +-
.../java/freemarker/ext/beans/ModelCacheTest.java | 2 +-
.../freemarker/ext/beans/StaticModelsTest.java | 2 +-
.../test/templatesuite/templates/range-lazy.ftl | 58 ++++
.../freemarker/test/templatesuite/testcases.xml | 5 +-
41 files changed, 1279 insertions(+), 267 deletions(-)