Groovy Calamari – Issue 78 – 24th Apr 2017

综合编程 2017-04-24 阅读原文


MirComp: computer music composition framework

Groovy shines to produce DSLs. This is a great example; an open source Computer Music Software for assisted and algorithmic music composition

Using the Inject Method


Groovy has some features and methods we can categorize as functional programming. The inject() method is a so called higher-order function. Other languages call it a fold, reduce or accumulate. The inject() method processes a data structure with a closure and builds up a return value.

Preview of Groovy 3

This blog post was originally posted in Chinesse
by @daniel_sun


  • Improves in the loop statement
  • Do-while statement example
  • Supports Lambda expressions
  • Support method reference (reference) and constructor reference (constructor reference)
  • Support for try-with-resources statements
  • Support for code blocks
  • Support Java-style array initialization
  • Support interface default method (default method)
  • New Operators. Consistency operato, Elvis assignment ...
  • Support for secure retrieval
  • Supports runtime Groovydoc and saves Groovydoc as metadata in the AST node


Multitenancy, Grails and me

gives an introduction about Multitenancy
support in Grails across different versions.

Currently, GORM hibernate implementation offers a multitenancy solution out-of-the-box. He illustrates with an example a common use case for SaaS solutions:

one schema for all customers and using a column in each table to discriminate tenants

Repository with code example

Using HAL with JSON Views

Last week Grails Guide
, shows JSON Views HAL

The purpose of HAL is make APIs "discoverable" - it defines a set of conventions that allow consumers of your API to follow links between resources, as well as providing pagination and other convenience features for "exploring" an API

Grails + Javascript

Grails Angular Profiles

If you were using Grails Angular profiles, this blog post by @Schlogen
is a must read for.

Grails 3 Angular profiles have been renamed in order to be consistent with the Angular team’s guidelines on naming conventions.

The goal of this change was to make determining which profile/scaffolding plugin should be used less confusing in the future.

Groovy Calamari

责编内容by:Groovy Calamari阅读原文】。感谢您的支持!


Can not run an integration test because of Illegal... I am using Grails 2.4.4 for my application. I wrote an integration test for m...
Grails 2.3.7 remove itext 2&... I trying to update an application from grails 2.2.4 to 2.3.7 and i have issues w...
使用Profile创建第一个Grails+Angular2应用 去年开始,团队的项目慢慢转变为微服务架构,通过Server(Groovy+Grails)+ Gateway +Client(Angualr2+Angua...
Replace a service in Grails using the Spring Bean ... I am creating a new plugin containing CustomService which is intended to replace...