Skip to content

Commit f59de63

Browse files
committed
feat(stocker): implement reserve order items
1 parent b7a7479 commit f59de63

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

stocker/src/main/java/org/camunda/bpm/demo/stocker/ReserveOrderItemsService.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.slf4j.LoggerFactory;
2727
import org.springframework.beans.factory.annotation.Autowired;
2828
import org.springframework.stereotype.Component;
29+
import static org.camunda.bpm.engine.variable.Variables.*;
2930

3031
/**
3132
* @author Daniel Meyer
@@ -46,15 +47,24 @@ protected void registerWorker() {
4647
registration = camundaClient.registerWorker()
4748
.lockTime(120)
4849
.topicName("reserveOrderItems")
50+
.variableNames("order")
4951
.worker(new Worker() {
5052
public void doWork(TaskContext taskContext) {
51-
JsonValue orderValue = taskContext.getVariableTyped("reserveOrderItems");
5253

53-
SpinList<SpinJsonNode> orderItems = orderValue.getValue()
54-
.prop("orderItems").elements();
54+
JsonValue orderValue = taskContext.getVariable("order");
55+
if(orderValue == null) {
56+
taskContext.taskFailed("Variable 'order' does not exist.");
57+
}
58+
else {
59+
SpinJsonNode orderData = orderValue.getValue();
60+
61+
SpinList<SpinJsonNode> orderItems = orderData.prop("orderItems").elements();
5562

56-
for (SpinJsonNode orderItem : orderItems) {
63+
for (SpinJsonNode orderItem : orderItems) {
64+
orderItem.prop("reserved", true);
65+
}
5766

67+
taskContext.complete(createVariables().putValue("order", orderValue));
5868
}
5969

6070
}

0 commit comments

Comments
 (0)