Guest User

Untitled

a guest
Jul 12th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.21 KB | None | 0 0
  1. package org.me.asocial.server;
  2.  
  3. import java.io.File;
  4. import javax.jws.WebService;
  5. import javax.jws.WebMethod;
  6. import javax.jws.WebParam;
  7. import java.sql.*;
  8.  
  9.  
  10. import javax.xml.parsers.DocumentBuilder;
  11. import javax.xml.parsers.DocumentBuilderFactory;
  12. import javax.xml.parsers.ParserConfigurationException;
  13. import javax.xml.transform.Transformer;
  14. import javax.xml.transform.TransformerException;
  15. import javax.xml.transform.TransformerFactory;
  16. import javax.xml.transform.dom.DOMSource;
  17. import javax.xml.transform.stream.StreamResult;
  18.  
  19. import org.w3c.dom.Attr;
  20. import org.w3c.dom.Document;
  21. import org.w3c.dom.Element;
  22.  
  23. //@author Andrea
  24.  
  25. // **********************************************************
  26. // ************************ CLASSES *************************
  27. // **********************************************************
  28.  
  29. class Database
  30. {
  31.     Connection con;
  32.     PreparedStatement pst;
  33.     ResultSet rs;
  34.     Database()
  35.     {
  36.         try{
  37.             Class.forName("com.mysql.jdbc.Driver");
  38.             con=DriverManager.getConnection("jdbc:mysql://localhost:3306/asocial_db","asocial_god","asocial");
  39.            }
  40.         catch (Exception e)
  41.         {
  42.             System.out.println(e);
  43.         }
  44.     }
  45.  
  46.     protected String checkLogin(String usr,String pwd)
  47.     {
  48.         try {
  49.                     String query="SELECT * FROM user_authentication WHERE username=? AND password=?";
  50.                     pst=con.prepareStatement(query);
  51.                     pst.setString(1, usr);
  52.                     pst.setString(2, pwd);
  53.                     rs=pst.executeQuery();
  54.                     if(rs.next())
  55.                     {
  56.             return "Login effettuato!";
  57.                     } else {
  58.             return "Login errato!";
  59.                     }
  60.         } catch (Exception e) {
  61.                     return "Errore: " + e;
  62.         }
  63.         }
  64.        
  65.         protected String sendPost(int userID, String postTitle, String postBody)
  66.         {
  67.                 try {
  68.                     String query="INSERT INTO `asocial_db`.`posts` (`post_id`, `post_date`, `post_title`, `post_body`, `user_id`)"
  69.                                 + "VALUES (NULL, CURRENT_TIMESTAMP,?,?,1)";
  70.                     pst=con.prepareStatement(query);
  71.                     pst.setString(1, postTitle);
  72.                     pst.setString(2, postBody);                    
  73.                     pst.executeUpdate();
  74.                 } catch (Exception e){
  75.                     return "Errore! " + e;
  76.                 }
  77.           return "Post inserito!";  
  78.         }
  79.        
  80.         protected ResultSet getPost()
  81.         {
  82.                 try {
  83.                     String query="SELECT * FROM posts";
  84.                     pst=con.prepareStatement(query);
  85.                     rs=pst.executeQuery();
  86.                 } catch (Exception e) {
  87.                     System.out.println("Errore: " + e);
  88.                     return null;
  89.                 }
  90.             return rs;
  91.         }
  92. }
  93. class WriteXMLFile
  94. {
  95.         String post_repo_xml="C:\\file.xml";
  96.  
  97.     protected void getXML() {
  98.                 Database db = new Database();
  99.                 ResultSet xrs=db.getPost();
  100.                
  101.             try {
  102.         DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
  103.         DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
  104.                  
  105.                 Document doc = docBuilder.newDocument();
  106.                 Element post_root = doc.createElement("post_root");
  107.                 doc.appendChild(post_root);
  108.                
  109. //                while (xrs.next()) {
  110.  
  111.                 Element post = doc.createElement("post");
  112.                 post_root.appendChild(post);
  113.                            
  114.                 Attr pid = doc.createAttribute("post_id");
  115.                 pid.setValue("1");
  116.                 post.setAttributeNode(pid);
  117.                
  118.                 Attr uid = doc.createAttribute("user_id");
  119.                 uid.setValue("1");
  120.                 post.setAttributeNode(uid);
  121.                
  122.                 Element post_date = doc.createElement("post_date");
  123.                 post_date.appendChild(doc.createTextNode("DATA POST PLACEHOLDER"));
  124.                 post.appendChild(post_date);
  125.  
  126.                 Element post_title = doc.createElement("post_title");
  127.                 post_title.appendChild(doc.createTextNode("TITOLO POST PLACEHOLDER"));
  128.                 post.appendChild(post_title);
  129.  
  130.                 Element post_body = doc.createElement("post_body");
  131.                 post_body.appendChild(doc.createTextNode("CONTENUTO POST PLACEHOLDER"));
  132.                 post.appendChild(post_body);
  133.  
  134.         // Scrive nel file XML
  135.         TransformerFactory transformerFactory = TransformerFactory.newInstance();
  136.         Transformer transformer = transformerFactory.newTransformer();
  137.         DOMSource source = new DOMSource(doc);
  138.         StreamResult result = new StreamResult(new File(post_repo_xml));
  139.        
  140.         transformer.transform(source, result);
  141.  
  142.         System.out.println("File XML creato.");
  143.  
  144.       } catch (ParserConfigurationException pce) {
  145.               System.out.println(pce);
  146.       } catch (TransformerException tfe) {
  147.               System.out.println(tfe);
  148.       }
  149.     }
  150. }
  151.  
  152.  
  153. // **********************************************************
  154. // *************** WEB SERVICE ASocialService ***************
  155. // **********************************************************
  156.  
  157. @WebService(serviceName = "ASocialService")
  158. public class ASocialService {
  159.    
  160.     @WebMethod(operationName = "hello")
  161.     public String hello(@WebParam(name = "name") String txt) {
  162.         return "Hello " + txt + " !";
  163.     }
  164.  
  165.     @WebMethod(operationName = "loginRequest")
  166.     public String loginRequest(@WebParam(name = "username") String username, @WebParam(name = "password") String password) {
  167.         //TODO: Authorization Checks
  168.         Database db = new Database();
  169.         return db.checkLogin(username,password);
  170.     }
  171.  
  172.     @WebMethod(operationName = "setPost")
  173.     public String sendPost(@WebParam(name = "userID") int userID, @WebParam(name = "postTitle") String postTitle, @WebParam(name = "postBody") String postBody) {
  174.         //TODO: Authorization Checks
  175.         Database db = new Database();
  176.         String res=db.sendPost(userID, postTitle, postBody);
  177.         WriteXMLFile xml = new WriteXMLFile();
  178.         xml.getXML();
  179.         return res;
  180.     }
  181. }
Add Comment
Please, Sign In to add comment