1. Starting Spring apps rapidly with Roo
Chapter 1. What is Spring Roo?
1.1. Configuration is a burden
1.1.1. Spring reduces the pain
1.1.2. Shifting from code to configuration
1.1.3. Spring makes development less painful
1.1.4. Batteries still required
1.3. Roo by example—the Pizza Shop
1.3.1. The pizzashop.roo sample
1.3.2. Running the Pizza Shop with Maven
1.3.3. Creating toppings—forms
1.3.4. Creating a pizza form—dependencies
1.3.5. JSON-based web services with the Pizza Shop
1.4. Roo application architecture models
1.4.2. Service-and-repository layering in Roo
Chapter 2. Getting started with Roo
2.1. Working with the Roo shell
2.1.3. Creating an application
2.1.4. Adjusting the logging level
2.1.5. Adding persistence and running the application
2.2. How Roo manages your projects
2.2.1. The taskmanager project layout
2.2.2. Adding a service and repository
2.2.3. The tests and data on demand
2.2.5. Spring configuration files
2.2.7. What ITDs did you just generate?
2.3.1. SpringSource Tool Suite
2.4. Refactoring, Roo ITDs and leaving Roo
Chapter 3. Database persistence with entities
3.1. Your business objects and persistence
3.2.1. Creating your first entity
3.2.2. Adding fields to the Course
3.2.3. Adding the course type enum
3.2.4. Exercising the Course entity
3.2.5. Exploring the Course entity API
3.3. Validating Courses with Bean Validation
3.3.2. Testing Course validations
3.3.3. Bean Validation annotations
3.5. Leaving Active Record—JPA repositories
3.5.2. Queries with JpaSpecificationImplementor
Chapter 4. Relationships, JPA, and advanced persistence
4.1. Object relations: it’s all relative
4.2. A sample Course Manager database
4.3. Course Manager relationships
4.3.1. One to many: training programs to courses
4.3.3. Many-to-many relationship: courses to tags
4.3.4. The inverse many-to-many: courses have tags
4.3.5. Putting the people in courses...
4.3.6. People teach and attend courses—inheritance
4.3.7. Testing your inheritance hierarchy
4.4. Reverse engineering your database
4.7. NoSQL databases with MongoDB
4.7.1. Persistence with MongoDB
4.7.4. A MongoDB Course entity
Chapter 5. Rapid web applications with Roo
5.1. The Spring MVC web framework
5.2. Roo Spring MVC quick-start
5.2.1. The web application and first controller
5.2.2. Creating your first controller
5.2.3. Views, tags, and templates
5.3. Web scaffolding for entities
5.3.1. Creating the course scaffold
5.3.4. Updating courses with PUT
5.3.5. Removing a course with DELETE
5.4. Accessing other Spring beans
5.4.1. Automatic detection in scaffolds
Chapter 6. Advanced web applications
6.1. Customizing Roo CRUD views
6.1.1. Element naming conventions
6.1.2. Scaffold’s magic z attribute
6.2.2. Disabling or hiding features
6.2.3. Style-based date formatting
6.2.4. Pattern-based date formatting
6.3. View layouts, theming, and localization
6.3.1. How Roo resolves scaffold labels
6.3.2. Configuring additional locales
6.3.5. Putting it all together
Chapter 7. RIA and other web frameworks
7.1.2. Calculating Course cost with Ajax
7.3.2. JSF installation details
Chapter 8. Configuring security
8.1. Installing Spring Security
8.2. Securing a sample application
8.2.2. Storing roles and users in a database
8.2.3. Database-backed authentication
8.2.4. LDAP-based authentication
Chapter 9. Testing your application
9.1.2. Test-specific shell commands
9.1.3. The DataOnDemand component
9.3. Unit tests using mock objects
9.3.1. Mocking services with Mockito
9.3.2. The entity mocking framework
9.3.3. Creating an entity mock test
9.4. Testing in-container with Roo
9.5. Web testing with Selenium
9.5.3. Autogenerated Selenium tests
Chapter 10. Enterprise services—email and messaging
10.1. Roo integration with enterprise services
10.2. Defining the sample Course Manager use cases
10.2.1. Use case 1: course catalog distribution
10.2.2. Use case 2: course registration confirmation notification
10.2.3. Use case 3: course registration wait-list notification
10.3. Setting up JMS in the Course Manager
10.4. Adding email support for course registration
10.4.1. Registration confirmation via email
10.4.2. Testing the course registration confirmation notification use case
10.5. Asynchronous messaging for registration confirmation
10.6. Monitoring messaging activity
11.1. Extending Roo with add-ons
11.3. Working with published Roo add-ons
11.3.1. Finding the Roo repository add-ons
11.4. Enough OSGi to be dangerous
11.4.1. OSGi bundles and manifests
11.7. Adding a language to Roo with i18n
11.8. A simple add-on: jQuery UI
11.8.1. Creating the jQuery UI add-on
11.8.2. The jQuery UI add-on goals
11.8.3. Defining the jQuery install operations
11.8.4. Copying jQuery to the web application
11.8.5. Installing jQuery in JavaScript
11.8.6. Defining the availability of the jquery setup
11.8.7. Installing the jquery UI setup command
11.8.8. Installing your commands
11.8.9. Building and installing the add-on
Chapter 12. Advanced add-ons and deployment
12.2. To create an advanced add-on, you need Coffee(Script)
12.2.2. Creating a CoffeeScript add-on
12.2.3. Configuring the Maven plug-in
12.2.4. Creating the setup command
12.2.5. Setting up the CoffeescriptCommands
12.2.7. Building and installing the CoffeeScript add-on
12.2.8. Using the CoffeeScript add-on
12.2.9. Testing the CoffeeScript add-on
12.3. Key add-on beans and services
12.5.1. Generating and using your PGP keys
13.1. What is cloud computing?
13.3. Roo add-on for Cloud Foundry
13.4. Deploying the Course Manager application to the cloud
13.6. Application monitoring in the cloud
Chapter 14. Workflow applications using Spring Integration
14.2. Using the Spring Integration framework
14.3. Adding Spring Integration to your Roo application
14.4. Spring Integration add-on for Roo
14.4.1. How to install the Roo add-on for Spring Integration
14.5. Course registration workflow components
14.5.1. Spring Integration flow setup
14.5.2. Configuring Spring Integration components
18.117.148.177