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.ejb3plugin.InjectEJB;
14 import de.tivsource.page.admin.actions.EmptyAction;
15 import de.tivsource.page.admin.backup.BackupCss;
16 import de.tivsource.page.dao.property.PropertyDaoLocal;
17
18
19
20
21
22
23 public class BackupCssAction extends EmptyAction {
24
25
26
27
28 private static final long serialVersionUID = -1816649984608026243L;
29
30
31
32
33 private static final Logger LOGGER = LogManager.getLogger(BackupCssAction.class);
34
35 @InjectEJB(name="PropertyDao")
36 private PropertyDaoLocal propertyDaoLocal;
37
38 private InputStream fileStream;
39
40 @Override
41 @Actions({
42 @Action(
43 value = "css",
44 results = { @Result(
45 name = "success",
46 type="stream",
47 params={"contentType", "text/plain", "inputName", "fileStream", "contentDisposition", "attachment;filename=tiv_page_css.zip"}
48 ) }
49 )
50 })
51 public String execute() throws Exception {
52 LOGGER.info("execute() aufgerufen.");
53 BackupCss.setPropertyDaoLocal(propertyDaoLocal);
54 File backupFile = BackupCss.getZipFile();
55 fileStream = new FileInputStream(backupFile);
56 backupFile.delete();
57 return SUCCESS;
58 }
59
60 public InputStream getFileStream() {
61 return fileStream;
62 }
63
64 }