Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.administrator.dao.xml;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerException;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- import org.springframework.stereotype.Component;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- import org.xml.sax.SAXException;
- import com.administrator.endpoint.model.AUserModel;
- import com.entity.UserEntity;
- @Component
- public class AXMLUserEntityDao implements IXMLAUserEntityDao {
- static DocumentBuilderFactory dbFactory;
- static DocumentBuilder dBuilder;
- static Document doc;
- @Override
- public List<UserEntity> getAllUsers() {
- File xmlFile = new File(EnStrings.filePath.getText());
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder;
- List<UserEntity> empList = new ArrayList<UserEntity>();
- try {
- dBuilder = dbFactory.newDocumentBuilder();
- org.w3c.dom.Document doc = dBuilder.parse(xmlFile);
- doc.getDocumentElement().normalize();
- NodeList nodeList = doc.getElementsByTagName("UserEntity");
- for (int i = 0; i < nodeList.getLength(); i++) {
- empList.add(getEmployee(nodeList.item(i)));
- }
- } catch (SAXException | ParserConfigurationException | IOException e1) {
- e1.printStackTrace();
- }
- return empList;
- }
- private static UserEntity getEmployee(Node node) {
- UserEntity user = new UserEntity();
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element) node;
- // user.setId(getTagValue("id", element));
- user.setUsername(getTagValue("username", element));
- user.setPassword(getTagValue("password", element));
- user.setEmail(getTagValue("email", element));
- //user.setPhone(getTagValue("phone", element));
- //user.setUserDate(Long.parseLong(getTagValue("userDate", element)));
- }
- return user;
- }
- private static String getTagValue(String i, Element element) {
- NodeList nodeList = element.getElementsByTagName(i).item(0).getChildNodes();
- Node node = (Node) nodeList.item(0);
- return node.getNodeValue();
- }
- @Override
- public void registerUser(AUserModel userModel) {
- try {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- Document document = documentBuilder.parse(EnStrings.filePath.getText());
- Element root = document.getDocumentElement();
- Element newUser = document.createElement("UserEntity");
- String userID = getLastId() + "";
- Element id = document.createElement("id");
- id.appendChild(document.createTextNode(userID));
- newUser.appendChild(id);
- Element username = document.createElement("username");
- username.appendChild(document.createTextNode(userModel.getUsername()));
- newUser.appendChild(username);
- Element password = document.createElement("password");
- password.appendChild(document.createTextNode(userModel.getPassword()));
- newUser.appendChild(password);
- Element email = document.createElement("email");
- email.appendChild(document.createTextNode(userModel.getEmail()));
- newUser.appendChild(email);
- Element phone = document.createElement("phone");
- phone.appendChild(document.createTextNode(userModel.getPhone()));
- newUser.appendChild(phone);
- long date = System.currentTimeMillis();
- Element userDate = document.createElement("userDate");
- userDate.appendChild(document.createTextNode(date + ""));
- newUser.appendChild(userDate);
- root.appendChild(newUser);
- DOMSource source = new DOMSource(document);
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- StreamResult result = new StreamResult(EnStrings.filePath.getText());
- transformer.transform(source, result);
- System.out.println(getLastId());
- } catch (org.xml.sax.SAXException saxe1) {
- saxe1.printStackTrace();
- } catch (ParserConfigurationException pce1) {
- pce1.printStackTrace();
- } catch (IOException e1) {
- e1.printStackTrace();
- } catch (TransformerException te1) {
- te1.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private int getLastId() {
- List<UserEntity> userList = getAllUsers();
- int userId = 0;
- for (UserEntity user : userList) {
- //int id = Integer.parseInt(user.getId());
- // if (id > userId) {
- // userId = id;
- }
- //}
- return userId + 1;
- }
- @Override
- public void deleteUser(long userId) {
- NodeList nodeList = ParserXML.getNodeListByTag(EnStrings.filePath.getText(), "UserEntity");
- for (int i = 0; i < nodeList.getLength(); i++) {
- Element userEntity = (Element) nodeList.item(i);
- Element idElement = (Element) userEntity.getElementsByTagName("id").item(0);
- String id = idElement.getTextContent();
- String usId = userId + "";
- if (id.equals(usId)) {
- userEntity.getParentNode().removeChild(userEntity);
- ParserXML.updateXML(EnStrings.filePath.getText());
- }
- }
- }
- @Override
- public void updateUser(AUserModel userModel, Long userId) {
- NodeList nodeList = ParserXML.getNodeListByTag(EnStrings.filePath.getText(), "UserEntity");
- for (int i = 0; i < nodeList.getLength(); i++) {
- Element userEntity = (Element) nodeList.item(i);
- String userID = userId + "";
- userEntity.getParentNode().removeChild(userEntity);
- ParserXML.updateXML(EnStrings.filePath.getText());
- }
- try {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- Document document = documentBuilder.parse(EnStrings.filePath.getText());
- Element root = document.getDocumentElement();
- Element newUser = document.createElement("UserEntity");
- String userID = userId + "";
- Element id = document.createElement("id");
- id.appendChild(document.createTextNode(userID));
- newUser.appendChild(id);
- Element username = document.createElement("username");
- username.appendChild(document.createTextNode(userModel.getUsername()));
- newUser.appendChild(username);
- Element password = document.createElement("password");
- password.appendChild(document.createTextNode(userModel.getPassword()));
- newUser.appendChild(password);
- Element email = document.createElement("email");
- email.appendChild(document.createTextNode(userModel.getEmail()));
- newUser.appendChild(email);
- Element phone = document.createElement("phone");
- phone.appendChild(document.createTextNode(userModel.getPhone()));
- newUser.appendChild(phone);
- long date = System.currentTimeMillis();
- Element userDate = document.createElement("userDate");
- userDate.appendChild(document.createTextNode(date + ""));
- newUser.appendChild(userDate);
- root.appendChild(newUser);
- DOMSource source = new DOMSource(document);
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- StreamResult result = new StreamResult(EnStrings.filePath.getText());
- transformer.transform(source, result);
- System.out.println(getLastId());
- } catch (org.xml.sax.SAXException saxe1) {
- saxe1.printStackTrace();
- } catch (ParserConfigurationException pce1) {
- pce1.printStackTrace();
- } catch (IOException e1) {
- e1.printStackTrace();
- } catch (TransformerException te1) {
- te1.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement