1 package user.jobengine.server.steps;
\r
3 import java.nio.file.Paths;
\r
5 import org.apache.logging.log4j.LogManager;
\r
6 import org.apache.logging.log4j.Logger;
\r
8 import com.ibm.nosql.json.api.BasicDBObject;
\r
9 import com.ibm.nosql.json.api.DB;
\r
10 import com.ibm.nosql.json.api.DBCollection;
\r
12 import user.commons.MediaCubeUndoMarker;
\r
13 import user.commons.nosql.NoSQLUtils;
\r
14 import user.jobengine.db.IItemManager;
\r
15 import user.jobengine.db.Media;
\r
16 import user.jobengine.server.IJobEngine;
\r
17 import user.jobengine.server.IJobRuntime;
\r
19 public class CreateMissingLowresStep extends JobStep {
\r
20 private static final Logger logger = LogManager.getLogger();
\r
23 public Object[] execute(String localHiresPath, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {
\r
24 Object[] result = new Object[] { null, null, "%s", null, 0, true };
\r
25 DB db = NoSQLUtils.getNoSQLDB();
\r
26 DBCollection collection = db.getCollection("missing_lowres");
\r
27 IItemManager manager = jobEngine.getItemManager();
\r
28 Media media = getFirstUntranscodedMedia(manager, collection);
\r
31 if (media == null) {
\r
32 logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány.");
\r
33 // throw new Exception("Nincs feldolgozandó hiány.");
\r
38 String name = media.getMediaFileRealName();
\r
40 ArchiveItem archiveItem = new ArchiveItem();
\r
41 archiveItem.setMediaFile(Paths.get(localHiresPath, name).toString());
\r
42 result[1] = archiveItem;
\r
43 collection.save(new BasicDBObject("name", name));
\r
44 logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId());
\r
46 } catch (Exception e) {
\r
48 logger.error(getSessionMarker(), e.getMessage());
\r
56 private Media getFirstUntranscodedMedia(IItemManager manager, DBCollection collection) {
\r
57 Media[] result = new Media[] { null };
\r
59 String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC";
\r
62 //String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS";
\r
63 manager.executeQuery(query, rs -> {
\r
65 long mediaId = rs.getLong(1);
\r
66 Media media = manager.getMedia(mediaId);
\r
67 //a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell nekunk
\r
68 String name = media.getMediaFileRealName();
\r
69 logger.info(getSessionMarker(), "Checking {}", name);
\r
70 long existing = collection.find(new BasicDBObject("name", name)).count();
\r
72 logger.info(getSessionMarker(), "{} is on missing_lowres list", name);
\r
77 } catch (Exception e) {
\r