SHARE
TWEET

SD

a guest Oct 23rd, 2017 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package admin.console;
  2.  
  3. import database.Database;
  4. import interfaces.DataInt;
  5. import interfaces.DatabaseInt;
  6. import interfaces.organizacoes.DepartamentoInt;
  7. import interfaces.organizacoes.FaculdadeInt;
  8. import interfaces.pessoas.AlunoInt;
  9. import interfaces.pessoas.DocenteInt;
  10. import interfaces.pessoas.FuncionarioInt;
  11. import interfaces.pessoas.PessoaInt;
  12. import models.organizacoes.Departamento;
  13. import models.organizacoes.Faculdade;
  14. import models.pessoas.Pessoa;
  15.  
  16. import java.rmi.RemoteException;
  17. import java.rmi.registry.LocateRegistry;
  18. import java.util.Arrays;
  19. import java.util.Scanner;
  20.  
  21. /**
  22.  * Created by Carlos on 19-10-2017.
  23.  */
  24. public class AdminConsole {
  25.    
  26.     private static String ip = "192.168.1.67";
  27.     private static int port = 8000;
  28.    
  29.     private static boolean newPessoa(DatabaseInt databaseInt) {
  30.         Scanner sc = new Scanner(System.in);
  31.         try {
  32.             if (databaseInt.getFaculdades().isEmpty()) {
  33.                 System.out.print("Não Existem Faculdades. Por favor insira uma.");
  34.                 sc.nextLine();
  35.                 return false;
  36.             }
  37.  
  38.  
  39.  
  40.             FaculdadeInt faculdadeInt;
  41.             DepartamentoInt departamentoInt;
  42.             PessoaInt pessoaInt;
  43.             DataInt dataInt;
  44.             AlunoInt alunoInt;
  45.             DocenteInt docenteInt;
  46.             FuncionarioInt funcionarioInt;
  47.             int r1;
  48.  
  49.  
  50.  
  51.             System.out.print("Escolha a faculdade:\n");
  52.  
  53.             for(int i = 0; i < databaseInt.getFaculdades().size(); i++) {
  54.                 faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String .valueOf(databaseInt.getFaculdade(i)));
  55.                 System.out.print(i + " - " + faculdadeInt.getNome() + "\n");
  56.             }
  57.  
  58.             r1 = sc.nextInt();
  59.  
  60.             while (r1 < 0 || r1 > databaseInt.getFaculdades().size() - 1) {
  61.                 System.out.print("Por favor insira um número de faculdade válido.\n");
  62.                 r1 = sc.nextInt();
  63.             }
  64.  
  65.             faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(r1)));
  66.  
  67.  
  68.  
  69.             if (faculdadeInt.getDepartamentos().isEmpty()) {
  70.                 System.out.print("Esta faculdade não tem departamentos. Por favor insira um.");
  71.                 return false;
  72.             }
  73.  
  74.  
  75.  
  76.             System.out.print("Escolha o departamento:\n");
  77.  
  78.             for(int i = 0; i < faculdadeInt.getDepartamentos().size(); i++) {
  79.                 departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(faculdadeInt.getDepartamento(i)));
  80.                 System.out.print(i + " - " + departamentoInt.getNome() + "\n");
  81.             }
  82.  
  83.             r1 = sc.nextInt();
  84.  
  85.             while (r1 < 0 || r1 > faculdadeInt.getDepartamentos().size() - 1) {
  86.                 System.out.print("Por favor insira um número de departamento válido.\n");
  87.             }
  88.  
  89.             departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(faculdadeInt.getDepartamento(r1)));
  90.  
  91.  
  92.  
  93.             System.out.print(
  94.                     "Escolha o tipo de pessoa a inserir:\n" +
  95.                             "1 - Aluno\n" +
  96.                             "2 - Docente\n" +
  97.                             "3 - Funcionário\n"
  98.             );
  99.  
  100.             pessoaInt = null;
  101.  
  102.             while(!Arrays.toString(new int[]{1,2,3}).contains(String.valueOf((r1 = sc.nextInt()))))
  103.                     System.out.print("Por favor insira um número correspondente a um dos tipos disponíveis.\n");
  104.  
  105.             switch (r1) {
  106.                 case 1:
  107.                     pessoaInt = (PessoaInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(departamentoInt.newAluno(11)));
  108.                     break;
  109.  
  110.                 case 2:
  111.                     pessoaInt = (PessoaInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(departamentoInt.newDocente(11)));
  112.                     break;
  113.  
  114.                 case 3:
  115.                     pessoaInt = (PessoaInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(departamentoInt.newFuncionario(11)));
  116.                     break;
  117.             }
  118.             System.out.print("Insira o Nome: ");
  119.             sc.nextLine();
  120.  
  121.  
  122.             while (!pessoaInt.setNome(sc.nextLine()))
  123.                 System.out.print("Por favor insira um nome só com letras.\n");
  124.  
  125.             System.out.print("Insira o Username: ");
  126.             while (!pessoaInt.setUsername(sc.nextLine()))
  127.                 System.out.print("Por favor insira um username com entre 8 a 20 caracteres.\n");
  128.  
  129.             System.out.print("Insira a Password: ");
  130.             while (!pessoaInt.setPassword(sc.nextLine()))
  131.                 System.out.print("Por favor insira uma password com entre 8 a 20 caracteres.\n");
  132.  
  133.             System.out.print("Insira o número de telemovél: ");
  134.             while (!pessoaInt.setTelemovel(sc.nextLine()))
  135.                 System.out.print("Por favor insira um número de telemóvel com apenas 9 dígitos.\n");
  136.  
  137.             System.out.print("Insira a Morada: ");
  138.             while (!pessoaInt.setMorada(sc.nextLine()))
  139.                 System.out.print("Por favor insira pelo menos 1 caracter na morada.\n");
  140.  
  141.             System.out.print("Insira Código Postal: ");
  142.             while (!pessoaInt.setCodigoPostal(sc.nextLine()))
  143.                 System.out.print("Por favor insira um código postal neste formato '0000-000'.\n");
  144.  
  145.             System.out.print("Insira Localidade: ");
  146.             while (!pessoaInt.setLocalidade(sc.nextLine()))
  147.                 System.out.print("Por favor insira uma localidade com pelo menos 1 caractér.\n");
  148.  
  149.             System.out.print("Insira o número do Cartão de Cidadão: ");
  150.             while (!pessoaInt.setNumeroCC(sc.nextLine()))
  151.                 System.out.print("Por favor insira um número de cartão de cidadão com apenas 8 dígitos.\n");
  152.  
  153.             if (pessoaInt.isAluno()) {
  154.                 alunoInt = (AlunoInt) pessoaInt;
  155.                 System.out.print("Insira o Número de Aluno: ");
  156.                 while (!alunoInt.setNumeroAluno(sc.nextLine()))
  157.                     System.out.print("Por favor insira um número de aluno com apenas 10 digitos.\n");
  158.  
  159.                 System.out.print("Insira um Curso: ");
  160.                 while (!alunoInt.setCurso(sc.nextLine()))
  161.                     System.out.print("Por favora insira o nome do curso usando apenas letras.\n");
  162.             }
  163.  
  164.             if (pessoaInt.isDocente()) {
  165.                 docenteInt = (DocenteInt) pessoaInt;
  166.                 System.out.print("Insira o Cargo: ");
  167.                 while (!docenteInt.setCargo(sc.nextLine()))
  168.                     System.out.print("Por favor insira um cargo com pelo menos 1 caractér.\n");
  169.             }
  170.  
  171.             if (pessoaInt.isFuncionario()) {
  172.                 funcionarioInt = (FuncionarioInt)  pessoaInt;
  173.                 System.out.print("Insira a Função: ");
  174.                 while(!funcionarioInt.setFuncao(sc.nextLine()))
  175.                     System.out.print("Por favor insira uma função com pelo menos 1 caractér.\n");
  176.             }
  177.  
  178.  
  179.             dataInt = (DataInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(pessoaInt.getValidadeCC()));
  180.             r1 = 0;
  181.             do {
  182.                 if(r1++ != 0) System.out.print("Por favor insira valores válidos para a validade do cartão de cidadão.\n");
  183.                 System.out.print("Insira o ano da validade do cartão de cidadão: ");
  184.                 dataInt.setAno(sc.nextInt());
  185.                 System.out.print("Insira o mês da validade do cartão de cidadão: ");
  186.                 dataInt.setMes(sc.nextInt());
  187.                 System.out.print("Insira o dia da validade do cartão de cidadão: ");
  188.                 dataInt.setDia(sc.nextInt());
  189.             } while(!dataInt.test());
  190.  
  191.             dataInt = (DataInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(pessoaInt.getDataNascimento()));
  192.             r1 = 0;
  193.             do {
  194.                 if(r1++ != 0) System.out.print("Por favor insira valores válidos para a data de nascimento.\n");
  195.                 System.out.print("Insira o ano da data de nascimento: ");
  196.                 dataInt.setAno(sc.nextInt());
  197.                 System.out.print("Insira o mês da data de nascimento: ");
  198.                 dataInt.setMes(sc.nextInt());
  199.                 System.out.print("Insira o dia da data de nascimento: ");
  200.                 dataInt.setDia(sc.nextInt());
  201.             } while(!dataInt.test());
  202.  
  203.             System.out.print(
  204.                     "Escolha um Género:\n" +
  205.                             "1 - Masculino\n" +
  206.                             "2 - Femenino\n" +
  207.                             "3 - Outro\n"
  208.             );
  209.  
  210.             while(!Arrays.toString(new int[]{1,2,3}).contains(String.valueOf((r1 = sc.nextInt()))))
  211.                 System.out.print("Por favor insira um número correspondente a um dos géneros disponíveis.\n");
  212.  
  213.             switch (r1) {
  214.                 case 1:
  215.                     pessoaInt.setGenero("Masculino");
  216.                     break;
  217.  
  218.                 case 2:
  219.                     pessoaInt.setGenero("Feminino");
  220.                     break;
  221.  
  222.                 case 3:
  223.                     pessoaInt.setGenero("Outro");
  224.                     break;
  225.             }
  226.  
  227.  
  228.         } catch (Exception e) {
  229.             e.printStackTrace();
  230.         }
  231.         return true;
  232.     }
  233.  
  234.     private static String editProperty(Scanner sc, String p, String v) {
  235.         System.out.print(p + " Antigo: " + v +
  236.         "\n" + p + " Novo: ");
  237.         return sc.nextLine();
  238.     }
  239.  
  240.     private static boolean editPessoa(PessoaInt pessoaInt) {
  241.         Scanner sc = new Scanner(System.in);
  242.         try {
  243.             AlunoInt alunoInt;
  244.             DocenteInt docenteInt;
  245.             FuncionarioInt funcionarioInt;
  246.  
  247.             int r1;
  248.             String r2;
  249.  
  250.             System.out.print(pessoaInt.print() + "\nPor favor insira a propriedade a editar: ");
  251.  
  252.             while (!(Arrays.toString(new String[]{
  253.                     "nome",
  254.                     "username",
  255.                     "password",
  256.                     "departamento",
  257.                     "nº telemóvel",
  258.                     "nº telemovel",
  259.                     "no telemóvel",
  260.                     "no telemovel",
  261.                     "morada",
  262.                     "código postal",
  263.                     "codigo postal",
  264.                     "localidade",
  265.                     "número c.c.",
  266.                     "numero c.c.",
  267.                     "número cc",
  268.                     "numero cc",
  269.                     "validade c.c.",
  270.                     "validade cc",
  271.                     "género",
  272.                     "genero",
  273.                     "data nascimento"
  274.             }).contains(String.valueOf((r2 = sc.nextLine()).toLowerCase()).toLowerCase()) ||
  275.                     pessoaInt.isAluno() && Arrays.toString(new String[]{
  276.                             "nºaluno",
  277.                             "no aluno",
  278.                             "curso"
  279.                     }).contains(String.valueOf((r2)).toLowerCase()) ||
  280.                     pessoaInt.isFuncionario() && Arrays.toString(new String[]{
  281.                             "função",
  282.                             "funçao",
  283.                             "funcão",
  284.                             "funcao"
  285.                     }).contains(String.valueOf((r2)).toLowerCase()) ||
  286.                     pessoaInt.isDocente() && "cargo".equals(String.valueOf((r2)).toLowerCase())))
  287.                 System.out.print("Por favor insira uma característica correspondente a uma das disponíveis.\n");
  288.  
  289.             switch (r2.toLowerCase()) {
  290.                 case "nome":
  291.                     while (!pessoaInt.setNome(editProperty(sc, "Nome", pessoaInt.getNome())))
  292.                         System.out.print("Por favor insira um nome só com letras.\n");
  293.                     break;
  294.                 case "username":
  295.                     while (!pessoaInt.setUsername(editProperty(sc, "Username", pessoaInt.getUsername())))
  296.                         System.out.print("Por favor insira um username com entre 8 a 20 caracteres.\n");
  297.                     break;
  298.                 case "password":
  299.                     while (!pessoaInt.setPassword(editProperty(sc, "Password", pessoaInt.getPassword())))
  300.                         System.out.print("Por favor insira uma password com entre 8 a 20 caracteres.\n");
  301.                     break;
  302.                 case "departamento":
  303.                     editDepartamento((DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(pessoaInt.getDepartamentoInt())));
  304.                     break;
  305.                 case "nº telemóvel":
  306.                 case "nº telemovel":
  307.                 case "no telemóvel":
  308.                 case "no telemovel":
  309.                     while (!pessoaInt.setTelemovel(editProperty(sc, "Nº Telemóvel", String.valueOf(pessoaInt.getTelemovel()))))
  310.                         System.out.print("Por favor insira um número de telemóvel com apenas 9 dígitos.\n");
  311.                     break;
  312.                 case "morada":
  313.                     while (!pessoaInt.setMorada(editProperty(sc, "Morada", pessoaInt.getMorada())))
  314.                         System.out.print("Por favor insira pelo menos 1 caracter na morada.\n");
  315.                     break;
  316.                 case "código postal":
  317.                 case "codigo postal":
  318.                     while (!pessoaInt.setCodigoPostal(editProperty(sc, "Código Postal", pessoaInt.getCodigoPostal())))
  319.                         System.out.print("Por favor insira um código postal neste formato '0000-000'.\n");
  320.                     break;
  321.                 case "localidade":
  322.                     while (!pessoaInt.setLocalidade(editProperty(sc, "Localidade", pessoaInt.getLocalidade())))
  323.                         System.out.print("Por favor insira uma localidade com pelo menos 1 caractér.\n");
  324.                     break;
  325.                 case "número c.c.":
  326.                 case "numero c.c.":
  327.                 case "número cc":
  328.                 case "numero cc":
  329.                     while (!pessoaInt.setNumeroCC(editProperty(sc, "Número C.C.", String.valueOf(pessoaInt.getNumeroCC()))))
  330.                         System.out.print("Por favor insira um número de cartão de cidadão com apenas 8 dígitos.\n");
  331.                     break;
  332.                 case "validade c.c.":
  333.                 case "validade cc":
  334.                     editData((DataInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(pessoaInt.getValidadeCC())));
  335.                     break;
  336.                 case "género":
  337.                 case "genero":
  338.                     System.out.print(
  339.                             "Género Antigo: " + pessoaInt.getGenero() +
  340.                                     "Escolha um Género:\n" +
  341.                                     "1 - Masculino\n" +
  342.                                     "2 - Femenino\n" +
  343.                                     "3 - Outro\n"
  344.                     );
  345.  
  346.                     while (!Arrays.toString(new int[]{1, 2, 3}).contains(String.valueOf((r1 = sc.nextInt()))))
  347.                         System.out.print("Por favor insira um número correspondente a um dos géneros disponíveis.\n");
  348.  
  349.                     switch (r1) {
  350.                         case 1:
  351.                             pessoaInt.setGenero("Masculino");
  352.                             break;
  353.  
  354.                         case 2:
  355.                             pessoaInt.setGenero("Feminino");
  356.                             break;
  357.  
  358.                         case 3:
  359.                             pessoaInt.setGenero("Outro");
  360.                             break;
  361.                     }
  362.                     break;
  363.                 case "data nascimento":
  364.                     editData((DataInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(pessoaInt.getDataNascimento())));
  365.                     break;
  366.                 case "nº aluno":
  367.                 case "no aluno":
  368.                     alunoInt = (AlunoInt) pessoaInt;
  369.                     while (!alunoInt.setNumeroAluno(editProperty(sc, "Nº Aluno", String.valueOf(alunoInt.getNumeroAluno()))))
  370.                         System.out.print("Por favor insira um número de aluno com apenas 10 digitos.\n");
  371.                     break;
  372.                 case "curso":
  373.                     alunoInt = (AlunoInt) pessoaInt;
  374.                     while (!alunoInt.setCurso(editProperty(sc, "Curso", alunoInt.getCurso())))
  375.                         System.out.print("Por favora insira o nome do curso usando apenas letras.\n");
  376.                     break;
  377.                 case "cargo":
  378.                     docenteInt = (DocenteInt) pessoaInt;
  379.                     while (!docenteInt.setCargo(editProperty(sc, "Cargo", docenteInt.getCargo())))
  380.                         System.out.print("Por favor insira um cargo com pelo menos 1 caractér.\n");
  381.                     break;
  382.                 case "função":
  383.                 case "funçao":
  384.                 case "funcão":
  385.                 case "funcao":
  386.                     funcionarioInt = (FuncionarioInt) pessoaInt;
  387.                     while (!funcionarioInt.setFuncao(editProperty(sc, "Função", funcionarioInt.getFuncao())))
  388.                         System.out.print("Por favor insira uma função com pelo menos 1 caractér.\n");
  389.                     break;
  390.             }
  391.  
  392.             System.out.print("Quer editar mais alguma Propriedade?\n" +
  393.                     "1 - Sim\n" +
  394.                     "2 - Não\n");
  395.  
  396.             while (!Arrays.toString(new int[]{1, 2}).contains(String.valueOf((r1 = sc.nextInt()))))
  397.                 System.out.print("Por favor insira um número correspondente a uma das opções disponíveis.\n");
  398.  
  399.             switch (r1) {
  400.                 case 1:
  401.                     editPessoa(pessoaInt);
  402.                     break;
  403.  
  404.                 case 2:
  405.                     return true;
  406.             }
  407.  
  408.         } catch (Exception e) {
  409.             e.printStackTrace();
  410.             return false;
  411.         }
  412.         return true;
  413.     }
  414.  
  415.  
  416.     private static boolean editDepartamento(DepartamentoInt departamentoInt) {
  417.         return true;
  418.     }
  419.  
  420.     private static boolean editData(DataInt dataInt) {
  421.         return true;
  422.     }
  423.  
  424.     private static PessoaInt esolhePessoa(DatabaseInt databaseInt) {
  425.         Scanner sc = new Scanner(System.in);
  426.         try {
  427.             if (databaseInt.getFaculdades().isEmpty()) {
  428.                 System.out.print("Não Existem Faculdades. Por favor insira uma.\n");
  429.                 sc.nextLine();
  430.                 return null;
  431.             }
  432.  
  433.  
  434.             FaculdadeInt faculdadeInt;
  435.             DepartamentoInt departamentoInt;
  436.             PessoaInt pessoaInt;
  437.  
  438.             int r1;
  439.  
  440.  
  441.             System.out.print("Escolha a faculdade:\n");
  442.  
  443.             for (int i = 0; i < databaseInt.getFaculdades().size(); i++) {
  444.                 faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(i)));
  445.                 System.out.print(i + " - " + faculdadeInt.getNome() + "\n");
  446.             }
  447.  
  448.             r1 = sc.nextInt();
  449.  
  450.             while (r1 < 0 || r1 > databaseInt.getFaculdades().size() - 1) {
  451.                 System.out.print("Por favor insira um número de faculdade válido.\n");
  452.                 r1 = sc.nextInt();
  453.             }
  454.  
  455.             faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(r1)));
  456.  
  457.  
  458.             if (faculdadeInt.getDepartamentos().isEmpty()) {
  459.                 System.out.print("Esta faculdade não tem departamentos. Por favor insira um.");
  460.                 return null;
  461.             }
  462.  
  463.  
  464.             System.out.print("Escolha o departamento:\n");
  465.  
  466.             for (int i = 0; i < faculdadeInt.getDepartamentos().size(); i++) {
  467.                 departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(faculdadeInt.getDepartamento(i)));
  468.                 System.out.print(i + " - " + departamentoInt.getNome() + "\n");
  469.             }
  470.  
  471.             r1 = sc.nextInt();
  472.  
  473.             while (r1 < 0 || r1 > faculdadeInt.getDepartamentos().size() - 1) {
  474.                 System.out.print("Por favor insira um número de departamento válido.\n");
  475.             }
  476.  
  477.             departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(faculdadeInt.getDepartamento(r1)));
  478.  
  479.             if (faculdadeInt.getDepartamentos().isEmpty()) {
  480.                 System.out.print("Este departamento não tem Pessoas, por favor insira uma..");
  481.                 return null;
  482.             }
  483.  
  484.  
  485.             System.out.print("Escolha a Pessoa a Editar:\n");
  486.  
  487.             for (int i = 0; i < departamentoInt.getPessoas().size(); i++) {
  488.                 pessoaInt = (PessoaInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(departamentoInt.getPessoa(i)));
  489.                 System.out.print(i + " - " + pessoaInt.getNome() + "\n");
  490.             }
  491.  
  492.             r1 = sc.nextInt();
  493.  
  494.             while (r1 < 0 || r1 > departamentoInt.getPessoas().size() - 1) {
  495.                 System.out.print("Por favor insira um número de pessoa válido.\n");
  496.             }
  497.  
  498.             return (PessoaInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(departamentoInt.getPessoa(r1)));
  499.  
  500.         } catch (Exception e) {
  501.             e.printStackTrace();
  502.             return null;
  503.         }
  504.     }
  505.     public static boolean ApagarPessoas (Database databaseInt) throws RemoteException {
  506.         Scanner sc = new Scanner(System.in);
  507.         try {
  508.             PessoaInt pessoaInt;
  509.             pessoaInt = esolhePessoa(databaseInt);
  510.             return (DatabaseInt)LocateRegistry.getRegistry(ip,port).lookup(String.valueOf((databaseInt.delete(pessoaInt)));
  511.  
  512.         }
  513.     }
  514.  
  515.     private static FaculdadeInt esolheFaculdade(DatabaseInt databaseInt) {
  516.         Scanner sc = new Scanner(System.in);
  517.         try {
  518.             int r1;
  519.             FaculdadeInt faculdadeInt;
  520.             for (int i = 0; i < databaseInt.getFaculdades().size(); i++) {
  521.                 faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(i)));
  522.                 System.out.print(i + " - " + faculdadeInt.getNome() + "\n");
  523.             }
  524.  
  525.             r1 = sc.nextInt();
  526.  
  527.             while (r1 < 0 || r1 > databaseInt.getFaculdades().size() - 1) {
  528.                 System.out.print("Por favor insira um número de faculdade válido.\n");
  529.                 r1 = sc.nextInt();
  530.             }
  531.  
  532.             faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(r1)));
  533.             return  faculdadeInt;
  534.         } catch (Exception e) {
  535.             e.printStackTrace();
  536.             return null;
  537.         }
  538.     }
  539.     private static DepartamentoInt escolheDepartamento(Faculdade faculdade){
  540.         Scanner sc = new Scanner(System.in);
  541.         try {
  542.             int r1;
  543.             FaculdadeInt faculdadeInt;
  544.     }
  545.  
  546.             apagarPessoas(departamentoInt = escolheDepartamento(esolheFaculdade(databaseInt()))))
  547.     private static boolean newFaculdade(DatabaseInt databaseInt) throws RemoteException {
  548.         Scanner sc = new Scanner(System.in);
  549.         try{
  550.             int r1;
  551.             FaculdadeInt faculdadeInt;
  552.             DepartamentoInt departamentoInt;
  553.             faculdadeInt = (FaculdadeInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.newFaculdade(11)));
  554.             System.out.println("Insira um nome.\n");
  555.             sc.nextLine();
  556.  
  557.             while (!faculdadeInt.setNome(sc.nextLine()))
  558.                 System.out.print("Por favor insira um nome correto.\n");
  559.  
  560.  
  561.             System.out.print("Deseja adicionar departamentos á faculdade?\n");
  562.             String resposta;
  563.             resposta=sc.nextLine();
  564.  
  565.             if (resposta.matches("Sim") || resposta.matches("sim") || resposta.matches("s")){
  566.                 System.out.println("1-Criar novo departamento" +
  567.                                     "2-Adicionar departamentos ja existentes");
  568.  
  569.                 switch (sc.nextInt()) {
  570.                     case 1:
  571.  
  572.                         System.out.println("oi");
  573.  
  574.                     case 2:
  575.  
  576.                         for (int i = 0; i < databaseInt.getDepartamento().size(); i++) {
  577.                             departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getDepartamento(i)));
  578.                             System.out.printf(i + "-" + departamentoInt.getNome());
  579.  
  580.                         }
  581.                         r1 = sc.nextInt();
  582.  
  583.                         while (r1 < 0 || r1 > databaseInt.getDepartamento().size() - 1) {
  584.                             System.out.print("Por favor insira um número de departamento válido.\n");
  585.                         }
  586.  
  587.                         departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getDepartamento(r1)));
  588.                         if (databaseInt.getDepartamento().isEmpty()) {
  589.                             System.out.print("Não existem departamentos\n");
  590.                             return false;
  591.                         }
  592.  
  593.                 }
  594.  
  595.  
  596.             }
  597.  
  598.         } catch (Exception e) {
  599.             e.printStackTrace();
  600.             return false;
  601.         }
  602.         return true;
  603.  
  604.  
  605.     }
  606.  
  607.     public static boolean newDepartamento(Database databaseInt) throws RemoteException{
  608.         Scanner sc = new Scanner(System.in);
  609.         try{
  610.             int r1;
  611.             FaculdadeInt faculdadeInt;
  612.             DepartamentoInt departamentoInt;
  613.             departamentoInt = (DepartamentoInt) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.newDepartamento(11)));
  614.             System.out.println("Insira um nome.\n");
  615.             sc.nextLine();
  616.  
  617.             while (!departamentoInt.setNome(sc.nextLine()))
  618.                 System.out.print("Por favor insira um nome correto.\n");
  619.  
  620.             System.out.print("Indique a faculdade a que pertence");
  621.             for (int i=0;i<databaseInt.getFaculdades().size();i++){
  622.                 faculdadeInt =( FaculdadeInt)LocateRegistry.getRegistry(ip,port).lookup(String.valueOf(databaseInt.getFaculdade(i)));
  623.                 System.out.println(i + "-" + faculdadeInt.getNome());
  624.             }
  625.             r1 = sc.nextInt();
  626.  
  627.             while (r1 < 0 || r1 > databaseInt.getDepartamento().size() - 1) {
  628.                 System.out.print("Por favor insira um número de departamento válido.\n");
  629.             }
  630.  
  631.             faculdadeInt = (Faculdade) LocateRegistry.getRegistry(ip, port).lookup(String.valueOf(databaseInt.getFaculdade(r1)));
  632.  
  633.             if (databaseInt.getDepartamento().isEmpty()) {
  634.                 System.out.print("Não existem departamentos\n");
  635.                 return false;
  636.             }
  637.  
  638.  
  639.         } catch (Exception e) {
  640.             e.printStackTrace();
  641.             return false;
  642.         }
  643.     }
  644.  
  645.     public static void main(String[] args) {
  646.         try {
  647.             DatabaseInt databaseInt = (DatabaseInt) LocateRegistry.getRegistry(ip, port).lookup("1");
  648.             Scanner sc = new Scanner(System.in);
  649.             int r1;
  650.             while (true) {
  651.                 System.out.print("Que fazer?\n" +
  652.                         "1 - Nova Pessoa\n" +
  653.                         "2 - Editar Pessoa\n" +
  654.                         "3 - Apagar Pessoa\n" +
  655.                         "4 - Criar Faculdade\n"+
  656.                         "5 - Criar Departamento\n ");
  657.  
  658.                 while (!Arrays.toString(new int[]{1, 2}).contains(String.valueOf((r1 = sc.nextInt()))))
  659.                     System.out.print("Por favor insira um número correspondente a uma das opções disponíveis.\n");
  660.  
  661.                 switch (r1) {
  662.                     case 1:
  663.                         newPessoa(databaseInt);
  664.                         break;
  665.  
  666.                     case 2:
  667.                         editPessoa(esolhePessoa(databaseInt));
  668.                         break;
  669.  
  670.                     case 3:
  671.                         ApagarPessoas(databaseInt);
  672.                         break;
  673.  
  674.  
  675.                     case 4:
  676.                         newFaculdade(databaseInt);
  677.                         break;
  678.  
  679.                     case 5:
  680.                         newDepartamento(databaseInt);
  681.                         break;;
  682.  
  683.                 }
  684.             }
  685.         } catch (Exception e) {
  686.             e.printStackTrace();
  687.         }
  688.     }
  689.    
  690. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top