git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 2 Oct 2017 22:23:09 +0000 (22:23 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 2 Oct 2017 22:23:09 +0000 (22:23 +0000)
server/-configuration/scheduledjobs.json
server/user.jobengine.executors/jobtemplates/retrieve-traffic-missing-materials.xml
server/user.jobengine.executors/src/user/jobengine/server/steps/CheckTrafficMissingMaterialsStep.java
server/user.jobengine.osgi.db/src/user/jobengine/db/MediaFileDAO.sqlj

index 2d0a4edb9e19ee90ae52083a672a5972a5021649..1711918ffdaa616b1674e5922059fe18d9129349 100644 (file)
@@ -24,7 +24,7 @@
        },      \r
        {\r
       "active": false,\r
-         "name" : "Traffic anyagok visszatöltése",\r
+         "name" : "TRAFFIC anyagok visszatöltése",\r
       "template": "retrieve-traffic-missing-materials.xml",\r
       "executeimmediate": true,\r
       "cronexpression": "0 0 0/1 1/1 * ? *"\r
index d311ad4b569882d60b3756371ed27b8faf5253bb..0231ada984dab8a5cebc1d0c4f493e35b1480511 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Traffic anyagok visszatöltése">\r
+<jobtemplate name="TRAFFIC anyagok visszatöltése">\r
        <commands>\r
                <calljobstep id="id1" type="user.jobengine.server.steps.CheckTrafficMissingMaterialsStep" weight="1" />\r
        </commands>\r
index 487de5edcd23c409321a26df9247e6ba672a1177..10c5bcbf0fba22ae6be15ee5befff69968911c5d 100644 (file)
@@ -4,15 +4,15 @@ import java.sql.Connection;
 import java.sql.DriverManager;\r
 import java.sql.PreparedStatement;\r
 import java.sql.ResultSet;\r
-import java.util.ArrayList;\r
 import java.util.List;\r
 \r
 import org.apache.commons.lang.StringUtils;\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
 \r
+import user.commons.IEntityBase;\r
+import user.commons.ListUtils;\r
 import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
 import user.jobengine.db.MediaFile;\r
 import user.jobengine.db.MediaFileDAO;\r
 import user.jobengine.server.IJobEngine;\r
@@ -20,25 +20,30 @@ import user.jobengine.server.IJobRuntime;
 \r
 public class CheckTrafficMissingMaterialsStep extends JobStep {\r
        private static final Logger logger = LogManager.getLogger();\r
+       private static final String MEDIA_CUBE_MEDIA = "mediaCubeMedia";\r
        private static final String SQLSERVER_JDBC_SQL_SERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";\r
        private static final String TRAFFIC_DB_PASSWORD = "traffic.db.password";\r
        private static final String TRAFFIC_DB_USER = "traffic.db.user";\r
        private static final String TRAFFIC_DB_URL = "traffic.db.url";\r
        private static final String SQL = "{call clIFsp_EC_MAM(1001, 40, Null,  Null, ?)}";\r
+       private static final String JOBTEMPLATE = null;\r
        private IItemManager manager;\r
+       private IJobEngine jobEngine;\r
 \r
        @StepEntry\r
        public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               List<Media> result = new ArrayList<>();\r
+               this.jobEngine = jobEngine;\r
                manager = jobEngine.getItemManager();\r
-               try (Connection con = getSQLConnection(); PreparedStatement stmt = con.prepareStatement(SQL)) {\r
+               try (Connection con = getSQLConnection(); PreparedStatement stmt = con.prepareStatement(SQL, ResultSet.TYPE_SCROLL_SENSITIVE)) {\r
                        stmt.setInt(1, 7);\r
                        try (ResultSet rs = stmt.executeQuery()) {\r
-                               if (rs.next()) {\r
+                               rs.last();\r
+                               int count = rs.getRow();\r
+                               while (rs.next()) {\r
                                        String trafficId = rs.getString(5);\r
                                        if (StringUtils.isNotBlank(trafficId)) {\r
                                                try {\r
-                                                       processTrafficId(result, trafficId);\r
+                                                       processTrafficId(trafficId);\r
                                                } catch (Exception e) {\r
                                                        logger.error(getMarker(), "Hiba lépett fel az {} anyag visszatöltéskor. A rendszer hibaüzenete: {}", trafficId, e.getMessage());\r
                                                }\r
@@ -51,7 +56,7 @@ public class CheckTrafficMissingMaterialsStep extends JobStep {
                        throw e;\r
                } finally {\r
                }\r
-               return new Object[] {};\r
+               return null;\r
        }\r
 \r
        private Connection getSQLConnection() throws Exception {\r
@@ -64,10 +69,10 @@ public class CheckTrafficMissingMaterialsStep extends JobStep {
                return result;\r
        }\r
 \r
-       private void processTrafficId(List<Media> result, String trafficId) throws Exception {\r
+       private void processTrafficId(String trafficId) throws Exception {\r
                MediaFileDAO dao = (MediaFileDAO) manager.getBaseDAO(MediaFile.class);\r
-               List<Media> medias = dao.getByHouseId(trafficId);\r
-               if (medias.size() == 0) {\r
+               List<IEntityBase> medias = dao.getByHouseId(trafficId);\r
+               if (medias == null || medias.size() == 0) {\r
                        logger.error(getMarker(), "Az {} anyag nem található az archívumban.", trafficId);\r
                        return;\r
                }\r
@@ -77,8 +82,8 @@ public class CheckTrafficMissingMaterialsStep extends JobStep {
                        return;\r
                }\r
 \r
-               result.add(medias.get(0));\r
-\r
+               String title = "Visszatöltés: " + trafficId;\r
+               jobEngine.submit(JOBTEMPLATE, title, ListUtils.asMap(MEDIA_CUBE_MEDIA, medias.get(0)));\r
        }\r
 \r
 }\r
index 2a9e05da5f5d42f0e43e82f62242cafcd31a4172..da5b04f36079212322c6c031a4419c7e28acbe5b 100644 (file)
@@ -123,12 +123,12 @@ public class MediaFileDAO extends EntityBaseDAO {
                return iter;\r
        }\r
        \r
-       public List<Media> getByHouseId(String houseId) {\r
+       public List<IEntityBase> getByHouseId(String houseId) {\r
                manager.traceIn();\r
-               List<Media> result = null;\r
+               List<IEntityBase> result = null;\r
                DefaultContext context = manager.getDbContext();\r
                try {\r
-                       MediaFileIter iter = selectByHouseId(context, houseId);\r
+                       ResultSetIterImpl iter = selectByHouseId(context, houseId);\r
                        result = getList(context, iter, false);\r
                } catch (Exception e) {\r
                        throw new ItemManagerException(e);\r