public override bool hasFinished(ThreadJob job) { if (job == mainPageJob) { JobWebPageDownload res = job as JobWebPageDownload; this.mainPage = res.getResult(); pictureLoadJob = getPictureLoadJob(); if (pictureLoadJob != null) { addJob(pictureLoadJob); } else { pictureLoadJobDone = true; } JobIMDBNameParser parseJob = new JobIMDBNameParser(mainPage, person); parseJob.run(); mainPageJobDone = true; } else if (job == pictureLoadJob) { person.image = ((JobLoadImage)job).getResult(); pictureLoadJobDone = true; } bool result = false; lock (this) { if (mainPageJobDone && pictureLoadJobDone) { result = true; mainPageJobDone = false; } } return result; }
public override bool run() { JobWebPageDownload mainPageJob = new JobWebPageDownload(IMDBUtil.getURLToName(person.imdbID)); mainPageJob.run(); this.mainPage = mainPageJob.getResult(); if (mainPage == null) { return false; } JobLoadImage pictureJob = getPictureLoadJob(); if (pictureJob != null) { pictureJob.run(); person.image = pictureJob.getResult(); } JobIMDBNameParser parseJob = new JobIMDBNameParser(mainPage, person); parseJob.run(); return true; }