By the by, I got an error from your server trying to preview this code block.
31/07/2010 21.15.49:com.jthink.jaikoz.manipulate.ArtworkCache:getImageForAsin:SEVERE: IOException on reading image from amazon:The file http://images.amazon.com/images/P/B0010VJWIE.03LZZZZZZZ.jpg does not appear to be a valid image file, so
it has been ignored
java.io.IOException: The file http://images.amazon.com/images/P/B0010VJWIE.03LZZ
ZZZZZ.jpg does not appear to be a valid image file, so it has been ignored
at com.jthink.jaikoz.celldata.ImageData.<init>(ImageData.java:209)
at com.jthink.jaikoz.manipulate.ArtworkCache.getImageForAsin(ArtworkCach
e.java:204)
at com.jthink.jaikoz.manipulate.ArtworkCache.getImageForAsin(ArtworkCach
e.java:182)
at com.jthink.jaikoz.manipulate.ArtworkCache.add(ArtworkCache.java:96)
at com.jthink.jaikoz.manipulate.ArtworkCache.get(ArtworkCache.java:133)
at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzUpdateSong.
updateReleaseCoverArt(MusicBrainzUpdateSong.java:195)
at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzUpdateSong.
updateTagFromMusicBrainz(MusicBrainzUpdateSong.java:965)
at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzRESTQuery.u
pdateFromOnlineDatabase(MusicBrainzRESTQuery.java:126)
at com.jthink.jaikoz.manipulate.CorrectFromMusicBrainzWorkerThread.doAna
lyse(CorrectFromMusicBrainzWorkerThread.java:62)
at com.jthink.jaikoz.manipulate.CorrectFromMusicBrainzWorkerThread.analy
se(CorrectFromMusicBrainzWorkerThread.java:103)
at com.jthink.jaikoz.manipulate.AutoCorrecterSongBySongAnalyser$WorkerTh
read$AnalyseSong.call(AutoCorrecterSongBySongAnalyser.java:274)
at com.jthink.jaikoz.manipulate.AutoCorrecterSongBySongAnalyser$WorkerTh
read$AnalyseSong.call(AutoCorrecterSongBySongAnalyser.java:252)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The error here isn’t that amazon is serving a 1x1 gif for whatever reasons, the error is in my view that this should be detected so that you don’t go through all these other steps.
Though I don’t know why Amazon would serve such a gif, are you perhaps scraping their webpage instead of using their API?