git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 21 Nov 2017 08:37:34 +0000 (08:37 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 21 Nov 2017 08:37:34 +0000 (08:37 +0000)
client/Maestro/Configuration/configuration-nle.json
client/Maestro/Installer/installforge-installer-project.ifp
client/Maestro/Properties/AssemblyInfo.cs
server/-product/log4j2.xml
server/user.commons.log4j2/src/user/commons/log4j2/appender/HTMLMailAppender.java
server/user.jobengine.osgi.commons/src/user/commons/nosql/NoSQLUtils.java
server/user.jobengine.osgi.commons/src/user/commons/octopus/OctopusDataMiner.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java
server/user.jobengine.osgi.server/src/user/jobengine/server/actions/StatusMachine.java
server/user.jobengine.osgi.server/src/user/jobengine/server/scheduler/ScheduledJob.java

index aa4440e83a2ffb0df7c8f805e4db19b8ef3a3138..e6d8a88ec82221e854ed3101a501432e33f94f41 100644 (file)
@@ -1,6 +1,6 @@
 {\r
   "title": "NLE",\r
-  "active": true,\r
+  "active": false,\r
   "startInTray": false,\r
   "enableCustomMetadataId": true,\r
   "player": {\r
index d44b6c2a0793b2d466015e6ce3fbf168349828eb..f289b99e33119aeb0daac01bdc145e2c2e28ad26 100644 (file)
Binary files a/client/Maestro/Installer/installforge-installer-project.ifp and b/client/Maestro/Installer/installforge-installer-project.ifp differ
index 8d42e911be060a6ea27a7ef55d3e8b83acde0024..e4b288898d4bee019fde9f2049f05facbd2eb53e 100644 (file)
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers\r
 // by using the '*' as shown below:\r
 // [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("2.0.3.1")]\r
-[assembly: AssemblyFileVersion("2.0.3.1")]\r
+[assembly: AssemblyVersion("2.0.4.0")]\r
+[assembly: AssemblyFileVersion("2.0.4.0")]\r
index ef66dee9860bd672d8637400160cbe9ebc6cf603..f81b90af8674ea4fb442c265ce46a36aeb5e9764 100644 (file)
@@ -30,7 +30,7 @@
                </HTMLMailAppender>\r
                <RollingFile name="MarkeredRollingFile" fileName="${markeredFileName}" filePattern="${markeredFilePattern}">\r
                        <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="DENY" onMismatch="NEUTRAL" />\r
+                               <MarkerFilter marker="MEDIACUBE" onMatch="ACCEPT" onMismatch="DENY" />\r
                        </Filters>\r
                        <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %markerSimpleName - %msg (%F:%L)%n %throwable" />\r
                        <Policies>\r
index 7df714d4b8f28f2befc43ca527ba71daa63bdabb..470bf16b3e3b3455dabc3e6eccd94e0c6586d864 100644 (file)
@@ -119,7 +119,7 @@ public final class HTMLMailAppender extends AbstractAppender {
        /** The SMTP Manager */
        private final SmtpManager manager;
 
-       private final ExecutorService executor = Executors.newFixedThreadPool(1);
+       private final ExecutorService executor = Executors.newFixedThreadPool(5);
 
        private HTMLMailAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout, final SmtpManager manager,
                        final boolean ignoreExceptions) {
@@ -152,9 +152,9 @@ public final class HTMLMailAppender extends AbstractAppender {
        @Override
        public boolean isFiltered(final LogEvent event) {
                final boolean filtered = super.isFiltered(event);
-               if (filtered) {
-                       manager.add(event);
-               }
+               //              if (filtered) {
+               //                      manager.add(event);
+               //              }
                return filtered;
        }
 }
index 3852a6108538e5bd4fe52264024c90294b78bd0b..08eb93f840233564eb5b113dd52c1be3f6c011da 100644 (file)
@@ -38,7 +38,7 @@ public class NoSQLUtils {
 \r
        public static List<BasicDBObject> asList(BasicDBList obj) {\r
                List<BasicDBObject> result = null;\r
-               if (obj != null)\r
+               if (obj != null && obj.size() > 0)\r
                        result = Arrays.asList(obj.toArray(new BasicDBObject[obj.size()]));\r
 \r
                if (result == null)\r
@@ -50,8 +50,18 @@ public class NoSQLUtils {
                List<BasicDBObject> result = null;\r
                if (obj != null) {\r
                        BasicDBList dbList = asDBList(obj, name);\r
-                       if (dbList != null)\r
-                               result = Arrays.asList(dbList.toArray(new BasicDBObject[obj.size()]));\r
+                       if (dbList != null && dbList.size() > 0) {\r
+                               Object[] objects = dbList.toArray();\r
+                               for (Object listobj : objects) {\r
+                                       if (listobj == null)\r
+                                               continue;\r
+                                       if (result == null)\r
+                                               result = new ArrayList<>();\r
+                                       result.add((BasicDBObject) listobj);\r
+                               }\r
+                               //result = Arrays.asList(dbList.toArray(new BasicDBObject[obj.size()]));\r
+\r
+                       }\r
                }\r
                return result;\r
        }\r
index d402724cae0aa44c9f597dcf24c040adf8b46f94..a6c535ac1be1cc9eb2f1f53821d2a30dfbf3ea61 100644 (file)
@@ -62,11 +62,11 @@ public class OctopusDataMiner implements Runnable {
        private static final String STORY = "story";\r
        private static final String SCHEDULED_START = "scheduledStart";\r
        private static final String SLUGS = "slugs";\r
-       private static final String CHECKING_RUNDOWN = "Checking Rundown %s (%d/%d)";\r
+       private static final String CHECKING_RUNDOWN = "Checking Rundown {} ({}/{})";\r
        private static final String FIELDS_STORIES = "stories,Story.modified,Story.name,Story.id,Story.mosObjects,Story.script,Story.type,Story.format,customColumns,CustomColumn.label,CustomColumn.value";\r
        private static final String FIELDS_SLUGS = "slugs,Slug.story,Slug.position,Story.name,Story.id,Story.modified,Story.mosObjects,Story.script,Story.type,Story.format,Story.customColumns,CustomColumn.label,CustomColumn.value";\r
        private static final String RUNDOWN = "Rundown";\r
-       private static final String FIELDS_RUNDOWN_LIST = "id,name,modified,scheduledStart,slugs,Slug.storyId,Slug.position";\r
+       private static final String FIELDS_RUNDOWN_LIST = "id,name,modified,scheduledStart,rundownType,RundownType.name,slugs,Slug.storyId,Slug.position";\r
        private static final String FIELDS_STORY_FOLDER_LIST = "id,name,modified,stories,Story.id";\r
        private static final String OCTOPUS_DEVICE_NAME = "Octopus-Device-Name";\r
        private static final String OCTOPUS_DEVICE_ID = "Octopus-Device-Id";\r
@@ -127,6 +127,8 @@ public class OctopusDataMiner implements Runnable {
                Map<Long, BasicDBList> result = new HashMap<>();\r
                List<BasicDBObject> rundownsList = NoSQLUtils.asList(rundowns);\r
                for (BasicDBObject rundown : rundownsList) {\r
+                       if (!rundown.containsKey(ID))\r
+                               continue;\r
                        long rundownId = rundown.getLong(ID);\r
                        List<BasicDBObject> slugs = NoSQLUtils.asList(rundown, SLUGS);\r
                        if (slugs == null)\r
@@ -141,6 +143,8 @@ public class OctopusDataMiner implements Runnable {
                                        result.put(storyId, references);\r
                                }\r
                                long position = slug.getLong(POSITION);\r
+                               if (slug.containsKey(POSITION))\r
+                                       position = slug.getLong(POSITION);\r
                                references.add(new BasicDBObject(ID, rundownId).append(POSITION, position));\r
                        }\r
                }\r
@@ -539,7 +543,7 @@ public class OctopusDataMiner implements Runnable {
                logger.trace(ENTER);\r
                long rundownID = rundown.getLong(ID);\r
                String name = rundown.containsKey(NAME) ? rundown.getString(NAME) : null;\r
-               logger.info("Checking rundown {} {}", name, rundown.get(SCHEDULED_START));\r
+               logger.debug("Storing rundown {} {}", name, rundown.get(SCHEDULED_START));\r
                BasicDBObject rundownWithStories = queryRundown(rundownID);\r
                BasicDBList stories = NoSQLUtils.asDBList(rundownWithStories, SLUGS);\r
                if (stories != null)\r
@@ -559,7 +563,7 @@ public class OctopusDataMiner implements Runnable {
                List<BasicDBObject> rundownsList = NoSQLUtils.asList(rundowns);\r
                int idx = 1;\r
                for (BasicDBObject rundown : rundownsList) {\r
-                       logger.debug(String.format(CHECKING_RUNDOWN, rundown.getLong(ID), rundownsList.size(), idx));\r
+                       //logger.debug(CHECKING_RUNDOWN, rundown.getLong(ID), rundownsList.size(), idx);\r
                        storeRundown(rundown, lastUpdateTime);\r
                        int progress = idx * 50 / rundownsList.size();\r
                        if (progress - progressEvent.getProgress() > 0) {\r
@@ -658,7 +662,8 @@ public class OctopusDataMiner implements Runnable {
                storyFolder.put(MODIFIED, toDate(storyFolder, MODIFIED));\r
                DBCollection collection = db.getCollection(STORY_FOLDER_COLLECTION_NAME);\r
                if (lastUpdateTime == null || (lastUpdateTime != null && isModified(lastUpdateTime, storyFolder))) {\r
-                       logger.trace(String.format("saving storyFolder %d", storyFolderID));\r
+                       String name = storyFolder.getString(NAME);\r
+                       logger.debug("Storing story folder {}", name);\r
                        collection.save(storyFolder);\r
                }\r
                logger.trace(EXIT);\r
index cec5021b08daf049c77343fc3176249b3d42e632..1be00f5a2d2bb4769efaaec9e1a3f363194d63a0 100644 (file)
@@ -508,7 +508,7 @@ public class JobRuntime extends Job implements IJobRuntime {
 
        @Override
        public String toString() {
-               return String.format("[JOB %s %s %d %s]", getId(), getTemplate(), getIp(), getStatus());
+               return String.format("!%s! %d", getName(), getId());
        }
 
 }
index 770202e02892e5f38f26fdb2f008cb0301bb9870..1c540e22e260abb35233ec4cf5cd1ccf72213540 100644 (file)
@@ -38,7 +38,7 @@ public class JobStepExecutor implements IJobStepExecutor {
                                                step = createStepObject();
                                                if (step == null)
                                                        throw new Exception("Step object is null");
-                                               logger.info("Executing job {}-{}, step {} ({})", jobRuntime.getId(), jobRuntime.getName(), step.getClass().getSimpleName(), getName());
+                                               logger.info("Executing {}", jobRuntime);
                                                //TODO ez biztosan kell?
                                                //jobRuntime.IncrementPriority();
 
@@ -49,7 +49,7 @@ public class JobStepExecutor implements IJobStepExecutor {
                                                jobEngine.sendMessage(new JobStepCompletedMessage(jobRuntime.getId(), outputs));
                                        }
                                } catch (Exception e) {
-                                       logger.error("Error executing job {}-{} ({})", jobRuntime.getId(), jobRuntime.getName(), getName());
+                                       logger.error("Error in {}", jobRuntime);
                                        Throwable t = e.getCause() == null ? e : e.getCause();
                                        logger.catching(t);
                                        jobEngine.suspendJob(t, jobRuntime);
@@ -73,7 +73,7 @@ public class JobStepExecutor implements IJobStepExecutor {
                }
        }
 
-       private static final Logger logger = LogManager.getLogger();
+       private Logger logger;
        private PriorityBlockingQueue<IJobRuntime> queue;
        private List<Worker> workers;
        protected IJobEngine jobEngine;
@@ -113,7 +113,8 @@ public class JobStepExecutor implements IJobStepExecutor {
        @Override
        @SuppressWarnings("unchecked")
        public void create(String className, int maxConcurrent) throws JobEngineException {
-               logger.debug("Creating executor: " + className + ", concurrent instances: " + maxConcurrent);
+               logger = LogManager.getLogger(getClass().getSimpleName() + ":" + className);
+               logger.debug("Creating executor {}, instances {}", className, maxConcurrent);
                if (StringUtils.isEmpty(className))
                        throw new JobEngineException("Step class name can't be null.");
                // throw new
index 19f5177e8a612f8f979efe3e243ea57c8cac10fa..220e02b975d674deea6e628f3ee1c08a45653362 100644 (file)
@@ -30,8 +30,7 @@ public class StatusMachine implements IStatusMachine {
                StatusMachineAction machineAction = new StatusMachineAction(jobAction, jobRuntime.getStatus());\r
                if (actions.containsKey(machineAction)) {\r
                        IJobStatusAction action = actions.get(machineAction);\r
-                       logger.info("Job {}-{} status change {} -> {} using {}", jobRuntime.getId(), jobRuntime.getName(), jobRuntime.getStatus(), jobAction,\r
-                                       action.getClass().getSimpleName());\r
+                       logger.debug("New status at {} ({} -> {})", jobRuntime, jobRuntime.getStatus(), jobAction);\r
                        action.processAction(jobEngine, jobRuntime);\r
                }\r
 \r
index a90e61fe9a7e2cfe3c7064a07e8496158e5b8c84..2c3eff857ad3634049590dbe338cede400156821 100644 (file)
@@ -118,6 +118,6 @@ public class ScheduledJob extends NativeJob { //implements InterruptableJob{
 \r
        @Override\r
        public String toString() {\r
-               return String.format("job { id: %s, template: %s, name %s }", jobId, templateName, jobName);\r
+               return String.format("!%s! %s", jobName, templateName);\r
        }\r
 }\r