| 37 | |
| 38 | // Workflow impl holds activity stubs as fields |
| 39 | class OrderWorkflowImpl implements OrderWorkflow { |
| 40 | |
| 41 | // These fields are assigned via Workflow.newActivityStub() at runtime |
| 42 | private PaymentActivity paymentActivity; |
| 43 | private ShippingActivity shippingActivity; |
| 44 | |
| 45 | // Static fields should NOT produce TEMPORAL_STUB edges |
| 46 | private static final String TAG = "OrderWorkflowImpl"; |
| 47 | |
| 48 | @Override |
| 49 | public String processOrder(String orderId) { |
| 50 | boolean paid = paymentActivity.chargeCard(orderId, 100.0); |
| 51 | if (!paid) return "FAILED"; |
| 52 | String trackingId = shippingActivity.shipOrder(orderId); |
| 53 | return trackingId; |
| 54 | } |
| 55 | |
| 56 | @Override |
| 57 | public void cancelOrder(String reason) {} |
| 58 | |
| 59 | @Override |
| 60 | public String getStatus() { return "OK"; } |
| 61 | } |
| 62 | |
| 63 | // Activity impls |
| 64 | class PaymentActivityImpl implements PaymentActivity { |
nothing calls this directly
no outgoing calls
no test coverage detected