Package practica1.logic

Examples of practica1.logic.LogicExperimento


            String tipoBacteria = dialog.getTipoBacteria();
            String nombreInvestigador = dialog.getNombreInvestigador();
            String proyectoInvestigacion = dialog.getProyectoInvestigacion();
           
           
            LogicExperimento nuevoExp = new
                    LogicExperimento(fichExp, nombreExp, tipoBacteria,
                    nombreInvestigador, proyectoInvestigacion);

            try {
                //Guardamos el experimento
View Full Code Here


     * Cuando sucede la acción nos encargamos de cerrar el experimento seleccionado
     * @param e ActionEvent Evento producido
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicExperimento exp = Controller.getInstance().
                getExperimentoSeleccionado();
       
        ArrayList<LogicPoblacion> poblacionesSinGuardar = new
                ArrayList<LogicPoblacion>();
       
        if(!exp.isModified()) {
            ArrayList<LogicPoblacion> poblaciones = exp.getPoblaciones();
            for(int i=0; i< poblaciones.size(); i++) {
                if(poblaciones.get(i).isModified()) {
                    poblacionesSinGuardar.add(poblaciones.get(i));
                }
            }
        }
           
        if(exp.isModified() || !poblacionesSinGuardar.isEmpty()) {
            int res = JOptionPane.showConfirmDialog(Practica1.getInstance(),
                    Language.getI().getP("DESEA_GUARDAR_EXPERIMENTO")
                    , Language.getI().getP("CERRAR"),
                    JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
            if(res == JOptionPane.OK_OPTION) {
View Full Code Here

       
        @Override
        public void run() {
            fireAbriendoExperimento(nombreEx);
           
            LogicExperimento exp;
           
            Connection con = null;
            Statement sExp = null;
            Statement sPob = null;
            Statement sTab = null;
            Statement sCom = null;
            ResultSet rsExp = null;
            ResultSet rsPob = null;
            ResultSet rsTab = null;
            ResultSet rsCom = null;
           
            try {
                con = DriverManager.getConnection(DBURL);
               
                sExp = con.createStatement();
                sPob = con.createStatement();
                sTab = con.createStatement();
                sCom = con.createStatement();
               
                rsExp = sExp.executeQuery("SELECT NOMBREEXPERIMENTO, TIPOBACTERIA,"
                        + " NOMBREINVESTIGADOR, PROYECTOINVESTIGACION,"
                        + " NUMDIASEXPERIMENTO, LIMITEALIMENTACIONMAXIMA,"
                        + " UNIDADESMEDIDA FROM " + SCHEMA + ".EXPERIMENTO WHERE"
                        + " NOMBREEXPERIMENTO = '" + nombreEx + "'");
               
                String tipoBacteria;
                String nombreInvestigador;
                String proyectoInvestigacion;
                int numDiasExperimento;
                int limiteAlimentacionMax;
                String unidadesMedida;
               
               
                if(rsExp.next()) {
                    tipoBacteria = rsExp.getString("TIPOBACTERIA");
                    nombreInvestigador = rsExp.getString("NOMBREINVESTIGADOR");
                    proyectoInvestigacion = rsExp.getString("PROYECTOINVESTIGACION");
                    numDiasExperimento = rsExp.getInt("NUMDIASEXPERIMENTO");
                    limiteAlimentacionMax = rsExp.getInt("LIMITEALIMENTACIONMAXIMA");
                    unidadesMedida = rsExp.getString("UNIDADESMEDIDA");
                   
                } else {
                    throw new SQLException("No existe el experimento " +
                            nombreEx + " en base de datos");
                }
               
                //Creamos el experimento a partir de los datos de la BD
                exp = new LogicExperimento(new File(System.getProperty("user.home")),
                        nombreEx, tipoBacteria, nombreInvestigador,
                        proyectoInvestigacion, numDiasExperimento,
                        limiteAlimentacionMax, unidadesMedida, true);
               
                //Ahora obtenemos las poblaciones
                rsPob = sPob.executeQuery("SELECT NOMBREPOBLACION, FECHA,"
                        + " TAMANIOPOBLACION, TEMPERATURA, NUMDIAS,"
                        + " ESCALATEMPERATURA, SINCRONIZARCOMIDA, ALIMENTACIONINI,"
                        + " DIAMAXIMA, ALIMENTACIONMAX, ALIMENTACIONFIN FROM "
                        + SCHEMA + ".POBLACION WHERE NOMBREEXPERIMENTO = '"
                        + nombreEx + "'");
               
               
                while(rsPob.next()) {
                    String nombrePob = rsPob.getString("NOMBREPOBLACION");
                    String fecha = rsPob.getString("FECHA");
                    int tamanio = rsPob.getInt("TAMANIOPOBLACION");
                    int temperatura = rsPob.getInt("TEMPERATURA");
                    int numDias = rsPob.getInt("NUMDIAS");
                    String escalaTemp = rsPob.getString("ESCALATEMPERATURA");
                    boolean sincronizarCom = rsPob.getBoolean("SINCRONIZARCOMIDA");
                    int alimentacionIni = rsPob.getInt("ALIMENTACIONINI");
                    int diaMax = rsPob.getInt("DIAMAXIMA");
                    int alimentacionMax = rsPob.getInt("ALIMENTACIONMAX");
                    int alimentacionFin = rsPob.getInt("ALIMENTACIONFIN");
                   
                    LogicPoblacion p = new LogicPoblacion(nombrePob, exp);
                    p.setFecha(fecha);
                    p.setTamanioPoblacion(tamanio);
                    p.setTemperatura(temperatura);
                    p.setNumDias(numDias);
                    p.setEscalaTemperatura(escalaTemp);
                    p.setSincronizarComida(sincronizarCom);
                   
                    JGraficaComidaModel modelGrafica = new JGraficaComidaModel(numDias,
                            0, limiteAlimentacionMax);
                    modelGrafica.setAlimentoInicial(0);
                    modelGrafica.setAlimentoFinal(0);
                    modelGrafica.setAlimentoMax(alimentacionMax);
                    modelGrafica.setDiaMax(diaMax);
                    modelGrafica.setAlimentoInicial(alimentacionIni);
                    modelGrafica.setAlimentoFinal(alimentacionFin);
                    p.setModeloGraficaComida(modelGrafica);
                   
                    String[][] datos = new String[numDias][];
                    String []cabeceras = new String[]{
                        Language.getI().getP("DIA"),
                        Language.getI().getP("TAMANIO_POBLACION"),
                        Language.getI().getP("BACTERIAS_MUERTAS"),
                        Language.getI().getP("TEMPERATURA"),
                        Language.getI().getP("DOSIS_COMIDA")};
                   
                    //Obtenemos los datos de la tabla de la población
                    rsTab = sTab.executeQuery("SELECT NUMDIA, POBLACION,"
                            + " BACTERIASMUERTAS, TEMPERATURA, COMIDADIA FROM "
                            + SCHEMA + ".DATOSTABLA WHERE NOMBREEXPERIMENTO = "
                            + "'" + nombreEx + "' AND NOMBREPOBLACION = "
                            + "'" + nombrePob + "'");
                   
                    while(rsTab.next()) {
                        int dia = rsTab.getInt("NUMDIA");
                        int poblacion = rsTab.getInt("POBLACION");
                        int bacMuertas = rsTab.getInt("BACTERIASMUERTAS");
                        int temp = rsTab.getInt("TEMPERATURA");
                        int comidaDia = rsTab.getInt("COMIDADIA");
                       
                        datos[dia-1] = new String[]{"" + dia,
                            (poblacion != 0) ? poblacion + "" : "",
                            (bacMuertas != 0) ? bacMuertas + "": "",
                            (temp != 0) ? temp + "" : "",
                            "" + comidaDia};
                    }
                   
                    ModeloPoblacionTabla modelTabla =
                            new ModeloPoblacionTabla(datos, cabeceras);
                    p.setModeloPoblacionTabla(modelTabla);
                   
                    //Obtenemos los comentarios de la población
                    ModeloComentarios modelComentarios = new ModeloComentarios();
                   
                    rsCom = sCom.executeQuery("SELECT FECHACOMENTARIO, COMENTARIO"
                            + " FROM " + SCHEMA + ".COMENTARIOS WHERE NOMBREEXPERIMENTO = "
                            + "'" + nombreEx + "' AND NOMBREPOBLACION = "
                            + "'" + nombrePob + "'");
                   
                    while(rsCom.next()) {
                        String fech = rsCom.getString("FECHACOMENTARIO");
                        String com = rsCom.getString("COMENTARIO");
                       
                        modelComentarios.addComentario(new Comentario(com, fech));
                    }
                   
                    p.setModeloComentarios(modelComentarios);
                   
                    exp.addPoblacion(p);
                }
               
                //Notificamos que hemos abierto el experimento
                exp.setModified(false);
                fireAbiertoExperimento(exp);
            } catch (GraficaComidaIncorrectValueException ex) {
                Practica1.log.error("Error creando modelo de la gráfica comida", ex);
                fireErrorAbriendoExperimento(nombreEx);
            } catch (SQLException ex) {
View Full Code Here

     * al experimento
     * @param e ActionEvent Evento prtoducido
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicExperimento ex;
        if(experimento != null) {
            ex = experimento;
        } else {
            ex = Controller.getInstance().getExperimentoSeleccionado();
        }
       
        DialogNuevaPoblacion dialog = new DialogNuevaPoblacion(
                Practica1.getInstance(), ex);
       
        dialog.setVisible(true);

        if(dialog.getAction() == DialogNuevoExperimento.ACEPTAR) {
            String nombrePoblacion = dialog.getNombrePoblacion();
            LogicPoblacion p = new LogicPoblacion(
                nombrePoblacion, ex);
            p.setNumDias(ex.getNumDiasExperimento());
            p.setModified(true);

            Controller.getInstance().addPoblacion(p);
        }
    }
View Full Code Here

                            //Es una población
                            String nombrePoblacion = ramaNodoSeleccionado.toString();
                            String nombreExperimento = ramaNodoSeleccionado.
                                    getPath()[1].toString();

                            LogicExperimento experimento = ((LogicExperimento)
                                    ((DefaultMutableTreeNode)
                                    ramaNodoSeleccionado.getPath()[1])
                                    .getUserObject());
                           
                            LogicPoblacion poblacion = ((LogicPoblacion)
View Full Code Here

                TreePath pathExp = arbolExperimentos.getPathForRow(i);
                //Si el path es de dos niveles es un experimento
                //Primer nivel es root
                //Segundo nivel el path del experimento
                if(pathExp.getPath().length == 2) {
                    LogicExperimento ex = (LogicExperimento)
                            ((DefaultMutableTreeNode)pathExp.getPath()[1])
                            .getUserObject();

                    if(ex.equals(event.getExperimento())) {
                        padreArbol.remove(i - 1);
                        modeloArbol.reload();
                        removed = true;
                    }
                }
View Full Code Here

            if(listener != null) {
                fireGuardandoExperimento(experimento, listener);
            }
           
            LogicExperimento expGuardar = experimento.clone();
           
           
            Connection con = null;
            PreparedStatement psExp = null;
            PreparedStatement psPob = null;
            PreparedStatement psTab = null;
            PreparedStatement psCom = null;
           
            try {
                con = DriverManager.getConnection(DBURL);
                con.setAutoCommit(false);
               
                borrarExperimento(expGuardar, con);
               
                psExp = con.prepareStatement("INSERT INTO " + SCHEMA + ".EXPERIMENTO"
                        + " (NOMBREEXPERIMENTO, TIPOBACTERIA, NOMBREINVESTIGADOR,"
                        + " PROYECTOINVESTIGACION, NUMDIASEXPERIMENTO, "
                        + " LIMITEALIMENTACIONMAXIMA, UNIDADESMEDIDA) VALUES"
                        + " (?, ?, ?, ?, ?, ?, ?)");
               
               
                psExp.setString(1, expGuardar.getNombreExperimento());
                psExp.setString(2, expGuardar.getTipoBacteria());
                psExp.setString(3, expGuardar.getNombreInvestigador());
                psExp.setString(4, expGuardar.getProyectoInvestigacion());
                psExp.setInt(5, expGuardar.getNumDiasExperimento());
                psExp.setInt(6, expGuardar.getLimiteAlimentacionMaxima());
                psExp.setString(7, expGuardar.getUnidadesMedida());
               
                psExp.addBatch();
               
                psPob = con.prepareStatement("INSERT INTO " + SCHEMA + ".POBLACION("
                        + "NOMBREEXPERIMENTO, NOMBREPOBLACION, FECHA,"
                        + " TAMANIOPOBLACION, TEMPERATURA, NUMDIAS,"
                        + " ESCALATEMPERATURA, SINCRONIZARCOMIDA, ALIMENTACIONINI,"
                        + " DIAMAXIMA, ALIMENTACIONMAX, ALIMENTACIONFIN) "
                        + "VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
               
                psTab = con.prepareStatement("INSERT INTO " + SCHEMA + ".DATOSTABLA("
                        + "NOMBREEXPERIMENTO, NOMBREPOBLACION, NUMDIA, "
                        + "POBLACION, BACTERIASMUERTAS, TEMPERATURA, COMIDADIA) "
                        + "VALUES(?, ?, ?, ?, ?, ?, ?)");
               
                psCom = con.prepareStatement("INSERT INTO " + SCHEMA + ".COMENTARIOS("
                        + "NOMBREEXPERIMENTO, NOMBREPOBLACION, FECHACOMENTARIO,"
                        + " COMENTARIO) VALUES(?, ?, ?, ?)");
               
                //Guardamos las poblaciones
                for(LogicPoblacion p : expGuardar.getPoblaciones()) {
                    JGraficaComidaModel m = p.getModeloGraficaComida();
                    ModeloPoblacionTabla mT = p.getModeloPoblacionTabla();
                    ModeloComentarios mC = p.getModeloComentarios();
                   
                    psPob.setString(1, expGuardar.getNombreExperimento());
                    psPob.setString(2, p.getNombrePoblacion());
                    psPob.setString(3, p.getFecha());
                    psPob.setInt(4, p.getTamanioPoblacion());
                    psPob.setInt(5, p.getTemperatura());
                    psPob.setInt(6, p.getNumDias());
                    psPob.setString(7, p.getEscalaTemperatura());
                    psPob.setBoolean(8, p.isSincronizarComida());
                    psPob.setInt(9, m.getAlimentoInicial());
                    psPob.setInt(10, m.getDiaMax());
                    psPob.setInt(11, m.getAlimentoMax());
                    psPob.setInt(12, m.getAlimentoFinal());
                   
                    psPob.addBatch();
                   
                    for(int i=0; i<mT.getRowCount(); i++) {
                        psTab.setString(1, expGuardar.getNombreExperimento());
                        psTab.setString(2, p.getNombrePoblacion());
                        psTab.setInt(3, Integer.parseInt(
                                mT.getValueAt(i, 0).toString()));
                        if(mT.getValueAt(i, 1).toString().isEmpty()) {
                            psTab.setInt(4, 0);
                        } else {
                            psTab.setInt(4, Integer.parseInt(
                                    mT.getValueAt(i, 1).toString()));
                        }
                        if(mT.getValueAt(i, 2).toString().isEmpty()) {
                            psTab.setInt(5, 0);
                        } else {
                            psTab.setInt(5, Integer.parseInt(
                                    mT.getValueAt(i, 2).toString()));
                        }
                        if(mT.getValueAt(i, 3).toString().isEmpty()) {
                            psTab.setInt(6, 0);
                        } else {
                            psTab.setInt(6, Integer.parseInt(
                                    mT.getValueAt(i, 3).toString()));
                        }
                        if(mT.getValueAt(i, 4).toString().isEmpty()) {
                            psTab.setInt(7, 0);
                        } else {
                            psTab.setInt(7, Integer.parseInt(
                                    mT.getValueAt(i, 4).toString()));
                        }
                       
                        psTab.addBatch();
                    }
                   
                    for(Comentario c : mC.getComentarios()) {
                        psCom.setString(1, expGuardar.getNombreExperimento());
                        psCom.setString(2, p.getNombrePoblacion());
                        psCom.setString(3, c.getFecha());
                        psCom.setString(4, c.getTexto());
                       
                        psCom.addBatch();
View Full Code Here

 
            //Buscamos el padre
            boolean enc = false;
            for(int i=0; i<modeloArbol.getChildCount(padreArbol) && !enc; i++) {
                //Obtenemos el modelo de experimento de la rama actual del JTree
                LogicExperimento experimento = ((LogicExperimento)
                        ((DefaultMutableTreeNode)modeloArbol
                        .getChild(padreArbol, i)).getUserObject());
               
                //Si el experimento de la población
                if(experimento.equals(poblacion.getExperimentoPadre())) {
                    //Insertamos la población como hoja del experimento
                    modeloArbol.insertNodeInto
                            (nodoPoblacion, (DefaultMutableTreeNode)modeloArbol
                        .getChild(padreArbol, i),
                            modeloArbol.getChildCount(
View Full Code Here

     * Cuando sucede la acción nos encargamos de guardar el experimento seleccionado
     * @param e ActionEvent
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        LogicExperimento exp = Controller.getInstance().
                getExperimentoSeleccionado();

        ManejoExperimento.guardarExperimento(exp);
    }
View Full Code Here

            } else {
                setIcon(new ImageIcon(Imagenes.getImagen("experimento.gif").
                        getScaledInstance(32, 32, Image.SCALE_DEFAULT)));
            }
           
            LogicExperimento exPrin = Controller.getInstance().
                    getExperimentoPrincipal();
            if(exPrin != null) {
                if(exPrin.equals(userObject)) {
                    //Ponemos en negrita
                    setText("<html><b>" + getText() + "</b></html>");
                }
            }
           
View Full Code Here

TOP

Related Classes of practica1.logic.LogicExperimento

Copyright © 2018 www.massapicom. 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.