Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 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.me.chat;
  7.  
  8. import java.io.IOException;
  9. import java.util.ArrayList;
  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. import org.w3c.dom.Document;
  19. import org.w3c.dom.Element;
  20. import org.w3c.dom.Node;
  21. import org.w3c.dom.NodeList;
  22. import org.xml.sax.SAXException;
  23.  
  24. /**
  25. *
  26. * @author Lahiru
  27. */
  28. public class Parser {
  29. private static ArrayList<User> userArrayList = new ArrayList<>();
  30. private static String file = "E:\\ChatWebApp\\ChatWebApp\\users.xml";
  31.  
  32. public static void setFile(String file) {
  33. Parser.file = file;
  34. }
  35.  
  36. public static String parseFile() {
  37. //TODO write your implementation code here:
  38. userArrayList.clear();
  39. String r="ads" ;
  40. try {
  41. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  42. DocumentBuilder builder = factory.newDocumentBuilder();
  43. Document doc = builder.parse(file);
  44. NodeList userList = doc.getElementsByTagName("user");
  45. String u = "";
  46. String p = "";
  47. for (int i = 0; i < userList.getLength(); i++) {
  48. Node userItem = userList.item(i);
  49. if (userItem.getNodeType() == Node.ELEMENT_NODE) {
  50. Element userElement = (Element) userItem;
  51. //name part
  52. NodeList nameList = userElement.getElementsByTagName("name");
  53. Node nameItem = nameList.item(0);
  54. if (nameItem.getNodeType() == Node.ELEMENT_NODE) {
  55. Element nameElement = (Element) nameItem;
  56. u = nameElement.getTextContent();
  57. }
  58. //pass part
  59. NodeList passList = userElement.getElementsByTagName("pass");
  60. Node passItem = passList.item(0);
  61. if (nameItem.getNodeType() == Node.ELEMENT_NODE) {
  62. Element passElement = (Element) passItem;
  63.  
  64. p = passElement.getTextContent();
  65. }
  66. //User usr = ;
  67. r = i + u + p;
  68. userArrayList.add(new User(u, p));
  69.  
  70. //System.out.println(r);
  71. }
  72. }
  73. } catch (ParserConfigurationException ex) {
  74. ex.printStackTrace();
  75. } catch (IOException ex) {
  76. ex.printStackTrace();
  77. } catch (SAXException ex) {
  78. ex.printStackTrace();
  79. }
  80.  
  81. return r;
  82.  
  83. }
  84.  
  85. public static boolean validateUser(String name, String pass) {
  86. boolean login = false;
  87. parseFile();
  88. for (User value : userArrayList) {
  89. if (value.getUsername().equals(name)) {
  90. login = value.getPassword().equals(pass);
  91. }
  92. }
  93. return login;
  94. }
  95.  
  96. public static boolean writeFile(String username, String password) {
  97. boolean saved = false;
  98. try {
  99. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  100. DocumentBuilder builder = factory.newDocumentBuilder();
  101.  
  102. // root element
  103. Document doc = builder.parse(file);
  104. Element root = doc.getDocumentElement();
  105.  
  106. // user elements
  107. Element user = doc.createElement("user");
  108. root.appendChild(user);
  109.  
  110. //name elements
  111. Element name = doc.createElement("name");
  112. name.appendChild(doc.createTextNode(username));
  113. user.appendChild(name);
  114.  
  115. //pass elements
  116. Element pass = doc.createElement("pass");
  117. pass.appendChild(doc.createTextNode(password));
  118. user.appendChild(pass);
  119.  
  120. // write the content into xml file
  121. TransformerFactory transformerFactory = TransformerFactory.newInstance();
  122. Transformer transformer = transformerFactory.newTransformer();
  123. DOMSource source = new DOMSource(doc);
  124. StreamResult result = new StreamResult(file);
  125.  
  126. transformer.transform(source, result);
  127.  
  128. saved = true;
  129.  
  130. } catch (IOException ex) {
  131. ex.printStackTrace();
  132. } catch (SAXException ex) {
  133. ex.printStackTrace();
  134. } catch (ParserConfigurationException pce) {
  135. pce.printStackTrace();
  136. } catch (TransformerException tfe) {
  137. tfe.printStackTrace();
  138. }
  139. return saved;
  140. }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement