From 83454f8db7eebea558d6154fbcbf7911c491f278 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 30 Jan 2018 20:50:31 +0800
Subject: [PATCH] updated

---
 src/main/java/com/moral/controller/UpgradeController.java |   38 ++++++++++--------
 src/main/java/com/moral/common/xml/Version.java           |   41 ++++++++++++++++++++
 pom.xml                                                   |    6 +++
 3 files changed, 68 insertions(+), 17 deletions(-)

diff --git a/pom.xml b/pom.xml
index f0f73ff..7c20374 100644
--- a/pom.xml
+++ b/pom.xml
@@ -162,6 +162,12 @@
 			<artifactId>commons-net</artifactId>
 			<version>3.6</version>
 		</dependency>
+
+		<dependency>
+			<groupId>dom4j</groupId>
+			<artifactId>dom4j</artifactId>
+			<version>1.6.1</version>
+		</dependency>
     </dependencies>
 
 	<build>
diff --git a/src/main/java/com/moral/common/xml/Version.java b/src/main/java/com/moral/common/xml/Version.java
new file mode 100644
index 0000000..61b2280
--- /dev/null
+++ b/src/main/java/com/moral/common/xml/Version.java
@@ -0,0 +1,41 @@
+package com.moral.common.xml;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name="Version")
+public class Version {
+
+    private String Ver;
+
+    private String FileName;
+
+    private String FileMD5Hash;
+
+    public String getVer() {
+        return Ver;
+    }
+
+    @XmlElement
+    public void setVer(String ver) {
+        Ver = ver;
+    }
+
+    public String getFileName() {
+        return FileName;
+    }
+
+    @XmlElement
+    public void setFileName(String fileName) {
+        FileName = fileName;
+    }
+
+    public String getFileMD5Hash() {
+        return FileMD5Hash;
+    }
+
+    @XmlElement
+    public void setFileMD5Hash(String fileMD5Hash) {
+        FileMD5Hash = fileMD5Hash;
+    }
+}
diff --git a/src/main/java/com/moral/controller/UpgradeController.java b/src/main/java/com/moral/controller/UpgradeController.java
index f590f8c..05258e3 100644
--- a/src/main/java/com/moral/controller/UpgradeController.java
+++ b/src/main/java/com/moral/controller/UpgradeController.java
@@ -1,13 +1,13 @@
 package com.moral.controller;
 
+import com.moral.common.xml.Version;
 import org.apache.commons.net.ftp.FTPClient;
-import org.springframework.security.access.method.P;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
 import org.springframework.web.bind.annotation.*;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+import org.xml.sax.InputSource;
+import java.io.*;
 
 @RestController
 @RequestMapping("upgrade")
@@ -22,23 +22,27 @@
     private String path = "/";
 
     @RequestMapping(value = "/index", method = RequestMethod.GET)
-    public String index() throws IOException {
+    public Version index() throws Exception {
         FTPClient ftpClient = new FTPClient();
-        try {
-            ftpClient.connect(ip, port);
-            ftpClient.login(userName, userPwd);
-            if (path != null && path.length() > 0) {
-                ftpClient.changeWorkingDirectory(path);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
+        ftpClient.connect(ip, port);
+        ftpClient.login(userName, userPwd);
+        if (path != null && path.length() > 0) {
+            ftpClient.changeWorkingDirectory(path);
         }
         String content = readFile(ftpClient);
         if(ftpClient.isConnected()) {
             ftpClient.logout();
             ftpClient.disconnect();
         }
-        return content;
+        SAXReader reader = new SAXReader();
+        Document document = reader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8"))));
+        Element root = document.getRootElement();
+        Version version = new Version();
+        version.setVer(root.element("Ver").getText());
+        version.setFileName(root.element("FileName").getText());
+        version.setFileMD5Hash(root.element("FileMD5Hash").getText());
+
+        return version;
     }
 
     public String readFile(FTPClient ftpClient) {
@@ -46,7 +50,7 @@
         StringBuilder builder = null;
         try {
             ins = ftpClient.retrieveFileStream(fileName);
-            BufferedReader reader = new BufferedReader(new InputStreamReader(ins, "UTF-8"));
+            BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8"));
             String line;
             builder = new StringBuilder(150);
             while ((line = reader.readLine()) != null) {

--
Gitblit v1.8.0