1 package de.tivsource.page.admin.actions.maintenance.backup;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.InputStream;
6
7 import org.apache.logging.log4j.LogManager;
8 import org.apache.logging.log4j.Logger;
9 import org.apache.struts2.convention.annotation.Action;
10 import org.apache.struts2.convention.annotation.Actions;
11 import org.apache.struts2.convention.annotation.Result;
12
13 import de.tivsource.page.admin.actions.EmptyAction;
14 import de.tivsource.page.admin.backup.BackupFiles;
15
16
17
18
19
20
21 public class BackupFilesAction extends EmptyAction {
22
23
24
25
26 private static final long serialVersionUID = -1816649984608026243L;
27
28
29
30
31 private static final Logger LOGGER = LogManager.getLogger(BackupFilesAction.class);
32
33 private InputStream fileStream;
34
35 @Override
36 @Actions({
37 @Action(
38 value = "files",
39 results = { @Result(
40 name = "success",
41 type="stream",
42 params={"contentType", "text/plain", "inputName", "fileStream", "contentDisposition", "attachment;filename=tiv_page_files.zip"}
43 ) }
44 )
45 })
46 public String execute() throws Exception {
47 LOGGER.info("execute() aufgerufen.");
48 File backupFile = BackupFiles.getZipFile();
49 fileStream = new FileInputStream(backupFile);
50 backupFile.delete();
51 return SUCCESS;
52 }
53
54 public InputStream getFileStream() {
55 return fileStream;
56 }
57
58 }