1 package fr.ifremer.quadrige3.ui.swing.synchro.action;
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.quadrige3.synchro.vo.SynchroProgressionStatus;
28 import fr.ifremer.quadrige3.ui.swing.action.AbstractWorkerAction;
29 import fr.ifremer.quadrige3.ui.swing.synchro.SynchroUI;
30 import fr.ifremer.quadrige3.ui.swing.synchro.SynchroUIContext;
31 import fr.ifremer.quadrige3.ui.swing.synchro.SynchroUIHandler;
32 import org.apache.commons.lang3.StringUtils;
33 import org.apache.commons.logging.Log;
34 import org.apache.commons.logging.LogFactory;
35
36 import java.net.URI;
37 import java.net.URISyntaxException;
38 import java.net.URL;
39
40
41
42
43
44
45 public abstract class AbstractSynchroAction extends AbstractWorkerAction<SynchroUIContext, SynchroUI, SynchroUIHandler> {
46
47 private static final Log log = LogFactory.getLog(AbstractSynchroAction.class);
48
49 private URI baseUri;
50
51
52
53
54
55
56 public AbstractSynchroAction(SynchroUIHandler handler) {
57 super(handler);
58 }
59
60 URI getBaseUri() {
61 return baseUri;
62 }
63
64
65 @Override
66 public boolean initAction() {
67
68 URL baseUrl = getConfig().getSynchronizationSiteUrl();
69 try {
70 baseUri = baseUrl.toURI();
71 } catch (URISyntaxException ex) {
72 failedAction(ex);
73 return false;
74 }
75
76
77 getModel().setServerSide(false);
78
79 return true;
80 }
81
82
83 @Override
84 public void failedAction(Throwable ex) {
85
86 String message = ex.getLocalizedMessage();
87 if (StringUtils.isBlank(message)) {
88 message = ex.toString();
89 }
90 log.error(message, ex);
91 getHandler().report(message);
92 getModel().setStatus(SynchroProgressionStatus.FAILED);
93 }
94
95
96 @Override
97 public void disposeAction() {
98
99 }
100
101 }