1 package org.musicontroller.core.jobs;
2
3 import org.apache.log4j.Logger;
4 import org.musicontroller.dao.Dao;
5 import org.musicontroller.repair.ConsistencyChecker;
6 import org.musicontroller.repair.MergeArtistCopies;
7 import org.varienaja.util.DenseSet;
8
9 public class ConsistencyCheckJob {
10 private static final Logger log = Logger.getLogger(ConsistencyCheckJob.class);
11 private Dao _dao;
12
13 public void execute() {
14 executeLinkChecks();
15 executeMergeArtistCopies();
16 }
17
18 public void executeLinkChecks() {
19 log.debug("LinkCheckJob started");
20 try {
21 DenseSet nonExistingLinkIDs = ConsistencyChecker.checkLinks(_dao);
22 if (nonExistingLinkIDs.size()==0) {
23 log.debug("All songs have correct filesystem links.");
24 } else {
25 log.error("There were songs with missing filesystem links!");
26 }
27 } catch (Exception e){
28 log.error("Error while checking links: "+e);
29 }
30 log.debug("LinkCheckJob finished");
31 }
32
33 private void executeMergeArtistCopies() {
34 MergeArtistCopies.execute(_dao);
35 }
36
37 public Dao getDao() {
38 return _dao;
39 }
40
41 public void setDao(Dao _dao) {
42 this._dao = _dao;
43 }
44 }