You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
package camelinaction;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
/**
|
|
* A dummy implementation of {@link OrderService} to use for testing and running this example.
|
|
*/
|
|
public class DummyOrderService implements OrderService {
|
|
|
|
// in memory dummy order system
|
|
private Map<Integer, Order> orders = new HashMap<>();
|
|
|
|
private final AtomicInteger idGen = new AtomicInteger();
|
|
|
|
@Override
|
|
public Order getOrder(int orderId) {
|
|
return orders.get(orderId);
|
|
}
|
|
|
|
@Override
|
|
public void updateOrder(Order order) {
|
|
int id = order.getId();
|
|
orders.remove(id);
|
|
orders.put(id, order);
|
|
}
|
|
|
|
@Override
|
|
public String createOrder(Order order) {
|
|
int id = idGen.incrementAndGet();
|
|
order.setId(id);
|
|
orders.put(id, order);
|
|
return "" + id;
|
|
}
|
|
|
|
@Override
|
|
public void cancelOrder(int orderId) {
|
|
orders.remove(orderId);
|
|
}
|
|
|
|
public void setupDummyOrders() {
|
|
Order order = new Order();
|
|
order.setAmount(1);
|
|
order.setPartName("motor");
|
|
order.setCustomerName("honda");
|
|
createOrder(order);
|
|
|
|
order = new Order();
|
|
order.setAmount(3);
|
|
order.setPartName("brake");
|
|
order.setCustomerName("toyota");
|
|
createOrder(order);
|
|
}
|
|
}
|