View Javadoc

1   /*
2    * Created on 19.04.2005
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 //          basicsValue[9][1] = rs.getString(""); // ownerEmail
106 //          basicsValue[10][1] = rs.getString(""); // ownerICQ
107 //          basicsValue[11][1] = rs.getString(""); // ownerHomepage
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  //        xtraValue[10][1] = rs.getString("");//ArrivalDate no Info in DB
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         // HO!
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         // HO! LastLineup
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                 //trainerSkill=playerValue[33][i];
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             //    playerValue[37][i] = rs.getString(""); // NationalTeamID no Info in DB
255             playerValue[38][i] = rs.getString("Caps");
256             playerValue[39][i] = rs.getString("CapsU20");
257 
258         } // for
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             } // FOR
380         }// if
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 }