View Javadoc
1 package net.mlw.fball.loader.yahoo;
2
3 import java.io.File;
4 import java.io.FileReader;
5 import java.io.LineNumberReader;
6 import java.net.URL;
7
8 import net.mlw.fball.bo.Player;
9 import net.mlw.fball.event.ProgressEvent;
10 import net.mlw.fball.event.StatusEvent;
11 import net.mlw.fball.loader.LoaderContextHolder;
12 import net.mlw.util.NetUtils;
13
14 import org.apache.commons.logging.Log;
15 import org.apache.commons.logging.LogFactory;
16
17 /***
18 * @author Matthew L. Wilson
19 * @version $Revision: 1.7 $ $Date: 2004/04/01 21:51:07 $
20 */
21 public class PlayerLoader extends LoaderContextHolder
22 {
23 /*** Commons Logger. **/
24 private static final Log LOGGER = LogFactory.getLog(PlayerLoader.class);
25
26 /***
27 * @see java.lang.Runnable#run()
28 */
29 public void doLoad() throws Exception
30 {
31 File file = new File(getBaseDir() + "/player-list");
32 NetUtils.copyFile(new URL(location), file);
33
34 int index = 0;
35 int totalCount = 0;
36 LineNumberReader reader = new LineNumberReader(new FileReader(file));
37 while (reader.ready())
38 {
39 String line = reader.readLine();
40 if ((index = line.indexOf("/nfl/players/")) >= 0)
41 {
42 totalCount++;
43 }
44 }
45 eventListener.onEvent(new ProgressEvent(totalCount));
46
47 int count = 0;
48 reader = new LineNumberReader(new FileReader(file));
49 while (reader.ready())
50 {
51 String line = reader.readLine();
52 if ((index = line.indexOf("/nfl/players/")) >= 0)
53 {
54 String name = line.substring(line.indexOf(">", index) + 1, line.indexOf("<", index));
55 String playerProviderId = line.substring(index + 13, line.indexOf("\"", index));
56
57 line = reader.readLine();
58 String pos = line.substring(line.indexOf("<td>") + 4, line.indexOf("</td>"));
59
60 line = reader.readLine();
61 String teamProviderId = line.substring(line.indexOf("/nfl/teams/") + 11, line.indexOf("/nfl/teams/") + 14);
62
63 Player player = playerDao.findByProvider("yahoo", playerProviderId);
64 if (player == null)
65 {
66 player = new Player();
67 player.addProvider("yahoo", playerProviderId);
68 }
69
70 player.setCurrentTeam(teamDao.findByProvider("yahoo", teamProviderId));
71 player.setName(name);
72 player.setPosition(pos);
73 player.setFirstName(name.substring(0, name.lastIndexOf(" ")));
74 player.setLastName(name.substring(name.lastIndexOf(" "), name.length()));
75 eventListener.onEvent(new StatusEvent("Saving: " + player));
76 playerDao.save(player);
77 eventListener.onEvent(new ProgressEvent(totalCount, ++count));
78
79 }
80 }
81 }
82 }
This page was automatically generated by Maven