Package src

Source Code of src.TelecentroMigration

package src;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.List;

import org.apache.commons.lang.StringUtils;

import br.com.procempa.modus.entity.Persistent;
import br.com.procempa.modus.entity.Telecentro;

public class TelecentroMigration extends EntityMigrator {

  public TelecentroMigration(Connection connSource, Connection connDestination) {
    super(connSource, connDestination);
  }

  public PreparedStatement prepareStatement(ResultSet rs,
      PreparedStatement statement, List<String> messages)
      throws Exception {
    Telecentro tele = (Telecentro) getObject(rs);

    statement.setLong(1, tele.getId());
    statement.setDate(2, new java.sql.Date(tele.getTimestamp().getTime()));
    statement.setString(3, tele.getNome());
    statement.setString(4, tele.getEmail());

    statement.setString(5, tele.getHorarioInicio());
    statement.setString(6, tele.getHorarioFim());
    statement.setString(7, tele.getEndereco().getBairro());
    statement.setString(8, tele.getEndereco().getCep());

    statement.setString(9, tele.getEndereco().getCidade());
    statement.setString(10, tele.getEndereco().getComplemento());
    statement.setString(11, tele.getEndereco().getLogradouro());
    statement.setString(12, tele.getEndereco().getNumero());
    statement.setString(13, tele.getEndereco().getPais());
    statement.setString(14, tele.getEndereco().getUf());
    statement.setString(15, tele.getTelefone());
    statement.setString(16, tele.getTurno1());
    statement.setString(17, tele.getTurno2());
    statement.setString(18, tele.getTurno3());
    statement.setInt(19, tele.getTempo());
    statement.setBoolean(20, tele.getEncerramentoAutomatico());
    statement.setBoolean(21, tele.getUmUsuarioPorEquipamento());

    statement.setNull(22, Types.NULL);

    if (!(tele.getCoordenador() == null)){
      statement.setLong(23, tele.getCoordenador().getId());
    } else {
      statement.setNull(23, Types.NULL);
      messages.add("Registro de TELECENTRO (id: " + tele.getId()
          + ") com chave estrangeira de Usuario(coordenador) = NULL");
    }
   
    if (!(tele.getMonitor1() == null)){
      statement.setLong(24, tele.getMonitor1().getId());
    } else {
      statement.setNull(24, Types.NULL);
      messages.add("Registro de TELECENTRO (id: " + tele.getId()
          + ") com chave estrangeira de Usuario(monitor1) = NULL");
    }
   
    if (!(tele.getMonitor2() == null)){
      statement.setLong(25, tele.getMonitor2().getId());
    } else {
      statement.setNull(25, Types.NULL);
      messages.add("Registro de TELECENTRO (id: " + tele.getId()
          + ") com chave estrangeira de Usuario(monitor2) = NULL");
    }

    if (!(tele.getMonitor3() == null)){
      statement.setLong(26, tele.getMonitor3().getId());
    } else {
      statement.setNull(26, Types.NULL);
      messages.add("Registro de TELECENTRO (id: " + tele.getId()
          + ") com chave estrangeira de Usuario(monitor3) = NULL");
    }

    return statement;
  }

  public Persistent getObject(ResultSet rs) throws Exception {
    Telecentro tele = new Telecentro();

    tele.setId(rs.getLong(1));
    tele.setTimestamp(new Timestamp(rs.getDate(2).getTime()));
    tele.setNome(StringUtils.defaultIfEmpty(rs.getString(3), ""));
    tele.setHorarioInicio(StringUtils.defaultIfEmpty(rs.getString(4), ""));
    tele.setHorarioFim(StringUtils.defaultIfEmpty(rs.getString(5), ""));

    tele.getEndereco().setBairro(
        StringUtils.defaultIfEmpty(rs.getString(6), ""));
    tele.getEndereco().setCep(
        StringUtils.defaultIfEmpty(rs.getString(7), ""));
    tele.getEndereco().setCidade(
        StringUtils.defaultIfEmpty(rs.getString(8), ""));

    tele.getEndereco().setComplemento(
        StringUtils.defaultIfEmpty(rs.getString(9), ""));
    tele.getEndereco().setLogradouro(
        StringUtils.defaultIfEmpty(rs.getString(10), ""));
    tele.getEndereco().setNumero(
        StringUtils.defaultIfEmpty(rs.getString(11), ""));
    tele.getEndereco().setPais(
        StringUtils.defaultIfEmpty(rs.getString(12), ""));
    tele.getEndereco().setUf(
        StringUtils.defaultIfEmpty(rs.getString(13), ""));

    tele.setTelefone(StringUtils.defaultIfEmpty(rs.getString(14), ""));
    tele.setEmail(StringUtils.defaultIfEmpty(rs.getString(15), ""));
   
    if (rs.getString(25) == null){
      tele.setCoordenador(null);
    } else {
      tele.getCoordenador().setId(rs.getLong(16));
    }
   
    if (rs.getString(26) == null){
      tele.setMonitor1(null);
    } else {
      tele.getMonitor1().setId(rs.getLong(17));
    }
   
    if (rs.getString(27) == null){
      tele.setMonitor2(null);
    } else {
      tele.getMonitor2().setId(rs.getLong(18));
    }
   
    if (rs.getString(28) == null){
      tele.setMonitor3(null);
    } else {
      tele.getMonitor3().setId(rs.getLong(19));
    }
   
    tele.setTurno1(StringUtils.defaultIfEmpty(rs.getString(20), ""));
    tele.setTurno2(StringUtils.defaultIfEmpty(rs.getString(21), ""));
    tele.setTurno3(StringUtils.defaultIfEmpty(rs.getString(22), ""));
    tele.setTempo(rs.getInt(23));
    tele.setEncerramentoAutomatico(rs.getBoolean(24));

    return tele;
  }

  public String getSourceQuery() {
    return "SELECT t.idTelecentro, t.timestamp, t.nome, t.horarioInicio, "
        + "t.horarioFim, t.bairro, t.cep, t.cidade, t.complemento, t.logradouro, "
        + "t.numero, t.pais, t.uf, t.telefone, t.email, t.coordenador_fk, "
        + "t.monitor1_fk, t.monitor2_fk, t.monitor3_fk, t.turno1, t.turno2, "
        + "t.turno3, t.tempo, t.encerramentoAutomatico, u1.idUsuario, u2.idUsuario, "
        + "u3.idUsuario, u4.idUsuario "
        + "FROM TELECENTRO t LEFT JOIN USUARIO u1 "
        + "ON t.coordenador_fk = u1.idUsuario LEFT JOIN USUARIO u2 "
        + "ON t.monitor1_fk = u2.idUsuario LEFT JOIN USUARIO u3 "
        + "ON t.monitor2_fk = u3.idUsuario LEFT JOIN USUARIO u4 "
        + "ON t.monitor3_fk = u4.idUsuario";

  }

  public String getInsertQuery() {
    return "INSERT INTO TELECENTRO(id, timestamp, nome, email, "
        + "horarioInicio, horarioFim, bairro, cep, cidade, "
        + "complemento, logradouro, numero, pais, uf, telefone, "
        + "turno1, turno2, turno3, tempo, encerramentoAutomatico, "
        + "umUsuarioPorEquipamento, user_id, coordenador_fk, monitor1_fk, "
        + "monitor2_fk, monitor3_fk) "
        + "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "
        + "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
  }

  public void successMessage(ResultSet rs) throws Exception {
    System.out.println("Inserido telecentro: " + rs.getLong(1) + " - "
        + rs.getString(3));
  }
}
TOP

Related Classes of src.TelecentroMigration

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.