1 package de.tivsource.page.admin.actions.maintenance.files;
2
3 import java.io.File;
4 import java.util.ArrayList;
5 import java.util.Arrays;
6 import java.util.List;
7
8 import org.apache.logging.log4j.LogManager;
9 import org.apache.logging.log4j.Logger;
10 import org.apache.struts2.convention.annotation.Action;
11 import org.apache.struts2.convention.annotation.Actions;
12 import org.apache.struts2.convention.annotation.ParentPackage;
13 import org.apache.struts2.convention.annotation.Result;
14
15 import com.opensymphony.xwork2.ActionSupport;
16
17
18
19
20
21 @ParentPackage(value = "administratorJson")
22 public class JsonAction extends ActionSupport {
23
24
25
26
27 private static final long serialVersionUID = 3264469345260180786L;
28
29
30
31
32 private static final Logger LOGGER = LogManager.getLogger(JsonAction.class);
33
34 private File folder = new File("/var/www/html/uploads");
35
36 private File[] rawFileArray = folder.listFiles();
37
38 private List<File> fileList = new ArrayList<File>();
39
40 private List<File> gridModel;
41
42 private Integer rows = 0;
43 private Integer page = 1;
44 private Integer total = 0;
45 private Integer record = 0;
46 private String sord;
47 private String sidx;
48
49 @Override
50 @Actions({
51 @Action(
52 value = "table",
53 results = { @Result(name = "success", type="json", params={"excludeProperties", "gridModel.*.absolute, gridModel.*.absoluteFile, gridModel.*.absolutePath, gridModel.*.canonicalFile, gridModel.*.canonicalPath, gridModel.*.directory, gridModel.*.file, gridModel.*.freeSpace, gridModel.*.parentFile, gridModel.*.path, gridModel.*.totalSpace, gridModel.*.usableSpace, gridModel.*.parent"}) }
54 )
55 })
56 public String execute() {
57 return SUCCESS;
58 }
59
60 public String getJSON() {
61 LOGGER.info("Page " + getPage() + " Rows " + getRows()
62 + " Sorting Order " + getSord() + " Index Row :" + getSidx());
63 LOGGER.info("Build new List");
64
65
66
67
68
69
70
71
72
73 fileList = Arrays.asList(rawFileArray);
74 LOGGER.info("Grösse der fileList: " + fileList.size());
75
76 setRecord(this.fileList.size());
77
78
79
80 setTotal((int) Math.ceil((double) getRecord() / (double) getRows()));
81
82 Integer from = page * rows - rows;
83 Integer to = page * rows < record ? page * rows : record;
84
85 setGridModel(fileList.subList(from , to));
86
87 LOGGER.info("Rows:" + rows);
88 LOGGER.info("Page:" + page);
89 LOGGER.info("Total:" + total);
90 LOGGER.info("Record:" + record);
91 LOGGER.info("Sord:" + sord);
92 LOGGER.info("Sidx:" + sidx);
93
94 return execute();
95 }
96
97 public Integer getRows() {
98 return rows;
99 }
100
101 public void setRows(Integer rows) {
102 this.rows = rows;
103 }
104
105 public Integer getPage() {
106 return page;
107 }
108
109 public void setPage(Integer page) {
110 this.page = page;
111 }
112
113 public Integer getTotal() {
114 return total;
115 }
116
117 public void setTotal(Integer total) {
118 this.total = total;
119 }
120
121 public Integer getRecord() {
122 return record;
123 }
124
125 public void setRecord(Integer record) {
126 this.record = record;
127 }
128
129 public List<File> getGridModel() {
130 return gridModel;
131 }
132
133 public void setGridModel(List<File> gridModel) {
134 this.gridModel = gridModel;
135 }
136
137 public String getSord() {
138 return sord;
139 }
140
141 public void setSord(String sord) {
142 this.sord = sord;
143 }
144
145 public String getSidx() {
146 return sidx;
147 }
148
149 public void setSidx(String sidx) {
150 this.sidx = sidx;
151 }
152
153 }