1
2
3
4
5 package hoplugins.conv;
6
7
8 import java.io.File;
9 import java.sql.ResultSet;
10
11 import javax.swing.JOptionPane;
12
13
14 /***
15 * @author Thorsten Dietz
16 *
17 */
18 final class DBToHrf extends HrfMaker {
19 private String trainerID, trainerName;
20 private int[] position = new int[]{
21 0,4,5,6,7,8,9,10,11,12,13,14,18,15,16,17,19
22 };
23 private StringBuffer error;
24 private boolean exportStatus = true;
25
26 protected DBToHrf(){
27 type = "DB";
28 }
29
30 protected void start(File[] selectedFiles,File targetDir) {
31
32 String filter = "";
33 error = new StringBuffer();
34 try {
35 Object[] ids = null;
36
37 ids = getHRF_Ids();
38
39 if (ids.length == 0)
40 return;
41
42 for (int i = 0; i < ids.length; i++) {
43 trainerID = "";
44 trainerName = "";
45 exportStatus = true;
46
47 clearArrays();
48
49 addBasics();
50 analyzeBasic((SimpleObject) ids[i]);
51 if(exportStatus)
52 analyzeEconomy((SimpleObject) ids[i]);
53
54 if(exportStatus)
55 analyzeClub((SimpleObject) ids[i]);
56
57 if(exportStatus)
58 analyzeArena((SimpleObject) ids[i]);
59
60 if(exportStatus)
61 analyzeTraining((SimpleObject) ids[i]);
62
63 if(exportStatus)
64 analyzeLineup((SimpleObject) ids[i]);
65
66 if(exportStatus)
67 analyzePlayer((SimpleObject) ids[i]);
68
69 if(exportStatus)
70 analyzeExtra((SimpleObject) ids[i]);
71
72 if(exportStatus)
73 analyzeLeague((SimpleObject) ids[i]);
74
75 String tmp = ((SimpleObject) ids[i]).getTxt();
76 filter = tmp.substring(0, 4);
77 filter += tmp.substring(5, 7);
78 filter += tmp.substring(8, 10);
79
80 if(exportStatus)
81 writeHrf(filter, targetDir);
82
83 }
84 if(error.length() > 0){
85 debug(error.toString());
86 }
87 JOptionPane.showMessageDialog(null, RSC.getProperty("finished"));
88
89 } catch (Exception e1) {
90 debug(e1);
91 }
92 }
93
94 private final void analyzeBasic(SimpleObject hrfID) throws Exception {
95
96 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
97 "SELECT * FROM BASICS where HRF_ID = " + hrfID.getId());
98 if (rs.next()) {
99 basicsValue[3][1] = rs.getString("DATUM").substring(0, 19);
100 basicsValue[4][1] = rs.getString("SAISON");
101 basicsValue[5][1] = rs.getString("SPIELTAG");
102 basicsValue[6][1] = rs.getString("TEAMID");
103 basicsValue[7][1] = rs.getString("TEAMNAME");
104 basicsValue[8][1] = rs.getString("MANAGER");
105
106
107
108 basicsValue[12][1] = rs.getString("LAND");
109 basicsValue[13][1] = rs.getString("LIGA");
110 } else {
111 addError(hrfID,"BASICS");
112 exportStatus=false;
113 }
114 rs.close();
115 }
116
117 private void addError(SimpleObject hrfID, String table){
118 error.append("<p>Error => Table ");
119 error.append(table);
120 error.append(" ID:");
121 error.append(hrfID.getId());
122 error.append(" FROM: ");
123 error.append(hrfID.getTxt());
124 error.append(" no record found</p>");
125 }
126
127 private final void analyzeExtra(SimpleObject hrfID) throws Exception {
128 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
129 "SELECT * FROM XTRADATA where HRF_ID = " + hrfID.getId());
130 if (rs.next()) {
131 xtraValue[1][1] = rs.getString("TRAININGDATE").substring(0, 19);
132 xtraValue[2][1] = rs.getString("ECONOMYDATE").substring(0, 19);
133 xtraValue[3][1] = rs.getString("SERIESMATCHDATE").substring(0, 19);
134 xtraValue[4][1] = rs.getString("CURRENCYNAME");
135 xtraValue[5][1] = rs.getString("CURRENCYRATE");
136 xtraValue[6][1] = rs.getString("LOGOURL");
137 xtraValue[7][1] = rs.getString("HASPROMOTED");
138 xtraValue[8][1] = trainerID;
139 xtraValue[9][1] = trainerName;
140
141 xtraValue[11][1] = rs.getString("LeagueLevelUnitID");
142 } else {
143 addError(hrfID,"XTRADATA (OLD HRF)");
144 }
145 rs.close();
146 }
147
148 private final void analyzeLeague(SimpleObject hrfID) throws Exception {
149 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
150 "SELECT * FROM LIGA where HRF_ID = " + hrfID.getId());
151 if (rs.next()) {
152 leagueValue[1][1] = rs.getString("LIGANAME");
153 leagueValue[5][1] = rs.getString("PUNKTE");
154 leagueValue[3][1] = rs.getString("TOREFUER");
155 leagueValue[4][1] = rs.getString("TOREGEGEN");
156 leagueValue[6][1] = rs.getString("PLATZ");
157 leagueValue[2][1] = rs.getString("SPIELTAG");
158 } else {
159 addError(hrfID,"LIGA");
160 exportStatus=false;
161 }
162 rs.close();
163 }
164
165 private final void analyzeLineup(SimpleObject hrfID) throws Exception {
166 int index = 0;
167 String tableName = "POSITION";
168 if (RSC.MINIMODEL.getHOVersion() >= 1.2972)
169 tableName = "POSITIONEN";
170
171
172 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
173 "SELECT * FROM " + tableName + " where HRF_ID = "
174 + hrfID.getId() + " AND AUFSTELLUNGSNAME = 'HO!'");
175 while (rs.next()) {
176 String playerID = rs.getString("SPIELERID");
177 index = position[Integer.parseInt(rs.getString("ID"))];
178 linupValue[index][1] = playerID;
179 }
180 rs.close();
181
182
183 rs = RSC.MINIMODEL.getAdapter().executeQuery(
184 "SELECT * FROM " + tableName + " where HRF_ID = "
185 + hrfID.getId()
186 + " AND AUFSTELLUNGSNAME = 'HO!LastLineup'");
187 while (rs.next()) {
188 String playerID = rs.getString("SPIELERID");
189 index = position[Integer.parseInt(rs.getString("ID"))];
190 lastlinupValue[index][1] = playerID;
191 }
192 rs.close();
193
194 }
195
196 private final void analyzePlayer(SimpleObject hrfID) throws Exception {
197 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
198 "SELECT Count(*) FROM SPIELER where HRF_ID = " + hrfID.getId());
199 rs.next();
200 initPlayerArray(rs.getInt(1));
201 rs.close();
202 String tmpTrainerType = "";
203 String playerID = "";
204 rs = RSC.MINIMODEL.getAdapter().executeQuery(
205 "SELECT * FROM SPIELER where HRF_ID = " + hrfID.getId());
206 for (int i = 1; rs.next(); i++) {
207 playerID = rs.getString("SPIELERID");
208 playerValue[0][i] = playerID + "]";
209 playerValue[1][i] = rs.getString("NAME");
210 playerValue[2][i] = rs.getString("ALTER");
211 playerValue[3][i] = rs.getString("VERLETZT");
212 playerValue[4][i] = rs.getString("FORM");
213 playerValue[5][i] = rs.getString("KONDITION");
214 playerValue[6][i] = rs.getString("SPIELAUFBAU");
215 playerValue[7][i] = rs.getString("TORSCHUSS");
216 playerValue[8][i] = rs.getString("PASSPIEL");
217 playerValue[9][i] = rs.getString("FLUEGEL");
218 playerValue[10][i] = rs.getString("STANDARDS");
219 playerValue[11][i] = rs.getString("VERTEIDIGUNG");
220 playerValue[12][i] = rs.getString("TORWART");
221 playerValue[13][i] = rs.getString("ERFAHRUNG");
222 playerValue[14][i] = rs.getString("FUEHRUNG");
223 playerValue[15][i] = rs.getString("GEHALT");
224 playerValue[16][i] = rs.getString("MARKTWERT");
225 playerValue[17][i] = rs.getString("TOREGESAMT");
226 playerValue[18][i] = rs.getString("TORELIGA");
227 playerValue[19][i] = rs.getString("TOREPOKAL");
228 playerValue[20][i] = rs.getString("TOREFREUND");
229 playerValue[21][i] = rs.getString("HATTRICK");
230 playerValue[22][i] = rs.getString("LAND");
231 playerValue[23][i] = rs.getString("GELBEKARTEN");
232 playerValue[24][i] = rs.getString("ISPEZIALITAET");
233 playerValue[25][i] = rs.getString("SSPEZIALITAET");
234 playerValue[28][i] = rs.getString("IANSEHEN");
235 playerValue[29][i] = rs.getString("SANSEHEN");
236 playerValue[26][i] = rs.getString("ICHARAKTER");
237 playerValue[27][i] = rs.getString("SCHARAKTER");
238 playerValue[30][i] = rs.getString("IAGRESSIVITAET");
239 playerValue[31][i] = rs.getString("SAGRESSIVITAET");
240 tmpTrainerType = rs.getString("TRAINERTYP");
241 if (tmpTrainerType != null && Integer.parseInt(tmpTrainerType) > -1) {
242 playerValue[32][i] = tmpTrainerType;
243 playerValue[33][i] = rs.getString("TRAINER");
244 trainerID = playerID;
245 trainerName = playerValue[1][i];
246
247 linupValue[1][1] = trainerID;
248 lastlinupValue[1][1] = trainerID;
249 }
250
251 playerValue[34][i] = rs.getString("BEWERTUNG");
252 playerValue[35][i] = rs.getString("PLAYERNUMBER");
253 playerValue[36][i] = rs.getString("TRANSFERLISTED");
254
255 playerValue[38][i] = rs.getString("Caps");
256 playerValue[39][i] = rs.getString("CapsU20");
257
258 }
259 }
260
261
262
263 private final void analyzeEconomy(SimpleObject hrfID) throws Exception {
264 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
265 "SELECT * FROM FINANZEN where HRF_ID = " + hrfID.getId());
266 if (rs.next()) {
267 economyValue[1][1] = rs.getString("SUPPORTER");
268 economyValue[2][1] = rs.getString("SPONSOREN");
269 economyValue[3][1] = rs.getString("FINANZEN");
270 economyValue[5][1] = rs.getString("EINZUSCHAUER");
271 economyValue[4][1] = rs.getString("EINSPONSOREN");
272 economyValue[6][1] = rs.getString("EINZINSEN");
273 economyValue[7][1] = rs.getString("EINSONSTIGES");
274 economyValue[8][1] = rs.getString("EINGESAMT");
275 economyValue[9][1] = rs.getString("KOSTSPIELER");
276 economyValue[10][1] = rs.getString("KOSTTRAINER");
277 economyValue[11][1] = rs.getString("KOSTSTADION");
278 economyValue[12][1] = rs.getString("KOSTJUGEND");
279 economyValue[13][1] = rs.getString("KOSTZINSEN");
280 economyValue[14][1] = rs.getString("KOSTSONSTIGES");
281 economyValue[15][1] = rs.getString("KOSTGESAMT");
282 economyValue[16][1] = rs.getString("GEWINNVERLUST");
283 economyValue[17][1] = rs.getString("LETZTEEINSPONSOREN");
284 economyValue[18][1] = rs.getString("LETZTEEINZUSCHAUER");
285 economyValue[19][1] = rs.getString("LETZTEEINZINSEN");
286 economyValue[20][1] = rs.getString("LETZTEEINSONSTIGES");
287 economyValue[21][1] = rs.getString("LETZTEEINGESAMT");
288 economyValue[22][1] = rs.getString("LETZTEKOSTSPIELER");
289 economyValue[23][1] = rs.getString("LETZTEKOSTTRAINER");
290 economyValue[24][1] = rs.getString("LETZTEKOSTSTADION");
291 economyValue[25][1] = rs.getString("LETZTEKOSTJUGEND");
292 economyValue[26][1] = rs.getString("LETZTEKOSTZINSEN");
293 economyValue[27][1] = rs.getString("LETZTEKOSTSONSTIGES");
294 economyValue[28][1] = rs.getString("LETZTEKOSTGESAMT");
295 economyValue[29][1] = rs.getString("LETZTEGEWINNVERLUST");
296 } else {
297 addError(hrfID,"FINANZEN");
298 exportStatus=false;
299 }
300 rs.close();
301 }
302
303 private final void analyzeClub(SimpleObject hrfID) throws Exception {
304 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
305 "SELECT * FROM VEREIN where HRF_ID = " + hrfID.getId());
306 if (rs.next()) {
307 clubValue[1][1] = rs.getString("TWTRAINER");
308
309 clubValue[2][1] = rs.getString("COTRAINER");
310 clubValue[3][1] = rs.getString("PSCHYOLOGEN");
311 clubValue[4][1] = rs.getString("PRMANAGER");
312 clubValue[5][1] = rs.getString("FINANZBERATER");
313 clubValue[6][1] = rs.getString("PHYSIOLOGEN");
314 clubValue[7][1] = rs.getString("AERZTE");
315 clubValue[8][1] = rs.getString("JUGEND");
316 clubValue[9][1] = rs.getString("UNGESCHLAGEN");
317 clubValue[10][1] = rs.getString("SIEGE");
318 clubValue[11][1] = rs.getString("FANS");
319 } else {
320 addError(hrfID,"VEREIN");
321 exportStatus=false;
322 }
323 rs.close();
324 }
325
326 private final void analyzeArena(SimpleObject hrfID) throws Exception {
327 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
328 "SELECT * FROM STADION where HRF_ID = " + hrfID.getId());
329 if (rs.next()) {
330 arenaValue[1][1] = rs.getString("STADIONNAME");
331 arenaValue[2][1] = rs.getString("ANZSTEH");
332 arenaValue[3][1] = rs.getString("ANZSITZ");
333 arenaValue[4][1] = rs.getString("ANZDACH");
334 arenaValue[5][1] = rs.getString("ANZLOGEN");
335 arenaValue[6][1] = rs.getString("GESAMTGR");
336 } else {
337 addError(hrfID,"STADION");
338 exportStatus=false;
339 }
340 rs.close();
341 }
342
343 private final void analyzeTraining(SimpleObject hrfID) throws Exception {
344 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
345 "SELECT * FROM TEAM where HRF_ID = " + hrfID.getId());
346 if (rs.next()) {
347 teamValue[1][1] = rs.getString("TRAININGSINTENSITAET");
348 teamValue[2][1] = rs.getString("TRAININGSART");
349 teamValue[3][1] = rs.getString("STRAININGSART");
350 teamValue[4][1] = rs.getString("ISTIMMUNG");
351 teamValue[5][1] = rs.getString("SSTIMMUNG");
352 teamValue[6][1] = rs.getString("ISELBSTVERTRAUEN");
353 teamValue[7][1] = rs.getString("SSELBSTVERTRAUEN");
354 teamValue[8][1] = rs.getString("IERFAHRUNG433");
355 teamValue[9][1] = rs.getString("IERFAHRUNG451");
356 teamValue[10][1] = rs.getString("IERFAHRUNG352");
357 teamValue[11][1] = rs.getString("IERFAHRUNG532");
358 teamValue[12][1] = rs.getString("IERFAHRUNG343");
359 teamValue[13][1] = rs.getString("IERFAHRUNG541");
360 } else {
361 addError(hrfID,"TEAM");
362 exportStatus=false;
363 }
364 rs.close();
365 }
366
367 private final Object[] getHRF_Ids() throws Exception {
368 SimpleObject[] hrfs = null;
369 ResultSet rs = RSC.MINIMODEL.getAdapter().executeQuery(
370 "SELECT * FROM HRF ORDER BY HRF_ID");
371 if(rs.next()){
372 rs.last();
373 int row = rs.getRow();
374 rs.beforeFirst();
375 hrfs = new SimpleObject[row];
376 for (int i = 0; rs.next(); i++) {
377 hrfs[i] = new SimpleObject(rs.getInt(1), rs.getTimestamp("Datum")
378 .toString());
379 }
380 }
381 rs.close();
382
383 SelectObjectDialog dialog = new SelectObjectDialog(RSC.MINIMODEL.getGUI()
384 .getOwner4Dialog(), 240, 320, hrfs);
385 dialog.setVisible(true);
386 if (dialog.isSaved()) {
387 return dialog.getSelectedObjects();
388 }
389
390 return new SimpleObject[0];
391 }
392
393
394 }