View Javadoc

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   * @author Marc Michele
19   * 
20   */
21  @ParentPackage(value = "administratorJson")
22  public class JsonAction extends ActionSupport {
23  
24      /**
25       * Serial Version UID.
26       */
27      private static final long serialVersionUID = 3264469345260180786L;
28  
29      /**
30       * Statischer Logger der Klasse.
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          for (int i = 0; i < rawFileArray.length; i++) {
67              if (rawFileArray[i].isFile()) {
68                  fileList.add(rawFileArray[i]);
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 }// Ende class