public static void localWatchDog() { Logger.info(" --local watchdog"); Long nImages = checkNumberOfNewLocalImages(); if (nImages > 0) { // there are new images to take care of Logger.info(" number of new images: " + nImages); List<String> images = null; // get the list of local images try { images = readLocalFolder(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // TODO check if the image is already in db, double images problem!!! // for each new image for (int i = images.size() - 1; i > images.size() - 1 - nImages; i--) { Logger.info(" image name: " + images.get(i)); // add new images to db Date date = new Date(); String dateS = "" + date.getTime() / 1000; MImages newDbImage = new MImages( images.get(i), urlPath + images.get(i), "local", "Usi Display", "http://pdnet.inf.unisi.ch/devel/public/logo-usi-67540.gif", dateS, (long) 0, (long) 0); MImages.addNew(newDbImage); // send the new image to clients sendImageToClients(newDbImage); } // update the tag count LocalInfo.delete((long) 1); Logger.info(" update the local info +"); LocalInfo.addNew(new LocalInfo(urlPath, getNumberOfLocalImages())); } else if (nImages < 0) { // TODO // some images have been deleted // for now keep them in the db, later consider deleting them // update the tag LocalInfo.delete((long) 1); Logger.info(" update the local info -"); LocalInfo.addNew(new LocalInfo(urlPath, getNumberOfLocalImages())); } Logger.info(" --local watchdog---"); } // checkLocalFolder
public static Long checkNumberOfNewLocalImages() { Long nImages = getNumberOfLocalImages(); LocalInfo localindb = LocalInfo.get((long) 1); return nImages - localindb.numberOfImages; }
public static void checkTag(Instagram instagram) { Logger.info("----TAG-----------------------"); // check if the tag is in db if (TagInfo.contains((long) 1)) { // tag found, check if it's the right tag if (TagInfo.contains(appDisplayNameTag)) { // tag is already in db, start the tag scheduler (tagWatchdog) Logger.info(" tag is in the db"); displayTagInfo(); // tag info in the db // display local folder path Logger.info(" local folder: " + urlPath); } else { // old tag is in the db, update it with the new one Logger.info(" old tag is in the db, update the old tag"); // delete the old tag, add the new tag Logger.info(" delete old tag"); TagInfo.delete((long) 1); Logger.info(" add the new tag"); TagInfo.addNew( new TagInfo(appDisplayNameTag, getNumberOfImagesByTag(instagram, appDisplayNameTag))); displayTagInfo(); // delete old images from the image db Logger.info(" delete old images"); deleteAllImagesFormDb(); // add new images to the db Logger.info(" add the new images"); addImagesToDB(instagram); // local // add new local folder info Logger.info(" delete old local info"); LocalInfo.delete((long) 1); Logger.info(" add new local info"); LocalInfo.addNew(new LocalInfo(urlPath, getNumberOfLocalImages())); Logger.info( " localPath: " + LocalInfo.get((long) 1).urlPath + " nImages: " + LocalInfo.get((long) 1).numberOfImages); // add loacal images to the db addLocalImagesToDb(); } } else { // add the new tag to db Logger.info(" tag is not in the db"); Logger.info(" add the new tag"); TagInfo.addNew( new TagInfo(appDisplayNameTag, getNumberOfImagesByTag(instagram, appDisplayNameTag))); displayTagInfo(); // add images of the new tag to the db Logger.info(" add the new images"); addImagesToDB(instagram); // local // add local folder info Logger.info(" add new local info"); LocalInfo.addNew(new LocalInfo(urlPath, getNumberOfLocalImages())); Logger.info( " localPath: " + LocalInfo.get((long) 1).urlPath + " nImages: " + LocalInfo.get((long) 1).numberOfImages); // add loacal images to the db addLocalImagesToDb(); } } // checkTag