1 package at.meikel.dmrl.webapp.rest; 2 3 import java.util.List; 4 import java.util.Vector; 5 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.stereotype.Controller; 8 import org.springframework.web.bind.annotation.RequestMapping; 9 import org.springframework.web.bind.annotation.RequestMethod; 10 import org.springframework.web.bind.annotation.ResponseBody; 11 12 import at.meikel.dmrl.server.persistence.ExcelSheet; 13 import at.meikel.dmrl.server.server.Server; 14 15 @Controller 16 public class AdminService { 17 18 private final static String ADMIN_PREFIX = "/admin"; 19 20 @Autowired 21 Server server = null; 22 23 @RequestMapping(value = ADMIN_PREFIX + "/getCurrentData", method = RequestMethod.GET) 24 @ResponseBody 25 public String getCurrentDataFileName() { 26 String result = null; 27 28 if (server != null) { 29 ExcelSheet sheet = server.getCurrentData(); 30 if (sheet != null) { 31 result = "Id='" + sheet.getId() + "', URL='" + sheet.getUrl() 32 + "', State='" + sheet.getState() + "'"; 33 } 34 } 35 36 return result; 37 } 38 39 @RequestMapping(value = ADMIN_PREFIX + "/listAllData", method = RequestMethod.GET) 40 @ResponseBody 41 public List<String> listAllDataFileNames() { 42 Vector<String> result = new Vector<String>(); 43 if (server != null) { 44 List<ExcelSheet> allData = server.listAllData(); 45 for (ExcelSheet sheet : allData) { 46 result.add("Id='" + sheet.getId() + "', URL='" + sheet.getUrl() 47 + "', State='" + sheet.getState() + "'"); 48 } 49 } 50 return result; 51 } 52 53 @RequestMapping(value = ADMIN_PREFIX + "/retrieveData", method = RequestMethod.GET) 54 @ResponseBody 55 public String retrieveData() { 56 StringBuilder result = new StringBuilder(); 57 if (server == null) { 58 result.append("ERROR: server == null."); 59 } else { 60 long start = System.currentTimeMillis(); 61 server.retrieveData(); 62 long end = System.currentTimeMillis(); 63 long diff = end - start; 64 result.append("OK: execution time = " + diff + "ms."); 65 } 66 result.append(server == null ? "null" : server.toString()); 67 return result.toString(); 68 } 69 70 @RequestMapping(value = ADMIN_PREFIX + "/reloadData", method = RequestMethod.GET) 71 @ResponseBody 72 public String reloadData() { 73 StringBuilder result = new StringBuilder(); 74 if (server == null) { 75 result.append("ERROR: server == null."); 76 } else { 77 long start = System.currentTimeMillis(); 78 server.reloadData(); 79 long end = System.currentTimeMillis(); 80 long diff = end - start; 81 result.append("OK: execution time = " + diff + "ms."); 82 } 83 return result.toString(); 84 } 85 86 }