1 package fr.ifremer.quadrige3.synchro.service.client;
2
3 /*
4 * #%L
5 * Quadrige3 Core :: Quadrige3 Client Core
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2017 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26 import fr.ifremer.common.synchro.service.SynchroResult;
27 import fr.ifremer.quadrige3.synchro.service.client.vo.*;
28 import fr.ifremer.quadrige3.synchro.vo.SynchroExportContextVO;
29
30 import java.io.File;
31 import java.util.Set;
32
33 /**
34 * Created by Benoit on 23/06/2015.
35 */
36 public interface SynchroHistoryService {
37
38 /**
39 * Save import result (to history file)
40 *
41 * @param userId
42 * a int.
43 * @param result
44 * a {@link fr.ifremer.quadrige3.synchro.service.client.vo.SynchroClientImportResult} object.
45 */
46 void save(int userId, SynchroClientImportResult result);
47
48 /**
49 * Save export result (to history file)
50 *
51 * @param userId
52 * a int.
53 * @param result
54 * a {@link fr.ifremer.quadrige3.synchro.service.client.vo.SynchroClientExportResult} object.
55 */
56 void save(int userId, SynchroClientExportResult result);
57
58 /**
59 * Save export result (to history file)
60 *
61 * @param userId
62 * a int.
63 * @param exportServerResult
64 * a {@link SynchroResult} object.
65 */
66 void saveExportServerResult(int userId, SynchroResult exportServerResult, Set<String> programCodes);
67
68 /**
69 * Save import result (to history file)
70 *
71 * @param userId
72 * a int.
73 * @param result
74 * a {@link fr.ifremer.quadrige3.synchro.service.client.vo.SynchroClientImportFromFileResult} object.
75 */
76 void save(int userId, SynchroClientImportFromFileResult result);
77
78 /**
79 * Save export result (from history file)
80 *
81 * @param userId
82 * a int.
83 * @param result
84 * a {@link fr.ifremer.quadrige3.synchro.service.client.vo.SynchroClientExportToFileResult} object.
85 */
86 void save(int userId, SynchroClientExportToFileResult result);
87
88 /**
89 * Get the history content, for the user
90 *
91 * @param userId
92 * a int.
93 * @return a {@link java.lang.String} object.
94 */
95 String getContent(int userId);
96
97 /**
98 * Get history file
99 *
100 * @param userId
101 * a int.
102 * @return a {@link java.io.File} object.
103 */
104 File getHistoryFileByUserId(int userId);
105
106 /**
107 * Get history file
108 *
109 * @param userId a int.
110 * @param message a message.
111 */
112 void saveExportError(int userId, SynchroExportContextVO exportContext, String message);
113 }