Advertisement
Guest User

Untitled

a guest
Jan 15th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 20.71 KB | None | 0 0
  1.  package ModelClass;
  2.  
  3. import java.io.Serializable;
  4. import java.sql.CallableStatement;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.sql.Types;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. import java.util.logging.Level;
  16. import java.util.logging.Logger;
  17. import javax.annotation.PostConstruct;
  18. import javax.faces.bean.ManagedBean;
  19. import javax.faces.bean.SessionScoped;
  20.  
  21. @ManagedBean(name = "Plan")
  22. @SessionScoped
  23. public class Plan {
  24.  
  25.     private int EMERGENCY_ID;
  26.     private int SHOPPING_ID;
  27.     private int INTRA_REGION_TRANSPORT_ID;
  28.     private int INTER_REGION_TRANSPORT_ID;
  29.     private int RESTAURANT_ID;
  30.     private int HOTEL_ID;
  31.     private int LANDMARK_ID;
  32.     private int USER_ID;
  33.     private int PLAN_ID;
  34.     private int BUDGET;
  35.     private int DAYS;
  36.     private String EMERGENCY_NAME;
  37.     private String SHOPPING_NAME;
  38.     private String INTRA_REGION_NAME;
  39.     private String INTER_REGION_NAME;
  40.     private String RESTAURANT_NAME;
  41.     private String HOTEL_NAME;
  42.     private String LANDMARK_NAME;
  43.     private String DESTINATION;
  44.     private String LOCATION;
  45.     private final DBConnection dbconnection = new DBConnection();
  46.     private Map<String, String> regions;
  47.     private List<String> landmarks = new ArrayList<>();
  48.     private List<String> selectedlandmarks = new ArrayList<>();
  49.     private List<String> hotels = new ArrayList<>();
  50.     private String selectedhotel ;
  51.     private List<String> restaurants = new ArrayList<>();
  52.     private String selectedrestaurant ;
  53.     private List<String> intratransport = new ArrayList<>();
  54.     private String selectedintratransport ;
  55.     private List<String> intertransport = new ArrayList<>();
  56.     private String selectedintertransport;
  57.  
  58.    
  59.     public int getBUDGET() {
  60.         return BUDGET;
  61.     }
  62.  
  63.     public void setBUDGET(int BUDGET) {
  64.         this.BUDGET = BUDGET;
  65.     }
  66.     public String Demo() {
  67.        System.out.println(getBUDGET() + " working? " + getDAYS());
  68.        findPlan();
  69.        return "okay";
  70.    }
  71.    
  72.     public List<String> getIntertransport() {
  73.         return intertransport;
  74.     }
  75.  
  76.     public void setIntertransport(List<String> intertransport) {
  77.         this.intertransport = intertransport;
  78.     }
  79.  
  80.     public String getSelectedintertransport() {
  81.         return selectedintertransport;
  82.     }
  83.  
  84.     public void setSelectedintertransport(String selectedintertransport) {
  85.         this.selectedintertransport = selectedintertransport;
  86.     }
  87.    
  88.     public List<String> getHotels() {
  89.         return hotels;
  90.     }
  91.  
  92.     public void setHotels(List<String> hotels) {
  93.         this.hotels = hotels;
  94.     }
  95.  
  96.     public String getSelectedhotel() {
  97.         return selectedhotel;
  98.     }
  99.  
  100.     public void setSelectedhotel(String selectedhotel) {
  101.         this.selectedhotel = selectedhotel;
  102.     }
  103.  
  104.     public List<String> getRestaurants() {
  105.         return restaurants;
  106.     }
  107.  
  108.     public void setRestaurants(List<String> restaurants) {
  109.         this.restaurants = restaurants;
  110.     }
  111.  
  112.     public String getSelectedrestaurant() {
  113.         return selectedrestaurant;
  114.     }
  115.  
  116.     public void setSelectedrestaurant(String selectedrestaurant) {
  117.         this.selectedrestaurant = selectedrestaurant;
  118.     }
  119.  
  120.     public List<String> getIntratransport() {
  121.         return intratransport;
  122.     }
  123.  
  124.     public void setIntratransport(List<String> intratransport) {
  125.         this.intratransport = intratransport;
  126.     }
  127.  
  128.     public String getSelectedintratransport() {
  129.         return selectedintratransport;
  130.     }
  131.  
  132.     public void setSelectedintratransport(String selectedintratransport) {
  133.         this.selectedintratransport = selectedintratransport;
  134.     }
  135.  
  136.    
  137.    
  138.  
  139.     public int getDAYS() {
  140.         return DAYS;
  141.     }
  142.  
  143.     public void setDAYS(int DAYS) {
  144.         this.DAYS = DAYS;
  145.     }
  146.  
  147.     public List<String> getLandmarks() {
  148.         return landmarks;
  149.     }
  150.  
  151.     public void setLandmarks(List<String> landmarks) {
  152.         this.landmarks = landmarks;
  153.     }
  154.  
  155.     public List<String> getSelectedlandmarks() {
  156.         return selectedlandmarks;
  157.     }
  158.  
  159.     public void setSelectedlandmarks(List<String> selectedlandmarks) {
  160.         this.selectedlandmarks = selectedlandmarks;
  161.     }
  162.  
  163.     public Map<String, String> getRegions() {
  164.         return regions;
  165.     }
  166.  
  167.     public void setRegions(Map<String, String> regions) {
  168.         this.regions = regions;
  169.     }
  170.  
  171.     public String getDESTINATION() {
  172.         return DESTINATION;
  173.     }
  174.  
  175.     public void setDESTINATION(String DESTINATION) {
  176.         this.DESTINATION = DESTINATION;
  177.     }
  178.  
  179.     public String getLOCATION() {
  180.         return LOCATION;
  181.     }
  182.  
  183.     public void setLOCATION(String LOCATION) {
  184.         this.LOCATION = LOCATION;
  185.     }
  186.  
  187.     public String getEMERGENCY_NAME() {
  188.         return EMERGENCY_NAME;
  189.     }
  190.  
  191.     public void setEMERGENCY_NAME(String EMERGENCY_NAME) {
  192.         this.EMERGENCY_NAME = EMERGENCY_NAME;
  193.     }
  194.  
  195.     public String getSHOPPING_NAME() {
  196.         return SHOPPING_NAME;
  197.     }
  198.  
  199.     public void setSHOPPING_NAME(String SHOPPING_NAME) {
  200.         this.SHOPPING_NAME = SHOPPING_NAME;
  201.     }
  202.  
  203.     public String getINTRA_REGION_NAME() {
  204.         return INTRA_REGION_NAME;
  205.     }
  206.  
  207.     public void setINTRA_REGION_NAME(String INTRA_REGION_NAME) {
  208.         this.INTRA_REGION_NAME = INTRA_REGION_NAME;
  209.     }
  210.  
  211.     public String getINTER_REGION_NAME() {
  212.         return INTER_REGION_NAME;
  213.     }
  214.  
  215.     public void setINTER_REGION_NAME(String INTER_REGION_NAME) {
  216.         this.INTER_REGION_NAME = INTER_REGION_NAME;
  217.     }
  218.  
  219.     public String getRESTAURANT_NAME() {
  220.         return RESTAURANT_NAME;
  221.     }
  222.  
  223.     public void setRESTAURANT_NAME(String RESTAURANT_NAME) {
  224.         this.RESTAURANT_NAME = RESTAURANT_NAME;
  225.     }
  226.  
  227.     public String getHOTEL_NAME() {
  228.         return HOTEL_NAME;
  229.     }
  230.  
  231.     public void setHOTEL_NAME(String HOTEL_NAME) {
  232.         this.HOTEL_NAME = HOTEL_NAME;
  233.     }
  234.  
  235.     public String getLANDMARK_NAME() {
  236.         return LANDMARK_NAME;
  237.     }
  238.  
  239.     public void setLANDMARK_NAME(String LANDMARK_NAME) {
  240.         this.LANDMARK_NAME = LANDMARK_NAME;
  241.     }
  242.  
  243.     public int getEMERGENCY_ID() {
  244.         return EMERGENCY_ID;
  245.     }
  246.  
  247.     public void setEMERGENCY_ID(int EMERGENCY_ID) {
  248.         this.EMERGENCY_ID = EMERGENCY_ID;
  249.     }
  250.  
  251.     public int getSHOPPING_ID() {
  252.         return SHOPPING_ID;
  253.     }
  254.  
  255.     public void setSHOPPING_ID(int SHOPPING_ID) {
  256.         this.SHOPPING_ID = SHOPPING_ID;
  257.     }
  258.  
  259.     public int getINTRA_REGION_TRANSPORT_ID() {
  260.         return INTRA_REGION_TRANSPORT_ID;
  261.     }
  262.  
  263.     public void setINTRA_REGION_TRANSPORT_ID(int INTRA_REGION_TRANSPORT_ID) {
  264.         this.INTRA_REGION_TRANSPORT_ID = INTRA_REGION_TRANSPORT_ID;
  265.     }
  266.  
  267.     public int getINTER_REGION_TRANSPORT_ID() {
  268.         return INTER_REGION_TRANSPORT_ID;
  269.     }
  270.  
  271.     public void setINTER_REGION_TRANSPORT_ID(int INTER_REGION_TRANSPORT_ID) {
  272.         this.INTER_REGION_TRANSPORT_ID = INTER_REGION_TRANSPORT_ID;
  273.     }
  274.  
  275.     public int getRESTAURANT_ID() {
  276.         return RESTAURANT_ID;
  277.     }
  278.  
  279.     public void setRESTAURANT_ID(int RESTAURANT_ID) {
  280.         this.RESTAURANT_ID = RESTAURANT_ID;
  281.     }
  282.  
  283.     public int getHOTEL_ID() {
  284.         return HOTEL_ID;
  285.     }
  286.  
  287.     public void setHOTEL_ID(int HOTEL_ID) {
  288.         this.HOTEL_ID = HOTEL_ID;
  289.     }
  290.  
  291.     public int getLANDMARK_ID() {
  292.         return LANDMARK_ID;
  293.     }
  294.  
  295.     public void setLANDMARK_ID(int LANDMARK_ID) {
  296.         this.LANDMARK_ID = LANDMARK_ID;
  297.     }
  298.  
  299.     public int getUSER_ID() {
  300.         return USER_ID;
  301.     }
  302.  
  303.     public void setUSER_ID(int USER_ID) {
  304.         this.USER_ID = USER_ID;
  305.     }
  306.  
  307.     public int getPLAN_ID() {
  308.         return PLAN_ID;
  309.     }
  310.  
  311.     public void setPLAN_ID(int PLAN_ID) {
  312.         this.PLAN_ID = PLAN_ID;
  313.     }
  314.  
  315.    
  316.     public void onLocationChange() {
  317.         System.out.println(LOCATION);
  318.     }
  319.  
  320.     public void onDestinationChange() throws SQLException {
  321.         landmarks.clear();
  322.         selectedlandmarks.clear();
  323.         Statement stmt2 = null;
  324.         Connection con = null;
  325.         ResultSet rs1 = null;
  326.         DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  327.         String dbURL2 = "jdbc:oracle:thin:@localhost:1521:orcl";
  328.         con = DriverManager.getConnection(dbURL2, dbconnection.user, dbconnection.password);
  329.         if (con != null) {
  330.             stmt2 = con.createStatement();
  331.             try {
  332.                 String query = "SELECT REGION_ID FROM REGION WHERE REGION_NAME ='" + DESTINATION + "'";
  333.                 rs1 = stmt2.executeQuery(query);
  334.                 if (rs1.next()) {
  335.                     int i = rs1.getInt(1);
  336.                     rs1 = stmt2.executeQuery("SELECT LANDMARK_NAME FROM LANDMARKS WHERE REGION_ID = " + i);
  337.                     while (rs1.next()) {
  338.                         landmarks.add(rs1.getString(1));
  339.                     }
  340.                 }
  341.             } catch (Exception e) {
  342.                 System.out.println(e);
  343.             } finally {
  344.                 try {
  345.                     con.close();
  346.                     stmt2.close();
  347.                 } catch (SQLException e) {
  348.                     System.out.println(e);
  349.                 }
  350.             }
  351.         }
  352.     }
  353.  
  354.     @PostConstruct
  355.     public void init() {
  356.         regions = new HashMap<String, String>();
  357.         Statement stmt = null;
  358.         Connection con = null;
  359.         ResultSet rs = null;
  360.         String value;
  361.  
  362.         try {
  363.             DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  364.  
  365.             String dbURL2 = "jdbc:oracle:thin:@localhost:1521:orcl";
  366.             con = DriverManager.getConnection(dbURL2, dbconnection.user, dbconnection.password);
  367.             if (con != null) {
  368.                 stmt = con.createStatement();
  369.                 try {
  370.                     rs = stmt.executeQuery("SELECT REGION_NAME FROM REGION");
  371.                     while (rs.next()) {
  372.                         value = rs.getString(1);
  373.                         regions.put(value, value);
  374.                     }
  375.                 } catch (SQLException e) {
  376.                     System.out.println("No data found");
  377.                 }
  378.             }
  379.         } catch (SQLException e) {
  380.             System.out.println(e.toString());
  381.         } finally {
  382.             try {
  383.                 con.close();
  384.                 stmt.close();
  385.             } catch (Exception e) {
  386.                 e.printStackTrace();
  387.             }
  388.         }
  389.        
  390.         /*restaurants.add("hagu");
  391.         restaurants.add("mutu");
  392.        
  393.         hotels.add("billu");
  394.         hotels.add("puppy");*/
  395.     }
  396.    
  397.     public void findPlan()
  398.     {
  399.         System.out.println(LOCATION);
  400.         intertransport.clear();
  401.         String ret = "failed";
  402.         System.out.println("budget: "+BUDGET);
  403.         //regions = new HashMap<String, String>();
  404.         Statement stmt = null,stmt1=null,stmt2=null;
  405.         CallableStatement cstmt;
  406.         Connection con = null;
  407.         ResultSet rs = null,rs1=null,rs2=null;
  408.         String sql;
  409.         int currentBalance = BUDGET,temp = 0, id1=0, id2=0;;
  410.  
  411.         try {
  412.             DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  413.  
  414.             String dbURL2 = "jdbc:oracle:thin:@localhost:1521:orcl";
  415.             con = DriverManager.getConnection(dbURL2, dbconnection.user, dbconnection.password);
  416.             if (con != null) {
  417.                 stmt = con.createStatement();
  418.                 stmt1 = con.createStatement();
  419.                 stmt2 = con.createStatement();
  420.                 try {
  421.                     //suggest inter region transport
  422.                    
  423.                     rs = stmt.executeQuery("SELECT REGION_ID FROM REGION WHERE REGION_NAME='"+LOCATION+"'");
  424.                     //System.out.print();
  425.                     if(rs.next()) {
  426.                         id1 = rs.getInt(1);
  427.                         rs1 = stmt1.executeQuery("SELECT REGION_ID FROM REGION WHERE REGION_NAME='"+DESTINATION+"'");
  428.                        if(rs1.next())
  429.                         {
  430.                             id2 = rs1.getInt(1);
  431.                             String query = "SELECT VEHICLE_NAME||' ('||EXPENSE||'/-)' FROM INTER_REGION_TRANSPORT WHERE FROM_DIST="
  432.                             +id1+" AND TO_DIST="+ id2 +" AND 2*EXPENSE<="+currentBalance;
  433.                             System.out.print(query);
  434.                             rs2 = stmt2.executeQuery(query);
  435.                             while(rs2.next())
  436.                             {
  437.                                 intertransport.add(rs2.getString(1));
  438.                                 System.out.print("inserted");
  439.                                 ret ="success";
  440.                             }
  441.                            
  442.                         }
  443.                     }
  444.                    
  445.                         //sql = "{? = CALL MINIMUM_SPENT_INTER(?,?,?)}";
  446.                         cstmt = con.prepareCall("{? = call MINIMUM_SPENT_INTER(?,?,?)}");
  447.                         cstmt.registerOutParameter(1, Types.INTEGER);
  448.                         cstmt.setInt(2, id1);
  449.                         cstmt.setInt(3, id2);
  450.                         cstmt.setInt(4, currentBalance);
  451.                         cstmt.execute();
  452.                         temp = cstmt.getInt(1);
  453.                         currentBalance -= temp;
  454.                         System.out.println(temp+" current:"+currentBalance);
  455.                        
  456.                         //suggest Hotel options
  457.                         hotels.clear();
  458.                         sql = "SELECT HOTEL_NAME||' ('||MINIMUM_COST||'/-)' FROM HOTELS_AND_RESORTS WHERE REGION_ID="
  459.                                 + id2 +" AND MINIMUM_COST*"+DAYS+"<="+currentBalance;
  460.                         System.out.println(sql);
  461.                         if(DAYS>0)
  462.                         {
  463.                                 rs=stmt.executeQuery(sql);
  464.                                 while(rs.next())
  465.                                 {
  466.                                     hotels.add(rs.getString(1));
  467.                                     System.out.println(rs.getString(1)+" inserted");
  468.                                 }
  469.  
  470.                             cstmt = con.prepareCall("{? = call MINIMUM_SPENT_HOTEL(?,?,?)}");
  471.                             cstmt.registerOutParameter(1, Types.INTEGER);
  472.                             cstmt.setInt(2, id2);
  473.                             cstmt.setInt(3, currentBalance);
  474.                             cstmt.setInt(4, DAYS);
  475.                             cstmt.execute();
  476.                             temp = cstmt.getInt(1);
  477.                             currentBalance -= temp;
  478.                             System.out.println(temp+" current:"+currentBalance);
  479.                         //suggest intra region transport options
  480.                         }
  481.                         intratransport.clear();
  482.                         for(int i=0;i<landmarks.size();i++)
  483.                         {
  484.                             sql = "SELECT MODE_OF_TRANSPORT||' ('||EXPENSE||'/-)' FROM INTRA_REGION_TRANSPORT WHERE FROM_DEST ='"+DESTINATION+"' AND TO_DEST ='"+
  485.                                     landmarks.get(i)+"' AND 2*EXPENSE<="+currentBalance;
  486.                             System.out.println(sql);
  487.                             rs = stmt.executeQuery(sql);
  488.                             while(rs.next())
  489.                             {
  490.                                 intratransport.add(rs.getString(1));
  491.                                 System.out.println(rs.getString(1) +" inserted");
  492.                             }
  493.                                 cstmt = con.prepareCall("{? = call MINIMUM_SPENT_INTRA(?,?,?)}");
  494.                                 cstmt.registerOutParameter(1, Types.INTEGER);
  495.                                 cstmt.setString(2, LOCATION);
  496.                                 cstmt.setString(3, landmarks.get(i));
  497.                                 cstmt.setInt(4, currentBalance);
  498.                                 cstmt.execute();
  499.                                 temp = cstmt.getInt(1);
  500.                                 currentBalance -= temp;
  501.                                 System.out.println(temp+" current:"+currentBalance);
  502.                         }
  503.                        
  504.                         //suggest Restaurants options
  505.                         restaurants.clear();
  506.                         sql = "SELECT RESTAURANT_NAME||' ('||AVERAGE_COST||'/-)' FROM RESTAURANTS WHERE "
  507.                                 + "REGION_ID="+id2+" AND AVERAGE_COST*"+DAYS+"<="+currentBalance;
  508.                         System.out.println(sql);
  509.                         if(DAYS>0)
  510.                         {
  511.                             rs = stmt.executeQuery(sql);
  512.                             while(rs.next())
  513.                             {
  514.                                 restaurants.add(rs.getString(1));
  515.                                 System.out.println("inserted "+rs.getString(1));
  516.                             }
  517.                             cstmt = con.prepareCall("{? = call MINIMUM_SPENT_RESTAURANT(?,?,?)}");
  518.                             cstmt.registerOutParameter(1, Types.INTEGER);
  519.                             cstmt.setInt(2, id2);
  520.                             cstmt.setInt(3, currentBalance);
  521.                             cstmt.setInt(4, DAYS);
  522.                             cstmt.execute();
  523.                             temp = cstmt.getInt(1);
  524.                             currentBalance -= temp;
  525.                             System.out.println(temp+" current:"+currentBalance);
  526.                        
  527.                         }
  528.                 } catch (SQLException e) {
  529.                     System.out.println("No data found");
  530.                 }
  531.             }
  532.         } catch (SQLException e) {
  533.             System.out.println(e.toString());
  534.         } finally {
  535.             try {
  536.                 con.close();
  537.                 stmt.close();
  538.             } catch (Exception e) {
  539.                 e.printStackTrace();
  540.             }
  541.         }
  542.        
  543.     }
  544.    
  545.     public void storePlan()
  546.     {
  547.        
  548.     }
  549.    
  550.    
  551.     public void insert() throws SQLException {
  552.  
  553.         /*  Statement stmt = null;
  554.     Connection con = null;
  555.     ResultSet rs = null;
  556.     DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  557.            
  558.     String dbURL2 = "jdbc:oracle:thin:@localhost:1521:orcl";
  559.     con = DriverManager.getConnection(dbURL2, user, password);
  560.     System.out.print("In insert function "+getRegionID()+getRegionName());
  561.             if (con!= null) {
  562.                 System.out.println("Connected with connection #2");
  563.                 stmt = con.createStatement();
  564.             try {
  565.             rs = stmt.executeQuery("SELECT * FROM REGION WHERE REGION_NAME = '"+getRegionName()+"'");
  566.                 if(!rs.next())
  567.                 {
  568.                 stmt.executeUpdate("INSERT INTO REGION (REGION_ID, REGION_NAME)"+" VALUES(REGION_ID_VAL.NEXTVAL"+", "+"'"+getRegionName()+"')");
  569.                 System.out.print("In insert function "+getRegionID()+getRegionName());
  570.                 }
  571.             }
  572.             catch(SQLException e)
  573.             {
  574.                 System.out.println("No data found while inserting");
  575.             }
  576.             finally
  577.             {
  578.                 try
  579.                 {
  580.                     con.close();
  581.                     stmt.close();
  582.                 }
  583.                 catch(SQLException e)
  584.                 {
  585.                            System.out.println(e);
  586.                 }
  587.             }
  588.             }  */
  589.     }
  590.  
  591.     public void delete() throws SQLException {
  592.         /*  Statement stmt = null;
  593.     Connection con = null;
  594.     DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  595.            
  596.     String dbURL2 = "jdbc:oracle:thin:@localhost:1521:orcl";
  597.     con = DriverManager.getConnection(dbURL2, user, password);
  598.     System.out.print("In delete function "+getRegionName());
  599.     if (con!= null) {
  600.             System.out.println("Connected with connection #2");
  601.             stmt = con.createStatement();
  602.             try {
  603.             stmt.executeUpdate("DELETE FROM REGION WHERE REGION_NAME = '"+getDelRegionName()+"'");
  604.             System.out.print("In delete function "+getRegionName());
  605.             }
  606.             catch(SQLException e)
  607.             {
  608.                 System.out.println("No data found during deletion");
  609.             }
  610.             finally
  611.             {
  612.                 try
  613.                 {
  614.                     con.close();
  615.                     stmt.close();
  616.                 }
  617.                 catch(SQLException e)
  618.                 {
  619.                            System.out.println(e);
  620.                 }
  621.             }
  622.             }  */
  623.  
  624.     }
  625.  
  626. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement