Package beans.core.db

Source Code of beans.core.db.ObjetControl

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package beans.core.db;

import beans.enumeration.Target;
import beans.enumeration.Utilization;
import beans.serializable.ChangeStatut;
import beans.serializable.Objet;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author mastersnes
*/
public class ObjetControl {
    private static final String TARGET = "target";
    private static final String USE = "use";
    private static final String DESCRIPTION = "descriptionObjet";
    private static final String NAME = "nameObjet";
    public static final String TABLE_NAME = "OBJET";
    private static final ChangeStatutControl changeStatutControl = new ChangeStatutControl();
   
    public Objet getObjet(final String name) {
        ResultSet set = null;
        PreparedStatement statement = null;
        try {
            statement = Database.getStatement("select * from "+TABLE_NAME+" where "+NAME+" = ?");
            statement.setString(1, name);
           
            set = statement.executeQuery();
           
            if (set.next()) {
                final Objet objet = getFromRowSet(set);
                return objet;
            } else {
                return null;
            }
        } catch (final SQLException ex) {
            Logger.getLogger(ObjetControl.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        } finally {
            closeProperly(statement);
        }
    }

    private static void closeProperly(PreparedStatement statement) {
        if (statement != null) {
            try {
                statement.close();
            } catch (final SQLException ex) {
                Logger.getLogger(ObjetControl.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    private static Objet getFromRowSet(final ResultSet set) {
        try {
            final Objet objet = new Objet();
            objet.setName(set.getString(NAME));
            objet.setDescription(set.getString(DESCRIPTION));
            objet.setChangeStatut(changeStatutControl.getChangeStatut(objet.getName(), TABLE_NAME));
            objet.setTarget(Target.valueOf(set.getString(TARGET)));
            objet.setUse(Utilization.valueOf(set.getString(USE)));
            return objet;
        } catch (SQLException ex) {
            Logger.getLogger(ObjetControl.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }

    }

    public void saveObjet(final Objet objet) {
        PreparedStatement statement = null;
        for (final ChangeStatut changeStatut : objet.getChangeStatut()) {
            changeStatutControl.saveChangeStatut(objet.getName(), changeStatut, TABLE_NAME);
        }
       
        try {
            statement = Database.getStatement("insert into "+TABLE_NAME+" values (?,?,?,?)");
           
            statement.setString(1, objet.getName());
            statement.setString(2, objet.getDescription());
            statement.setString(3, objet.getTarget().name());
            statement.setString(4, objet.getUse().name());
           
            statement.executeUpdate();
           
        } catch (final SQLException ex) {
            Logger.getLogger(ObjetControl.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            closeProperly(statement);
        }
    }
   
    public static List<Objet> getAllObjets() {
        final List<Objet> objets = new ArrayList<Objet>();
        ResultSet set = null;
        PreparedStatement statement = null;
        try {
            statement = Database.getStatement("select * from "+TABLE_NAME);
           
            set = statement.executeQuery();
           
            while (set.next()) {
                final Objet objet = getFromRowSet(set);
                objets.add(objet);
            }
            return objets;
        } catch (final SQLException ex) {
            Logger.getLogger(SkillControl.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        } finally {
            closeProperly(statement);
        }
    }
}
TOP

Related Classes of beans.core.db.ObjetControl

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.