@@ -0,0 +1,1530 @@
+package com.accenture.multibank.controller;%0A%0Aimport com.accenture.multibank.accounts.AccountType;%0Aimport com.accenture.multibank.bank.Bank;%0Aimport com.accenture.multibank.entities.Status;%0Aimport com.accenture.multibank.entities.Transaction;%0Aimport org.springframework.beans.factory.annotation.Autowired;%0Aimport org.springframework.web.bind.annotation.RequestMapping;%0Aimport org.springframework.web.bind.annotation.RequestMethod;%0Aimport org.springframework.web.bind.annotation.RequestParam;%0Aimport org.springframework.web.bind.annotation.RestController;%0A%0A/**%0A * @author manuel%0A * @version 12/20/16%0A */%0A@RequestMapping(%22/atm%22)%0A@RestController%0Apublic class BankController %7B%0A    private final Bank bank;%0A%0A    @Autowired%0A    public BankController(Bank bank) %7B%0A        this.bank = bank;%0A    %7D%0A%0A    @RequestMapping(value = %22/%7Btype%7D%22, method = RequestMethod.POST)%0A    public Integer createAccount(@RequestParam AccountType type) %7B%0A        return bank.createAccount(type, 0);%0A    %7D%0A%0A    @RequestMapping(method = RequestMethod.PUT)%0A    public Transaction book(Transaction transaction) %7B%0A        if (transaction.getTo() == null)%0A            if (transaction.getAmount() %3E 0)%0A                bank.deposit(transaction.getFrom(), transaction.getAmount());%0A            else%0A                bank.withdraw(transaction.getFrom(), transaction.getAmount());%0A        else%0A            bank.transfer(transaction.getFrom(), transaction.getTo(), transaction.getAmount());%0A        transaction.setStatus(Status.FINISHED);%0A        return transaction;%0A    %7D%0A%7D%0A

implement atm rest interface