View Javadoc

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  }