Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package lapr.project.utils;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Map;
- import lapr.project.model.Energy;
- import lapr.project.model.Gear;
- import lapr.project.model.Project;
- import lapr.project.model.Regime;
- import lapr.project.model.Road;
- import lapr.project.model.RoadNetwork;
- import lapr.project.model.Vehicle;
- import lapr.project.model.VelocityLimit;
- import oracle.jdbc.pool.OracleDataSource;
- import java.sql.CallableStatement;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import lapr.project.model.FileInputOutput;
- import lapr.project.model.Junction;
- import lapr.project.model.Section;
- /**
- *
- * @author Bárbara Inês
- */
- public class DataBaseConnection {
- public static final String INSERT = "INSERT INTO %s VALUES(%s)";
- public static final String INSERT_2 = "SELECT * FROM %s";
- public static final String STRING_INSERT = "'%s'";
- private static final String DELETE = "DELETE FROM %s";
- private static final String PROJECT = "Project ";
- private static final String ROAD = "Road ";
- private static final String ROADNETWORK = "RoadNetwork ";
- private static final String TOLLFARE = "Toll_Fare ";
- private static final String VEHICLE = "Vehicle ";
- private static final String VELOCITY_LIMIT = "Velocity_Limit_List ";
- private static final String GEAR = "Gear_List ";
- private static final String REGIME = "Regime ";
- private static final String JUNCTION = "Junction ";
- private static final String SECTION = "Section ";
- private Connection conn;
- private Project project;
- //fechar a conexão no main qquando o programa fechar
- public static void main(String[] args) throws SQLException {
- Project a = new Project();
- a.setProjectDescription("Babi");
- a.setProjectID("01");
- // Vehicle v1 = new Vehicle("ola", "01","najdfn",1,"combustion","diesel","125","sdnfi",1.5f,3.0f,5.4f,1.0f,null,null);
- // Vehicle v2 = new Vehicle("ole", "02","najdfn",1,"combustion","diesel","125","sdnfi",1.5f,3.0f,2.0f,2.2f,null,null);
- // Vehicle v3 = new Vehicle("oli", "03","najdfn",1,"combustion","diesel","125","sdnfi",1.5f,2.0f,5.01f,2.2f,null,null);
- // Vehicle v4 = new Vehicle("olo", "04","najdfn",1,"combustion","diesel","125","sdnfi",1.5f,5.0f,2.0f,1.2f,null,null);
- // Vehicle v5 = new Vehicle("olu", "05","najdfn",1,"combustion","diesel","125","sdnfi",1.5f,2.0f,1.4f,2.2f,null,null);
- // ArrayList<Vehicle> b = new ArrayList<>();
- // b.add(v1);
- // b.add(v2);
- // b.add(v3);
- // b.add(v4);
- // b.add(v5);
- // a.setListVehicles(b);
- a = FileInputOutput.importVehicleFile("TestSet02_Vehicles.xml", a);
- // FileInputOutput.importNetworkFile("TestSet02_Network", a);
- DataBaseConnection hello = new DataBaseConnection(a);
- if(!hello.saveProject()){
- System.out.println("Inserido com sucesso");
- }else{
- System.out.println("Não inserido!");
- };
- // if(!hello.saveVehicle()){
- // System.out.println("Inserido com sucesso");
- // }else{
- // System.out.println("Não inserido!");
- // };
- hello.closeConnection();
- }
- public DataBaseConnection(Project project) throws SQLException{
- // Load Oracle JDBC Driver
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- //Estabelecer ligação à base de dados
- String url = "jdbc:oracle:thin://@vsrvbd1.dei.isep.ipp.pt:1521/pdborcl";
- String user = "LAPR3_G35";
- String pass = "navegantes";
- conn = DriverManager.getConnection(url, user, pass);
- this.project = project;
- }
- public Boolean saveProject() throws SQLException{
- //Inserir dados na tabela Project
- try (CallableStatement stmt = conn.prepareCall("{call INSERTPROJECT(?,?)}")) {
- stmt.setString(1, project.getProjectID());
- stmt.setString(2, project.getProjectDescription());
- //stmt.executeUpdate();
- stmt.execute(); //false significa que guardou
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- saveVehicle();
- // saveRoadNetwork();
- return false;
- }
- public Boolean saveVehicle() throws SQLException{
- for (Vehicle v : project.getListVehicles()) {
- // if(!saveVelocity_Limit_List(v) && !saveEnergy(v)){
- try (CallableStatement stmt = conn.prepareCall("{call insertVehicle(?,?,?,?,?,?,?,?,?,?,?,?,?)}")) {
- stmt.setString(1, project.getProjectID());
- stmt.setString(2, v.getDescription());
- stmt.setString(3, v.getName());
- stmt.setString(4, v.getType());
- stmt.setInt(5, v.getTollClass());
- stmt.setString(6, v.getMotorization());
- stmt.setString(7, v.getFuel());
- stmt.setString(8, v.getMass());
- stmt.setString(9, v.getLoad());
- stmt.setFloat(10, v.getDragCoefficient());
- stmt.setFloat(11, v.getFrontalArea());
- stmt.setFloat(12, v.getRollingResistanceCoefficient());
- stmt.setFloat(13, v.getWheelSize());
- stmt.execute();
- saveVelocity_Limit_List(v);
- saveEnergy(v);
- //false significa que guardou
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- // }
- return false;
- }
- public void deleteData(String tableName) {
- try (Statement st = conn.createStatement()) {
- String delete = String.format(DELETE, tableName);
- st.executeUpdate(delete);
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void closeConnection() throws SQLException {
- conn.close();
- }
- public Boolean saveVelocity_Limit_List(Vehicle v) throws SQLException{
- for (VelocityLimit vl : v.getVelocityLimitList()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertVelocity(?,?,?,?)}")) {
- stmt.setString(1, v.getDescription());
- stmt.setString(2, v.getName());
- stmt.setString(3, vl.getSegmentType());
- stmt.setFloat(4, vl.getLimit());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- public Boolean saveEnergy(Vehicle v) throws SQLException{
- Energy e = v.getEnergy();
- // if(!&& !){
- try (CallableStatement stmt = conn.prepareCall("{call insertEnergy(?,?,?,?,?,?)}")) {
- stmt.setString(1, v.getDescription());
- stmt.setString(2, v.getName());
- stmt.setFloat(3, e.getMinRPM());
- stmt.setFloat(4,e.getMaxRPM() );
- stmt.setFloat(5,e.getFinalDriveRatio() );
- stmt.setFloat(6,e.getEnergyRegenerationRatio() );
- stmt.execute();
- saveGear_List(v,e);
- saveRegime(v,e);
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- // }
- return false;
- }
- public Boolean saveGear_List(Vehicle v, Energy e) throws SQLException{
- for (Gear g : e.getGearList()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertGear_List(?,?,?,?)}")) {
- stmt.setString(1, v.getDescription());
- stmt.setString(2, v.getName());
- stmt.setString(3, g.getGearID());
- stmt.setFloat(4, g.getRatio());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- public Boolean saveRegime(Vehicle v, Energy e) throws SQLException{
- for (Regime r : e.getRegimeLevels()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertRegime(?,?,?,?,?,?,?)}")) {
- stmt.setString(1,v.getDescription());
- stmt.setString(2,v.getName());
- stmt.setString(3, r.getThrottleLevelString());
- stmt.setInt(4,r.getTorque());
- stmt.setInt(5,r.getRpmLow());
- stmt.setInt(6,r.getRpmHigh());
- stmt.setFloat(7,r.getSpecificFuelConsumption());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- public Boolean saveRoadNetwork() throws SQLException {
- if(!saveRoad()){
- try (CallableStatement stmt = conn.prepareCall("{call insertRoadNetwork(?,?,?)}")) {
- stmt.setString(1, project.getRoadNetwork().getId());
- stmt.setString(2, project.getRoadNetwork().getDescription());
- stmt.setString(3, project.getProjectID());
- return stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }return true;
- }
- public Boolean saveRoad() throws SQLException {
- for (Road r : project.getRoadNetwork().getRoadList()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertRoadNetwork(?,?,?,?,?)}")) {
- stmt.setString(1, project.getRoadNetwork().getId());
- stmt.setString(2, project.getRoadNetwork().getDescription());
- stmt.setString(3, r.getName());
- stmt.setString(4, r.getTypology());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- public Boolean saveJunction() throws SQLException {
- for (Junction j : project.getRoadNetwork().getRoadNet().vertices()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertNode(?,?,?)}")) {
- stmt.setString(1, project.getRoadNetwork().getId());
- stmt.setString(2, project.getRoadNetwork().getDescription());
- stmt.setString(3, j.getJunctionID());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- public Boolean saveSection() throws SQLException {
- for (Edge<Junction,Section> edge : project.getRoadNetwork().getRoadNet().edges()) {
- try (CallableStatement stmt = conn.prepareCall("{call insertSection(?,?,?,?,?,?)}")) {
- stmt.setString(1, project.getRoadNetwork().getId());
- stmt.setString(2, project.getRoadNetwork().getDescription());
- stmt.setString(3, edge.getVOrig().getJunctionID());
- stmt.setString(4, edge.getVDest().getJunctionID());
- stmt.setString(5, edge.getElement().getRoadID());
- stmt.setString(6, edge.getElement().getDirectionString());
- stmt.execute();
- } catch (SQLException ex) {
- Logger.getLogger(DataBaseConnection.class.getName()).log(Level.SEVERE, null, ex);
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement