From 9ae67e857806aa7cf89ed015a8c517ed58785a6c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Tue, 3 Oct 2017 08:27:05 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30507 --- server/-configuration/scheduledjobs.json | 21 ++++++--- .../jobtemplates/retrieve-material.xml | 4 ++ .../retrieve-traffic-missing-materials.xml | 20 ++++++++- .../CheckTrafficMissingMaterialsStep.java | 43 +++++++++---------- 4 files changed, 57 insertions(+), 31 deletions(-) diff --git a/server/-configuration/scheduledjobs.json b/server/-configuration/scheduledjobs.json index 1711918f..72cb21d4 100644 --- a/server/-configuration/scheduledjobs.json +++ b/server/-configuration/scheduledjobs.json @@ -11,6 +11,20 @@ ] }, { + "active": false, + "name" : "TRAFFIC anyagok visszatöltése", + "template": "retrieve-traffic-missing-materials.xml", + "executeimmediate": true, + "cronexpression": "0 0 0/1 1/1 * ? *", + "parameters": [ + {"name": "dbUrl", "value": "", "type": "java.lang.String"}, + {"name": "userName", "value": "MAM", "type": "java.lang.String"}, + {"name": "password", "value": "Echotv.hu", "type": "java.lang.String"}, + {"name": "lookupDays", "value": 7, "type": "java.lang.Integer"}, + {"name": "outputPath", "value": "\\\\10.10.1.100\\BRAAVOS\\PLAYOUT", "type": "java.lang.String"} + ] + }, + { "active": false, "name" : "Anyagok törlése", "template": "delete-materials.xml", @@ -23,13 +37,6 @@ ] }, { - "active": false, - "name" : "TRAFFIC anyagok visszatöltése", - "template": "retrieve-traffic-missing-materials.xml", - "executeimmediate": true, - "cronexpression": "0 0 0/1 1/1 * ? *" - }, - { "active": false, "name" : "NEXIO anyagok törlése", "template": "delete-nexio-materials.xml", diff --git a/server/user.jobengine.executors/jobtemplates/retrieve-material.xml b/server/user.jobengine.executors/jobtemplates/retrieve-material.xml index b236b501..cae277b0 100644 --- a/server/user.jobengine.executors/jobtemplates/retrieve-material.xml +++ b/server/user.jobengine.executors/jobtemplates/retrieve-material.xml @@ -3,6 +3,7 @@ + @@ -11,6 +12,9 @@ + + + diff --git a/server/user.jobengine.executors/jobtemplates/retrieve-traffic-missing-materials.xml b/server/user.jobengine.executors/jobtemplates/retrieve-traffic-missing-materials.xml index 0231ada9..20a07869 100644 --- a/server/user.jobengine.executors/jobtemplates/retrieve-traffic-missing-materials.xml +++ b/server/user.jobengine.executors/jobtemplates/retrieve-traffic-missing-materials.xml @@ -1,6 +1,24 @@ + + + + + + + + + - + + + + + + + + + + \ No newline at end of file diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CheckTrafficMissingMaterialsStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CheckTrafficMissingMaterialsStep.java index 10c5bcbf..be290760 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/CheckTrafficMissingMaterialsStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/CheckTrafficMissingMaterialsStep.java @@ -20,30 +20,24 @@ import user.jobengine.server.IJobRuntime; public class CheckTrafficMissingMaterialsStep extends JobStep { private static final Logger logger = LogManager.getLogger(); + private static final String OUTPUT_PATH = "outputPath"; private static final String MEDIA_CUBE_MEDIA = "mediaCubeMedia"; private static final String SQLSERVER_JDBC_SQL_SERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; - private static final String TRAFFIC_DB_PASSWORD = "traffic.db.password"; - private static final String TRAFFIC_DB_USER = "traffic.db.user"; - private static final String TRAFFIC_DB_URL = "traffic.db.url"; private static final String SQL = "{call clIFsp_EC_MAM(1001, 40, Null, Null, ?)}"; - private static final String JOBTEMPLATE = null; - private IItemManager manager; - private IJobEngine jobEngine; + private static final String JOBTEMPLATE = "retrieve-material.xml"; @StepEntry - public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception { - this.jobEngine = jobEngine; - manager = jobEngine.getItemManager(); - try (Connection con = getSQLConnection(); PreparedStatement stmt = con.prepareStatement(SQL, ResultSet.TYPE_SCROLL_SENSITIVE)) { - stmt.setInt(1, 7); + public Object[] execute(String dbUrl, String userName, String password, int lookupDays, String outputPath, IJobEngine jobEngine, IJobRuntime jobRuntime) + throws Exception { + + try (Connection con = getConnection(dbUrl, userName, password); PreparedStatement stmt = con.prepareStatement(SQL)) { + stmt.setInt(1, lookupDays); try (ResultSet rs = stmt.executeQuery()) { - rs.last(); - int count = rs.getRow(); while (rs.next()) { String trafficId = rs.getString(5); if (StringUtils.isNotBlank(trafficId)) { try { - processTrafficId(trafficId); + processTrafficId(trafficId, outputPath, jobEngine); } catch (Exception e) { logger.error(getMarker(), "Hiba lépett fel az {} anyag visszatöltéskor. A rendszer hibaüzenete: {}", trafficId, e.getMessage()); } @@ -59,17 +53,20 @@ public class CheckTrafficMissingMaterialsStep extends JobStep { return null; } - private Connection getSQLConnection() throws Exception { + private Connection getConnection(String dbUrl, String userName, String password) throws Exception { Connection result = null; - Class.forName(SQLSERVER_JDBC_SQL_SERVER_DRIVER); - String url = System.getProperty(TRAFFIC_DB_URL); - String user = System.getProperty(TRAFFIC_DB_USER); - String pass = System.getProperty(TRAFFIC_DB_PASSWORD); - result = DriverManager.getConnection(url, user, pass); + try { + Class.forName(SQLSERVER_JDBC_SQL_SERVER_DRIVER); + result = DriverManager.getConnection(dbUrl, userName, password); + } catch (Exception e) { + logger.error(getMarker(), "Hiba lépett fel a folyamat indításakor. A rendszer hibaüzenete: {}", e.getMessage()); + throw e; + } return result; } - private void processTrafficId(String trafficId) throws Exception { + private void processTrafficId(String trafficId, String outputPath, IJobEngine jobEngine) throws Exception { + IItemManager manager = jobEngine.getItemManager(); MediaFileDAO dao = (MediaFileDAO) manager.getBaseDAO(MediaFile.class); List medias = dao.getByHouseId(trafficId); if (medias == null || medias.size() == 0) { @@ -82,8 +79,8 @@ public class CheckTrafficMissingMaterialsStep extends JobStep { return; } - String title = "Visszatöltés: " + trafficId; - jobEngine.submit(JOBTEMPLATE, title, ListUtils.asMap(MEDIA_CUBE_MEDIA, medias.get(0))); + String title = "Traffic adásanyag visszatöltés: " + trafficId; + jobEngine.submit(JOBTEMPLATE, title, ListUtils.asMap(MEDIA_CUBE_MEDIA, medias.get(0), OUTPUT_PATH, outputPath)); } } -- 2.54.0