1 package de.tivsource.page.admin.backup;
2
3 import java.io.BufferedWriter;
4 import java.io.File;
5 import java.io.FileWriter;
6 import java.io.IOException;
7 import java.text.SimpleDateFormat;
8 import java.util.Iterator;
9
10 import org.apache.logging.log4j.LogManager;
11 import org.apache.logging.log4j.Logger;
12
13 import de.tivsource.page.dao.slider.SliderDaoLocal;
14 import de.tivsource.page.entity.slider.Slider;
15
16 public class BackupSlider {
17
18
19
20
21 private static final Logger LOGGER = LogManager.getLogger(BackupSlider.class);
22
23 private static SliderDaoLocal sliderDaoLocal;
24
25
26
27
28 public static void setSliderDaoLocal(SliderDaoLocal sliderDaoLocal) {
29 BackupSlider.sliderDaoLocal = sliderDaoLocal;
30 }
31
32 public static File getBackupFile() throws IOException {
33 LOGGER.info("getBackupFile() aufgerufen.");
34
35 File backupFile = new File("/tmp/slider.csv");
36 FileWriter backupFileWriter = new FileWriter(backupFile);
37 BufferedWriter backupFileWriterOut = new BufferedWriter(backupFileWriter);
38
39
40 backupFileWriterOut.write("[Format Definition] => uuid|clickable|url|name|page|orderNumber|uuid;original;large;normal;small;thumbnail;micro;standard;created;modified;modifiedBy;modifiedAddress;|visible|created|modified|modifiedBy|modifiedAddress|");
41
42 Iterator<Slider> sliderIterator = sliderDaoLocal.findAll(0, sliderDaoLocal.countAll()).iterator();
43 while(sliderIterator.hasNext()) {
44 Slider next = sliderIterator.next();
45 backupFileWriterOut.write("\n");
46 backupFileWriterOut.write(convertToCsvLine(next));
47 }
48 backupFileWriterOut.close();
49 backupFileWriter.close();
50
51 return backupFile;
52 }
53
54 private static String convertToCsvLine(Slider next) {
55
56 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
57
58
59
60
61
62 StringBuffer nextString = new StringBuffer();
63
64
65 nextString.append(next.getUuid());
66 nextString.append("|");
67
68 nextString.append(next.getClickable().toString());
69 nextString.append("|");
70
71 nextString.append(next.getUrl());
72 nextString.append("|");
73
74 nextString.append(next.getName());
75 nextString.append("|");
76
77 nextString.append(next.getPage());
78 nextString.append("|");
79
80 nextString.append(next.getOrderNumber().toString());
81 nextString.append("|");
82
83 nextString.append(next.getImage().getUuid());
84 nextString.append(";");
85
86 nextString.append(next.getImage().getOriginal());
87 nextString.append(";");
88
89 nextString.append(next.getImage().getLarge());
90 nextString.append(";");
91
92 nextString.append(next.getImage().getNormal());
93 nextString.append(";");
94
95 nextString.append(next.getImage().getSmall());
96 nextString.append(";");
97
98 nextString.append(next.getImage().getThumbnail());
99 nextString.append(";");
100
101 nextString.append(next.getImage().getMicro());
102 nextString.append(";");
103
104 nextString.append(next.getImage().isStandard().toString());
105 nextString.append(";");
106
107 nextString.append(simpleDateFormat.format(next.getImage().getCreated()));
108 nextString.append(";");
109
110 nextString.append(simpleDateFormat.format(next.getImage().getModified()));
111 nextString.append(";");
112
113 nextString.append(next.getImage().getModifiedBy());
114 nextString.append(";");
115
116 nextString.append(next.getImage().getModifiedAddress());
117 nextString.append(";");
118 nextString.append("|");
119
120 nextString.append(next.getVisible().toString());
121 nextString.append("|");
122
123 nextString.append(simpleDateFormat.format(next.getCreated()));
124 nextString.append("|");
125
126 nextString.append(simpleDateFormat.format(next.getModified()));
127 nextString.append("|");
128
129 nextString.append(next.getModifiedBy());
130 nextString.append("|");
131
132 nextString.append(next.getModifiedAddress());
133 nextString.append("|");
134
135 return nextString.toString();
136 }
137
138 }