Advertisement
Guest User

Untitled

a guest
Feb 10th, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.70 KB | None | 0 0
  1.  private static Kontroler instanca;
  2.     DBBroker db;
  3.     private Kontroler() {
  4.         db=new DBBroker();
  5.     }
  6.  
  7.     public static Kontroler getInstanca() {
  8.         if(instanca==null)
  9.             instanca=new Kontroler();
  10.         return instanca;
  11.     }
  12. //****************************************************************************************************************************************
  13. //DBBROKER
  14. Connection konekcija;
  15.      
  16.    
  17.     public void ucitajDrajver() {
  18.         try {
  19.             Class.forName("com.mysql.jdbc.Driver");
  20.         } catch (ClassNotFoundException ex) {
  21.             Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
  22.         }
  23.     }
  24.     public void otvoriKonekciju(){
  25.         String url="jdbc:mysql://localhost:3306/prosoftjul16g1";
  26.         String user="root";
  27.         String pass="";
  28.        
  29.         try {
  30.             konekcija=DriverManager.getConnection(url, user, pass);
  31.             konekcija.setAutoCommit(false);
  32.         } catch (SQLException ex) {
  33.             Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
  34.         }
  35.     }
  36.    
  37.     public void zatvoriKonekciju() {
  38.         try {
  39.             konekcija.close();
  40.         } catch (SQLException ex) {
  41.             Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
  42.         }
  43.     }
  44.    
  45.     public void commit(){
  46.    
  47.         try {
  48.             konekcija.commit();
  49.         } catch (SQLException ex) {
  50.             Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
  51.         }
  52.     }
  53.    
  54.     public void rollback(){
  55.    
  56.         try {
  57.             konekcija.rollback();
  58.         } catch (SQLException ex) {
  59.             Logger.getLogger(DBBroker.class.getName()).log(Level.SEVERE, null, ex);
  60.         }
  61.    
  62.     }
  63. //**************************************************************************************************************************************
  64. //OBRADJIVANJEKLIJENTSKIHZAHTEVA
  65. Socket s;
  66.  
  67.     public ObradjivanjeKlijentskihZahteva(Socket s) {
  68.         this.s = s;
  69.     }
  70.  
  71.     @Override
  72.     public void run() {
  73.         while (true){
  74.         KlijentskiZahtev kz=primiZahtev();
  75.        
  76.         ServerskiOdgovor so=new ServerskiOdgovor();
  77.        
  78.         switch(kz.getOperacija()){
  79.    
  80.         }
  81.        
  82.        
  83.        
  84.         posaljiOdgovor(so);
  85.         }
  86.         //super.run(); //To change body of generated methods, choose Tools | Templates.
  87.     }
  88.  
  89.     private KlijentskiZahtev primiZahtev() {
  90.         KlijentskiZahtev kz=new KlijentskiZahtev();
  91.        
  92.          try {
  93.              ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
  94.              kz=(KlijentskiZahtev) ois.readObject();
  95.              
  96. //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  97.          } catch (IOException ex) {
  98.              Logger.getLogger(ObradjivanjeKlijentskihZahteva.class.getName()).log(Level.SEVERE, null, ex);
  99.          } catch (ClassNotFoundException ex) {
  100.              Logger.getLogger(ObradjivanjeKlijentskihZahteva.class.getName()).log(Level.SEVERE, null, ex);
  101.          }
  102.          
  103.          return kz;
  104.     }
  105.  
  106.     private void posaljiOdgovor(ServerskiOdgovor so) {
  107.          try {
  108.              ObjectOutputStream ous=new ObjectOutputStream(s.getOutputStream());
  109.              ous.writeObject(so);
  110.              System.out.println("SADA SMO U METODI POSALJIODGOVOR"+so.getOdgovor());
  111.              // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  112.          } catch (IOException ex) {
  113.              Logger.getLogger(ObradjivanjeKlijentskihZahteva.class.getName()).log(Level.SEVERE, null, ex);
  114.          }
  115.     }
  116.        
  117.    
  118.      
  119. }
  120. //POKRETANJESERVERA
  121.     public PokretanjeServera() {
  122.     }
  123.    
  124.     @Override
  125.     public void run() {
  126.        
  127.         try {
  128.             ServerSocket ss= new ServerSocket(9000);
  129.             System.out.println("Server je pokrenut");
  130.            
  131.             while(true){
  132.                 Socket s=ss.accept();
  133.                 System.out.println("Klijent se povezao");
  134.                 ObradjivanjeKlijentskihZahteva o=new ObradjivanjeKlijentskihZahteva(s);
  135.                 o.start();
  136.             }
  137.            
  138.            
  139.         } catch (IOException ex) {
  140.             Logger.getLogger(PokretanjeServera.class.getName()).log(Level.SEVERE, null, ex);
  141.         }
  142.        
  143.        
  144.         //super.run(); //To change body of generated methods, choose Tools | Templates.
  145.     }
  146.  
  147.  
  148. //**************************************************************************************************************************************
  149. public class KomunikacijaSaServerom {
  150.     Socket s;
  151.    
  152.     private static KomunikacijaSaServerom instanca;
  153.  
  154.     private KomunikacijaSaServerom() {
  155.         try {
  156.             s = new Socket("localhost", 9000);
  157.             System.out.println("POVEZIVANJE USPESNO SA STRANE KLIJENTA");
  158.         } catch (IOException ex) {
  159.             Logger.getLogger(KomunikacijaSaServerom.class.getName()).log(Level.SEVERE, null, ex);
  160.         }
  161.     }
  162.  
  163.     public static KomunikacijaSaServerom getInstanca() {
  164.         if(instanca == null)
  165.             instanca = new KomunikacijaSaServerom();
  166.         return instanca;
  167.     }
  168.    
  169.     public void posaljiZahtev(KlijentskiZahtev kz){
  170.           try {
  171.               ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
  172.               oos.writeObject(kz);
  173.               System.out.println("zahtev poslat od strane klijenta");
  174.           } catch (IOException ex) {
  175.               Logger.getLogger(KomunikacijaSaServerom.class.getName()).log(Level.SEVERE, null, ex);
  176.           }
  177.        
  178.     }
  179.    
  180.     public ServerskiOdgovor primiOdgovor(){
  181.         ServerskiOdgovor so=new ServerskiOdgovor();
  182.        
  183.           try {
  184.               ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
  185.               so=(ServerskiOdgovor) ois.readObject();
  186.           } catch (IOException ex) {
  187.               Logger.getLogger(KomunikacijaSaServerom.class.getName()).log(Level.SEVERE, null, ex);
  188.         return so;
  189.              } catch (ClassNotFoundException ex) {
  190.               Logger.getLogger(KomunikacijaSaServerom.class.getName()).log(Level.SEVERE, null, ex);
  191.           }
  192.        
  193.           System.out.println("odgovor primljen od strane klijenta");
  194.           return so;
  195.     }
  196.    
  197.    
  198. }
  199. //**************************************KOMUNIKACIJA SA KLIJENTOM
  200.     private static KomunikacijaSaKlijentom instanca;
  201.  
  202.     private KomunikacijaSaKlijentom() {
  203.     }
  204.  
  205.     public static KomunikacijaSaKlijentom getInstanca() {
  206.         if(instanca==null)
  207.             instanca=new KomunikacijaSaKlijentom();
  208.         return instanca;
  209.     }
  210.    
  211.     public void posaljiOdgovor(ServerskiOdgovor so, Socket s){
  212.           try {
  213.             ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
  214.             oos.writeObject(so);
  215.         } catch (IOException ex) {
  216.             Logger.getLogger(KomunikacijaSaKlijentom.class.getName()).log(Level.SEVERE, null, ex);
  217.         }
  218.  
  219.     }
  220.    
  221.     public KlijentskiZahtev primiZahtev(Socket s) throws Exception{
  222.         KlijentskiZahtev kz=new KlijentskiZahtev();
  223.        
  224.        
  225.             ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
  226.             kz=(KlijentskiZahtev) ois.readObject();
  227.        
  228.         return kz;
  229.     }
  230.  
  231.  
  232.  
  233. //*************************************OBRADA SERVERSKOG ODGOVORA
  234. public class ObradaServerskogOdgovora extends Thread {
  235.  
  236.     KlijentForma kf;
  237.  
  238.     public ObradaServerskogOdgovora(KlijentForma kf) {
  239.         this.kf = kf;
  240.     }
  241.  
  242.     public void run() {
  243.         try {
  244.             while (true) {
  245.                 ServerskiOdgovor so = KomunikacijaSaServerom.getInstanca().primiOdgovor();
  246.  
  247.                 switch (so.getOperacija()) {
  248.                     case Opracije.PREKID_RADA:
  249.                         kf.prekidRada(so);
  250.                         break;
  251.  
  252.                     case Opracije.LOG_IN:
  253.  
  254.                         kf.infoLogovanje(so);
  255.                         break;
  256.  
  257.                     case Opracije.BROJ_NA_MREZI:
  258.                         kf.pokaziBrojNaMrezi(so);
  259.                         break;
  260.  
  261.                     case Opracije.IZBACI_KLIJENTA:
  262.                         kf.izbaciKlijenta();
  263.                         break;
  264.  
  265.                     case Opracije.PROBA:
  266.                         kf.analiziraj(so);
  267.                         break;
  268.                 }
  269.  
  270.             }
  271.  
  272.             // super.run(); //To change body of generated methods, choose Tools | Templates.
  273.         } catch (Exception e) {
  274.             System.out.println("DISKONTKETOVAO SE");
  275.  
  276.         }
  277.     }
  278.  
  279. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement