From 6ea0fd08e78d8b6e67e2e020e109d04639347415 Mon Sep 17 00:00:00 2001 From: unknown <fernando.ferreira.129@imd.local> Date: Mon, 18 Apr 2022 11:30:08 -0300 Subject: [PATCH] Banking server --- banking-server/.idea/.gitignore | 3 + banking-server/.idea/compiler.xml | 13 +++ banking-server/.idea/jarRepositories.xml | 20 ++++ banking-server/.idea/misc.xml | 14 +++ banking-server/.idea/vcs.xml | 6 ++ banking-server/pom.xml | 24 +++++ .../main/java/ufrn/imd/BankingServerApp.java | 26 +++++ .../java/ufrn/imd/controller/Controller.java | 11 ++ .../impl/BalanceControllerImpl.java | 95 ++++++++++++++++++ .../impl/DepositControllerImpl.java | 95 ++++++++++++++++++ .../main/java/ufrn/imd/domain/Account.java | 18 ++++ .../src/main/java/ufrn/imd/domain/Client.java | 22 ++++ .../java/ufrn/imd/repository/Repository.java | 9 ++ .../imd/repository/impl/ClientRepository.java | 24 +++++ .../java/ufrn/imd/service/BalanceService.java | 12 +++ .../java/ufrn/imd/service/DepositService.java | 13 +++ .../java/ufrn/imd/service/WidthawService.java | 12 +++ .../imd/service/impl/BalanceServiceImpl.java | 22 ++++ .../imd/service/impl/DepositServiceImpl.java | 23 +++++ .../src/main/java/ufrn/imd/utils/Log.java | 10 ++ .../main/java/ufrn/imd/utils/NameSpace.java | 11 ++ .../classes/ufrn/imd/BankingServerApp.class | Bin 0 -> 1114 bytes .../ufrn/imd/controller/Controller.class | Bin 0 -> 252 bytes .../classes/ufrn/imd/domain/Account.class | Bin 0 -> 1315 bytes .../classes/ufrn/imd/domain/Client.class | Bin 0 -> 484 bytes .../classes/ufrn/imd/utils/NameSpace.class | Bin 0 -> 849 bytes .../src/ufrn/imd/repository/Repository.java | 2 + .../imd/repository/impl/ClientRepository.java | 2 + 28 files changed, 487 insertions(+) create mode 100644 banking-server/.idea/.gitignore create mode 100644 banking-server/.idea/compiler.xml create mode 100644 banking-server/.idea/jarRepositories.xml create mode 100644 banking-server/.idea/misc.xml create mode 100644 banking-server/.idea/vcs.xml create mode 100644 banking-server/pom.xml create mode 100644 banking-server/src/main/java/ufrn/imd/BankingServerApp.java create mode 100644 banking-server/src/main/java/ufrn/imd/controller/Controller.java create mode 100644 banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java create mode 100644 banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java create mode 100644 banking-server/src/main/java/ufrn/imd/domain/Account.java create mode 100644 banking-server/src/main/java/ufrn/imd/domain/Client.java create mode 100644 banking-server/src/main/java/ufrn/imd/repository/Repository.java create mode 100644 banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java create mode 100644 banking-server/src/main/java/ufrn/imd/service/BalanceService.java create mode 100644 banking-server/src/main/java/ufrn/imd/service/DepositService.java create mode 100644 banking-server/src/main/java/ufrn/imd/service/WidthawService.java create mode 100644 banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java create mode 100644 banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java create mode 100644 banking-server/src/main/java/ufrn/imd/utils/Log.java create mode 100644 banking-server/src/main/java/ufrn/imd/utils/NameSpace.java create mode 100644 banking-server/target/classes/ufrn/imd/BankingServerApp.class create mode 100644 banking-server/target/classes/ufrn/imd/controller/Controller.class create mode 100644 banking-server/target/classes/ufrn/imd/domain/Account.class create mode 100644 banking-server/target/classes/ufrn/imd/domain/Client.class create mode 100644 banking-server/target/classes/ufrn/imd/utils/NameSpace.class create mode 100644 banking/src/ufrn/imd/repository/Repository.java create mode 100644 banking/src/ufrn/imd/repository/impl/ClientRepository.java diff --git a/banking-server/.idea/.gitignore b/banking-server/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/banking-server/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/banking-server/.idea/compiler.xml b/banking-server/.idea/compiler.xml new file mode 100644 index 0000000..1e78cc9 --- /dev/null +++ b/banking-server/.idea/compiler.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="banking-server" /> + </profile> + </annotationProcessing> + </component> +</project> \ No newline at end of file diff --git a/banking-server/.idea/jarRepositories.xml b/banking-server/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/banking-server/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> + <option name="url" value="https://repo.maven.apache.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + </component> +</project> \ No newline at end of file diff --git a/banking-server/.idea/misc.xml b/banking-server/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/banking-server/.idea/misc.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ExternalStorageConfigurationManager" enabled="true" /> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/out" /> + </component> +</project> \ No newline at end of file diff --git a/banking-server/.idea/vcs.xml b/banking-server/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/banking-server/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/banking-server/pom.xml b/banking-server/pom.xml new file mode 100644 index 0000000..24fae72 --- /dev/null +++ b/banking-server/pom.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.example</groupId> + <artifactId>banking-server</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>1.18.24</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file diff --git a/banking-server/src/main/java/ufrn/imd/BankingServerApp.java b/banking-server/src/main/java/ufrn/imd/BankingServerApp.java new file mode 100644 index 0000000..4fed739 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/BankingServerApp.java @@ -0,0 +1,26 @@ +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.service.impl.BalanceServiceImpl; +import ufrn.imd.service.impl.DepositServiceImpl; + +import java.net.MalformedURLException; +import java.rmi.AlreadyBoundException; +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(); + + 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 new file mode 100644 index 0000000..824205a --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/controller/Controller.java @@ -0,0 +1,11 @@ +package ufrn.imd.controller; + +import ufrn.imd.domain.Client; + +import java.rmi.Remote; +import java.rmi.RemoteException; + +public interface Controller extends Remote { + public void registerClient(Client 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 new file mode 100644 index 0000000..dc21b11 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/controller/impl/BalanceControllerImpl.java @@ -0,0 +1,95 @@ +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.Log; + +import java.net.MalformedURLException; +import java.rmi.AlreadyBoundException; +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 static ufrn.imd.utils.NameSpace.HOST_BALANCE_SERVICE; +import static ufrn.imd.utils.NameSpace.PORT_BALANCE_SERVICE; + +public class BalanceControllerImpl extends UnicastRemoteObject implements Controller { + + private volatile List<Client> clients = new ArrayList<>(); + + public BalanceControllerImpl(BalanceService service) throws RemoteException, MalformedURLException, AlreadyBoundException { + super(); + Log.info(BalanceServiceImpl.class, "Starting Deposit service!"); + + new Notify(service).start(); + + Log.info(BalanceServiceImpl.class, + String.format("Initializing server in %s", HOST_BALANCE_SERVICE)); + + LocateRegistry.createRegistry(PORT_BALANCE_SERVICE); + + Naming.bind(HOST_BALANCE_SERVICE, this); + } + + @Override + public void registerClient(Client client) throws RemoteException { + clients.add(client); + Log.info(BalanceService.class, "new client registred"); + Log.info(BalanceService.class, 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( + BalanceService.class, + "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(BalanceService.class, "No there's clients!"); + } + + } + + } + } +} 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 new file mode 100644 index 0000000..b84139b --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/controller/impl/DepositControllerImpl.java @@ -0,0 +1,95 @@ +package ufrn.imd.controller.impl; + +import ufrn.imd.controller.Controller; +import ufrn.imd.domain.Client; +import ufrn.imd.service.DepositService; +import ufrn.imd.utils.Log; + +import java.net.MalformedURLException; +import java.rmi.AlreadyBoundException; +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 static ufrn.imd.utils.NameSpace.HOST_DEPOSIT_SERVICE; +import static ufrn.imd.utils.NameSpace.PORT_DEPOSIT_SERVICE; + +public class DepositControllerImpl extends UnicastRemoteObject implements Controller { + + private volatile List<Client> clients = new ArrayList<>(); + public DepositControllerImpl(DepositService service) throws RemoteException, MalformedURLException, AlreadyBoundException { + super(); + Log.info(DepositControllerImpl.class, "Starting Deposit service!"); + + new Notify(service).start(); + Log.info(DepositControllerImpl.class, + String.format("Initializing server in %s", HOST_DEPOSIT_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(DepositControllerImpl.class, "new client registred"); + Log.info(DepositControllerImpl.class, String.format("total users: %d", 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) { + + Log.info( + DepositControllerImpl.class, + "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(DepositControllerImpl.class, "No there's clients!"); + + + } + + } + + } + } +} diff --git a/banking-server/src/main/java/ufrn/imd/domain/Account.java b/banking-server/src/main/java/ufrn/imd/domain/Account.java new file mode 100644 index 0000000..b800c2b --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/domain/Account.java @@ -0,0 +1,18 @@ +package ufrn.imd.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class Account implements Serializable { + + private static final long serialVersionUID = 2L; + private Integer id; + private String number; + private Double balance; +} diff --git a/banking-server/src/main/java/ufrn/imd/domain/Client.java b/banking-server/src/main/java/ufrn/imd/domain/Client.java new file mode 100644 index 0000000..2ce2883 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/domain/Client.java @@ -0,0 +1,22 @@ +package ufrn.imd.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Client implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + + private String name; + + private Account account; + +} diff --git a/banking-server/src/main/java/ufrn/imd/repository/Repository.java b/banking-server/src/main/java/ufrn/imd/repository/Repository.java new file mode 100644 index 0000000..636bf2b --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/repository/Repository.java @@ -0,0 +1,9 @@ +package ufrn.imd.repository; + +import java.util.List; + +public interface Repository <T>{ + + public T find(Integer id); + public List<T> 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 new file mode 100644 index 0000000..bce53da --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/repository/impl/ClientRepository.java @@ -0,0 +1,24 @@ +package ufrn.imd.repository.impl; + +import ufrn.imd.domain.Client; +import ufrn.imd.repository.Repository; + +import java.util.List; + +public class ClientRepository implements Repository<Client> { + List<Client> clients = List.of( + new Client(), + new Client() + + ); + + @Override + public Client find(Integer id) { + return (Client) clients.stream().filter(c -> c.getId().equals(id)); + } + + @Override + public List<Client> findAll() { + return clients; + } +} diff --git a/banking-server/src/main/java/ufrn/imd/service/BalanceService.java b/banking-server/src/main/java/ufrn/imd/service/BalanceService.java new file mode 100644 index 0000000..b82470c --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/service/BalanceService.java @@ -0,0 +1,12 @@ +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> 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 new file mode 100644 index 0000000..aab39ac --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/service/DepositService.java @@ -0,0 +1,13 @@ +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> account) throws RemoteException, RuntimeException; + +} diff --git a/banking-server/src/main/java/ufrn/imd/service/WidthawService.java b/banking-server/src/main/java/ufrn/imd/service/WidthawService.java new file mode 100644 index 0000000..8a5ed3b --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/service/WidthawService.java @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..85bb341 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/service/impl/BalanceServiceImpl.java @@ -0,0 +1,22 @@ +package ufrn.imd.service.impl; + +import ufrn.imd.domain.Account; +import ufrn.imd.service.BalanceService; +import ufrn.imd.utils.Log; + +import java.rmi.RemoteException; +import java.util.Optional; + +public class BalanceServiceImpl implements BalanceService { + + + @Override + public void balance(Optional<Account> accOP) throws RemoteException { + Account account = accOP.orElseThrow(() -> new RuntimeException("Invalid account")); + Log.info( + BalanceServiceImpl.class, + String.format("Account Balance: R$ %f", account.getBalance()) + ); + + } +} 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 new file mode 100644 index 0000000..1909f69 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/service/impl/DepositServiceImpl.java @@ -0,0 +1,23 @@ +package ufrn.imd.service.impl; + +import ufrn.imd.domain.Account; +import ufrn.imd.service.DepositService; +import ufrn.imd.utils.Log; + +import java.rmi.RemoteException; +import java.util.Optional; + +public class DepositServiceImpl implements DepositService { + + public DepositServiceImpl() { + super(); + } + + public void deposit(Double value, Optional<Account> 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/src/main/java/ufrn/imd/utils/Log.java b/banking-server/src/main/java/ufrn/imd/utils/Log.java new file mode 100644 index 0000000..38d3f87 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/utils/Log.java @@ -0,0 +1,10 @@ +package ufrn.imd.utils; + +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-server/src/main/java/ufrn/imd/utils/NameSpace.java b/banking-server/src/main/java/ufrn/imd/utils/NameSpace.java new file mode 100644 index 0000000..bb5d525 --- /dev/null +++ b/banking-server/src/main/java/ufrn/imd/utils/NameSpace.java @@ -0,0 +1,11 @@ +package ufrn.imd.utils; + +public class NameSpace { + + public final static Integer PORT_BALANCE_SERVICE = 1908; + public final static Integer PORT_DEPOSIT_SERVICE = 1907; + public final static String HOST_DEPOSIT_SERVICE = + String.format("rmi://127.0.0.1:%d/%s", PORT_DEPOSIT_SERVICE, "deposit"); + public final static String HOST_BALANCE_SERVICE = + String.format("rmi://127.0.0.1:%d/%s", PORT_BALANCE_SERVICE, "balance"); +} diff --git a/banking-server/target/classes/ufrn/imd/BankingServerApp.class b/banking-server/target/classes/ufrn/imd/BankingServerApp.class new file mode 100644 index 0000000000000000000000000000000000000000..e981c23cd377d28abc4078145c4d6009f4c2c7e6 GIT binary patch literal 1114 zcmaKsTTc@~6vzM578XjOH(EguL93RFT{S+5no!ilWWj_gN#oOYcc_DVX{KAEU%>C< zQxlu`0sK(LGuyJuHsC(Y?3~O0cg~#b{`vdsH-J}omPHC_4VfHfFw0OlH!n=xF}<$- zp>xiyfMNEf@I>&MAzj}-)iB3UADl@~7p|@Mxx5e-r}v(tzu`T<FM`(C_MS{xXi9wH z#+0T>D2pdjvMObXp%GCm-wUMgI9w(`hmm>AT0}v0QDmsqjVSrD#AJ2*s+IEpAd}Lj zAth84q<TFh*-r>rVOWidX`0?w;dNENTpsj#44FgU<_vj5c>H+acDVd#b{w*l4Bs-H zQ&S3co)|O17tv=}i`$!4+$Txb6dpsh{@IA9*$O0qsUq^5vP&Z6YupS=c4CSQTQTc~ ztE8k(Vvg4)O<fH`aYBl3m|-)9T^V{DLERN6tk}qqef!Pgy+HV0U&AiLO4zq_g?_?a zKj4vD!()bx(ChI)KQf&&U%K4>bYfhI(Jy0^!hs{XX@76}1J90P2-)%n(&F!gnpI_b z3Jrz87H-kkrJfX+`o3sgrISuOqkU#)2=+5{-=<Z$fjrh|&5Z-FjyrUk#|G|_h)Vu} zG)V!q5w!LY^Tr5S+H*%EEVg%t$RCeTYVQrP{2~);SHqkV=1@if6;i6=KCO!Ne5{8} sDi{>8j(g;ze*u<J!-J5!fQNWQWM!|@TL#-<Y#KY*LxZeO=$yjSe>tuukN^Mx literal 0 HcmV?d00001 diff --git a/banking-server/target/classes/ufrn/imd/controller/Controller.class b/banking-server/target/classes/ufrn/imd/controller/Controller.class new file mode 100644 index 0000000000000000000000000000000000000000..4707c271c661d159f8019f881ffc3f31e61a85d3 GIT binary patch literal 252 zcmZ8c%W48a5Ue&Pqb6#Of{=5(I3EylTH+}XP{@6p?JOg+GcwKwzs-Xm;70}91UBHI z=&pWLSD$_kM*y!FDRc-=%~uNA)upyE<P^Q<q>DCH=n@_`=G$m*LZv^}8@5^DjxheM zrrPNx*D*6;l(=%c%&G8>Lnch0-&^@I*2V?>*Ls<K5(aO3%iHW?*eTo-CRc)OTSiy0 mNtPGR%bD@Nz4>KDybx{#xAGT>Uxl8qzOb&uf#5;%4u)s-d_xcb literal 0 HcmV?d00001 diff --git a/banking-server/target/classes/ufrn/imd/domain/Account.class b/banking-server/target/classes/ufrn/imd/domain/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..a4b43e01d80f1a91b78f2901d9f2ba08f07e460b GIT binary patch literal 1315 zcmZ{jU2oD*9LAqh3JffR0b|a$ZB8AqmwGL_M7Nk=h+d%F7pQm^Xp>UB@Kb3bG4a9= z;D<6kr!Aw9vL!t|J<tC+zyAw=|NZ_0;1!<dp&^xpZXk_}K<UQ%YMEop8JQpYH}=36 z$h?$}^e+Wc^+qp;E#$Ju8@K~QU~l%>b4)oInnQPDNymIW7`QWsQJNeIR60w$w&U9) z+iNL@Z39J=Xzk1<ecKZ#$An$qlg=p6l?_x-70C82A`R?S;k7&KkL^|#HGyhyk#x<j z?MZ7azgawDI@4g=v%RTwolos+0r5_taOFBv-*Wt(HJ;gNRzm%00{WFZWLU8y9s7O2 z_AxXncie$B?pZXaar9C5zsRY;erH1!S^_WXvCI}Fh<%EZjeUu-YV-usBinDYjJx$l zOt5g_`7}JQC0(Knax@6jV1-spqI)T!$3n6j_lXqBCQq9;iw>;%M6}e<=T@^~6iX=I zb!Xndek)aPjA&LaRO@iWvCzO=q2nI*aF_4<swv!QYS@BzPED|KD!6V@!>Q%-0e2=> z!8P6d1@R-0J>*jzg9eZIG(rImaLAnsKH^gak9mpCwW@-fr*mYRXLA&q=X2~Vy=sh5 zE;<UxVVnO&4rnRxZiexZH=P1#b$3+_JN?z00#EVI$2g8|USj`5_B%xyme`d<>?e2{ z1z%FFj57i95>)-F!78R%N0oRjRNca5A~=C(I7t90tb^Q71gWEu1X5TBIUva41`t&n m)wm{36F_#>L5>qa&TyUt5^G&pkrRT{H-M<tD3FVw2j+irY1&8t literal 0 HcmV?d00001 diff --git a/banking-server/target/classes/ufrn/imd/domain/Client.class b/banking-server/target/classes/ufrn/imd/domain/Client.class new file mode 100644 index 0000000000000000000000000000000000000000..bb9cd9b4e1c8f13d9f1421b515a67c9eb8a0a2d7 GIT binary patch literal 484 zcmZWm%TB{E5FDpz1ARbgOKEu=xB&<90X!sBgj5v4p^&?qnBpq2rNrUDUvWa>zz6VA zh;@Plf>;^v?%3m5`{VQN9l#m(ns89_;I>gmgQ2_RPux$qTKKo~rHBke<5VhX&KYV4 zhoOfRhGFrLDPN|sAM2D$<xdhRl=0AH7?c81`!kVAp2%lDPXy`aWg3bsms;IVFB#Z1 zLuaB@Zn!cbPYO{dOZH<7j*J=l!H=7%GGZaJ69!lDloWfv$eGEcS`g>)DAI)@*W=)? z$%~4z3KJcZ!g?T;xGB=P$nGkay+B7i2{}0@*WX3gJj$G5^iQzrn)I48U1X8ClD5-U zRX(=Xu@8^#mthqyw$VbH;tqA_V2%DRHp;k%emM`YX}hOEZ$UVu%rA4Ge)J0VQZCyf Vv@{hlBDA759@7za`wpRl-7h`$YN7xD literal 0 HcmV?d00001 diff --git a/banking-server/target/classes/ufrn/imd/utils/NameSpace.class b/banking-server/target/classes/ufrn/imd/utils/NameSpace.class new file mode 100644 index 0000000000000000000000000000000000000000..8e3544457d0587d06e53b5e9bf8eaaace60ff7db GIT binary patch literal 849 zcmZ`%ZEq4m5Pp`I-f>=EINDmOR%?qwRj&BO2-S#4BME_~M@X7}Aj`4fHOEnpqyJ0$ z!Nx>?fIrGO3s}&mcgf7o?7Tet%>4TO{U?Ao$Y}^6tRSKziUo$1Gk(EMmwP?4-aZp{ zz_4)Ocuw$^A)L-MHK>Rw&~)5^&Jdr4SG+*<gwLQ{aCao?U552^B~!f-QHWs)%L-O> z#9=UOjJm#OI{l703LJN6)_7l7=iC+yt4H<YM(cgCTCA1IEvtOotdz<OiCc=U>R6K% zCutwbM|G>x_?xEUF2kDNck-s0d-*E6Pk%0->X@maiX_4Ai1WeF2{hcpeFYD6Y~kTQ zgjj*^cs(MdJMjCQn0cL^12VZSoX)u>3>M}&m_|towskzl4x#;6w;HYg&@vcvg{E05 zQiQY3X*{-&C7$X?&r00jDN-7Ah{ffq<B8g+-xhv@w_WlW)q&03Cifj_Po0tAlQU%4 ztll<{0)u*ByVGsZtii~)#i1h$E?o~TE9Z@E0vDnMiy$e7OsAwA%~;c;$C{9n4uQ$d zBbgz~B+W=i_r8IB8DH;_l-EEQ&q(T%06fPFvQ%WRlRr}-`4!_za0TTOi*aQ*J|v9w z=nsTW!e5cFP9nyJb%o7KJes)|rF(bcej*z)$i`bxNJbH(CI+2%s9}bzJT$x`%?Po4 G!~P$)mbD51 literal 0 HcmV?d00001 diff --git a/banking/src/ufrn/imd/repository/Repository.java b/banking/src/ufrn/imd/repository/Repository.java new file mode 100644 index 0000000..a7b91a1 --- /dev/null +++ b/banking/src/ufrn/imd/repository/Repository.java @@ -0,0 +1,2 @@ +package ufrn.imd.repository;public interface Repository { +} diff --git a/banking/src/ufrn/imd/repository/impl/ClientRepository.java b/banking/src/ufrn/imd/repository/impl/ClientRepository.java new file mode 100644 index 0000000..2713501 --- /dev/null +++ b/banking/src/ufrn/imd/repository/impl/ClientRepository.java @@ -0,0 +1,2 @@ +package ufrn.imd.repository.impl;public class ClientRepository { +} -- GitLab