diff --git a/.gitignore b/.gitignore
index 8bad5633addd63a1c0e8ae864622992d8892ea48..53677154cab7caa0a7f2978e9d550f2618be3e2b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-/banking-server/target/
+banking-server/target/
+banking-client/target/
+banking-client/.idea/
diff --git a/banking-client/banking-client.iml b/banking-client/banking-client.iml
deleted file mode 100644
index c90834f2d607afe55e6104d8aa2cdfffb713f688..0000000000000000000000000000000000000000
--- a/banking-client/banking-client.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/banking-client/pom.xml b/banking-client/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f45cf6384ce4c65e2ed9129d3c20e1497114acf
--- /dev/null
+++ b/banking-client/pom.xml
@@ -0,0 +1,23 @@
+
+
+ 4.0.0
+
+ org.example
+ banking-client
+ 1.0-SNAPSHOT
+
+
+ 11
+ 11
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.24
+ provided
+
+
+
\ No newline at end of file
diff --git a/banking-client/src/main/java/ufrn/imd/BankingClientApp.java b/banking-client/src/main/java/ufrn/imd/BankingClientApp.java
new file mode 100644
index 0000000000000000000000000000000000000000..bf72420c1c95a5e79e86df3ee5c5464009708735
--- /dev/null
+++ b/banking-client/src/main/java/ufrn/imd/BankingClientApp.java
@@ -0,0 +1,30 @@
+package ufrn.imd;
+
+import lombok.extern.java.Log;
+import ufrn.imd.controller.Controller;
+import ufrn.imd.domain.Account;
+import ufrn.imd.domain.Client;
+import ufrn.imd.utils.MachineState;
+
+import java.net.MalformedURLException;
+import java.rmi.Naming;
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+
+import static ufrn.imd.utils.MachineState.*;
+import static ufrn.imd.utils.NameSpace.HOST_DEPOSIT_SERVICE;
+
+@Log
+public class BankingClientApp {
+ public static void main(String[] args) throws MalformedURLException, NotBoundException, RemoteException {
+
+ MachineState mS = new MachineState();
+
+ while(mS.quit()) {
+ mS.render();
+ mS.processEvents();
+ mS.update();
+ }
+
+ }
+}
diff --git a/banking-client/src/ufrn/imd/controller/Controller.java b/banking-client/src/main/java/ufrn/imd/controller/Controller.java
similarity index 58%
rename from banking-client/src/ufrn/imd/controller/Controller.java
rename to banking-client/src/main/java/ufrn/imd/controller/Controller.java
index ebdc052114a1ec006c253cdf5d043b3be3451176..b096e53ac2b72da6bd16bab300631399a7a479f8 100644
--- a/banking-client/src/ufrn/imd/controller/Controller.java
+++ b/banking-client/src/main/java/ufrn/imd/controller/Controller.java
@@ -1,10 +1,13 @@
package ufrn.imd.controller;
-import ufrn.imd.message.Client;
+import ufrn.imd.domain.Client;
+import ufrn.imd.utils.ServerResponse;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Controller extends Remote {
public void registerClient(Client client) throws RemoteException;
+
+ public ServerResponse getResponse(Object client) throws RemoteException;
}
diff --git a/banking-client/src/ufrn/imd/domain/Account.java b/banking-client/src/main/java/ufrn/imd/domain/Account.java
similarity index 100%
rename from banking-client/src/ufrn/imd/domain/Account.java
rename to banking-client/src/main/java/ufrn/imd/domain/Account.java
diff --git a/banking-client/src/main/java/ufrn/imd/domain/Client.java b/banking-client/src/main/java/ufrn/imd/domain/Client.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5c241b26e361d8e637b36b6a02961fb9bc4ec1c
--- /dev/null
+++ b/banking-client/src/main/java/ufrn/imd/domain/Client.java
@@ -0,0 +1,17 @@
+package ufrn.imd.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import ufrn.imd.domain.Account;
+
+import java.io.Serializable;
+import java.util.Optional;
+
+@Data
+@AllArgsConstructor
+public class Client implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private Integer id;
+
+}
diff --git a/banking-client/src/main/java/ufrn/imd/utils/MachineState.java b/banking-client/src/main/java/ufrn/imd/utils/MachineState.java
new file mode 100644
index 0000000000000000000000000000000000000000..a955e56a2d02b24d76acdc477b54e93bdcea545f
--- /dev/null
+++ b/banking-client/src/main/java/ufrn/imd/utils/MachineState.java
@@ -0,0 +1,131 @@
+package ufrn.imd.utils;
+
+import lombok.Data;
+import ufrn.imd.controller.Controller;
+import ufrn.imd.domain.Account;
+import ufrn.imd.domain.Client;
+import ufrn.imd.utils.message.DepositMessage;
+
+import java.net.MalformedURLException;
+import java.rmi.Naming;
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.util.Scanner;
+
+import static ufrn.imd.utils.NameSpace.HOST_BALANCE_SERVICE;
+import static ufrn.imd.utils.NameSpace.HOST_DEPOSIT_SERVICE;
+
+@Data
+public class MachineState {
+
+ public static final String INITIAL= "INITIAL";
+ public static final String READ = "READ";
+ public static final String DEPOSIT = "DEPOSIT";
+ public static final String BALANCE = "BALANCE";
+
+ public static final String START = "START";
+ public static final String INVALID_INPUT = "INVALID_INPUT";
+ public static final String QUIT = "QUIT";
+
+ private String state;
+ private Scanner sc;
+ private String inputValue;
+
+ public MachineState() {
+ state = INITIAL;
+ inputValue = new String();
+ sc = new Scanner(System.in);
+ }
+
+ public Boolean quit() {
+ return !state.equals(QUIT);
+ }
+
+ public void update() {
+ if(state.equals(INITIAL)) {
+ state = START;
+ } else if(state.equals(START)) {
+ state = READ;
+ } else if(state.equals(READ)) {
+ state = inputValue;
+ } else if(state.equals(INVALID_INPUT)) {
+ state = START;
+ } else if(state.equals(DEPOSIT)) {
+ state = START;
+ } else if(state.equals(BALANCE)) {
+ state = START;
+ }
+ }
+
+ public void processEvents() throws MalformedURLException, NotBoundException, RemoteException {
+ if(state.equals(READ)) {
+ inputValue = sc.nextLine().trim().toUpperCase();
+ if(!inputValue.isEmpty() &&
+ !inputValue.equals(QUIT) &&
+ !inputValue.equals(DEPOSIT) &&
+ !inputValue.equals(BALANCE)) {
+ inputValue = INVALID_INPUT;
+ }
+ } else if(state.equals(DEPOSIT)) {
+ String v = sc.nextLine();
+ Client client = new Client(1);
+ DepositMessage depositMessage = new DepositMessage(client, Double.parseDouble(v));
+ Controller server = (Controller) Naming.lookup(HOST_DEPOSIT_SERVICE);
+ ServerResponse response = server.getResponse(depositMessage);
+ if(response.getStatus() == 200) {
+ System.out.println(
+ String.format(">>> Your balance is: %.2f", ((Account)response.getBody()).getBalance())
+ );
+ }
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+
+ } else if(state.equals(BALANCE)) {
+ Client client = new Client(1);
+ Controller server = (Controller) Naming.lookup(HOST_BALANCE_SERVICE);
+ ServerResponse response = server.getResponse(client);
+ if(response.getStatus() == 200) {
+ System.out.println(
+ String.format(">>> Your balance is: %.2f", ((Account)response.getBody()).getBalance())
+ );
+ }
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+ }
+
+ public void render() {
+ try {
+ if(state.equals(INITIAL)) {
+ System.out.println(">>> Initializing...");
+ Thread.sleep(1000);
+ } else if(state.equals(START)) {
+ System.out.println("These are the avaliable operations");
+ System.out.println("---------------------------------");
+ System.out.println(" - deposit \t - balance");
+ System.out.println(" - quit");
+
+ System.out.println("---------------------------------");
+ Thread.sleep(1000);
+ } else if(state.equals(READ)) {
+ System.out.println(">>> Please enter with wich operation do you want");
+ } else if(state.equals(INVALID_INPUT)) {
+ System.out.println(">>> Please enter with a VALID operation");
+ Thread.sleep(3000);
+ } else if(state.equals(DEPOSIT)) {
+ System.out.println(">>> Starting deposit operation");
+ System.out.println(">>> Please enter with the value that you want deposit");
+ }
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
diff --git a/banking-client/src/ufrn/imd/nameSpace/NameSpace.java b/banking-client/src/main/java/ufrn/imd/utils/NameSpace.java
similarity index 50%
rename from banking-client/src/ufrn/imd/nameSpace/NameSpace.java
rename to banking-client/src/main/java/ufrn/imd/utils/NameSpace.java
index b30b2d12181db58936cf1550185bf2e96c66bb2d..4bc802f6489a95bc8c7e7d95101c782fdaf09d3d 100644
--- a/banking-client/src/ufrn/imd/nameSpace/NameSpace.java
+++ b/banking-client/src/main/java/ufrn/imd/utils/NameSpace.java
@@ -1,6 +1,9 @@
-package ufrn.imd.nameSpace;
+package ufrn.imd.utils;
public class NameSpace {
public static final Integer PORT_DEPOSIT_SERVICE = 1907;
+ public static final Integer PORT_BALANCE_SERVICE = 1908;
public static final String HOST_DEPOSIT_SERVICE = String.format("rmi://127.0.0.1:%d/%s", PORT_DEPOSIT_SERVICE, "deposit");
+ public static final String HOST_BALANCE_SERVICE = String.format("rmi://127.0.0.1:%d/%s", PORT_BALANCE_SERVICE, "balance");
+
}
diff --git a/banking-client/src/main/java/ufrn/imd/utils/ServerResponse.java b/banking-client/src/main/java/ufrn/imd/utils/ServerResponse.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c1115b4648ee5503d0ebdb68cc5982e97f96794
--- /dev/null
+++ b/banking-client/src/main/java/ufrn/imd/utils/ServerResponse.java
@@ -0,0 +1,20 @@
+package ufrn.imd.utils;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+@Builder
+public class ServerResponse implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private Integer status;
+ private String message;
+ private Object body;
+}
diff --git a/banking-client/src/main/java/ufrn/imd/utils/message/DepositMessage.java b/banking-client/src/main/java/ufrn/imd/utils/message/DepositMessage.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b6e3da72f55566ba318c15e0595d2329171c904
--- /dev/null
+++ b/banking-client/src/main/java/ufrn/imd/utils/message/DepositMessage.java
@@ -0,0 +1,17 @@
+package ufrn.imd.utils.message;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import ufrn.imd.domain.Client;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+public class DepositMessage implements Serializable {
+
+ private static final long serialVersionUID = 2L;
+
+ private Client client;
+ private Double value;
+}
diff --git a/banking-client/src/ufrn/imd/BankingClientApp.java b/banking-client/src/ufrn/imd/BankingClientApp.java
deleted file mode 100644
index 72fe8208bfae12ad54c1eebe2cd8e911f1956e53..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/BankingClientApp.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package ufrn.imd;
-
-import ufrn.imd.controller.Controller;
-import ufrn.imd.domain.Account;
-import ufrn.imd.log.Log;
-import ufrn.imd.message.Client;
-
-import java.net.MalformedURLException;
-import java.rmi.Naming;
-import java.rmi.NotBoundException;
-import java.rmi.RemoteException;
-
-import static ufrn.imd.nameSpace.NameSpace.HOST_DEPOSIT_SERVICE;
-
-public class BankingClientApp {
- public static void main(String[] args) throws MalformedURLException, NotBoundException, RemoteException {
- final Integer PORT = 1097;
- Log.info(BankingClientApp.class,
- String.format("connecting with server in host %s", HOST_DEPOSIT_SERVICE)
- );
- Controller server = (Controller) Naming.lookup(HOST_DEPOSIT_SERVICE);
-
- Client client = new Client(new Account(1, "222", 10.00));
- Log.info(BankingClientApp.class, "registring user in the server");
- server.registerClient(client);
- }
-}
diff --git a/banking-client/src/ufrn/imd/controller/impl/DepositControllerImpl.java b/banking-client/src/ufrn/imd/controller/impl/DepositControllerImpl.java
deleted file mode 100644
index a70dcb0708851835d323fb55be20b5013e60a4f0..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/controller/impl/DepositControllerImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package ufrn.imd.controller.impl;
-
-import ufrn.imd.controller.Controller;
-import ufrn.imd.log.Log;
-import ufrn.imd.message.Client;
-import ufrn.imd.service.DepositService;
-
-import java.rmi.RemoteException;
-import java.rmi.server.UnicastRemoteObject;
-import java.util.ArrayList;
-import java.util.List;
-
-public class DepositControllerImpl extends UnicastRemoteObject implements Controller {
-
- private volatile List clients = new ArrayList<>();
-
- public DepositControllerImpl(DepositService service) throws RemoteException{
- super();
- Log.info(DepositControllerImpl.class, "Starting Deposit service!");
- new Notify(service).start();
- }
- public void registerClient(Client client) throws RemoteException {
-
- clients.add(client);
- System.out.println("Novo cliente registrado com sucesso! Total: "+clients.size());
- }
-
-
- private class Notify extends Thread{
-
- private final DepositService service;
-
- public Notify(DepositService service) {
- super();
- this.service = service;
- }
- public void run() {
-
- for(;;) {
-
- if(clients.size() > 0) {
-
- System.out.println("Notificando clientes");
-
- int i = 0;
- for (Client client : clients) {
-
- try {
- this.service.deposit(client.getBalance(), client.getAccount());
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
-
-
- try {
- Thread.sleep(15 * 1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- }
-
- }
- }
-}
diff --git a/banking-client/src/ufrn/imd/domain/Client.java b/banking-client/src/ufrn/imd/domain/Client.java
deleted file mode 100644
index d1ca0707fd4e79bd9f7514b42f4047614a5b8fdf..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/domain/Client.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package ufrn.imd.domain;
-
-import ufrn.imd.domain.Account;
-
-import java.io.Serializable;
-import java.util.Optional;
-
-public class Client implements Serializable {
- private static final long serialVersionUID = 1L;
-
- private Account account;
-
- public Client(Account account) {
- this.account = account;
- }
-
- public Double getBalance() {
- return account.getBalance();
- }
- public Optional getAccount() {
- return Optional.of(account);
- }
-}
diff --git a/banking-client/src/ufrn/imd/log/Log.java b/banking-client/src/ufrn/imd/log/Log.java
deleted file mode 100644
index c193705cf9cac05da9853b6a039a58aa4576370d..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/log/Log.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package ufrn.imd.log;
-
-public class Log {
-
- public static void info(Class path, String text) {
- System.out.println(
- String.format("[LOG] %s - %s", path , text)
- );
- }
-}
diff --git a/banking-client/src/ufrn/imd/service/BalanceService.java b/banking-client/src/ufrn/imd/service/BalanceService.java
deleted file mode 100644
index 2d9315cb86301d9188170ac76fcbceabdb37c1f6..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/service/BalanceService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-public interface BalanceService extends Remote {
-
- public void balance(Account account) throws RemoteException;
-}
diff --git a/banking-client/src/ufrn/imd/service/DepositService.java b/banking-client/src/ufrn/imd/service/DepositService.java
deleted file mode 100644
index f85f98f67df1776750e48c57065b02823917b844..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/service/DepositService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.util.Optional;
-
-public interface DepositService extends Remote {
-
- public void deposit(Double value, Optional account) throws RemoteException;
-
-}
diff --git a/banking-client/src/ufrn/imd/service/WidthawService.java b/banking-client/src/ufrn/imd/service/WidthawService.java
deleted file mode 100644
index 8a5ed3baa7ecd8367276729a144c1ff882a35bed..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/service/WidthawService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-public interface WidthawService extends Remote {
-
- public void widthaw(Double value, Account account) throws RemoteException;
-
-}
diff --git a/banking-client/src/ufrn/imd/service/impl/DepositServiceImpl.java b/banking-client/src/ufrn/imd/service/impl/DepositServiceImpl.java
deleted file mode 100644
index 7dfa731ebf41f795aa581b80f1e1d71395caca80..0000000000000000000000000000000000000000
--- a/banking-client/src/ufrn/imd/service/impl/DepositServiceImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package ufrn.imd.service.impl;
-
-import ufrn.imd.domain.Account;
-import ufrn.imd.log.Log;
-import ufrn.imd.service.DepositService;
-
-import java.rmi.RemoteException;
-import java.util.Optional;
-
-public class DepositServiceImpl implements DepositService {
-
- public DepositServiceImpl() {
- super();
- }
-
- public void deposit(Double value, Optional acOp) throws RemoteException, RuntimeException {
- Account account = acOp.orElseThrow(() -> new RuntimeException("Null User!"));
- if(account.getBalance() < value)
- throw new RuntimeException("There's no money!");
- account.setBalance(account.getBalance() - value);
- Log.info(DepositServiceImpl.class, "deposit");
-
- }
-
-}
diff --git a/banking-server/.idea/compiler.xml b/banking-server/.idea/compiler.xml
index 1e78cc9ce0775fa751b7c9ccd7da8294958c203e..0830c9341634c6202b41204c2e6eb85fb959b090 100644
--- a/banking-server/.idea/compiler.xml
+++ b/banking-server/.idea/compiler.xml
@@ -2,6 +2,7 @@
+
diff --git a/banking-server/.idea/dbnavigator.xml b/banking-server/.idea/dbnavigator.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c97bdf6c06b538a591ef993a81bd28419b35808
--- /dev/null
+++ b/banking-server/.idea/dbnavigator.xml
@@ -0,0 +1,461 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/banking-server/.idea/misc.xml b/banking-server/.idea/misc.xml
index 82dbec8ad28463aed32007a93ffc07865ae98968..accd6296789966b9f3392c7a4dc3a987a7532182 100644
--- a/banking-server/.idea/misc.xml
+++ b/banking-server/.idea/misc.xml
@@ -8,7 +8,7 @@
-
+
\ No newline at end of file
diff --git a/banking-client/.idea/uiDesigner.xml b/banking-server/.idea/uiDesigner.xml
similarity index 100%
rename from banking-client/.idea/uiDesigner.xml
rename to banking-server/.idea/uiDesigner.xml
diff --git a/banking-server/pom.xml b/banking-server/pom.xml
index 24fae7265aee1c22e3135dbfa626824d5ed60414..f428c68edd6c0427fd301bee34534b7c9fd1703c 100644
--- a/banking-server/pom.xml
+++ b/banking-server/pom.xml
@@ -9,8 +9,8 @@
1.0-SNAPSHOT
- 17
- 17
+ 11
+ 11
diff --git a/banking-server/src/main/java/ufrn/imd/BankingServerApp.java b/banking-server/src/main/java/ufrn/imd/BankingServerApp.java
index 4fed7390ea3b7b3ab9901b8f402f99065adf9142..39928e11f922805d6b10e203c631cd9b19c5364c 100644
--- a/banking-server/src/main/java/ufrn/imd/BankingServerApp.java
+++ b/banking-server/src/main/java/ufrn/imd/BankingServerApp.java
@@ -3,8 +3,7 @@ package ufrn.imd;
import ufrn.imd.controller.Controller;
import ufrn.imd.controller.impl.BalanceControllerImpl;
import ufrn.imd.controller.impl.DepositControllerImpl;
-import ufrn.imd.service.BalanceService;
-import ufrn.imd.service.DepositService;
+import ufrn.imd.repository.impl.ClientRepository;
import ufrn.imd.service.impl.BalanceServiceImpl;
import ufrn.imd.service.impl.DepositServiceImpl;
@@ -14,9 +13,9 @@ import java.rmi.RemoteException;
public class BankingServerApp {
public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException {
-
- DepositService depositService = new DepositServiceImpl();
- BalanceService balanceService = new BalanceServiceImpl();
+ ClientRepository clientRepository = new ClientRepository();
+ DepositServiceImpl depositService = new DepositServiceImpl(clientRepository);
+ BalanceServiceImpl balanceService = new BalanceServiceImpl(clientRepository);
Controller depositController = new DepositControllerImpl(depositService);
Controller balanceController = new BalanceControllerImpl(balanceService);
diff --git a/banking-server/src/main/java/ufrn/imd/controller/Controller.java b/banking-server/src/main/java/ufrn/imd/controller/Controller.java
index 824205a78effedd521e934e17809e5bfcc593a71..d5be018d3c01b6e18b13aa9d9028f66bb795589d 100644
--- a/banking-server/src/main/java/ufrn/imd/controller/Controller.java
+++ b/banking-server/src/main/java/ufrn/imd/controller/Controller.java
@@ -1,11 +1,12 @@
package ufrn.imd.controller;
import ufrn.imd.domain.Client;
+import ufrn.imd.utils.ServerResponse;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Controller extends Remote {
- public void registerClient(Client client) throws RemoteException;
+ public ServerResponse getResponse(Object client) throws RemoteException;
}
diff --git a/banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java b/banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java
index a856ad8e51013ae78307ffd0165a009e9c5e4c5d..50d9cb87a9e624e039f790f7cad9bfdb09e97fb4 100644
--- a/banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java
+++ b/banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java
@@ -2,7 +2,8 @@ package ufrn.imd.controller.impl;
import ufrn.imd.controller.Controller;
import ufrn.imd.domain.Client;
-import ufrn.imd.service.BalanceService;
+import ufrn.imd.service.impl.BalanceServiceImpl;
+import ufrn.imd.utils.ServerResponse;
import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
@@ -10,9 +11,7 @@ import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
import static ufrn.imd.utils.NameSpace.HOST_BALANCE_SERVICE;
import static ufrn.imd.utils.NameSpace.PORT_BALANCE_SERVICE;
@@ -20,70 +19,23 @@ import static ufrn.imd.utils.NameSpace.PORT_BALANCE_SERVICE;
@lombok.extern.java.Log
public class BalanceControllerImpl extends UnicastRemoteObject implements Controller {
- private volatile List clients = new ArrayList<>();
+ private volatile Queue clients = new ArrayDeque<>();
+ private final BalanceServiceImpl service;
- public BalanceControllerImpl(BalanceService service) throws RemoteException, MalformedURLException, AlreadyBoundException {
+ public BalanceControllerImpl(BalanceServiceImpl service) throws RemoteException, MalformedURLException, AlreadyBoundException {
super();
LocateRegistry.createRegistry(PORT_BALANCE_SERVICE);
Naming.bind(HOST_BALANCE_SERVICE, this);
log.info("Starting Deposit service!");
-
- new Notify(service).start();
+ this.service = service;
log.info(String.format("Initializing server in %s", HOST_BALANCE_SERVICE));
}
@Override
- public void registerClient(Client client) throws RemoteException {
- clients.add(client);
- log.info("new client registred");
- log.info(String.format("total users: %d", clients.size()));
- }
-
-
-
-
- private class Notify extends Thread{
-
- private final BalanceService service;
-
- public Notify(BalanceService service) {
- super();
- this.service = service;
- }
- public void run() {
-
- for(;;) {
- if(clients.size() > 0) {
-
- log.info("notyfing the clients!");
- int i = 0;
- for (Client client : clients) {
-
- try {
- this.service.balance(Optional.of(client.getAccount()));
-
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
- try {
- Thread.sleep(15 * 1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- } else {
- try {
- Thread.sleep(15 * 1000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- log.info("No there's clients!");
- }
-
- }
-
- }
+ public ServerResponse getResponse(Object obj) throws RemoteException {
+ Client client = (Client) obj;
+ return this.service.balance(Optional.of(client));
}
}
diff --git a/banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java b/banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java
index 958ac87bc7db216602387ecf2ca281dc5c147883..1e37f28ff725ffc585139f7bfe6f20e937c9c352 100644
--- a/banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java
+++ b/banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java
@@ -3,7 +3,9 @@ package ufrn.imd.controller.impl;
import lombok.extern.java.Log;
import ufrn.imd.controller.Controller;
import ufrn.imd.domain.Client;
-import ufrn.imd.service.DepositService;
+import ufrn.imd.service.impl.DepositServiceImpl;
+import ufrn.imd.utils.ServerResponse;
+import ufrn.imd.utils.message.DepositMessage;
import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
@@ -11,9 +13,7 @@ import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.UnicastRemoteObject;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
import static ufrn.imd.utils.NameSpace.HOST_DEPOSIT_SERVICE;
import static ufrn.imd.utils.NameSpace.PORT_DEPOSIT_SERVICE;
@@ -21,72 +21,23 @@ import static ufrn.imd.utils.NameSpace.PORT_DEPOSIT_SERVICE;
@Log
public class DepositControllerImpl extends UnicastRemoteObject implements Controller {
- private volatile List clients = new ArrayList<>();
- public DepositControllerImpl(DepositService service) throws RemoteException, MalformedURLException, AlreadyBoundException {
+ private volatile Queue clients = new ArrayDeque<>();
+ private final DepositServiceImpl service;
+
+ private volatile Queue serverResponses = new ArrayDeque<>();
+ public DepositControllerImpl(DepositServiceImpl service) throws RemoteException, MalformedURLException, AlreadyBoundException {
super();
log.info("Starting Deposit service!");
- new Notify(service).start();
log.info(String.format("Initializing server in %s", HOST_DEPOSIT_SERVICE));
-
+ this.service = service;
LocateRegistry.createRegistry(PORT_DEPOSIT_SERVICE);
-
Naming.bind(HOST_DEPOSIT_SERVICE, this);
}
- @Override
- public void registerClient(Client client) throws RemoteException {
- clients.add(client);
- log.info("new client registred");
- log.info(String.format("total users: %d", clients.size()));
+ public ServerResponse getResponse(Object obj) throws RemoteException {
+ DepositMessage depositMessage = (DepositMessage)obj;
+ return this.service.deposit(depositMessage.getValue(), Optional.of(depositMessage.getClient()));
}
-
-
-
- private class Notify extends Thread{
-
- private final DepositService service;
-
- public Notify(DepositService service) {
- super();
- this.service = service;
- }
- public void run() {
-
- for(;;) {
-
- if(clients.size() > 0) {
-
- log.info("notyfing the clients!");
- int i = 0;
- for (Client client : clients) {
-
- try {
- this.service.deposit(200.00, Optional.of(client.getAccount()));
-
- } catch (RemoteException e) {
- e.printStackTrace();
- }
- }
- try {
- Thread.sleep(15 * 1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- } else {
- try {
- Thread.sleep(15 * 1000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- log.info("No there's clients!");
-
-
- }
-
- }
-
- }
- }
}
diff --git a/banking-server/src/main/java/ufrn/imd/repository/Repository.java b/banking-server/src/main/java/ufrn/imd/repository/Repository.java
index 636bf2b106b30a65c27fda39b3f13dff1cdba66b..589bec3786e83670f744a2ae3ce35c8fb794796d 100644
--- a/banking-server/src/main/java/ufrn/imd/repository/Repository.java
+++ b/banking-server/src/main/java/ufrn/imd/repository/Repository.java
@@ -1,9 +1,10 @@
package ufrn.imd.repository;
import java.util.List;
+import java.util.Optional;
public interface Repository {
- public T find(Integer id);
+ public Optional find(Integer id);
public List findAll();
}
diff --git a/banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java b/banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java
index bce53daec4d91cc27933567b4ebe37c7fd72483a..83963f78bcbb35365a86888a93c423271c0df4b3 100644
--- a/banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java
+++ b/banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java
@@ -1,20 +1,21 @@
package ufrn.imd.repository.impl;
+import ufrn.imd.domain.Account;
import ufrn.imd.domain.Client;
import ufrn.imd.repository.Repository;
import java.util.List;
+import java.util.Optional;
public class ClientRepository implements Repository {
List clients = List.of(
- new Client(),
- new Client()
-
+ new Client(1, "Fernando Feirreira", new Account(1, "321456789", 200.00)),
+ new Client(2, "Maria Eduarda", new Account(2, "987654321", 100.00))
);
@Override
- public Client find(Integer id) {
- return (Client) clients.stream().filter(c -> c.getId().equals(id));
+ public Optional find(Integer id) {
+ return Optional.of(clients.get(id));
}
@Override
diff --git a/banking-server/src/main/java/ufrn/imd/service/BalanceService.java b/banking-server/src/main/java/ufrn/imd/service/BalanceService.java
deleted file mode 100644
index b82470c15060014b18ce9c6323ca2a37a5268fee..0000000000000000000000000000000000000000
--- a/banking-server/src/main/java/ufrn/imd/service/BalanceService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.util.Optional;
-
-public interface BalanceService extends Remote {
-
- public void balance(Optional account) throws RemoteException;
-}
diff --git a/banking-server/src/main/java/ufrn/imd/service/DepositService.java b/banking-server/src/main/java/ufrn/imd/service/DepositService.java
deleted file mode 100644
index aab39ac63fd5da6827a9ee113ba692da9902459e..0000000000000000000000000000000000000000
--- a/banking-server/src/main/java/ufrn/imd/service/DepositService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.util.Optional;
-
-public interface DepositService extends Remote {
-
- public void deposit(Double value, Optional account) throws RemoteException, RuntimeException;
-
-}
diff --git a/banking-server/src/main/java/ufrn/imd/service/Service.java b/banking-server/src/main/java/ufrn/imd/service/Service.java
new file mode 100644
index 0000000000000000000000000000000000000000..16fc5e127d33c7d4c69a42dec155fa4b7120946a
--- /dev/null
+++ b/banking-server/src/main/java/ufrn/imd/service/Service.java
@@ -0,0 +1,5 @@
+package ufrn.imd.service;
+
+public interface Service {
+
+}
diff --git a/banking-server/src/main/java/ufrn/imd/service/WidthawService.java b/banking-server/src/main/java/ufrn/imd/service/WidthawService.java
deleted file mode 100644
index 8a5ed3baa7ecd8367276729a144c1ff882a35bed..0000000000000000000000000000000000000000
--- a/banking-server/src/main/java/ufrn/imd/service/WidthawService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package ufrn.imd.service;
-
-import ufrn.imd.domain.Account;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-public interface WidthawService extends Remote {
-
- public void widthaw(Double value, Account account) throws RemoteException;
-
-}
diff --git a/banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java b/banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java
index 8ae835eee3fced34f9c22d0d743c232bc76dafd8..95e9373b04f05a6a480bb1db696ea8dba9a12c6f 100644
--- a/banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java
+++ b/banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java
@@ -1,20 +1,35 @@
package ufrn.imd.service.impl;
+import lombok.RequiredArgsConstructor;
import lombok.extern.java.Log;
import ufrn.imd.domain.Account;
-import ufrn.imd.service.BalanceService;
+import ufrn.imd.domain.Client;
+import ufrn.imd.repository.Repository;
+import ufrn.imd.service.Service;
+import ufrn.imd.utils.ServerResponse;
import java.rmi.RemoteException;
import java.util.Optional;
@Log
-public class BalanceServiceImpl implements BalanceService {
+@RequiredArgsConstructor
+public class BalanceServiceImpl implements Service {
- @Override
- public void balance(Optional accOP) throws RemoteException {
- Account account = accOP.orElseThrow(() -> new RuntimeException("Invalid account"));
+ private final Repository clientRepository;
+
+ public ServerResponse balance(Optional clientOptional) throws RemoteException {
+ Client user = clientOptional
+ .orElseThrow(() -> new RuntimeException("NULL USER"));
+ Client client = clientRepository.find(user.getId())
+ .orElseThrow(() -> new RuntimeException("Invalid user!"));
+ Account account = client.getAccount();
log.info(String.format("Account Balance: R$ %f", account.getBalance()));
+ return ServerResponse.builder()
+ .status(200)
+ .message("Operation sucessed!")
+ .body(account)
+ .build();
}
}
diff --git a/banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java b/banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java
index a371112b4b282f9c336c246db214be5ede5e01d8..83c894a8ff303a41d301feb7e19532417f07f66c 100644
--- a/banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java
+++ b/banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java
@@ -1,24 +1,37 @@
package ufrn.imd.service.impl;
+import lombok.RequiredArgsConstructor;
import lombok.extern.java.Log;
import ufrn.imd.domain.Account;
-import ufrn.imd.service.DepositService;
+import ufrn.imd.domain.Client;
+import ufrn.imd.repository.Repository;
+import ufrn.imd.service.Service;
+import ufrn.imd.utils.ServerResponse;
import java.rmi.RemoteException;
import java.util.Optional;
@Log
-public class DepositServiceImpl implements DepositService {
+@RequiredArgsConstructor
+public class DepositServiceImpl implements Service {
- public DepositServiceImpl() {
- super();
- }
- public void deposit(Double value, Optional acOp) throws RemoteException, RuntimeException {
- Account account = acOp.orElseThrow(() -> new RuntimeException("Null User!"));
- if(account.getBalance() < value) throw new RuntimeException("There's no money!");
- account.setBalance(account.getBalance() - value);
- log.info("deposit");
+ private final Repository repository;
+
+ public ServerResponse deposit(Double value, Optional clientOptional) throws RemoteException, RuntimeException {
+ Client user = clientOptional
+ .orElseThrow(() -> new RuntimeException("Null User!"));
+ Client client = repository.find(user.getId())
+ .orElseThrow(() -> new RuntimeException("Invalid user!"));
+ Account account = client.getAccount();
+ account.setBalance(account.getBalance() + value);
+ log.info(String.format("Deposit concluded!"));
+ log.info(String.format("Total: %.2f", account.getBalance()));
+ return ServerResponse.builder()
+ .status(200)
+ .message("Operaiton sucessed!")
+ .body(account)
+ .build();
}
}
diff --git a/banking-server/src/main/java/ufrn/imd/utils/ServerResponse.java b/banking-server/src/main/java/ufrn/imd/utils/ServerResponse.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c1115b4648ee5503d0ebdb68cc5982e97f96794
--- /dev/null
+++ b/banking-server/src/main/java/ufrn/imd/utils/ServerResponse.java
@@ -0,0 +1,20 @@
+package ufrn.imd.utils;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+@Builder
+public class ServerResponse implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private Integer status;
+ private String message;
+ private Object body;
+}
diff --git a/banking-server/src/main/java/ufrn/imd/utils/message/DepositMessage.java b/banking-server/src/main/java/ufrn/imd/utils/message/DepositMessage.java
new file mode 100644
index 0000000000000000000000000000000000000000..2badcd3f628f1fceaf86549d8fe1b286b4738665
--- /dev/null
+++ b/banking-server/src/main/java/ufrn/imd/utils/message/DepositMessage.java
@@ -0,0 +1,16 @@
+package ufrn.imd.utils.message;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import ufrn.imd.domain.Client;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+public class DepositMessage implements Serializable {
+ private static final long serialVersionUID = 2L;
+
+ private Client client;
+ private Double value;
+}
diff --git a/banking-server/target/classes/ufrn/imd/BankingServerApp.class b/banking-server/target/classes/ufrn/imd/BankingServerApp.class
index e981c23cd377d28abc4078145c4d6009f4c2c7e6..9426e1eeb07564495580cebd9a9fb3d4826bfbdf 100644
Binary files a/banking-server/target/classes/ufrn/imd/BankingServerApp.class and b/banking-server/target/classes/ufrn/imd/BankingServerApp.class differ
diff --git a/banking-server/target/classes/ufrn/imd/controller/Controller.class b/banking-server/target/classes/ufrn/imd/controller/Controller.class
index 4707c271c661d159f8019f881ffc3f31e61a85d3..d963fb57c51b2717ad5df0b7a9c8b917478a9e46 100644
Binary files a/banking-server/target/classes/ufrn/imd/controller/Controller.class and b/banking-server/target/classes/ufrn/imd/controller/Controller.class differ
diff --git a/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl$Notify.class b/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl$Notify.class
deleted file mode 100644
index 7f067992c8a00c6fd8c3203ad80e171f7a42fb6b..0000000000000000000000000000000000000000
Binary files a/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl$Notify.class and /dev/null differ
diff --git a/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl.class b/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl.class
index d91152883436e27a0f69fc0c37cc6ebde16db26b..e990c821bbca67e3753e9d7b7726bf02f8827d69 100644
Binary files a/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl.class and b/banking-server/target/classes/ufrn/imd/controller/impl/BalanceControllerImpl.class differ
diff --git a/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl$Notify.class b/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl$Notify.class
deleted file mode 100644
index 9697b9b922e597e1104c36d785b29568877a9002..0000000000000000000000000000000000000000
Binary files a/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl$Notify.class and /dev/null differ
diff --git a/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl.class b/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl.class
index c429275f5abb1141d6e6335ce6730b9f9c18c9d7..78b16605a3148faa5588123ef88a11f98ff3a3ce 100644
Binary files a/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl.class and b/banking-server/target/classes/ufrn/imd/controller/impl/DepositControllerImpl.class differ
diff --git a/banking-server/target/classes/ufrn/imd/domain/Account.class b/banking-server/target/classes/ufrn/imd/domain/Account.class
index 2a7ef8cf0adf2d1042b8a7ee3f230660df58ffeb..06c1afe87e3de366a0157786e0a200a2309ba51b 100644
Binary files a/banking-server/target/classes/ufrn/imd/domain/Account.class and b/banking-server/target/classes/ufrn/imd/domain/Account.class differ
diff --git a/banking-server/target/classes/ufrn/imd/domain/Client.class b/banking-server/target/classes/ufrn/imd/domain/Client.class
index 38d7a3658a88a4078ee7e0545a2e76bfe87708c6..e09b310a54921733a8906a5ffc2612b07666c2b6 100644
Binary files a/banking-server/target/classes/ufrn/imd/domain/Client.class and b/banking-server/target/classes/ufrn/imd/domain/Client.class differ
diff --git a/banking-server/target/classes/ufrn/imd/repository/Repository.class b/banking-server/target/classes/ufrn/imd/repository/Repository.class
index edf96faf080b1cb13de2680e95de0075fff887fd..1a11f1ee8fe4d9f5937cf449985bd127fe02bb02 100644
Binary files a/banking-server/target/classes/ufrn/imd/repository/Repository.class and b/banking-server/target/classes/ufrn/imd/repository/Repository.class differ
diff --git a/banking-server/target/classes/ufrn/imd/repository/impl/ClientRepository.class b/banking-server/target/classes/ufrn/imd/repository/impl/ClientRepository.class
index d5200a1291f7edff2158f8e3b6c0276cee9f31ea..155a44b5c55392b0c43f96fcd159f827359a5777 100644
Binary files a/banking-server/target/classes/ufrn/imd/repository/impl/ClientRepository.class and b/banking-server/target/classes/ufrn/imd/repository/impl/ClientRepository.class differ
diff --git a/banking-server/target/classes/ufrn/imd/service/BalanceService.class b/banking-server/target/classes/ufrn/imd/service/BalanceService.class
deleted file mode 100644
index a3fa528b1ec10f571b2fa396f9a310eddca7e4cc..0000000000000000000000000000000000000000
Binary files a/banking-server/target/classes/ufrn/imd/service/BalanceService.class and /dev/null differ
diff --git a/banking-server/target/classes/ufrn/imd/service/DepositService.class b/banking-server/target/classes/ufrn/imd/service/DepositService.class
deleted file mode 100644
index e417806b1752cd381b3bce46f34ff2a4c8e3b3d3..0000000000000000000000000000000000000000
Binary files a/banking-server/target/classes/ufrn/imd/service/DepositService.class and /dev/null differ
diff --git a/banking-server/target/classes/ufrn/imd/service/WidthawService.class b/banking-server/target/classes/ufrn/imd/service/WidthawService.class
deleted file mode 100644
index 87f4370c406e13dec8e6ee9115f250d18054b342..0000000000000000000000000000000000000000
Binary files a/banking-server/target/classes/ufrn/imd/service/WidthawService.class and /dev/null differ
diff --git a/banking-server/target/classes/ufrn/imd/service/impl/BalanceServiceImpl.class b/banking-server/target/classes/ufrn/imd/service/impl/BalanceServiceImpl.class
index a5e1a4d127fd1ae794f2509bcd0e3fed486f2dbe..57779ee31278c81ffb0caab53459b83b0f814be4 100644
Binary files a/banking-server/target/classes/ufrn/imd/service/impl/BalanceServiceImpl.class and b/banking-server/target/classes/ufrn/imd/service/impl/BalanceServiceImpl.class differ
diff --git a/banking-server/target/classes/ufrn/imd/service/impl/DepositServiceImpl.class b/banking-server/target/classes/ufrn/imd/service/impl/DepositServiceImpl.class
index 8a7bee88adf7fc8e715e5f685cc3ca200269eec5..7663a247d03d86603195f6987564d6775fa06d0b 100644
Binary files a/banking-server/target/classes/ufrn/imd/service/impl/DepositServiceImpl.class and b/banking-server/target/classes/ufrn/imd/service/impl/DepositServiceImpl.class differ
diff --git a/banking-server/target/classes/ufrn/imd/utils/NameSpace.class b/banking-server/target/classes/ufrn/imd/utils/NameSpace.class
index 84c708c4860b4dc11f4b780a762e8ab3b3db8aa2..4352c7ac97153fc0ffa5de6fbc6076a0ad780fa8 100644
Binary files a/banking-server/target/classes/ufrn/imd/utils/NameSpace.class and b/banking-server/target/classes/ufrn/imd/utils/NameSpace.class differ