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