Real Life Groovy

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Real Life Groovy - Presentation Transcript

    1. Real Life Groovy Paul Bakker
    2. Introduction What I wish this talk is about
    3. Introduction What this talk actually is about
    4. About me Paul Bakker EJB 3 • Trainer Info Support JSF • Java Magazine author Seam • Big time Groovy fan ;-) JavaFX Spring Hibernate Flex
    5. Outline • Freshing up your Groovy knowledge • Real life Groovy examples –Test Data –Database conversion –Unit Testing • A leap of faith –A Groovy web service client –Generating XML –A Groovy session bean
    6. So what was Groovy again? • A dynamic language • Compiles to byte code • Running in the JVM • Completely compatible with Java
    7. Lists
    8. Maps
    9. The Groovy 101 Closures
    10. Meta Programming: The Expando
    11. Meta Programming: Changing behavior at runtime
    12. Groovy’s strong points • Working with collections • Changing behavior at runtime • The builder pattern • It’s all just Java
    13. Generating test data • Populate a database with test data • Automated & Repeatable • You might use DBUnit –That’s a lot of XML...
    14. Generating test data
    15. The problem: Database conversion Old legacy schema Redesigned schema for new application • Reuse most of the data • Don’t loose references • But don’t limit new mappings
    16. The schema MESSAGE ATTACHMENT 1 MESSAGE message_id message_id * subject file_id message_id body subject * * user_id body 1 firstname lastname FILE username USER attachment file_id user_id 1 filename username data firstname lastname email
    17. A Groovy SQL script
    18. Running the script • Compile the script • Jar the class files • Add Groovy.jar dependency • java -jar GroovyDBScript.jar
    19. Unit Testing • Mocking is really useful –But it’s quite a lot of work • Groovy’s dynamic nature and Meta Programming helps
    20. The Java class to test
    21. The Java Unit Test
    22. The Groovy Unit Test
    23. Making untestable code testable • Replace Java code at joint points –Replace direct service calls with a Groovy proxy Groovy Java Service Java Class Proxy delegate
    24. A Groovy Service Proxy
    25. Building Uses Implements
    26. Groovy Joint compiler groovyc
*.groovy
*.java
‐j
‐Jsource=1.4
‐Jtarget=1.4
    27. A leap of faith • Replace some Java code by more readable Groovy code • XML Converters • A Groovy web service client • A Groovy EJB3 Session bean
    28. A Groovy web service client
    29. Using the Groovy Service getTitles(“Java”) [“Effective Java”, ...]
    30. A Groovy Session Bean Replace any Java code
    31. A warning about domain classes Don’t forget about the metaClass property Serialize Groovy ActionScript domain class class Must
have
 metaClass
 property!
    32. GANT • ANT without XML • More natural build definition • Use control structures • Works in every build environment
    33. Just get the Groove • Groovy makes a lot of tasks easier • Fits in most environments • Use Groovy where it really adds value
    34. Should we ever write Java code? • More readable code • Better unit testing • Advanced frameworks • Not everybody knows Groovy • No static code analysis
    SlideShare Zeitgeist 2009

    + Paul BakkerPaul Bakker Nominate

    custom

    489 views, 0 favs, 1 embeds more stats

    Presentation about using Groovy in real Java projec more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 489
      • 476 on SlideShare
      • 13 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 15
    Most viewed embeds
    • 13 views on http://www.net4java.com

    more

    All embeds
    • 13 views on http://www.net4java.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags