Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions get-started/in-a-nutshell.md
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,7 @@ You can have this _.js_ file created automatically with [`cds add handler`](../t
In CAP Java, you can add custom handlers for your service as so called EventHandlers. As CAP Java integrates with Spring Boot, you need to provide your custom code in classes, annotated with `@Component`, for example. Use your favorite Java IDE to add a class like the following to the `srv/src/main/java/` folder of your application. {.impl .java}

::: code-group
```java [srv/src/main/java/com/sap/capire/bookshop/handlers/CatalogServiceHandler.java]
```java [srv/src/main/java/com/cap/capire/bookshop/handlers/CatalogServiceHandler.java]
@Component
@ServiceName(CatalogService_.CDS_NAME)
public class CatalogServiceHandler implements EventHandler {
Expand Down Expand Up @@ -609,7 +609,7 @@ module.exports = CatalogService
Now that you have created the classes for your custom handlers it's time to add the actual logic. You can achieve this by adding methods annotated with CAP's `@Before`, `@On`, or `@After` to your new class. The annotation takes two arguments: the event that shall be handled and the entity name for which the event is handled.

::: code-group
```java [srv/src/main/java/com/sap/capire/bookshop/handlers/CatalogServiceHandler.java]
```java [srv/src/main/java/com/cap/capire/bookshop/handlers/CatalogServiceHandler.java]
@After(event = CqnService.EVENT_READ, entity = Books_.CDS_NAME)
public void addDiscountIfApplicable(List<Books> books) {
for (Books book : books) {
Expand All @@ -623,7 +623,7 @@ Now that you have created the classes for your custom handlers it's time to add

:::details Code including imports
::: code-group
```java [srv/src/main/java/com/sap/capire/bookshop/handlers/CatalogServiceHandler.java]
```java [srv/src/main/java/com/cap/capire/bookshop/handlers/CatalogServiceHandler.java]
package com.sap.capire.bookshop.handlers;

import java.util.List;
Expand Down Expand Up @@ -696,7 +696,7 @@ module.exports = CatalogService
<span class="impl java">

::: code-group
```java [srv/src/main/java/com/sap/capire/bookshop/handlers/SubmitOrderHandler.java]
```java [srv/src/main/java/com/cap/capire/bookshop/handlers/SubmitOrderHandler.java]
@Component
@ServiceName(CatalogService_.CDS_NAME)
public class SubmitOrderHandler implements EventHandler {
Expand All @@ -710,7 +710,7 @@ public class SubmitOrderHandler implements EventHandler {
@On
public void onSubmitOrder(SubmitOrderContext context) {
Select<Books_> byId = Select.from(cds.gen.catalogservice.Books_.class).byId(context.getBook());
Books book = persistenceService.run(byId).single().as(Books.class);
Books book = persistenceService.run(byId).single(Books.class);
if (context.getQuantity() > book.getStock())
throw new IllegalArgumentException(context.getQuantity() + " exceeds stock for book #" + book.getTitle());
book.setStock(book.getStock() - context.getQuantity());
Expand All @@ -723,7 +723,7 @@ public class SubmitOrderHandler implements EventHandler {

:::details Code including imports
::: code-group
```java [srv/src/main/java/com/sap/capire/bookshop/handlers/CatalogService.java]
```java [srv/src/main/java/com/cap/capire/bookshop/handlers/SubmitOrderHandler.java]
package com.sap.capire.bookshop.handlers;

import org.springframework.stereotype.Component;
Expand Down Expand Up @@ -751,7 +751,7 @@ public class SubmitOrderHandler implements EventHandler {
@On
public void onSubmitOrder(SubmitOrderContext context) {
Select<Books_> byId = Select.from(cds.gen.catalogservice.Books_.class).byId(context.getBook());
Books book = persistenceService.run(byId).single().as(Books.class);
Books book = persistenceService.run(byId).single(Books.class);
if (context.getQuantity() > book.getStock())
throw new IllegalArgumentException(context.getQuantity() + " exceeds stock for book #" + book.getTitle());
book.setStock(book.getStock() - context.getQuantity());
Expand Down