diff --git a/code_snippets/java/src/main/java/usecases/eventprocessing/ProfileService.java b/code_snippets/java/src/main/java/usecases/eventprocessing/ProfileService.java
index 4c12a0cc..a7a6ed00 100644
--- a/code_snippets/java/src/main/java/usecases/eventprocessing/ProfileService.java
+++ b/code_snippets/java/src/main/java/usecases/eventprocessing/ProfileService.java
@@ -30,7 +30,6 @@ public void userEvent(ObjectContext ctx, String name) {
ctx.set(USER, profile);
//
- ctx.get(USER).orElse(new UserProfile());
//
ProfileServiceClient.fromContext(ctx, ctx.key()).send(Duration.ofSeconds(1)).emit();
//
diff --git a/code_snippets/java/src/main/java/usecases/microservices/Idempotency.java b/code_snippets/java/src/main/java/usecases/microservices/Idempotency.java
index 323db6ca..3207fb0f 100644
--- a/code_snippets/java/src/main/java/usecases/microservices/Idempotency.java
+++ b/code_snippets/java/src/main/java/usecases/microservices/Idempotency.java
@@ -22,102 +22,3 @@ public void reserveProduct(String productId, String reservationId) {
//
}
-
-
-@Workflow
-public class SignupWorkflow {
-
- final DurablePromiseKey EMAIL_CLICKED =
- DurablePromiseKey.of("email_clicked", STRING);
-
- @Workflow
- public boolean run(WorkflowContext ctx, User user) {
-
- // Persist progress: code doesn't get re-executed on retries
- ctx.run(() -> createUserEntry(user));
-
- String secret = ctx.random().nextUUID().toString();
- ctx.run(() -> sendEmailWithLink(user.getEmail(), secret));
-
- // Wait until user clicked email verification link
- // Resolved or rejected by the other handlers
- String clickSecret =
- ctx.promise(EMAIL_CLICKED)
- .awaitable()
- .await();
- return clickSecret.equals(secret);
- }
-
- @Shared
- public void click(SharedWorkflowContext ctx, String secret) {
- // Durable signals and query:
- // Workflow interaction via callbacks, Kafka events,...
- ctx.promiseHandle(EMAIL_CLICKED).resolve(secret);
- }
-}
-
-
-@VirtualObject
-public class UserUpdatesService {
-
- @Handler
- public void updateUser(ObjectContext ctx, UpdateEvent event) {
- // Durable actions: result persisted and recovered on failures
- String userId = ctx.run(STRING, () ->
- updateUserProfile(event.getProfile()));
-
- // Flexible control flow: no restrictions (e.g. loops, cycles)
- // Each event crafts its own recovery log
- while (userId.equals("NOT_READY")) {
- // Delay execution
- ctx.sleep(Duration.ofMillis(5000));
- userId = ctx.run(STRING, () ->
- updateUserProfile(event.getProfile()));
- }
-
- String roleId = ctx.run(STRING, () ->
- setUserPermissions(userId, event.getPermissions()));
- ctx.run(() -> provisionResources(
- userId, roleId, event.getResources()));
- }
-}
-
-
-
-@VirtualObject
-public class ProfileService {
-
- final StateKey USER =
- StateKey.of("user", UserSerde());
-
- @Handler
- public void userEvent(ObjectContext ctx, String name) {
- // Durable actions: result persisted and recoverable
- // Enrich events with data from multiple sources
- UserProfile profile = ctx.run(() ->
- createUserProfile(name));
-
- // Persistent built-in K/V state
- ctx.set(USER, profile);
-
- // Delay execution or schedule async actions
- // Restate triggers them when the time comes
- ProfileServiceClient.fromContext(ctx, name)
- .send(Seconds(1)).emit();
- }
-
- // The same functions can be called over RPC and Kafka
- @Handler
- public void featureEvent(ObjectContext ctx, String email) {
- UserProfile user = ctx.get(USER);
- user.setEmail(email);
- ctx.set(USER, user);
- }
-
- @Handler
- public void emit(ObjectContext ctx) {
- UserProfile user = ctx.get(USER);
- sendDownstream(user);
- ctx.clearAll();
- }
-}
\ No newline at end of file