mailLevel = event.getLevel();
}
- String to = mcm.getTo() == null ? defaultRecipient : mcm.getTo();
+ String to = mcm.getTo() == null ? defaultRecipient : defaultRecipient + "," + mcm.getTo();
String subject = mcm.getSessionName() == null ? defaultSubject : String.format("%s: %s #%s", mailLevel, mcm.getSessionName(), mcm.getSessionID());
sendEvents(to, subject, layout, events);
sessionEvents.remove(sessionID);
import org.apache.commons.lang.StringUtils;\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.apache.logging.log4j.Marker;\r
import org.apache.logging.log4j.message.Message;\r
\r
import user.commons.LogUtils;\r
private StoreUri targetUri;\r
private StoreUri sourceUri;\r
private String sourceFileName;\r
+ private Marker marker;\r
\r
@StepEntry\r
public Object[] execute(Media mediaCubeMedia, String targetPath, String targetNamePattern, String successRecipient, int killDateDays, IJobEngine jobEngine,\r
IJobRuntime jobRuntime) throws Exception {\r
+ marker = jobRuntime.getMarker();\r
setAndCheck(mediaCubeMedia, targetPath, targetNamePattern, jobEngine);\r
String targetFileName = null;\r
try {\r
targetFileName = String.format(targetNamePattern, sourceFileName);\r
RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
\r
- Message msg = LogUtils.format("Az '{}' állomány visszatöltése sikeres. Elérhető az \r\n'{}' mappa\r\n'{}' állományában.", sourceFileName,\r
- targetPath, targetFileName);\r
+ Message msg = LogUtils.format("Az '{}' állomány visszatöltése sikeres volt az '{}' néven.", sourceFileName, targetFileName);\r
if (StringUtils.isNotBlank(successRecipient))\r
logger.info(new MediaCubeMarker(successRecipient), msg);\r
- logger.info(getMarker(), msg);\r
- logger.info(jobRuntime.getMarker(), msg);\r
+ logger.info(marker, msg);\r
\r
if (killDateDays > 0)\r
- EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, getMarker());\r
+ EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, marker);\r
\r
} catch (Exception e) {\r
Message msg = LogUtils.format("Az '{}' állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage());\r
- logger.error(getMarker(), msg);\r
- //logger.error(jobRuntime.getMarker(), msg);\r
+ logger.error(marker, msg);\r
+ //logger.error(jobRuntime.marker, msg);\r
logger.catching(e);\r
throw e;\r
}\r
\r
private void setAndCheck(Media mediaCubeMedia, String targetPath, String targetNamePattern, IJobEngine jobEngine) {\r
if (jobEngine == null) {\r
- logger.error(getMarker(), "Az folyamatkezelő réteg nem elérhető.");\r
+ logger.error(marker, "Az folyamatkezelő réteg nem elérhető.");\r
throw new NullPointerException("Internal error, missing JobEngine reference.");\r
}\r
manager = jobEngine.getItemManager();\r
if (manager == null) {\r
- logger.error(getMarker(), "Az adatbáziskezelő réteg nem elérhető.");\r
+ logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
throw new NullPointerException("Internal error, missing ItemManager reference.");\r
}\r
if (mediaCubeMedia == null) {\r
- logger.error(getMarker(), "A folyamat 'mediaCubeMedia' bemeneti paramétere üres.");\r
+ logger.error(marker, "A folyamat 'mediaCubeMedia' bemeneti paramétere üres.");\r
throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
}\r
if (StringUtils.isBlank(targetPath)) {\r
- logger.error(getMarker(), "A folyamat 'targetPath' bemeneti paramétere üres.");\r
+ logger.error(marker, "A folyamat 'targetPath' bemeneti paramétere üres.");\r
throw new NullPointerException("System is not configured properly, 'targetPath' input parameter missing.");\r
}\r
if (StringUtils.isBlank(targetNamePattern)) {\r
- logger.error(getMarker(), "A folyamat 'targetNamePattern' bemeneti paramétere üres.");\r
+ logger.error(marker, "A folyamat 'targetNamePattern' bemeneti paramétere üres.");\r
throw new NullPointerException("System is not configured properly, 'targetNamePattern' input parameter missing.");\r
}\r
Store tsmStore = manager.getSystemStore(false);\r
if (tsmStore == null) {\r
- logger.error(getMarker(), "A TSM rendszer beállítás nem elérhető.");\r
+ logger.error(marker, "A TSM rendszer beállítás nem elérhető.");\r
throw new NullPointerException("System is not configured properly, missing TSM Store.");\r
}\r
sourceUri = tsmStore.getSourceStoreUri(RemoteStoreProtocol.TSM);\r
if (sourceUri == null) {\r
- logger.error(getMarker(), "A TSM rendszer beállítás paraméterei nem elérhetőek.");\r
+ logger.error(marker, "A TSM rendszer beállítás paraméterei nem elérhetőek.");\r
throw new NullPointerException("System is not configured properly, missing TSM StoreUri.");\r
}\r
targetUri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, targetPath);\r
sourceFileName = getSourceFileName(mediaCubeMedia, tsmStore);\r
if (sourceFileName == null) {\r
- logger.error(getMarker(), "Adatbázis bejegyzés hiba, a visszatöltendő fájl neve nem található.");\r
+ logger.error(marker, "Adatbázis bejegyzés hiba, a visszatöltendő fájl neve nem található.");\r
throw new NullPointerException("Database error, missing MediaFile 'relativePath'.");\r
}\r
}\r
\r
DBObject getRundown(Date scheduledDate);\r
\r
+ DBObject getRundownByID(long rundownID);\r
+\r
List<DBObject> getRundownFullStories(long id);\r
\r
List<DBObject> getRundowns(Date scheduledDate);\r
return result;\r
}\r
\r
+ @Override\r
+ public DBObject getRundownByID(long rundownID) {\r
+ DBObject result = null;\r
+ DBCollection collection = db.getCollection(RUNDOWN_COLLECTION);\r
+ DBCursor find = collection.find(new BasicDBObject(ID, rundownID));\r
+ if (find.hasNext())\r
+ result = find.next();\r
+ return result;\r
+ }\r
+\r
@Override\r
public List<DBObject> getRundownFullStories(long id) {\r
List<DBObject> result = null;\r
--- /dev/null
+select mediatype, itemhouseid, itemtitle, mediafilehouseid, archived \r
+from vw_items where mediafilehouseid like '%PGM%' and archived > '2018-03-01' \r
+and replace(substring(itemtitle, 12,5), ':', '') != substring(mediafilehouseid, 10,4) and length(itemhouseid)=8 and mediafilehouseid like '2018%' order by archived\r
+\r
+\r
+drop view recordings_summertime\r
+create view recordings_summertime as\r
+select itemid, mediaid, mediatype, itemhouseid, itemtitle, mediafilehouseid,\r
+replace(substring(itemtitle, 12,5), ':', '') x1, substring(mediafilehouseid, 10,4) x2, \r
+replace(substring(itemtitle, 0,10), '.', '') x3, substring(mediafilehouseid, 0,8) x4,\r
+archived \r
+from vw_items where mediafilehouseid like '%PGM%'\r
+and length(itemhouseid)=8 and mediafilehouseid like '2018%'\r
+\r
+select * from recordings_summertime where x1!=x2 order by itemtitle\r
+select * from recordings_summertime where x3!=x4 order by itemtitle\r
+\r
+select * from recordings_summertime where x1!=x2 and x2 = '1900' order by itemtitle\r
+\r
+select * from item where description like 'Javított%'\r
+update item set title = '2018.03.25 08:00 Híradó Echo TV' where id=59041\r
+\r
+\r
+select * from item where id = 58968\r
+\r
+\r
+select * from media where title like '1900_hirado_pgm_180308%'\r
+select * from mediafile where mediaid = 59836\r
+\r
+select * from vw_items where MEDIAFILEHOUSEID = '20180325-1900_hirado_PGM_-_V.MXF'\r
+\r
+select * from item where title = '2018.03.08 19:00 Hírek Echo TV'\r
+\r
+\r
+update media set itemid=52063 where id=52341\r
+update item set title ='2018.03.08 19:10 Hírek Echo TV' where id=52063\r
+\r
+\r
+\r
\r
import com.ibm.nosql.json.api.BasicDBObject;\r
\r
+import sqlj.runtime.ref.DefaultContext;\r
import user.commons.BaseType;\r
import user.commons.IEntityBase;\r
import user.commons.IEntityPersister;\r
\r
Break getBreak(long id);\r
\r
+ DefaultContext getDbContext();\r
+\r
/**\r
* Elkéri az összes dinamikus anyag típust.\r
*\r
\r
void mergeItemStructure(Item item);\r
\r
+ void putDbContext(DefaultContext context);\r
+\r
/**\r
* A bemeneti paraméterként kapott típus és azonosító lista alapján eltávolítja a megfelelő adatbázis bejegyzéseket.\r
*\r
return (Break) get(Break.class, id);\r
}\r
\r
- DefaultContext getDbContext() {\r
+ @Override\r
+ public DefaultContext getDbContext() {\r
DefaultContext context = null;\r
context = contextPool.borrowObject();\r
return context;\r
itemTypeChangeFactory.handleChange(this, entity, signalType);\r
}\r
\r
- void putDbContext(DefaultContext context) {\r
+ @Override\r
+ public void putDbContext(DefaultContext context) {\r
contextPool.lendObject(context);\r
}\r
\r
+++ /dev/null
-package user.jobengine.db;\r
-\r
-import java.nio.charset.Charset;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.StandardOpenOption;\r
-import java.sql.Connection;\r
-import java.sql.DriverManager;\r
-import java.sql.PreparedStatement;\r
-import java.sql.ResultSet;\r
-import java.sql.Types;\r
-import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
-import java.util.Date;\r
-import java.util.List;\r
-import java.util.function.Consumer;\r
-import java.util.stream.Stream;\r
-\r
-import org.junit.AfterClass;\r
-import org.junit.BeforeClass;\r
-import org.junit.Test;\r
-\r
-import sqlj.runtime.ref.DefaultContext;\r
-import user.commons.IEntityBase;\r
-import user.commons.logging.LogUtils;\r
-\r
-public class Support {\r
- public class BD {\r
- Date fBD;\r
- Date nBD;\r
- }\r
-\r
- private static final String HEADER = "név;archivált;méret;első_adás;következő_adás;törölhető";\r
-\r
- protected static IItemManager manager = null;\r
-\r
- @BeforeClass\r
- static public void setUpConnection() {\r
- System.setProperty(ItemManager.DBURL, "jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;");\r
- System.setProperty(ItemManager.DBUSERNAME, "db2admin");\r
- System.setProperty(ItemManager.DBPASSWORD, "password");\r
- System.setProperty(LogUtils.LOGLEVEL, "INFO");\r
- // System.setProperty(ItemManager.DBURL,\r
-\r
- manager = new ItemManager();\r
- manager.connect();\r
- }\r
-\r
- @AfterClass\r
- static public void tearDownConnection() {\r
- manager.disconnect();\r
- }\r
-\r
- @Test\r
- public void generateMorpheusArchivedList() throws Exception {\r
- Path sourcePath = Paths.get("\\\\10.10.1.100\\BRAAVOS\\PLAYOUT\\Video");\r
- MediaFileDAO dao = (MediaFileDAO) manager.getBaseDAO(MediaFile.class);\r
- final SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm");\r
- final List<String> lines = new ArrayList<>();\r
- lines.add(HEADER);\r
- final List<String> dlines = new ArrayList<>();\r
- dlines.add(HEADER);\r
- final Date now = new Date();\r
- try (Stream<Path> pathStream = Files.walk(sourcePath);\r
- Connection con = getConnection("jdbc:sqlserver://10.10.1.45\\sql16;databaseName=PA_Echo;", "MAM", "Echotv.hu")) {\r
- pathStream.forEach(new Consumer<Path>() {\r
- @Override\r
- public void accept(Path p) {\r
- String name = p.getFileName().toString();\r
- if (!name.toLowerCase().endsWith(".mxf"))\r
- return;\r
- if (name.startsWith("P") || name.startsWith("R"))\r
- return;\r
-\r
- List<IEntityBase> mediaFiles = dao.getByHouseId(name);\r
- boolean archived = mediaFiles != null && !mediaFiles.isEmpty();\r
-\r
- String fbd = "-";\r
- String nbd = "-";\r
- boolean inUse = false;\r
- try {\r
- BD bd = query(con, name.replace(".MXF", ""));\r
- if (bd != null) {\r
- if (bd.fBD != null) {\r
- fbd = df.format(bd.fBD).substring(0, 10);\r
- inUse = bd.fBD.after(now);\r
- }\r
- if (bd.nBD != null) {\r
- nbd = df.format(bd.nBD).substring(0, 10);\r
- inUse = inUse || bd.nBD.after(now);\r
- }\r
- }\r
- } catch (Exception e) {\r
- e.printStackTrace();\r
- }\r
-\r
- boolean canDelete = archived && !inUse;\r
- String line = String.format("%s;%s;%d;%s;%s;%s", name, archived ? "igen" : "nem", p.toFile().length(), fbd, nbd,\r
- canDelete ? "igen" : "nem");\r
- System.out.println(line);\r
- lines.add(line);\r
- if (canDelete)\r
- dlines.add(line);\r
- }\r
- });\r
- }\r
-\r
- Files.write(Paths.get("c:\\temp\\morpheus_all.csv"), lines, Charset.forName("ISO-8859-2"), StandardOpenOption.CREATE);\r
- Files.write(Paths.get("c:\\temp\\morpheus_cleanup.csv"), dlines, Charset.forName("ISO-8859-2"), StandardOpenOption.CREATE);\r
- }\r
-\r
- private Connection getConnection(String dbUrl, String userName, String password) throws Exception {\r
- Connection result = null;\r
- try {\r
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");\r
- result = DriverManager.getConnection(dbUrl, userName, password);\r
- } catch (Exception e) {\r
- throw e;\r
- }\r
- return result;\r
- }\r
-\r
- private BD query(Connection con, String id) throws Exception {\r
- BD result = null;\r
- if (id.startsWith("P") || id.startsWith("R"))\r
- return null;\r
-\r
- // 1002: Musorok\r
- // 2002: Promo\r
- // 3002: AD\r
-\r
- // @Operation int, @@@Options int, @@ItemID int, @@IntParam1 int=Null, @@IntParam2 int=Null, @@IntParam3 int=Null,\r
- // @@StrParam1 varchar(200)=Null\r
-\r
- // v_ProgrammeID\r
- // v_Live\r
- // v_EpisodeID\r
- // v_VariantID\r
- // v_MediaID\r
- // v_VariantTypeID\r
- // v_ProgTitle\r
- // v_EpTitle\r
- // v_Episode\r
- // v_VariantType\r
- // v_VariantKeywords\r
- // v_VariantLengthTC\r
- // v_VariantLengthFrame\r
- // v_VariantNrSegments\r
- // v_FirstBroadcastDate\r
- // v_NextBroadcastDate\r
- // v_OkForAir\r
- // v_ForTransm\r
-\r
- try (PreparedStatement stmt = con.prepareStatement("{call dbo.clIFsp_EC_MAM(1002, 0, ?, ?, ?, ?, ?)}")) {\r
- stmt.setNull(1, Types.INTEGER);\r
- stmt.setNull(2, Types.INTEGER);\r
- stmt.setNull(3, Types.INTEGER);\r
- stmt.setNull(4, Types.INTEGER);\r
- stmt.setString(5, id);\r
- try (ResultSet rs = stmt.executeQuery()) {\r
- // ResultSetMetaData rsmd = rs.getMetaData();\r
- // for (int i = 1; i < rsmd.getColumnCount() + 1; i++) {\r
- // System.out.println(rsmd.getColumnLabel(i));\r
- // }\r
- while (rs.next()) {\r
-\r
- result = new BD();\r
- result.fBD = rs.getDate("v_FirstBroadcastDate");\r
- result.nBD = rs.getDate("v_NextBroadcastDate");\r
- break;\r
- }\r
- }\r
- } catch (Exception e) {\r
- throw e;\r
- } finally {\r
- }\r
- return result;\r
- }\r
-\r
- @Test\r
- public void testClob() throws Exception {\r
- ResultSet rs = null;\r
- PreparedStatement st = null;\r
- DefaultContext context = ((ItemManager) manager).getDbContext();\r
- Connection connection = context.getConnection();\r
- try {\r
-\r
- String query = String.format("select text from ftclob");\r
- st = connection.prepareStatement(query);\r
- rs = st.executeQuery();\r
- if (rs.next()) {\r
- String text = rs.getString("text");\r
- System.out.println(text);\r
- }\r
-\r
- connection.commit();\r
- } catch (Exception e) {\r
- try {\r
- connection.rollback();\r
- } catch (Exception e1) {\r
- }\r
- } finally {\r
- try {\r
- if (rs != null)\r
- rs.close();\r
- } catch (Exception e1) {\r
- }\r
- try {\r
- if (st != null)\r
- st.close();\r
- } catch (Exception e1) {\r
- }\r
- ((ItemManager) manager).putDbContext(context);\r
- }\r
-\r
- }\r
-\r
-}\r
org.osgi.framework;version="1.5.0",
org.osgi.framework.wiring;version="1.2.0",
org.osgi.util.tracker;version="1.4.0",
- org.slf4j;version="1.6.3"
+ org.slf4j;version="1.6.3",
+ sqlj.runtime.ref
Require-Bundle: user.jobengine.osgi.db;bundle-version="1.0.0",
user.jobengine.osgi.commons;bundle-version="1.0.0",
user.tsm.client;bundle-version="1.2.0",
-package user.jobengine.db;\r
+package user.jobengine.server.IT;\r
\r
import java.sql.ResultSet;\r
import java.sql.SQLException;\r
-package user.jobengine.db;\r
+package user.jobengine.server.IT;\r
\r
import java.sql.PreparedStatement;\r
import java.sql.SQLException;\r
--- /dev/null
+package user.jobengine.server.IT;\r
+\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import org.apache.commons.lang.StringUtils;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+import com.ibm.nosql.json.api.DBObject;\r
+\r
+import user.commons.CalendarUtils;\r
+import user.commons.nosql.NoSQLUtils;\r
+import user.commons.octopus.IOctopusAPI;\r
+import user.jobengine.server.steps.RundownArchive;\r
+import user.jobengine.server.steps.StoryArchive;\r
+\r
+public class RundownHelper {\r
+ private static final String SCHEDULED_FORMAT = "yyyy.MM.dd HH:mm";\r
+\r
+ public static RundownArchive processRundow(IOctopusAPI octopusAPI, Date scheduledStart) throws Exception {\r
+ BasicDBObject rundown = (BasicDBObject) octopusAPI.getRundown(scheduledStart);\r
+ if (rundown == null)\r
+ throw new Exception("No rundown for schedule " + scheduledStart);\r
+\r
+ long rundownID = rundown.getLong(IOctopusAPI.ID);\r
+ List<DBObject> stories = octopusAPI.getRundownFullStories(rundownID);\r
+ if (stories == null)\r
+ return null;\r
+ RundownArchive result = new RundownArchive();\r
+\r
+ String name = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.RUNDOWN_TYPE), IOctopusAPI.NAME);\r
+ if (StringUtils.isBlank(name))\r
+ return null;\r
+ String channel = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.CHANNEL), IOctopusAPI.NAME);\r
+ if (scheduledStart == null)\r
+ return null;\r
+ String start = CalendarUtils.toString(CalendarUtils.createCalendar(scheduledStart), SCHEDULED_FORMAT);\r
+ result.setScheduleDate(scheduledStart);\r
+ result.setItemHouseId(String.valueOf(rundownID));\r
+ result.setItemTitle(String.format("%s %s %s", start, name, channel));\r
+\r
+ StringBuilder sb = new StringBuilder();\r
+ for (DBObject s : stories) {\r
+ BasicDBObject story = (BasicDBObject) s;\r
+\r
+ sb.append("*** ");\r
+ sb.append(story.getString(IOctopusAPI.PARENT_STORY_ID));\r
+ sb.append(" [" + story.getString(IOctopusAPI.FORMAT) + "] ");\r
+ sb.append(story.getString(IOctopusAPI.NAME));\r
+ sb.append(" ***");\r
+ sb.append("\r\n");\r
+ String content = story.getString(IOctopusAPI.SCRIPT_CONTENT);\r
+ if (content != null) {\r
+ content = content.replace("\r\n\r\n\r\n\r\n", "\r\n");\r
+ content = content.replace("\r\n\r\n\r\n", "\r\n");\r
+ content = content.replace("\r\n\r\n", "\r\n");\r
+ sb.append(content);\r
+ sb.append("\r\n");\r
+ }\r
+ }\r
+\r
+ StoryArchive storyArchive = new StoryArchive();\r
+ storyArchive.setMediaHouseId(result.getItemHouseId());\r
+ storyArchive.setMediaDesc(sb.toString());\r
+ result.addStoryArchive(storyArchive);\r
+ return result;\r
+ }\r
+\r
+}\r
-package user.jobengine.db;\r
+package user.jobengine.server.IT;\r
\r
import java.io.File;\r
import java.nio.charset.Charset;\r
import java.util.function.Consumer;\r
import java.util.stream.Stream;\r
\r
+import org.apache.commons.lang.time.DateUtils;\r
import org.junit.AfterClass;\r
import org.junit.BeforeClass;\r
import org.junit.Test;\r
import user.commons.IEntityBase;\r
import user.commons.logging.LogUtils;\r
import user.commons.nosql.NoSQLUtils;\r
-\r
-public class Support_new {\r
+import user.commons.octopus.OctopusAPI;\r
+import user.jobengine.db.IItemManager;\r
+import user.jobengine.db.Item;\r
+import user.jobengine.db.ItemManager;\r
+import user.jobengine.db.Media;\r
+import user.jobengine.db.MediaFile;\r
+import user.jobengine.db.MediaFileDAO;\r
+import user.jobengine.server.steps.RundownArchive;\r
+import user.jobengine.server.steps.StoryArchive;\r
+\r
+public class Support {\r
public class BD {\r
Date fBD;\r
Date nBD;\r
\r
@BeforeClass\r
static public void setUpConnection() {\r
+ System.setProperty("jobengine.octopus.rundowns.name", "test_rundowns");\r
+ System.setProperty("jobengine.octopus.stories.name", "test_stories");\r
+ System.setProperty("jobengine.octopus.storyfolders.name", "test_storyfolders");\r
+\r
System.setProperty("jobengine.nosql.db.url", "jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;");\r
System.setProperty("jobengine.nosql.db.user", "db2admin");\r
System.setProperty("jobengine.nosql.db.password", "password");\r
System.out.println("Available will " + duplicateLength[0]);\r
}\r
\r
+ @Test\r
+ public void processRecordingsSummertime() throws Exception {\r
+\r
+ // Item item1 = manager.createItem("Generic", "2018.03.25 19:00 xxx", "", "56607293");\r
+ // manager.merge(item1);\r
+\r
+ SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd-HHmm");\r
+ OctopusAPI octopusAPI = new OctopusAPI();\r
+ String query = "select * from recordings_summertime where x1!=x2 order by itemtitle";\r
+ IResultSetConsumer consumer = rs -> {\r
+ long rundownID = rs.getLong("itemhouseid");\r
+ try {\r
+ long itemID = rs.getLong("itemid");\r
+ long mediaID = rs.getLong("mediaid");\r
+ String itemTitle = rs.getString("itemtitle");\r
+ String mediaFileHouseID = rs.getString("mediafilehouseid");\r
+ String x1 = rs.getString("x1");\r
+ String x2 = rs.getString("x2");\r
+ String time = mediaFileHouseID.substring(9, 13);\r
+ //Date scheduleDate = df.parse(mediaFileHouseID.substring(0, 13));\r
+ Date scheduleDate = df.parse("20180308-1900");\r
+\r
+ RundownArchive rundownArchive = RundownHelper.processRundow(octopusAPI, scheduleDate);\r
+\r
+ if (time.equals("1900")) {\r
+ scheduleDate = DateUtils.addMinutes(scheduleDate, 5);\r
+ RundownArchive rundownArchive2 = RundownHelper.processRundow(octopusAPI, scheduleDate);\r
+\r
+ rundownArchive.setItemTitle(rundownArchive.getItemTitle() + " + NAPIAKT");\r
+ StoryArchive storyArchive = rundownArchive.getStoryArchives().get(0);\r
+ StoryArchive storyArchive2 = rundownArchive2.getStoryArchives().get(0);\r
+ storyArchive.setMediaDesc(storyArchive.getMediaDesc() + "\r\n\r\n****** NAPIAKT ******\r\n\r\n" + storyArchive2.getMediaDesc());\r
+ }\r
+\r
+ Item item = manager.getItem(itemID);\r
+ item.setDescription("Javított eredeti adatok: " + item.getHouseId() + " " + item.getTitle());\r
+ item.setTitle(rundownArchive.getItemTitle());\r
+ item.setHouseId(rundownArchive.getItemHouseId());\r
+ manager.merge(item);\r
+\r
+ Media media = manager.getMedia(mediaID);\r
+ media.setDescription(rundownArchive.getStoryArchives().get(0).getMediaDesc());\r
+ manager.merge(media);\r
+ System.out.println(rundownID + " " + x1 + " " + x2 + " " + itemTitle + " -> " + rundownArchive.getItemTitle());\r
+ } catch (Exception e) {\r
+ System.out.println("Error processing: " + rundownID);\r
+ }\r
+ };\r
+ executeQuery(query, consumer, null);\r
+ //System.out.println("Available will " + duplicateLength[0]);\r
+ }\r
+\r
private List<String> query(Connection con) throws Exception {\r
List<String> result = new ArrayList<>();\r
\r