Errata

Programming Grails

Errata for Programming Grails

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page 2
code snippet above last paragraph

Unless I missed something the code snippet will not work with groovyConsole without having Spring installed in your environment:

ctx.beanDefinitionNames.sort().each { println it }
true


Exception thrown
Aug 15, 2013 11:13:15 PM org.codehaus.groovy.runtime.StackTraceUtils sanitize

WARNING: Sanitizing stacktrace:

groovy.lang.MissingPropertyException: No such property: ctx for class: ConsoleScript0

at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)

at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)

...

Note from the Author or Editor:
This is in the Groovy chapter as an example, but it will only work in Grails (using "grails console") since there are not necessarily any Spring beans in an arbitrary Groovy project. I'll add a note that this is Grails-specific.

Michael K. Craghead  Aug 16, 2013 
PDF
Page 4
United States

def value = person.$"methodName"(1, 2)

should be

def value = person."$methodName"(1, 2)

and

def otherValue = person.$"propertyName"

should be

def otherValue = person."$propertyName"

Note from the Author or Editor:
Thanks, this was fixed during the tech review

Paul Bienick  Dec 26, 2012 
PDF
Page 34
middle of page

It appears the end of the warning/caution section got clipped so part of it is missing, the second paragraph reads...

"You also cannot make primitive types nullable. If you could you would cause a NullPointerException when loading instances from the database since a null value from a column shouldn?t be assumed to be false or 0, so Hiber"

Note from the Author or Editor:
Fixed during copy edit

Craig Burke  May 17, 2012 
PDF
Page 41
2nd para

typo 'paramter'

Note from the Author or Editor:
Thanks, this was fixed during copy edit.

Gordon Rehling  Dec 12, 2012 
PDF
Page 43
2nd para

poor grammer

If you need to accessing the database in a custom validator

Note from the Author or Editor:
Thanks, this was fixed during copy edit

Gordon Rehling  Dec 12, 2012 
PDF
Page 45
Note on type supported by GORM

The note is cut before the end:
"If you could you would cause a NullPointerException when loading instances from the database since a null value from a column shouldn?t be assumed to be false or
0, so Hiber"

Note from the Author or Editor:
Fixed during copy edit

Silv?re Lestang  May 17, 2012 
Printed, PDF
Page 51
log4j appenders example

There are commas missing before the two layout specifiers for the log4j appenders.

The layouts are attributes of the rollingFile and not separate entries.

Note from the Author or Editor:
Thanks, fixed during copy edit

Guy Gascoigne-Piggford  May 22, 2012 
PDF
Page 75
1st Paragraph

Two errors in the last sentence:

1. "large an unwieldy" should be "large and unwieldy"
2. "varisou" should be "various"

Note from the Author or Editor:
Thanks, this was fixed during copy edit

Peter Nicholson  May 20, 2012 
ePub
Page 320
second line

In the supplied source code, the single line is broken into two:

println "VCAP_SERVICES:
${System.getenv('VCAP_SERVICES')}\n"

However, this won't run correctly as the unnecessary line break will cause a compilation error. Should be


println "VCAP_SERVICES: ${System.getenv('VCAP_SERVICES')}\n"

Also, since the variable is defined in the line above, this could be compressed to

println "VCAP_SERVICES: $VCAP_SERVICES"

Note from the Author or Editor:
Fixed

Tomas Lin  Oct 02, 2012