1 package de.tivsource.page.admin.actions.maintenance.restore;
2
3 import java.io.File;
4
5 import org.apache.logging.log4j.LogManager;
6 import org.apache.logging.log4j.Logger;
7 import org.apache.struts2.convention.annotation.Action;
8 import org.apache.struts2.convention.annotation.Actions;
9 import org.apache.struts2.convention.annotation.Result;
10 import org.apache.struts2.tiles.annotation.TilesDefinition;
11 import org.apache.struts2.tiles.annotation.TilesDefinitions;
12 import org.apache.struts2.tiles.annotation.TilesPutAttribute;
13
14 import de.tivsource.ejb3plugin.InjectEJB;
15 import de.tivsource.page.admin.actions.EmptyAction;
16 import de.tivsource.page.admin.restore.RestoreZipFile;
17 import de.tivsource.page.dao.administration.RoleDaoLocal;
18 import de.tivsource.page.dao.administration.UserDaoLocal;
19 import de.tivsource.page.dao.event.EventDaoLocal;
20 import de.tivsource.page.dao.gallery.GalleryDaoLocal;
21 import de.tivsource.page.dao.location.LocationDaoLocal;
22 import de.tivsource.page.dao.manual.ManualDaoLocal;
23 import de.tivsource.page.dao.message.MessageDaoLocal;
24 import de.tivsource.page.dao.news.NewsDaoLocal;
25 import de.tivsource.page.dao.page.PageDaoLocal;
26 import de.tivsource.page.dao.picture.PictureDaoLocal;
27 import de.tivsource.page.dao.property.PropertyDaoLocal;
28 import de.tivsource.page.dao.reservation.ReservationDaoLocal;
29 import de.tivsource.page.dao.slider.SliderDaoLocal;
30 import de.tivsource.page.dao.vacancy.VacancyDaoLocal;
31
32
33
34
35
36
37 @TilesDefinitions({
38 @TilesDefinition(name="restore", extend = "adminTemplate", putAttributes = {
39 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
40 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/restore/restore.jsp")
41 })
42 })
43 public class RestoreAction extends EmptyAction {
44
45
46
47
48 private static final long serialVersionUID = -4275472563540907020L;
49
50
51
52
53 private static final Logger LOGGER = LogManager.getLogger(RestoreAction.class);
54
55 @InjectEJB(name="GalleryDao")
56 private GalleryDaoLocal galleryDaoLocal;
57
58 @InjectEJB(name="PictureDao")
59 private PictureDaoLocal pictureDaoLocal;
60
61 @InjectEJB(name="UserDao")
62 private UserDaoLocal userDaoLocal;
63
64 @InjectEJB(name="RoleDao")
65 private RoleDaoLocal roleDaoLocal;
66
67 @InjectEJB(name="PageDao")
68 private PageDaoLocal pageDaoLocal;
69
70 @InjectEJB(name="PropertyDao")
71 private PropertyDaoLocal propertyDaoLocal;
72
73 @InjectEJB(name="LocationDao")
74 private LocationDaoLocal locationDaoLocal;
75
76 @InjectEJB(name="EventDao")
77 private EventDaoLocal eventDaoLocal;
78
79 @InjectEJB(name="MessageDao")
80 private MessageDaoLocal messageDaoLocal;
81
82 @InjectEJB(name="NewsDao")
83 private NewsDaoLocal newsDaoLocal;
84
85 @InjectEJB(name="ReservationDao")
86 private ReservationDaoLocal reservationDaoLocal;
87
88 @InjectEJB(name="VacancyDao")
89 private VacancyDaoLocal vacancyDaoLocal;
90
91 @InjectEJB(name="ManualDao")
92 private ManualDaoLocal manualDaoLocal;
93
94 @InjectEJB(name="SliderDao")
95 private SliderDaoLocal sliderDaoLocal;
96
97 private File restoreFile;
98
99 public void setRestoreFile(File restoreFile) {
100 this.restoreFile = restoreFile;
101 }
102
103 @Override
104 @Actions({
105 @Action(
106 value = "restore",
107 results = { @Result(name = "success", type="tiles", location = "restore") }
108 )
109 })
110 public String execute() throws Exception {
111 LOGGER.info("execute() aufgerufen.");
112
113 RestoreZipFile restoreZipFile = new RestoreZipFile(
114 galleryDaoLocal, pictureDaoLocal, userDaoLocal,
115 roleDaoLocal, pageDaoLocal, propertyDaoLocal, locationDaoLocal,
116 eventDaoLocal, messageDaoLocal, newsDaoLocal, reservationDaoLocal,
117 vacancyDaoLocal, manualDaoLocal, sliderDaoLocal
118 );
119 restoreZipFile.restoreZip(restoreFile);
120
121 return SUCCESS;
122 }
123
124 }