Advertisement
Guest User

Untitled

a guest
May 7th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.86 KB | None | 0 0
  1. package com.administrator.dao.xml;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import javax.xml.parsers.DocumentBuilder;
  9. import javax.xml.parsers.DocumentBuilderFactory;
  10. import javax.xml.parsers.ParserConfigurationException;
  11. import javax.xml.transform.Transformer;
  12. import javax.xml.transform.TransformerException;
  13. import javax.xml.transform.TransformerFactory;
  14. import javax.xml.transform.dom.DOMSource;
  15. import javax.xml.transform.stream.StreamResult;
  16.  
  17. import org.springframework.stereotype.Component;
  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. import com.administrator.endpoint.model.AUserModel;
  25. import com.entity.UserEntity;
  26.  
  27. @Component
  28. public class AXMLUserEntityDao implements IXMLAUserEntityDao {
  29.  
  30.     static DocumentBuilderFactory dbFactory;
  31.     static DocumentBuilder dBuilder;
  32.     static Document doc;
  33.  
  34.     @Override
  35.     public List<UserEntity> getAllUsers() {
  36.         File xmlFile = new File(EnStrings.filePath.getText());
  37.         DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
  38.         DocumentBuilder dBuilder;
  39.         List<UserEntity> empList = new ArrayList<UserEntity>();
  40.  
  41.         try {
  42.             dBuilder = dbFactory.newDocumentBuilder();
  43.             org.w3c.dom.Document doc = dBuilder.parse(xmlFile);
  44.             doc.getDocumentElement().normalize();
  45.  
  46.             NodeList nodeList = doc.getElementsByTagName("UserEntity");
  47.  
  48.             for (int i = 0; i < nodeList.getLength(); i++) {
  49.                 empList.add(getEmployee(nodeList.item(i)));
  50.             }
  51.  
  52.         } catch (SAXException | ParserConfigurationException | IOException e1) {
  53.             e1.printStackTrace();
  54.         }
  55.  
  56.         return empList;
  57.     }
  58.  
  59.     private static UserEntity getEmployee(Node node) {
  60.         UserEntity user = new UserEntity();
  61.  
  62.         if (node.getNodeType() == Node.ELEMENT_NODE) {
  63.             Element element = (Element) node;
  64.         //  user.setId(getTagValue("id", element));
  65.             user.setUsername(getTagValue("username", element));
  66.             user.setPassword(getTagValue("password", element));
  67.             user.setEmail(getTagValue("email", element));
  68.             //user.setPhone(getTagValue("phone", element));
  69.             //user.setUserDate(Long.parseLong(getTagValue("userDate", element)));
  70.         }
  71.         return user;
  72.     }
  73.  
  74.     private static String getTagValue(String i, Element element) {
  75.         NodeList nodeList = element.getElementsByTagName(i).item(0).getChildNodes();
  76.         Node node = (Node) nodeList.item(0);
  77.         return node.getNodeValue();
  78.     }
  79.  
  80.     @Override
  81.     public void registerUser(AUserModel userModel) {
  82.         try {
  83.             DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  84.             DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
  85.             Document document = documentBuilder.parse(EnStrings.filePath.getText());
  86.             Element root = document.getDocumentElement();
  87.  
  88.             Element newUser = document.createElement("UserEntity");
  89.             String userID = getLastId() + "";
  90.             Element id = document.createElement("id");
  91.             id.appendChild(document.createTextNode(userID));
  92.             newUser.appendChild(id);
  93.  
  94.             Element username = document.createElement("username");
  95.             username.appendChild(document.createTextNode(userModel.getUsername()));
  96.             newUser.appendChild(username);
  97.  
  98.             Element password = document.createElement("password");
  99.             password.appendChild(document.createTextNode(userModel.getPassword()));
  100.             newUser.appendChild(password);
  101.  
  102.             Element email = document.createElement("email");
  103.             email.appendChild(document.createTextNode(userModel.getEmail()));
  104.             newUser.appendChild(email);
  105.  
  106.             Element phone = document.createElement("phone");
  107.             phone.appendChild(document.createTextNode(userModel.getPhone()));
  108.             newUser.appendChild(phone);
  109.             long date = System.currentTimeMillis();
  110.             Element userDate = document.createElement("userDate");
  111.             userDate.appendChild(document.createTextNode(date + ""));
  112.             newUser.appendChild(userDate);
  113.  
  114.             root.appendChild(newUser);
  115.             DOMSource source = new DOMSource(document);
  116.  
  117.             TransformerFactory transformerFactory = TransformerFactory.newInstance();
  118.             Transformer transformer = transformerFactory.newTransformer();
  119.             StreamResult result = new StreamResult(EnStrings.filePath.getText());
  120.             transformer.transform(source, result);
  121.             System.out.println(getLastId());
  122.         } catch (org.xml.sax.SAXException saxe1) {
  123.             saxe1.printStackTrace();
  124.         } catch (ParserConfigurationException pce1) {
  125.             pce1.printStackTrace();
  126.         } catch (IOException e1) {
  127.             e1.printStackTrace();
  128.         } catch (TransformerException te1) {
  129.             te1.printStackTrace();
  130.         } catch (Exception e) {
  131.             e.printStackTrace();
  132.         }
  133.     }
  134.  
  135.     private int getLastId() {
  136.         List<UserEntity> userList = getAllUsers();
  137.         int userId = 0;
  138.         for (UserEntity user : userList) {
  139.             //int id = Integer.parseInt(user.getId());
  140.         //  if (id > userId) {
  141.             //  userId = id;
  142.             }
  143.         //}
  144.         return userId + 1;
  145.     }
  146.  
  147.     @Override
  148.     public void deleteUser(long userId) {
  149.         NodeList nodeList = ParserXML.getNodeListByTag(EnStrings.filePath.getText(), "UserEntity");
  150.         for (int i = 0; i < nodeList.getLength(); i++) {
  151.             Element userEntity = (Element) nodeList.item(i);
  152.             Element idElement = (Element) userEntity.getElementsByTagName("id").item(0);
  153.             String id = idElement.getTextContent();
  154.             String usId = userId + "";
  155.             if (id.equals(usId)) {
  156.                
  157.                 userEntity.getParentNode().removeChild(userEntity);
  158.                 ParserXML.updateXML(EnStrings.filePath.getText());
  159.             }
  160.         }
  161.     }
  162.  
  163.     @Override
  164.     public void updateUser(AUserModel userModel, Long userId) {
  165.         NodeList nodeList = ParserXML.getNodeListByTag(EnStrings.filePath.getText(), "UserEntity");
  166.         for (int i = 0; i < nodeList.getLength(); i++) {
  167.             Element userEntity = (Element) nodeList.item(i);
  168.             String userID = userId + "";
  169.             userEntity.getParentNode().removeChild(userEntity);
  170.             ParserXML.updateXML(EnStrings.filePath.getText());
  171.         }
  172.         try {
  173.             DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  174.             DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
  175.             Document document = documentBuilder.parse(EnStrings.filePath.getText());
  176.             Element root = document.getDocumentElement();
  177.  
  178.             Element newUser = document.createElement("UserEntity");
  179.             String userID = userId + "";
  180.             Element id = document.createElement("id");
  181.             id.appendChild(document.createTextNode(userID));
  182.             newUser.appendChild(id);
  183.  
  184.             Element username = document.createElement("username");
  185.             username.appendChild(document.createTextNode(userModel.getUsername()));
  186.             newUser.appendChild(username);
  187.  
  188.             Element password = document.createElement("password");
  189.             password.appendChild(document.createTextNode(userModel.getPassword()));
  190.             newUser.appendChild(password);
  191.  
  192.             Element email = document.createElement("email");
  193.             email.appendChild(document.createTextNode(userModel.getEmail()));
  194.             newUser.appendChild(email);
  195.  
  196.             Element phone = document.createElement("phone");
  197.             phone.appendChild(document.createTextNode(userModel.getPhone()));
  198.             newUser.appendChild(phone);
  199.             long date = System.currentTimeMillis();
  200.             Element userDate = document.createElement("userDate");
  201.             userDate.appendChild(document.createTextNode(date + ""));
  202.             newUser.appendChild(userDate);
  203.  
  204.             root.appendChild(newUser);
  205.             DOMSource source = new DOMSource(document);
  206.  
  207.             TransformerFactory transformerFactory = TransformerFactory.newInstance();
  208.             Transformer transformer = transformerFactory.newTransformer();
  209.             StreamResult result = new StreamResult(EnStrings.filePath.getText());
  210.             transformer.transform(source, result);
  211.             System.out.println(getLastId());
  212.         } catch (org.xml.sax.SAXException saxe1) {
  213.             saxe1.printStackTrace();
  214.         } catch (ParserConfigurationException pce1) {
  215.             pce1.printStackTrace();
  216.         } catch (IOException e1) {
  217.             e1.printStackTrace();
  218.         } catch (TransformerException te1) {
  219.             te1.printStackTrace();
  220.         } catch (Exception e) {
  221.             e.printStackTrace();
  222.         }
  223.     }
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement