Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package RMI;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import static java.lang.Thread.sleep;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
- import java.net.SocketException;
- import java.rmi.Remote;
- import java.rmi.RemoteException;
- import java.rmi.registry.LocateRegistry;
- import java.rmi.server.UnicastRemoteObject;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Properties;
- import java.util.Random;
- import java.util.Scanner;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import RMI.Interface;
- public class RMI extends UnicastRemoteObject implements Interface{
- public static String url;
- // Your credentials
- private static final String USER = "acj";
- private static final String PASS = "bd";
- // Server IP (or localhost, if same machine)
- private static final String SERVER = "127.0.0.1";
- //"10.0.2.2";
- private static final String PORT = "1521";
- public static int port;
- private static final long serialVersionUID = 1L;
- public RMI rmi;
- static Scanner sc = new Scanner(System.in);
- //Example method to establish 1 connection
- public static Connection getConnection() throws SQLException {
- Properties connectionProps = new Properties();
- connectionProps.put("user", USER);
- connectionProps.put("password", PASS);
- Connection conn = DriverManager.getConnection(
- "jdbc:oracle:thin://@" + SERVER
- + ":" + PORT + "/XE", // XE only for Oracle XE
- connectionProps);
- conn.setAutoCommit(false); // This is important!!
- return conn;
- }
- public RMI() throws RemoteException, SQLException {
- super();
- getConnection();
- new refreshDate().start();
- }
- public int teste() throws ParseException, RemoteException, SQLException {
- return 9;
- }
- public String registarEleitor(int num_eleitor, String password, int id_dep, int telemovel, String morada, String tipo, String validade_cc, int cc) throws RemoteException, SQLException, ParseException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | registerUser; status | user created";
- java.util.Date datasistema = datasistema();
- java.util.Date dataValidade = conversao(validade_cc);
- if (dataValidade.after(datasistema)) {
- try {
- java.sql.Statement stat = conn1.createStatement();
- stat.execute("INSERT into eleitor (num_eleitor,senha,id_dep,telemovel,morada,tipo,validade_cc,cc) VALUES ('"+num_eleitor+"','"+password+"','"+id_dep+"','"+telemovel+"','"+morada+"','"+tipo+"','"+validade_cc+"','"+cc+"' ) ");
- flag = true;
- conn1.commit();
- } catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- }
- else {
- flag = false;
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | registerUser; registry not created";
- }
- }
- public class refreshDate extends Thread //FUNCAO THREAD PARA ENCERRAR PROJETOS
- {
- public void run()
- {
- while(true)
- {
- try
- {
- terminoLeilao();
- sleep(1000*60);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch (SQLException ex) {
- Logger.getLogger(RMI.class.getName()).log(Level.SEVERE, null, ex);
- } catch (ParseException ex) {
- Logger.getLogger(RMI.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- }
- public String criarEleicao(String tipo, String data_inicio, String data_fim, String comentario) throws ParseException, RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | registerElection; status | registered; cod_eleicao |";
- Random randomGenerator = new Random();
- int cod_eleicao = randomGenerator.nextInt(1000);
- String query = "SELECT eleicoes.cod_eleicao FROM eleicoes";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat1.executeQuery(query);
- while(rs.next()) {
- //Se entrar aqui, calcular um novo id
- cod_eleicao = randomGenerator.nextInt(1000);
- }
- mensagem = mensagem + cod_eleicao;
- stat.execute("INSERT into eleicoes (cod_eleicao,tipo,data_inicio,data_fim,comentario) VALUES ('"+cod_eleicao+"','"+tipo+"','"+data_inicio+"','"+data_fim+"','"+comentario+"')");
- flag = true;
- conn1.commit();
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | registerElection; status | not registered";
- }
- }
- public String alterarTipoEleicao(int id_eleicao, String tipo) throws ParseException, RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | change election; status | election title changed;";
- String query = "SELECT eleicoes.data_inicio, eleicoes.data_fim FROM eleicoes";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- String data_inicio = rs.getString(1);
- String data_fim = rs.getString(2);
- java.util.Date inicio = conversao(data_inicio);
- java.util.Date fim = conversao(data_fim);
- java.util.Date actual = datasistema();
- if (actual.before(fim)) {
- if (actual.after(inicio)) {
- System.out.println("ERRO. a eleicao ja esta a decorrer");
- break;
- }
- }
- else {
- stat1.execute("UPDATE eleicoes SET eleicoes.tipo = ('"+tipo+"') ");
- conn1.commit();
- flag = true;
- }
- }
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | change election; status | election title not changed;";
- }
- }
- public String alterarInicioEleicao(int id_eleicao, String data_novo_inicio) throws ParseException, RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | change election; status | election start changed;";
- String query = "SELECT eleicoes.data_inicio, eleicoes.data_fim FROM eleicoes";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- String data_inicio = rs.getString(1);
- String data_fim = rs.getString(2);
- java.util.Date inicio = conversao(data_inicio);
- java.util.Date fim = conversao(data_fim);
- java.util.Date actual = datasistema();
- if (actual.before(fim)) {
- if (actual.after(inicio)) {
- System.out.println("ERRO. a eleicao ja esta a decorrer");
- break;
- }
- }
- else {
- stat1.execute("UPDATE eleicoes SET eleicoes.inicio = ('"+data_novo_inicio+"') ");
- conn1.commit();
- flag = true;
- }
- }
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | change election; status | election start not changed;";
- }
- }
- public String alterarFimEleicao(int id_eleicao, String data_novo_fim) throws ParseException, RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | change election; status | election end changed;";
- String query = "SELECT eleicoes.data_inicio, eleicoes.data_fim FROM eleicoes";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- String data_inicio = rs.getString(1);
- String data_fim = rs.getString(2);
- java.util.Date inicio = conversao(data_inicio);
- java.util.Date fim = conversao(data_fim);
- java.util.Date actual = datasistema();
- if (actual.before(fim)) {
- if (actual.after(inicio)) {
- System.out.println("ERRO. a eleicao ja esta a decorrer");
- break;
- }
- }
- else {
- stat1.execute("UPDATE eleicoes SET eleicoes.inicio = ('"+data_novo_fim+"') ");
- conn1.commit();
- flag = true;
- }
- }
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | change election; status | election end not changed";
- }
- }
- public String alterarComentarioEleicao(int id_eleicao, String comentario) throws ParseException, RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | change election; status | election comment changed;";
- String query = "SELECT eleicoes.data_inicio, eleicoes.data_fim FROM eleicoes";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- String data_inicio = rs.getString(1);
- String data_fim = rs.getString(2);
- java.util.Date inicio = conversao(data_inicio);
- java.util.Date fim = conversao(data_fim);
- java.util.Date actual = datasistema();
- if (actual.before(fim)) {
- if (actual.after(inicio)) {
- System.out.println("ERRO. a eleicao ja esta a decorrer");
- break;
- }
- }
- else {
- stat1.execute("UPDATE eleicoes SET eleicoes.comentario = ('"+comentario+"') ");
- conn1.commit();
- flag = true;
- }
- }
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | change election; status | election comment not changed;";
- }
- }
- public String gerirDepartamento(int id_fac, String nome) throws RemoteException, SQLException {
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "";
- Random randomGenerator = new Random();
- int id_dep = randomGenerator.nextInt(1000);
- String query = "SELECT id_dep FROM departamento WHERE id_dep = ('"+id_dep+"')";
- String query1 = "SELECT id_fac FROM faculdade WHERE id_fac = ('"+id_fac+"') ";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- java.sql.Statement stat2 = conn1.createStatement();
- ResultSet rs = stat1.executeQuery(query);
- ResultSet rs1 = stat2.executeQuery(query1);
- //FAZER AQUI CLAUSULA PARA VERIFICAR SE O ID DA FACULDADE JA EXISTE!!!!!!!!!!
- while (rs1.next()) {
- //Se entrar aqui, é porque existe um id da faculdade
- while(rs.next()) {
- //Se entrar aqui, calcular um novo id
- id_dep = randomGenerator.nextInt(1000);
- }
- stat.execute("INSERT into departamento (id_dep, id_fac, nome) VALUES ('"+id_dep+"','"+id_fac+"','"+nome+"') ");
- mensagem = "type | gerirDepartamento; id_fac | "+id_fac+"; nome | "+nome+"id_dep | "+id_dep+ "; department created";
- flag = true;
- conn1.commit();
- //e necessario alterar a mensagem de impressao!!!!!!!!!!!
- }
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | gerirDepartamento; department not created";
- }
- }
- public String gerirFaculdade(String nome) throws RemoteException, SQLException {
- System.out.println("entrou");
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "";
- Random randomGenerator = new Random();
- int id_fac = randomGenerator.nextInt(1000);
- String query = "SELECT id_fac FROM faculdade WHERE faculdade.id_fac = id_fac";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat1.executeQuery(query);
- //while (rs.next()) {
- System.out.println("entrou1");
- stat.execute("INSERT into faculdade (id_fac,name) VALUES ('"+id_fac+"','"+nome+"') ");
- mensagem = "type | gerirFaculdade; nome | "+nome+"id_fac | "+id_fac+"; Faculdade created";
- flag = true;
- conn1.commit();
- //}
- }
- catch (SQLException e) {
- System.out.println("erro na BD: parametro existente");
- //e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "error";
- }
- }
- public String gerirListas(String tipo, String nome, int cod_eleicao) throws RemoteException, SQLException {
- //Uma lista de estudantes só funciona para uma eleição de listas de estudantes.
- Connection conn1 = getConnection();
- boolean flag = false;
- Random randomGenerator = new Random();
- int cod_lista = randomGenerator.nextInt(1000);
- String query = "SELECT listacandidatos.cod_lista FROM listacandidatos WHERE listacandidatos.cod_lista = ('"+cod_lista+"') ";
- String mensagem = "type | manageCandidates; status | List created; id_lista |";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat1.executeQuery(query);
- while(rs.next()) {
- cod_lista = randomGenerator.nextInt(1000);
- }
- mensagem = mensagem + " " + cod_lista;
- stat.execute("INSERT into LISTACANDIDATOS (cod_lista,nome,tipo,cod_eleicao) VALUES ('"+cod_lista+"','"+nome+"','"+tipo+"','"+cod_eleicao+"')");
- stat.execute("INSERT into CONCORRER (cod_lista,cod_eleicao) VALUES ('"+cod_lista+"','"+cod_eleicao+"')");
- stat.execute("INSERT into num_validos (cod_eleicao,cod_lista,num_brancos,num_nulos,num_validos) VALUES ('"+cod_eleicao+"','"+cod_lista+"',0,0,0) ");
- flag = true;
- conn1.commit();
- }
- catch (SQLException e) {
- // log the warning...
- e.printStackTrace();
- }
- if (flag) {
- return "mensagem";
- }
- else {
- return "type | manageCandidates; status | List not created";
- }
- }
- public boolean identificarEleitor(int num_eleitor/*, String password, String opcao, String voto, int cod_eleicao, int cod_lista*/) throws RemoteException, SQLException {
- //Aqui consiste tem pesquisar por qualquer campo do eleitor de modo a identificá-lo.
- //Pesquisar o numero de eleitor e verificar se existe.
- //Quando for identificado, passar à função de "login".
- String query = "SELECT eleitor.num_eleitor FROM eleitor WHERE eleitor.num_eleitor = ('"+num_eleitor+"') ";
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | unlock; status | unlocked"; // ALTERAR MENSAGEM
- try {
- java.sql.Statement stat = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- //Se entrar aqui, foi bem sucedido
- System.out.println("Utilizador identificado");
- flag = true;
- //autenticacaoEleitor(num_eleitor,password, opcao, voto, cod_eleicao, cod_lista);
- }
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- return true;
- }
- else {
- return false/*"error"*/;
- }
- }
- public boolean autenticacaoEleitor(int num_eleitor, String password/*, String opcao, String voto, int cod_eleicao, int cod_lista*/) throws RemoteException, SQLException {
- //Aqui solicita ao utilizador a sua senha e o seu numero de eleitor.
- //Confirma se os dados existem
- //Se existirem, passa à função de voto
- String query = "SELECT eleitor.num_eleitor, eleitor.senha FROM eleitor WHERE eleitor.num_eleitor = ('"+num_eleitor+"') AND eleitor.senha = ('"+password+"')";
- Connection conn1 = getConnection();
- boolean flag = false;
- String mensagem = "type | login; status | logged;"; // ALTERAR MENSAGEM
- try {
- java.sql.Statement stat = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- //Utilizador autenticado
- System.out.println("Utilizador autenticado");
- flag =true;
- //votar(num_eleitor,opcao, voto, cod_eleicao, cod_lista);
- }
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- return true;
- }
- else {
- return false;
- }
- }
- public String voto (int num_eleitor, String voto, int cod_eleicao, int cod_lista) throws SQLException, RemoteException, ParseException {
- Connection conn1 = getConnection();
- boolean flag = false;
- int tipo = 0;
- int valor = 0;
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- java.sql.Statement stat2 = conn1.createStatement();
- java.sql.Statement stat3 = conn1.createStatement();
- java.sql.Statement stat4 = conn1.createStatement();
- java.sql.Statement stat5 = conn1.createStatement();
- java.sql.Statement stat10 = conn1.createStatement();
- java.sql.Statement stat11 = conn1.createStatement();
- java.sql.Statement stat12 = conn1.createStatement();
- Date dataAtual = datasistema(); //Data para string
- String data = dataAtualFormatada();
- int id_mesa = 0;
- int id_dep_user = 0;
- String tipoEleitor = "",tipoEleicao = "";
- String query = "SELECT listacandidatos.nome, listacandidatos.tipo FROM listacandidatos WHERE listacandidatos.cod_lista = ('"+cod_lista+"') ";
- String query1 = "SELECT num_brancos,num_nulos,num_validos FROM num_validos WHERE num_validos.cod_lista = ('"+cod_lista+"') ";
- String query2 = "SELECT id_dep FROM eleitor WHERE eleitor.num_eleitor = ('"+num_eleitor+"') ";
- String query8 = "SELECT eleitor.tipo FROM eleitor WHERE eleitor.num_eleitor = ('"+num_eleitor+"')";
- String query9 = "SELECT eleicoes.tipo FROM eleicoes WHERE eleicoes.cod_eleicao = ('"+cod_eleicao+"') ";
- ResultSet rs = stat2.executeQuery(query);
- ResultSet rs1 = stat3.executeQuery(query1);
- ResultSet rs2 = stat4.executeQuery(query2);
- ResultSet rs8 = stat10.executeQuery(query8);
- ResultSet rs9 = stat11.executeQuery(query9);
- while (rs8.next()) {
- tipoEleitor = rs8.getString(1);
- }
- while (rs9.next()) {
- tipoEleicao = rs9.getString(1);
- }
- if ( (tipoEleicao.trim().equals("nucleo") && tipoEleitor.trim().equals("estudante")) || (tipoEleicao.trim().equals("conselho") && tipoEleitor.trim().equals("estudante")) || (tipoEleicao.trim().equals("conselho") && tipoEleitor.trim().equals("docente")) || (tipoEleicao.trim().equals("conselho") && tipoEleitor.trim().equals("funcionario")) ) {
- //Falta uma condição para verificar as listas
- while (rs2.next()) {
- id_dep_user = rs2.getInt(1);
- String query3 = "SELECT id_mesa FROM mesa WHERE mesa.id_dep = ('"+id_dep_user+"') ";
- ResultSet rs3 = stat5.executeQuery(query3);
- while(rs3.next()) {
- id_mesa = rs3.getInt(1);
- }
- }
- while (rs1.next()) {
- int num_brancos = rs1.getInt(1);
- int num_nulos = rs1.getInt(2);
- int num_validos = rs1.getInt(3);
- while (rs.next()) { //Existe o codigo de lista desejado
- String tipo_lista = rs.getString(2);
- if ( (tipoEleitor.trim().equals("estudante") && tipo_lista.trim().equals("estudante")) || (tipoEleitor.trim().equals("docente") && tipo_lista.trim().equals("docente")) || (tipoEleitor.trim().equals("funcionario") && tipo_lista.trim().equals("funcionario"))) {
- if (voto.equals(Integer.toString(cod_lista))) {
- num_validos = num_validos + 1;
- System.out.println(num_validos);
- flag = true;
- stat.execute("UPDATE num_validos SET num_validos.num_validos = ('"+num_validos+"') WHERE num_validos.cod_eleicao = ('"+cod_eleicao+"') ");
- conn1.commit();
- }
- else if (voto.equals("")) { //O voto é branco
- System.out.println("entrou");
- num_brancos = num_brancos + 1;
- flag = true;
- stat.execute("UPDATE num_validos SET num_validos.num_brancos = ('"+num_brancos+"') WHERE num_validos.cod_eleicao = ('"+cod_eleicao+"')");
- tipo = 2;
- valor = num_brancos;
- conn1.commit();
- }
- else { // O voto é nulo
- num_nulos = num_nulos + 1;
- flag = true;
- stat.execute("UPDATE num_validos SET num_validos.num_nulos = ('"+num_nulos+"') WHERE num_validos.cod_eleicao = ('"+cod_eleicao+"')");
- tipo = 3;
- valor = num_nulos;
- conn1.commit();
- }
- stat1.execute("INSERT into votar(num_eleitor,datavoto,id_mesa) VALUES ('"+num_eleitor+"','"+data+"','"+id_mesa+"')");
- conn1.commit();
- }
- }
- }
- }
- }
- catch (SQLException e) {
- System.out.println("erro na db");
- }
- if (flag) {
- return "voted successfull";
- }
- else {
- return "error voting";
- }
- }
- public String dataAtualFormatada() throws SQLException, RemoteException, ParseException{
- // Create an instance of SimpleDateFormat used for formatting
- // the string representation of date (month/day/year)
- DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
- // Get the date today using Calendar object.
- Date today = Calendar.getInstance().getTime();
- // Using DateFormat format method we can create a string
- // representation of a date with the defined format.
- String reportDate = df.format(today);
- // Print what date is today!
- return (reportDate);
- }
- public String gerirMesas(int id_dep, int cod_eleicao) throws SQLException, RemoteException {
- //Adicionar e remover mesas de voto associadas a uma eleicao.
- Connection conn1 = getConnection();
- boolean flag = false;
- int signal=0;
- String mensagem = "type | manageTables; table created; id_table | ";
- Random randomGenerator = new Random();
- int id_mesa = randomGenerator.nextInt(1000);
- //Verificar se já existe mesa de voto no departamento
- try {
- java.sql.Statement stat = conn1.createStatement();
- String query = "SELECT mesa.id_dep FROM mesa WHERE mesa.id_dep = ('"+id_dep+"') ";
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- signal=1;
- break;
- //volta ao menu
- }
- if (signal==0) {
- mensagem = mensagem + id_mesa;
- stat.execute("INSERT into MESA (id_mesa,id_dep,cod_eleicao) VALUES ('"+id_mesa+"','"+id_dep+"','"+cod_eleicao+"') ");
- flag = true;
- conn1.commit();
- }
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "type | manageTables; table not created";
- }
- }
- public String saberLocal(int num_eleitor) throws SQLException,RemoteException {
- String query = "SELECT votar.id_mesa,votar.datavoto FROM votar WHERE votar.num_eleitor = ('"+num_eleitor+"') ";
- Connection conn1 = getConnection();
- boolean flag = false;
- int item_count = 0;
- int i=0;
- String mensagemInicial = "type | item_list; item_count | ";
- String mensagem = "";
- try {
- java.sql.Statement stat = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- int id_mesa = rs.getInt(1);
- String dataVoto = rs.getString(2);
- mensagem = mensagem + "item_"+i+"num_eleitor | "+num_eleitor+"; id_mesa | "+id_mesa+"; dataVoto | "+dataVoto;
- mensagemInicial = mensagemInicial + item_count + ";"+ mensagem;
- flag = true;
- }
- mensagemInicial = mensagemInicial + item_count + ";"+ mensagem;
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- System.out.println(mensagemInicial);
- return mensagemInicial;
- }
- else {
- return "error";
- }
- }
- public String terminoLeilao() throws SQLException, RemoteException, ParseException {
- //verificar dentro de eleicao constantemente se a hora de termino do leilao é inferior à hora atual do pc
- //caso seja, alterar o comentario para finalizado.
- String query = "SELECT eleicoes.data_fim, eleicoes.cod_eleicao, eleicoes.tipo, eleicoes.data_inicio, eleicoes.comentario, eleicoes.titulo, eleicoes.descricao FROM eleicoes";
- Connection conn1 = getConnection();
- boolean flag = false;
- String comentario = "finalizado";
- String mensagem = "";
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- java.sql.Statement stat2 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- String data_fim = rs.getString(1); // data de finalizar eleicao
- int cod_eleicao = rs.getInt(2);
- String tipo = rs.getString(3);
- String data_inicio = rs.getString(4);
- String comentario_eleicao = rs.getString(5);
- String titulo = rs.getString(6);
- String descricao = rs.getString(7);
- //necessario comparar data_fim com data sistema!
- java.util.Date dataFinal = conversao(data_fim);
- java.util.Date dataActual = datasistema();
- if (dataFinal.before(dataActual) && (!comentario_eleicao.equals(comentario))) {
- stat1.execute("UPDATE eleicoes SET eleicoes.comentario = ('"+comentario+"') ");
- stat2.execute("INSERT into eleicoesPassadas(data_fim,cod_eleicao,tipo,data_inicio,comentario,titulo,descricao) VALUES ( ('"+data_fim+"'),('"+cod_eleicao+"'), ('"+tipo+"'), ('"+data_inicio+"'), ('"+comentario+"'), ('"+titulo+"'), ('"+descricao+"')) ");
- conn1.commit();
- }
- }
- }
- catch (SQLException e) {
- e.printStackTrace();
- }
- if (flag) {
- return mensagem;
- }
- else {
- return "error";
- }
- }
- public String eleicoesPassadas() throws SQLException, RemoteException, ParseException {
- String query = "SELECT eleicoespassadas.cod_eleicao FROM eleicoespassadas";
- int item_count = 0;
- boolean flag = false;
- String mensagemInicial = "type | item_list; item_count | ";
- String mensagem = "";
- int i=0;
- Connection conn1 = getConnection();
- try {
- java.sql.Statement stat = conn1.createStatement();
- java.sql.Statement stat1 = conn1.createStatement();
- ResultSet rs = stat.executeQuery(query);
- while(rs.next()) {
- int cod_eleicao = rs.getInt(1);
- String query1 = "SELECT num_brancos,num_nulos,num_validos,cod_lista, cod_eleicao FROM num_validos WHERE num_validos.cod_eleicao = ('"+cod_eleicao+"') ";
- ResultSet rs1 = stat1.executeQuery(query1);
- while (rs1.next()) {
- int total = 0;
- int num_brancos = rs1.getInt(1);
- int num_nulos = rs1.getInt(2);
- int num_validos = rs1.getInt(3);
- int cod_lista = rs1.getInt(4);
- total = num_brancos + num_nulos + num_validos;
- item_count = item_count + 1;
- num_brancos = (num_brancos * total) / 100;
- num_nulos = (num_nulos * total) / 100;
- num_validos = (num_validos * total) / 100;
- mensagem = mensagem + " item_"+i+"cod_lista | "+cod_lista+"; cod_eleicao | "+cod_eleicao+"; num_brancos | "+num_brancos+"; num_nulos | "+num_nulos+"; num_validos | "+num_validos+";";
- flag = true;
- }
- mensagemInicial = mensagemInicial + item_count + ";"+ mensagem;
- }
- }
- catch (SQLException e){
- e.printStackTrace();
- }
- if (flag) {
- System.out.println(mensagemInicial);
- return mensagemInicial;
- }
- else {
- return "error";
- }
- }
- public java.util.Date datasistema() throws RemoteException, ParseException {
- java.util.Date date = Calendar.getInstance().getTime();
- java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm"); //DATE DO COMPUTADOR
- return (date);
- }
- public java.util.Date conversao(String data) throws RemoteException, ParseException {
- DateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm");
- java.util.Date date1 = formatter.parse(data); //STRING PARA DATE DE UMA HORA FORNECIDA
- return (java.util.Date)(date1);
- }
- public static void main(String[] args) throws RemoteException, SQLException {
- RMI server = new RMI();
- server.RMI(1098);
- }
- public void RMI(int port) throws RemoteException, SQLException {
- try {
- rmi = new RMI();
- LocateRegistry.createRegistry(port).rebind("inter", (Remote) rmi);
- System.out.println("Server ready...");
- }catch (Exception e){
- System.err.println("ERRO: RMI " + e.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement