| | |
| | | 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") |
| | |
| | | private String path = "/"; |
| | | |
| | | @RequestMapping(value = "/index", method = RequestMethod.GET) |
| | | public String index() throws IOException { |
| | | public Version index() { |
| | | Version version = new Version(); |
| | | FTPClient ftpClient = new FTPClient(); |
| | | try { |
| | | ftpClient.connect(ip, port); |
| | |
| | | if (path != null && path.length() > 0) { |
| | | ftpClient.changeWorkingDirectory(path); |
| | | } |
| | | String content = readFile(ftpClient); |
| | | if(ftpClient.isConnected()) { |
| | | ftpClient.logout(); |
| | | ftpClient.disconnect(); |
| | | } |
| | | SAXReader reader = new SAXReader(); |
| | | Document document = reader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8")))); |
| | | Element root = document.getRootElement(); |
| | | version.setVer(root.element("Ver").getText()); |
| | | version.setFileName(root.element("FileName").getText()); |
| | | version.setFileMD5Hash(root.element("FileMD5Hash").getText()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | String content = readFile(ftpClient); |
| | | if(ftpClient.isConnected()) { |
| | | ftpClient.logout(); |
| | | ftpClient.disconnect(); |
| | | } |
| | | return content; |
| | | // version.setVer("a"); |
| | | // version.setFileName("b"); |
| | | // version.setFileMD5Hash("c"); |
| | | |
| | | return version; |
| | | } |
| | | |
| | | public String readFile(FTPClient ftpClient) { |
| | |
| | | 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) { |