├── .gitignore ├── pom.xml └── src └── main └── java └── com └── example └── dddrestaurant ├── DddRestaurant.java ├── application ├── CookFoodCommand.java ├── PlaceOrderCommand.java ├── PriceOrderCommand.java ├── SendToMeInCommand.java └── TakePaymentCommand.java ├── domain └── model │ ├── AssistanceManager.java │ ├── Cashier.java │ ├── Midget.java │ ├── MidgetFactory.java │ ├── MidgetHouse.java │ ├── MidgetPayFirst.java │ ├── MidgetPayLast.java │ ├── Waiter.java │ ├── cook │ ├── Cook.java │ └── CookTimedOut.java │ └── order │ ├── Order.java │ ├── OrderBaseEvent.java │ ├── OrderCompleted.java │ ├── OrderCooked.java │ ├── OrderPaid.java │ ├── OrderPlaced.java │ └── OrderPriced.java ├── handlers ├── FairRoundRobin.java ├── Handles.java ├── IdempotentHandler.java ├── PrinterHandler.java ├── RoundRobin.java ├── ScrewThingsUpDropHandler.java ├── ScrewThingsUpDuplicationHandler.java ├── ScrewThingsUpHandler.java └── ThreadedHandler.java ├── orderInputExample.json └── utils ├── BaseEvent.java ├── BaseMessage.java ├── CollectionObserver.java ├── Command.java ├── Event.java ├── Message.java ├── Publisher.java ├── Sizable.java ├── SizeObserver.java ├── TimerService.java └── TopicBasedPubSub.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/.gitignore -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/DddRestaurant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/DddRestaurant.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/application/CookFoodCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/application/CookFoodCommand.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/application/PlaceOrderCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/application/PlaceOrderCommand.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/application/PriceOrderCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/application/PriceOrderCommand.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/application/SendToMeInCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/application/SendToMeInCommand.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/application/TakePaymentCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/application/TakePaymentCommand.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/AssistanceManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/AssistanceManager.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/Cashier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/Cashier.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/Midget.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/Midget.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/MidgetFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/MidgetFactory.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/MidgetHouse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/MidgetHouse.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/MidgetPayFirst.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/MidgetPayFirst.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/MidgetPayLast.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/MidgetPayLast.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/Waiter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/Waiter.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/cook/Cook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/cook/Cook.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/cook/CookTimedOut.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/cook/CookTimedOut.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/Order.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderBaseEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderBaseEvent.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderCompleted.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderCompleted.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderCooked.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderCooked.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderPaid.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderPaid.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderPlaced.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderPlaced.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/domain/model/order/OrderPriced.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/domain/model/order/OrderPriced.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/FairRoundRobin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/FairRoundRobin.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/Handles.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/Handles.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/IdempotentHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/IdempotentHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/PrinterHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/PrinterHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/RoundRobin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/RoundRobin.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpDropHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpDropHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpDuplicationHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpDuplicationHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/ScrewThingsUpHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/handlers/ThreadedHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/handlers/ThreadedHandler.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/orderInputExample.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/orderInputExample.json -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/BaseEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/BaseEvent.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/BaseMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/BaseMessage.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/CollectionObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/CollectionObserver.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/Command.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/Event.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/Event.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/Message.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/Message.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/Publisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/Publisher.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/Sizable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/Sizable.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/SizeObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/SizeObserver.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/TimerService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/TimerService.java -------------------------------------------------------------------------------- /src/main/java/com/example/dddrestaurant/utils/TopicBasedPubSub.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carlosbuenosvinos/process-managers-example/HEAD/src/main/java/com/example/dddrestaurant/utils/TopicBasedPubSub.java --------------------------------------------------------------------------------