Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.80 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package org.foi.nwtis.brukrneti.web.dretve;
  7.  
  8. import com.mysql.jdbc.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.SQLException;
  11. import java.util.Properties;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14. import javax.mail.Folder;
  15. import javax.mail.Message;
  16. import javax.mail.MessagingException;
  17. import javax.mail.Session;
  18. import javax.mail.Store;
  19. import javax.servlet.ServletContext;
  20. import org.foi.nwtis.brukrneti.konfiguracije.Konfiguracija;
  21. import org.foi.nwtis.brukrneti.web.slusaci.SlusacAplikacije;
  22.  
  23. /**
  24.  *
  25.  * @author grupa_1
  26.  */
  27. public class ObradaPoruka extends Thread {
  28.     private boolean kraj = false;
  29.     private int spavanje;
  30.     private String posluzitelj;
  31.     private String korisnickoIme;
  32.     private String lozinka;
  33.  
  34.     public ObradaPoruka() {
  35.     }
  36.    
  37.     @Override
  38.     public void interrupt() {
  39.         kraj = true;
  40.         super.interrupt();
  41.     }
  42.  
  43.     @Override
  44.     public void run() {
  45.         int broj=0;
  46.         while (!kraj) {
  47.             try {
  48.                 String defaultFrom;
  49.                 Session session;
  50.                 Store store;
  51.                 Folder folder;
  52.  
  53.                 // Start the session
  54.                 Properties properties = System.getProperties();
  55.                 properties.put("mail.smtp.host", posluzitelj);
  56.                 session = Session.getInstance(properties, null);
  57.  
  58.                 // Connect to the store
  59.                 store = session.getStore("imap");
  60.                 store.connect(posluzitelj, korisnickoIme, lozinka);
  61.  
  62.                 // Open the INBOX folder
  63.                 folder = store.getFolder("INBOX");
  64.                 folder.open(Folder.READ_ONLY);
  65.                 Message[] messages = null;
  66.  
  67.                 //TODO ne dohvatiti sve poruke odjednom nego po grupama
  68.                 messages = folder.getMessages();
  69.  
  70.                 // Print each message
  71.                 for (int i = 0; i < messages.length; ++i) {
  72.                     //TODO pretrazi tzv. NWTiS poruke i s njima obavi potrebne radnje
  73.                 }
  74.  
  75.                 folder.close(false);
  76.                 store.close();
  77.                
  78.                 System.out.println("Gotova obrada: " + broj++);
  79.                
  80.                 sleep(spavanje*1000);
  81.             } catch (InterruptedException | MessagingException ex) {
  82.                 Logger.getLogger(ObradaPoruka.class.getName()).log(Level.SEVERE, null, ex);
  83.             }
  84.         }
  85.     }
  86.     @Override
  87.     public synchronized void start() {
  88.         ServletContext sc = SlusacAplikacije.servletContext;
  89.         Konfiguracija k = (Konfiguracija) sc.getAttribute("Mail_config");
  90.         spavanje = Integer.parseInt(k.dajPostavku("mail.timeSecThreadCycle"));
  91.         posluzitelj = k.dajPostavku("mail.server");
  92.         korisnickoIme = k.dajPostavku("mail.usernameThread");
  93.         lozinka = k.dajPostavku("mail.passwordThread");
  94.        
  95.         dbConnection();
  96.         super.start();
  97.     }
  98.     /**
  99.      * Metoda za spajanje na bazu
  100.      */
  101.     private void dbConnection () {
  102.         ServletContext sc = SlusacAplikacije.servletContext;
  103.         Konfiguracija k = (Konfiguracija) sc.getAttribute("Mail_config");
  104.         String url = k.dajPostavku("server.database") + k.dajPostavku("user.database");
  105.         String dbUser = k.dajPostavku("user.username");
  106.         String dbPassword = k.dajPostavku("user.password");
  107.         try {
  108.             Connection con = (Connection) DriverManager.getConnection(url, dbUser, dbPassword);
  109.         } catch (SQLException ex) {
  110.             Logger.getLogger(ObradaPoruka.class.getName()).log(Level.SEVERE, null, ex);
  111.         }
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement