Newer
Older
1
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package org.josast.databaseSync;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import java.util.logging.Logger;
import org.josast.databaseSync.config.ManageJSonConfigFile;
import org.json.JSONObject;
public class AppSynchroAmsatToUvsqsat {
private static Logger appLogger = Logger.getLogger("AmsatLogger");
private static long MN = 1000 * 60;
private Path filepath;
private String RepositoryPath ="config";
private AmsatToUvsqsatSyncConfig config = new AmsatToUvsqsatSyncConfig();
private String fileIn=null;
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss.SSS");
public void execute ()
{
formater.setTimeZone(TimeZone.getTimeZone("UTC"));
// lecture de la configuration
ManageJSonConfigFile mjcf = new ManageJSonConfigFile();
config = (AmsatToUvsqsatSyncConfig) mjcf.readJson(new AmsatToUvsqsatSyncConfig());
// Récupération des données
GetDataFromAmsatDatabase dataAmsatDb = new GetDataFromAmsatDatabase(config.getAmsatDatabaseUrl());
Date endDate = new Date();
long temp = endDate.getTime() - MN*Integer.parseInt(config.getDeltaTime());
Date startDate = new Date(temp);
DataToExchange[] results = dataAmsatDb.getTelemetrydata(startDate, endDate, Integer.parseInt(config.getSatelliteNasaId()));
// et écriture dans un fichier
if (results!= null)
{
// file format 2020-12-21-17-42-19.409-Data.json
String creationdate = formater.format(startDate);
fileIn=creationdate +"-Data.json";
DataToUVSQsatControlCenter dtc = new DataToUVSQsatControlCenter(results, fileIn);
dtc.save();
// Envoie du fichier vers Latmos
SendSftp sfp = new SendSftp(config.getSftpUrl(),config.getLogin(),config.getPassword());
String remotefile = "/toLATMOS/json/"+fileIn;
String localfile = fileIn;
sfp.upload(localfile,remotefile);
System.out.println("Upload");
// efface fichier local.
try {
Files.delete(Paths.get(fileIn));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit(0);
}
}
public int SaveConfigFile(AmsatToUvsqsatSyncConfig tlmData)
{
int erreur = 0;
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss.SSS");
Date aujourdhui = new Date();
JSONObject jasonObject = new JSONObject(tlmData);
String creationdate = formater.format(aujourdhui);
// AmsatToUvsqsatSyncConfig jasonObject2 = (AmsatToUvsqsatSyncConfig) toBean(jasonObject, new AmsatToUvsqsatSyncConfig());
filepath = Paths.get(this.RepositoryPath + "\\Data.json");
try {
if (!Files.exists(filepath))
{
Files.createFile(filepath);
Files.writeString(filepath, " " + "\r\n",StandardOpenOption.CREATE);
}
Files.writeString(filepath, jasonObject.toString() + "\r\n",StandardOpenOption.CREATE);
if (Files.size(filepath)<10)
{
appLogger.severe("file not created ");
erreur=-1;
}
} catch (IOException e) {
appLogger.severe(e.toString());
erreur=-1;
}
return erreur;
}
public static void main(String[] args) {
AppSynchroAmsatToUvsqsat app = new AppSynchroAmsatToUvsqsat();
app.execute();
// app.initDirectory();
// AmsatToUvsqsatSyncConfig config = new AmsatToUvsqsatSyncConfig();
// config.setAmsatDatabaseUrl("AMSATDataBase");
// config.setDeltaTimeLong(10);
// config.setDeltaTime("10");
// config.setLogin("login");
// config.setPassword("password");
// config.setSftpUrl("URL SFTP");
// config.setSshUrl("SSH file");
////
// app.readJson( );
// app.saveTlmData(config);
}
}