daily pastebin goal
29%
SHARE
TWEET

Untitled

a guest Feb 4th, 2016 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //package rit756;
  2.  
  3. import java.sql.DriverManager;
  4. import java.sql.Connection;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8.  
  9. import java.net.*;
  10. import java.util.Properties;
  11. import java.io.*;
  12.  
  13. import org.json.simple.JSONObject;
  14. import org.json.simple.JSONValue;
  15.  
  16. //Object class:
  17. public class Contact {
  18.  
  19.     public int getId() {
  20.         return Id;
  21.     }
  22.  
  23.     public void setId(int id) {
  24.         Id = id;
  25.     }
  26.  
  27.     public String getFirstName() {
  28.         return FirstName;
  29.     }
  30.  
  31.     public void setFirstName(String firstName) {
  32.         FirstName = firstName;
  33.     }
  34.  
  35.     public String getMiddleInitial() {
  36.         return MiddleInitial;
  37.     }
  38.  
  39.     public void setMiddleInitial(String middleInitial) {
  40.         MiddleInitial = middleInitial;
  41.     }
  42.  
  43.     public String getLastName() {
  44.         return LastName;
  45.     }
  46.  
  47.     public void setLastName(String lastName) {
  48.         LastName = lastName;
  49.     }
  50.  
  51.     public String getStreet() {
  52.         return Street;
  53.     }
  54.  
  55.     public void setStreet(String street) {
  56.         Street = street;
  57.     }
  58.  
  59.     public String getCity() {
  60.         return City;
  61.     }
  62.  
  63.     public void setCity(String city) {
  64.         City = city;
  65.     }
  66.  
  67.     public String getState() {
  68.         return State;
  69.     }
  70.  
  71.     public void setState(String state) {
  72.         State = state;
  73.     }
  74.  
  75.     public String getZip() {
  76.         return Zip;
  77.     }
  78.  
  79.     public void setZip(String zip) {
  80.         Zip = zip;
  81.     }
  82.  
  83.     public String getPhone() {
  84.         return Phone;
  85.     }
  86.  
  87.     public void setPhone(String phone) {
  88.         Phone = phone;
  89.     }
  90.  
  91.     public String getEmail() {
  92.         return Email;
  93.     }
  94.  
  95.     public void setEmail(String email) {
  96.         Email = email;
  97.     }
  98.  
  99.     public String getCardtype() {
  100.         return Cardtype;
  101.     }
  102.  
  103.     public void setCardtype(String cardtype) {
  104.         Cardtype = cardtype;
  105.     }
  106.  
  107.     public String getCardNumber() {
  108.         return CardNumber;
  109.     }
  110.  
  111.     public void setCardNumber(String cardNumber) {
  112.         CardNumber = cardNumber;
  113.     }
  114.  
  115.     private int Id;
  116.     private String FirstName;
  117.     private String MiddleInitial;
  118.     private String LastName;
  119.     private String Street;
  120.     private String City;
  121.     private String State;
  122.     private String Zip;
  123.     private String Phone;
  124.     private String Email;
  125.     private String Cardtype;
  126.     private String CardNumber;
  127.  
  128. }
  129.  
  130. //JDBC Method Class:
  131. public class JDBMethods implements JDBMethodsInterface {
  132.     private Connection connection = null;
  133.  
  134.     public void setupDb(String ip, String port, String uname, String pwd,
  135.             String Db) {
  136.  
  137.         try {
  138.             Class.forName("com.mysql.jdbc.Driver");
  139.  
  140.             String constring = "jdbc:mysql://" + ip + ":" + port + "/" + Db;
  141.  
  142.             connection = DriverManager.getConnection(constring, uname, pwd);
  143.  
  144.         } catch (ClassNotFoundException | SQLException e) {
  145.             // TODO Auto-generated catch block
  146.             e.printStackTrace();
  147.         }
  148.     }
  149.  
  150.     public boolean selectOnId(Contact contact) {
  151.        
  152.         Boolean result=false;
  153.         try {
  154.            
  155.             PreparedStatement ps = connection
  156.                     .prepareStatement("SELECT * FROM person WHERE Id=?");
  157.  
  158.             ps.setInt(1, contact.getId());
  159.  
  160.             ResultSet rs = ps.executeQuery();
  161.  
  162.             while (rs.next()) {
  163.                
  164.                 contact.setId(rs.getInt("Id"));
  165.                 contact.setCardNumber(rs.getString("CardNumber"));
  166.                 contact.setCity(rs.getString("City"));
  167.                 contact.setFirstName(rs.getString("FirstName"));
  168.                 contact.setLastName(rs.getString("LastName")); 
  169.                 contact.setEmail(rs.getString("Email"));
  170.                 contact.setMiddleInitial(rs.getString("MiddleInitial"));
  171.                 contact.setState(rs.getString("State"));
  172.                 contact.setZip(rs.getString("Zip"));
  173.                 contact.setPhone(rs.getString("Phone"));
  174.                 contact.setCardtype(rs.getString("CreditCardType"));
  175.                 contact.setStreet(rs.getString("Street"));
  176.                 result=true;
  177.                
  178.             }
  179.            
  180.            
  181.         } catch (SQLException e) {
  182.        
  183.             e.printStackTrace();
  184.  
  185.         }
  186.  
  187.         return result;
  188.     }
  189.  
  190.     public JDBMethods(String Ip, String Port, String uname, String pwd,
  191.             String Db) {
  192.  
  193.         setupDb(Ip, Port, uname, pwd, Db);
  194.  
  195.     }
  196.  
  197.     @Override
  198.     public boolean selectOnLastName(Contact contact) {
  199.         Boolean result=false;
  200.  
  201.             try {
  202.                
  203.                 PreparedStatement ps = connection
  204.                         .prepareStatement("SELECT * FROM person WHERE LastName=?");
  205.  
  206.                 ps.setString(1, contact.getLastName());
  207.                 ResultSet rs = ps.executeQuery();
  208.                
  209.  
  210.                 while (rs.next()) {
  211.                     result=true;
  212.                    
  213.                     contact.setId(rs.getInt("Id"));
  214.                     contact.setCardNumber(rs.getString("CardNumber"));
  215.                     contact.setCity(rs.getString("City"));
  216.                     contact.setFirstName(rs.getString("FirstName"));
  217.                     contact.setLastName(rs.getString("LastName")); 
  218.                     contact.setEmail(rs.getString("Email"));
  219.                     contact.setMiddleInitial(rs.getString("MiddleInitial"));
  220.                     contact.setState(rs.getString("State"));
  221.                     contact.setZip(rs.getString("Zip"));
  222.                     contact.setPhone(rs.getString("Phone"));
  223.                     contact.setCardtype(rs.getString("CreditCardType"));
  224.                     contact.setStreet(rs.getString("Street")); 
  225.  
  226.                 }
  227.                
  228.             } catch (SQLException e) {
  229.            
  230.                 e.printStackTrace();
  231.  
  232.             }
  233.  
  234.             return result;
  235.     }
  236.  
  237.     @Override
  238.     public boolean update(Contact contact) {
  239. //
  240.        
  241.     String sql="UPDATE person SET
  242.  
  243. Id=?,FirstName=?,LastName=?,MiddleInitial=?,Street=?,City=?,State=?,Zip=?,Phone=?,Email=?,CreditCardType=?,CardNumber=?WHERE Id=?";
  244.     PreparedStatement preparedStatement;
  245.     try {
  246.         preparedStatement = connection.prepareStatement(sql);
  247.         preparedStatement.setInt(1, contact.getId());
  248.         preparedStatement.setString(2, contact.getFirstName());
  249.         preparedStatement.setString(3, contact.getLastName());
  250.         preparedStatement.setString(4, contact.getMiddleInitial());
  251.         preparedStatement.setString(5, contact.getStreet());
  252.         preparedStatement.setString(6, contact.getCity());
  253.         preparedStatement.setString(7, contact.getState());
  254.         preparedStatement.setString(8, contact.getZip());
  255.         preparedStatement.setString(9, contact.getPhone());
  256.         preparedStatement.setString(10, contact.getEmail());
  257.         preparedStatement.setString(11, contact.getCardtype());
  258.         preparedStatement.setString(12, contact.getCardNumber());
  259.         preparedStatement.setInt(13, contact.getId());
  260.         preparedStatement.executeUpdate();
  261.        
  262.     } catch (SQLException e) {
  263.  
  264.         e.printStackTrace();
  265.     }
  266.        
  267.        
  268.        
  269.         return true;
  270.     }
  271.  
  272.     @Override
  273.     public boolean insert(Contact contact) {
  274.         String sql = "INSERT INTO person"
  275.                 + "(Id, FirstName, LastName,MiddleInitial,Street,City,State,Zip,Phone,Email,CreditCardType,CardNumber) VALUES"
  276.                 + "(?,?,?,?,?,?,?,?,?,?,?,?)";
  277.         PreparedStatement preparedStatement;
  278.         try {
  279.             preparedStatement = connection.prepareStatement(sql);
  280.             preparedStatement.setInt(1, contact.getId());
  281.             preparedStatement.setString(2, contact.getFirstName());
  282.             preparedStatement.setString(3, contact.getLastName());
  283.             preparedStatement.setString(4, contact.getMiddleInitial());
  284.             preparedStatement.setString(5, contact.getStreet());
  285.             preparedStatement.setString(6, contact.getCity());
  286.             preparedStatement.setString(7, contact.getState());
  287.             preparedStatement.setString(8, contact.getZip());
  288.             preparedStatement.setString(9, contact.getPhone());
  289.             preparedStatement.setString(10, contact.getEmail());
  290.             preparedStatement.setString(11, contact.getCardtype());
  291.             preparedStatement.setString(12, contact.getCardNumber());
  292.             preparedStatement.executeUpdate();
  293.            
  294.         } catch (SQLException e) {
  295.  
  296.             e.printStackTrace();
  297.         }
  298.  
  299.         return true;
  300.     }
  301.  
  302.     @Override
  303.     public boolean delete(Contact contact) {
  304.  
  305.         PreparedStatement preparedStatement = null;
  306.          
  307.         String deleteSQL = "DELETE FROM person WHERE Id = ?";
  308.  
  309.         try {
  310.            
  311.             preparedStatement = connection.prepareStatement(deleteSQL);
  312.             preparedStatement.setInt(1,contact.getId());
  313.             preparedStatement.executeUpdate();
  314.             System.out.println("Record is deleted!");
  315.  
  316.         } catch (SQLException e) {
  317.  
  318.             System.out.println(e.getMessage());
  319.  
  320.         }
  321.         return true;
  322.     }
  323.  
  324. }
  325.  
  326. //JDBC Interface Class:
  327. interface JDBMethodsInterface {
  328.  
  329.     public boolean selectOnId(Contact contact);
  330.  
  331.     public boolean selectOnLastName(Contact contact);
  332.  
  333.     public boolean update(Contact contact);
  334.  
  335.     public boolean insert(Contact contact);
  336.  
  337.     public boolean delete(Contact contact);
  338. }
  339.  
  340. //JDBC Server Class:
  341. public class Server {
  342.     public static void main(String[] args) {
  343.         new Server();
  344.     }
  345.  
  346.     public Server() {
  347.         Properties prop = new Properties();
  348.         InputStream input = null;
  349.         try {
  350.             input = new FileInputStream("config.properties");
  351.         } catch (FileNotFoundException e) {
  352.            
  353.             e.printStackTrace();
  354.         }
  355.          
  356.        
  357.         try {
  358.             prop.load(input);
  359.         } catch (IOException e) {
  360.            
  361.             e.printStackTrace();
  362.         }
  363.  
  364.        
  365.         ServerSocket ss = null;
  366.         int port=Integer.parseInt(prop.getProperty("port"));
  367.        
  368.         try {
  369.  
  370.             ss = new ServerSocket(port);
  371.             Socket cs = null;
  372.             while (true) {
  373.                 cs = ss.accept();
  374.                 ThreadedServer ths = new ThreadedServer(cs,prop);
  375.                 ths.start();
  376.             }
  377.         } catch (BindException be) {
  378.             System.out
  379.                     .println("Server already running on this computer, stopping.");
  380.         } catch (IOException ioe) {
  381.             System.out.println("IO Error");
  382.             ioe.printStackTrace();
  383.         }
  384.  
  385.     }
  386. }
  387.  
  388. class ThreadedServer extends Thread {
  389.     Socket cs;
  390.     Properties properties;
  391.  
  392.     public ThreadedServer(Socket cs,Properties prop) {
  393.         this.cs = cs;
  394.         this.properties=prop;
  395.     }
  396.  
  397.     @SuppressWarnings("unchecked")
  398.     public void run() {
  399.  
  400.         try {
  401.             BufferedReader br;
  402.             PrintWriter opw;
  403.             System.out.println("New connection");
  404.             br = new BufferedReader(new InputStreamReader(cs.getInputStream()));
  405.             opw = new PrintWriter(new OutputStreamWriter(cs.getOutputStream()));
  406.             boolean status = false;
  407.             Contact contact = new Contact();
  408.            
  409.            
  410.             JDBMethods jdbmethods = new JDBMethods(properties.getProperty("dbhost"), properties.getProperty("dbport"),
  411.  
  412. properties.getProperty("dbuser"),
  413.                     properties.getProperty("dbpassword"), properties.getProperty("dbname"));
  414.            
  415.             //JDBMethods jdbmethods = new JDBMethods("localhost", "3306","root", "root", "RIT");
  416.            
  417.             String json = br.readLine();
  418.  
  419.             Object o = JSONValue.parse(json);
  420.             JSONObject jo = (JSONObject) o;
  421.             String method = (String) jo.get("method");
  422.  
  423.             if (method.equals("selectOnId")) {
  424.  
  425.                 JSONObject obj = new JSONObject();
  426.                 contact.setId(Integer.parseInt((String) jo.get("data")));
  427.                 status=jdbmethods.selectOnId(contact);
  428.                 obj.put("FirstName", contact.getFirstName());
  429.                 obj.put("Id", contact.getId());
  430.                 obj.put("LastName", contact.getLastName());
  431.                 obj.put("CardNumber", contact.getCardNumber());
  432.                 obj.put("City", contact.getCity());
  433.                 obj.put("Email", contact.getEmail());
  434.                 obj.put("MiddleInitial", contact.getMiddleInitial());
  435.                 obj.put("State", contact.getState());
  436.                 obj.put("Zip", contact.getZip());
  437.                 obj.put("Phone", contact.getPhone());
  438.                 obj.put("CreditCardType", contact.getCardtype());
  439.                 obj.put("Street", contact.getStreet());
  440.                 StringWriter out = new StringWriter();
  441.                
  442.                     obj.writeJSONString(out);
  443.                     String jsonText = out.toString();
  444.                     String response="{\"data\":"+jsonText+",\"status\":\"" + status + "\"}";
  445.                     System.out.println(response);
  446.                     opw.write(response);
  447.  
  448.             } else if (method.equals("insert")) {
  449.  
  450.                 JSONObject jsondata = (JSONObject) jo.get("data");
  451.                 contact.setCardNumber((String) jsondata.get("CardNumber"));
  452.                 contact.setCity((String) jsondata.get("City"));
  453.                 contact.setFirstName((String) jsondata.get("FirstName"));
  454.                 contact.setLastName((String) jsondata.get("LastName"));
  455.                 contact.setId(Integer.parseInt((String) jsondata.get("Id")));
  456.                 contact.setEmail((String) jsondata.get("Email"));
  457.                 contact.setMiddleInitial((String) jsondata.get("MiddleInitial"));
  458.                 contact.setState((String) jsondata.get("State"));
  459.                 contact.setZip((String) jsondata.get("Zip"));
  460.                 contact.setPhone((String) jsondata.get("Phone"));
  461.                 contact.setCardtype((String) jsondata.get("CreditCardType"));
  462.                 contact.setStreet((String) jsondata.get("Street"));
  463.                 status = jdbmethods.insert(contact);
  464.                 opw.write("{'status':'" + status + "'}");
  465.             }
  466.  
  467.             else if (method.equals("update")) {
  468.                 JSONObject jsondata = (JSONObject) jo.get("data");
  469.                 contact.setCardNumber((String) jsondata.get("CardNumber"));
  470.                 contact.setCity((String) jsondata.get("City"));
  471.                 contact.setFirstName((String) jsondata.get("FirstName"));
  472.                 contact.setLastName((String) jsondata.get("LastName"));
  473.                 contact.setId(Integer.parseInt((String) jsondata.get("Id")));
  474.                 contact.setEmail((String) jsondata.get("Email"));
  475.                 contact.setMiddleInitial((String) jsondata.get("MiddleInitial"));
  476.                 contact.setState((String) jsondata.get("State"));
  477.                 contact.setZip((String) jsondata.get("Zip"));
  478.                 contact.setPhone((String) jsondata.get("Phone"));
  479.                 contact.setCardtype((String) jsondata.get("CreditCardType"));
  480.                 contact.setStreet((String) jsondata.get("Street"));
  481.                 status = jdbmethods.update(contact);
  482.                 opw.write("{'status':'" + status + "'}");
  483.  
  484.             } else if (method.equals("selectOnLastName")) {
  485.  
  486.  
  487.                 JSONObject obj = new JSONObject();
  488.                 System.out.println((String)jo.get("data"));
  489.                 contact.setLastName((String) jo.get("data"));
  490.                 status=jdbmethods.selectOnLastName(contact);
  491.                 obj.put("FirstName", contact.getFirstName());
  492.                 obj.put("Id", contact.getId());
  493.                 obj.put("LastName", contact.getLastName());
  494.                 obj.put("CardNumber", contact.getCardNumber());
  495.                 obj.put("City", contact.getCity());
  496.                 obj.put("Email", contact.getEmail());
  497.                 obj.put("MiddleInitial", contact.getMiddleInitial());
  498.                 obj.put("State", contact.getState());
  499.                 obj.put("Zip", contact.getZip());
  500.                 obj.put("Phone", contact.getPhone());
  501.                 obj.put("CreditCardType", contact.getCardtype());
  502.                 obj.put("Street", contact.getStreet());
  503.                 StringWriter out = new StringWriter();
  504.                
  505.                     obj.writeJSONString(out);
  506.                     String jsonText = out.toString();
  507.                     //System.out.print(jsonText);
  508.                     String response="{\"data\":"+jsonText+",\"status\":\"" + status + "\"}";
  509.                     System.out.println(response);
  510.                     opw.write(response);
  511.  
  512.            
  513.                
  514.                
  515.                
  516.             } else if (method.equals("delete")) {
  517.                 contact.setId(Integer.parseInt((String) jo.get("data")));
  518.                 status=jdbmethods.delete(contact);
  519.                 opw.write("{'status':'" + status + "'}");
  520.             }
  521.  
  522.             opw.flush();
  523.             cs.close();
  524.             System.out.println("connection closed");
  525.  
  526.         } catch (IOException e) {
  527.             System.out.println("Something went wrong.");
  528.             e.printStackTrace();
  529.         }
  530.     }
  531.  
  532. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top