1 package fr.ifremer.tutti.ui.swing.update;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.TuttiConfiguration;
28 import fr.ifremer.tutti.ui.swing.updater.UpdateModule;
29 import org.nuiton.updater.ApplicationInfo;
30 import org.nuiton.updater.ApplicationUpdater;
31
32 import java.io.File;
33 import java.util.HashSet;
34 import java.util.Map;
35 import java.util.Set;
36
37
38
39
40
41
42
43 public class Updates {
44
45
46 public static ApplicationInfo getDatabaseUpdateVersion(TuttiConfiguration config) {
47
48 ApplicationUpdater up = new ApplicationUpdater();
49
50 String updateDataUrl = config.getUpdateDataUrl();
51 File dataDirectory = config.getDataDirectory();
52 Map<String, ApplicationInfo> dbVersions = up.getVersions(updateDataUrl, dataDirectory);
53
54 return dbVersions.get(UpdateModule.db.name());
55
56 }
57
58 public static <C extends TuttiUpdaterCallBackSupport> void doUpdate(TuttiConfiguration config, C callback, File current) {
59
60 File dest = new File(config.getBasedir(), "NEW");
61
62 ApplicationUpdater up = new ApplicationUpdater();
63
64 String url = callback.getUrl();
65
66 up.update(url,
67 current,
68 dest,
69 false,
70 callback,
71 callback.getProgressionModel());
72
73 }
74
75 public static UpdateModule[] getApplicationModules() {
76 Set<UpdateModule> result = new HashSet<>();
77 for (UpdateModule updateModule : UpdateModule.values()) {
78 if (updateModule.getModuleConfiguration().isApplication()) {
79 result.add(updateModule);
80 }
81 }
82 return result.toArray(new UpdateModule[result.size()]);
83 }
84 }