git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 15 Dec 2017 16:02:25 +0000 (16:02 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 15 Dec 2017 16:02:25 +0000 (16:02 +0000)
37 files changed:
client/AudioRecorder/AudioRecorderSettings.cs
client/AudioRecorder/Configuration/audiorecorder.json
client/AudioRecorder/MainForm.cs
client/AudioRecorder/Properties/AssemblyInfo.cs
client/Maestro/Installer/installforge-installer-project.ifp
client/Maestro/MaestroForm.Metadata.cs
client/Maestro/MaestroForm.Source.cs
client/Maestro/Properties/AssemblyInfo.cs
client/MaestroShared/Metadata/MetadataType.cs
client/OctopusClient/OctopusIDSelector.cs
server/-configuration/jetty/etc/user-jetty-http.xml
server/-configuration/run-mediacube-server-bsh.launch
server/-configuration/run-mediacube-server-localhost.launch
server/-configuration/run-mediacube-server.launch
server/-configuration/run-mediacube-server2_adam.launch [deleted file]
server/-configuration/scheduledjobs.json
server/user.jobengine.executors/config/scheduledjobs.json
server/user.jobengine.executors/jobtemplates/copyforarchive-nexio-materials.xml
server/user.jobengine.executors/src/obsolate/DeleteMaterialsStep.java [moved from server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteMaterialsStep.java with 94% similarity]
server/user.jobengine.executors/src/user/jobengine/server/steps/CopyForArchiveNEXIOMaterialsStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/CreateMissingLowresStep.java [new file with mode: 0644]
server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/TSMBackupStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/TranscodeSELENIOStep.java
server/user.jobengine.osgi.commons/src/user/commons/CalendarUtils.java
server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java [moved from server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java with 88% similarity]
server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java
server/user.jobengine.osgi.commons/src/user/commons/octopus/OctopusDataMiner.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java
server/user.jobengine.osgi.db/src/user/jobengine/db/ItemManager.java
server/user.jobengine.osgi.server/pages/index.zul
server/user.jobengine.osgi.server/pages/statistics.zul
server/user.jobengine.osgi.server/src/user/jobengine/server/steps/EscortFiles.java
server/user.jobengine.osgi.server/src/user/jobengine/server/steps/JobStep.java
server/user.jobengine.osgi.server/src/user/jobengine/server/steps/RundownArchive.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/StatisticsComposer.java
server/user.jobengine.osgi.services/src/user/jobengine/osgi/ws/nexio/NexioWSServlet.java

index fcd3a9a8faf2118a7b14fdf050ceb96bd2f5f0eb..8319a0806decbfd87a40ecfdc961ea209f30c6c0 100644 (file)
@@ -7,6 +7,7 @@ namespace AudioRecorder {
         public int PeekMeterStep { get; set; }\r
         public Uri WorkingDirectory { get; set; }\r
         public MetadataProvider[] Metadatas { get; set; }\r
-        public Target Target { get; set; }\r
+        public Target OctopusTarget { get; set; }\r
+        public Target TrafficTarget { get; set; }\r
     }\r
 }\r
index 51dd7751ef5c5f5db8ae18e5fd526303280c1001..c586c7aa337e4bf1aa06fd7ac170d21fc4b5096e 100644 (file)
@@ -2,7 +2,7 @@
   "deviceName": "",\r
   "workingDirectory": "file://C:\\temp",\r
   "peekMeterStep": 200,\r
-  "target": {\r
+  "octopusTarget": {\r
     "label": "Octopus mappába küldés",\r
     "processor": "FTPTargetProcessor",\r
     "tag": "Betöltés",\r
       "timeout": 1000\r
     }\r
   },\r
+  "trafficTarget": {\r
+    "label": "Traffic mappába küldés",\r
+    "processor": "FTPTargetProcessor",\r
+    "tag": "Betöltés",\r
+    "outputFormat": "%ID%",\r
+    "subFolderFormat": "%IDROOT%-%TEXT%",\r
+    "killDateDays": 7,\r
+    "remote": {\r
+      "address": "ftp://10.10.1.100/PLAYOUT_NLE",\r
+      "userName": "mediacube",\r
+      "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
+      "timeout": 1000\r
+    }\r
+  },\r
   "metadatas": [\r
     {\r
       "$type": "OctopusMetadata",\r
index fb621b7ab8af18d38c7c15016a34986e62c0a810..055828ec6452ffbee647b9b99433b4a130d485b0 100644 (file)
@@ -12,6 +12,7 @@ using MaestroShared.Target;
 using System.Security.Principal;\r
 using MaestroShared.Targets;\r
 using static AudioRecorder.MetadataSelectorForm;\r
+using MaestroShared.Metadata;\r
 \r
 namespace AudioRecorder {\r
     public delegate void RefreshPanelDelegate();\r
@@ -33,8 +34,8 @@ namespace AudioRecorder {
         private bool pausing;\r
         private BackgroundWorker volumeMonitor;\r
         private string currentRecordingPath;\r
-        private Metadata currentStory;\r
-        ITargetProcessor processor;\r
+        private Metadata currentMetadata;\r
+\r
 \r
         public MainForm() {\r
             InitializeComponent();\r
@@ -77,7 +78,6 @@ namespace AudioRecorder {
             try {\r
                 Type[] knownTypes = { typeof(AudioRecorderSettings), typeof(Target), typeof(Connection), typeof(OctopusMetadata), typeof(TrafficMetadata), typeof(MediaCubeMetadata) };\r
                 parameters = ConfigurationSerializer.Load<AudioRecorderSettings>(CONFIG_FILE, knownTypes);\r
-                processor = TargetProcessor.Create(parameters.Target.Processor);\r
 \r
                 UpdateGUI();\r
                 timeCodeWorker = new TimeCodeWorker(timecodeLabel);\r
@@ -207,8 +207,8 @@ namespace AudioRecorder {
             MetadataSelectorForm idSelectorForm = new MetadataSelectorForm(parameters);\r
             if (idSelectorForm.ShowDialog() == DialogResult.Cancel)\r
                 return;\r
-            currentStory = idSelectorForm.SelectedMetadata;\r
-            currentRecordingPath = CreateCurrenRecordingPath(parameters.WorkingDirectory.LocalPath, currentStory.ID);\r
+            currentMetadata = idSelectorForm.SelectedMetadata;\r
+            currentRecordingPath = CreateCurrenRecordingPath(parameters.WorkingDirectory.LocalPath, currentMetadata.ID);\r
             txtRecordFilePath.Text = currentRecordingPath;\r
             if (String.IsNullOrEmpty(currentRecordingPath))\r
                 return;\r
@@ -278,20 +278,41 @@ namespace AudioRecorder {
         }\r
 \r
         private void Export() {\r
+            if (String.IsNullOrEmpty(currentMetadata.ID)) {\r
+                MsgBox.Error("A kiválasztott metaadat azonosító nem lehet üres.");\r
+                return;\r
+            }\r
+\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(currentMetadata.ID);\r
+\r
+            Target target = parameters.OctopusTarget;\r
+\r
+            switch (metadataType) {\r
+                case MetadataType.TrafficAD:\r
+                case MetadataType.TrafficPromo:\r
+                case MetadataType.TrafficMaterial:\r
+                    target = parameters.TrafficTarget;\r
+                    break;\r
+            }\r
+            if (target == null) {\r
+                MsgBox.Error("Hiányos az 'audiorecorder.json' konfigurációs állomány, nem található 'target' beállítás.");\r
+                return;\r
+            }\r
+\r
             TargetProcessorParameter processorParameter = new TargetProcessorParameter() {\r
                 SourceConfig = new Source() {\r
                     Local = new Connection() {\r
                         Address = parameters.WorkingDirectory\r
                     }\r
                 },\r
-                TargetConfig = parameters.Target,\r
-                ID = currentStory.ID,\r
-                MetadataText = currentStory.Text,\r
+                TargetConfig = target,\r
+                ID = currentMetadata.ID,\r
+                MetadataText = currentMetadata.Text,\r
                 InputFileName = Path.GetFileName(currentRecordingPath),\r
                 UserName = WindowsIdentity.GetCurrent().Name\r
             };\r
 \r
-            ITargetProcessor processor = TargetProcessor.Create(parameters.Target.Processor);\r
+            ITargetProcessor processor = TargetProcessor.Create(target.Processor);\r
             processor.Initialize(null, processorParameter);\r
             processor.Execute();\r
 \r
index 4b7aa6b080be6a73ecc88a15bb5a0c8241c1b62d..9126768115db11b16107b44e1f53e283d91b63ec 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("1.0.0.0")]\r
-[assembly: AssemblyFileVersion("1.0.0.0")]\r
+[assembly: AssemblyVersion("2.0.6.8")]\r
+[assembly: AssemblyFileVersion("2.0.6.8")]\r
index abebe9357d4e4b3b3e5255dfc224db98b5f0489f..02cc44e2481889d3187072bf28654d92e6685e10 100644 (file)
Binary files a/client/Maestro/Installer/installforge-installer-project.ifp and b/client/Maestro/Installer/installforge-installer-project.ifp differ
index 23c11a6d12283d2c86a7e4b2f90fc7f3446c29c6..338836322cce16509b9c2ee081f172d081ce681e 100644 (file)
@@ -18,12 +18,6 @@ using MaestroShared.Commons;
 namespace Maestro {\r
     public partial class MaestroForm {\r
         private const string ARCHIVEID_PREFIX = "MC-";\r
-        private const string REGEXP_TRAFFICMATERIALID = "^M{1}[0-9]{6}[A-Z]{1}$";\r
-        private const string REGEXP_TRAFFICADID = "^R{1}[0-9]{6}[A-Z]{1}$";\r
-        private const string REGEXP_TRAFFICPROMOID = "^P{1}[0-9]{6}[A-Z]{1}$";\r
-        private const string REGEXP_OCTOPUSSTORYID = "^[0-9]+$";\r
-        private const string REGEXP_OCTOPUSPLACEHOLDERID = "^[0-9]+_[0-9]+$";\r
-        private const string REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID = "^[0-9]+_[0-9]+-[0-9]{3}$";\r
 \r
         private MetadataInfo selectedMetadata;\r
         private BindingList<MovieSegment> movieSegments;\r
@@ -129,38 +123,6 @@ namespace Maestro {
             UpdateEditArchiveMetadataStatus();\r
         }\r
 \r
-        private MetadataType GuessMetadataType(string id) {\r
-            if (String.IsNullOrEmpty(id))\r
-                return MetadataType.None;\r
-            Match match = null;\r
-\r
-            match = Regex.Match(id, REGEXP_TRAFFICMATERIALID);\r
-            if (match.Success)\r
-                return MetadataType.TrafficMaterial;\r
-\r
-            match = Regex.Match(id, REGEXP_TRAFFICPROMOID);\r
-            if (match.Success)\r
-                return MetadataType.TrafficPromo;\r
-\r
-            match = Regex.Match(id, REGEXP_TRAFFICADID);\r
-            if (match.Success)\r
-                return MetadataType.TrafficAD;\r
-\r
-            match = Regex.Match(id, REGEXP_OCTOPUSSTORYID);\r
-            if (match.Success)\r
-                return MetadataType.OctopusStory;\r
-\r
-            match = Regex.Match(id, REGEXP_OCTOPUSPLACEHOLDERID);\r
-            if (match.Success)\r
-                return MetadataType.OctopusPlaceHolder;\r
-\r
-            match = Regex.Match(id, REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID);\r
-            if (match.Success)\r
-                return MetadataType.OctopusPlaceHolder;\r
-\r
-            return MetadataType.MediaCube;\r
-        }\r
-\r
         private void OnDefineSegments(object sender, EventArgs e) {\r
             if (SelectedSource?.FileInfo == null)\r
                 return;\r
@@ -230,7 +192,7 @@ namespace Maestro {
         private ArchiveMetadata GetArchiveMetadata() {\r
             ArchiveMetadata result = null;\r
             Cursor.Current = Cursors.WaitCursor;\r
-            MetadataType metadataType = GuessMetadataType(textSelectedMetadata.Text);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(textSelectedMetadata.Text);\r
             switch (metadataType) {\r
                 case MetadataType.None:\r
                 case MetadataType.MediaCube:\r
@@ -340,7 +302,7 @@ namespace Maestro {
                 string text = textSelectedMetadata.Text;\r
                 if (SelectedMetadata == null || !text.Equals(SelectedMetadata.ID)) {\r
                     SelectedMetadata = new MetadataInfo() {\r
-                        Kind = GuessMetadataType(text),\r
+                        Kind = MetadataTypeUtil.Guess(text),\r
                         ID = text\r
                     };\r
                 }\r
@@ -379,7 +341,7 @@ namespace Maestro {
                 return;\r
             }\r
             trafficIDSelector.ClearSelection();\r
-            MetadataType metadataType = GuessMetadataType(name);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(name);\r
             SelectedMetadata = new MetadataInfo() {\r
                 Kind = metadataType,\r
                 ID = name,\r
@@ -395,7 +357,7 @@ namespace Maestro {
                 return;\r
             }\r
             octopusIDSelector.ClearSelection();\r
-            MetadataType metadataType = GuessMetadataType(id);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(id);\r
             SelectedMetadata = new MetadataInfo() {\r
                 Kind = metadataType,\r
                 ID = id,\r
@@ -438,7 +400,7 @@ namespace Maestro {
 \r
         private void Lookup(string id) {\r
             MetadataProvider config = null;\r
-            MetadataType metadataType = GuessMetadataType(id);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(id);\r
             switch (metadataType) {\r
                 case MetadataType.TrafficMaterial:\r
                     config = Configuration.GetMetadataProvider<TrafficMetadata>();\r
@@ -495,7 +457,7 @@ namespace Maestro {
         }\r
 \r
         private void UpdateLookupByMetadataEnabled() {\r
-            MetadataType metadataType = GuessMetadataType(SelectedMetadata?.ID);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(SelectedMetadata?.ID);\r
             btnLookupMetadata.Enabled = metadataType != MetadataType.None && metadataType != MetadataType.MediaCube;\r
         }\r
 \r
index 96e9d7c87c62cd59a9e32f399738c7bbdcd34a93..dfd46f4d95d661faa297675e2392c9ab60eb6d7f 100644 (file)
@@ -355,7 +355,7 @@ namespace Maestro {
                 return null;\r
 \r
             string nameWithoutExtension = name.Contains(".") ? name.Split('.')[0] : name;\r
-            var t = GuessMetadataType(nameWithoutExtension);\r
+            var t = MetadataTypeUtil.Guess(nameWithoutExtension);\r
             if (t != MetadataType.MediaCube && t != MetadataType.None)\r
                 return nameWithoutExtension;\r
 \r
@@ -374,7 +374,7 @@ namespace Maestro {
                         start = o - 1;\r
                         x = nameWithoutExtension.Substring(0, o);\r
                     }\r
-                    var z = GuessMetadataType(x);\r
+                    var z = MetadataTypeUtil.Guess(x);\r
                     if (z != MetadataType.MediaCube && z != MetadataType.None)\r
                         return x;\r
                 }\r
@@ -459,7 +459,7 @@ namespace Maestro {
         }\r
 \r
         private void UpdateLookupBySourceEnabled() {\r
-            MetadataType metadataType = GuessMetadataType(SelectedSource?.Prefix);\r
+            MetadataType metadataType = MetadataTypeUtil.Guess(SelectedSource?.Prefix);\r
             btnLookupBySource.Enabled = metadataType != MetadataType.MediaCube && metadataType != MetadataType.None;\r
         }\r
 \r
index 268a2a22e1130e415a84795a80c527ebbed3970d..d54db5b5b86bfda4d91bfb54e7eb57708de5ea46 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.6.7")]\r
-[assembly: AssemblyFileVersion("2.0.6.7")]\r
+[assembly: AssemblyVersion("2.0.6.8")]\r
+[assembly: AssemblyFileVersion("2.0.6.8")]\r
index 537457e3f4e30aeb9304361b39042d95aa1b86a1..f5bf35c1cfa6b63fc0e3097e6d4b4daca97dc9de 100644 (file)
@@ -1,5 +1,51 @@
-namespace MaestroShared.Metadata {\r
+using System;\r
+using System.Text.RegularExpressions;\r
+\r
+namespace MaestroShared.Metadata {\r
     public enum MetadataType {\r
         None, MediaCube, OctopusStory, OctopusPlaceHolder, TrafficMaterial, TrafficPromo, TrafficAD\r
     }\r
+\r
+    public class MetadataTypeUtil {\r
+        private const string REGEXP_TRAFFICMATERIALID = "^M{1}[0-9]{6}[A-Z]{1}$";\r
+        private const string REGEXP_TRAFFICADID = "^R{1}[0-9]{6}[A-Z]{1}$";\r
+        private const string REGEXP_TRAFFICPROMOID = "^P{1}[0-9]{6}[A-Z]{1}$";\r
+        private const string REGEXP_OCTOPUSSTORYID = "^[0-9]+$";\r
+        private const string REGEXP_OCTOPUSPLACEHOLDERID = "^[0-9]+_[0-9]+$";\r
+        private const string REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID = "^[0-9]+_[0-9]+-[0-9]{3}$";\r
+\r
+        public static MetadataType Guess(string id) {\r
+            if (String.IsNullOrEmpty(id))\r
+                return MetadataType.None;\r
+            Match match = null;\r
+\r
+            match = Regex.Match(id, REGEXP_TRAFFICMATERIALID);\r
+            if (match.Success)\r
+                return MetadataType.TrafficMaterial;\r
+\r
+            match = Regex.Match(id, REGEXP_TRAFFICPROMOID);\r
+            if (match.Success)\r
+                return MetadataType.TrafficPromo;\r
+\r
+            match = Regex.Match(id, REGEXP_TRAFFICADID);\r
+            if (match.Success)\r
+                return MetadataType.TrafficAD;\r
+\r
+            match = Regex.Match(id, REGEXP_OCTOPUSSTORYID);\r
+            if (match.Success)\r
+                return MetadataType.OctopusStory;\r
+\r
+            match = Regex.Match(id, REGEXP_OCTOPUSPLACEHOLDERID);\r
+            if (match.Success)\r
+                return MetadataType.OctopusPlaceHolder;\r
+\r
+            match = Regex.Match(id, REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID);\r
+            if (match.Success)\r
+                return MetadataType.OctopusPlaceHolder;\r
+\r
+            return MetadataType.MediaCube;\r
+        }\r
+\r
+\r
+    }\r
 }\r
index 819574e96b68bd2e123e4b98ada2f87089725aa9..ff66331e56b9178ce2b48673d75184ad0539fb0c 100644 (file)
@@ -92,8 +92,14 @@ namespace OctopusClient {
         }\r
 \r
         private void AddStories(IEnumerable<Story> stories, bool isFolderView = false) {\r
+\r
+            IEnumerable<Story> sortedStories = stories;\r
+            if (isFolderView)\r
+                sortedStories = stories.OrderBy(s => s.ParentStoryID);\r
+            if (sortedStories == null)\r
+                return;\r
             treeOctopus.BeginUpdate();\r
-            foreach (var story in stories) {\r
+            foreach (var story in sortedStories) {\r
                 string name = story.Name == null ? OctopusAPI.UNNAMED : story.Name;\r
                 //String ID = isFolderView ? story.ID : story.ParentStoryID;\r
                 string label = String.Empty;\r
@@ -103,10 +109,7 @@ namespace OctopusClient {
                 } else\r
                     label = String.Format($"{parentStoryID} {story.Name}");\r
 \r
-                logger.Debug("Adding story {0} {1}", parentStoryID, label);\r
-                if ("21519676".Equals(parentStoryID)) {\r
-                    logger.Debug(":");\r
-                }\r
+                //logger.Debug("Adding story {0} {1}", parentStoryID, label);\r
                 TreeNode storyNode = treeOctopus.Nodes.Add(parentStoryID, label);\r
                 storyNode.Tag = story;\r
 \r
@@ -143,8 +146,6 @@ namespace OctopusClient {
                     }\r
                 }\r
             }\r
-            if (isFolderView)\r
-                treeOctopus.Sort();\r
             treeOctopus.EndUpdate();\r
 \r
             if (selectedNode != null) {\r
index 1de4649a66d3a146111b395d3dcccdf97514b55b..95b6398456bb0af1390f1926073d7ab48df3c562 100644 (file)
@@ -32,7 +32,7 @@
           </Array>
         </Arg>
         <Set name="host"><Property name="jetty.http.host" /></Set>
-        <Set name="port"><Property name="jetty.http.port" default="8080" /></Set>
+        <Set name="port"><Property name="jetty.http.port" default="8888" /></Set>
         <Set name="idleTimeout"><Property name="jetty.http.idleTimeout" default="30000"/></Set>
       </New>
     </Arg>
index 7b16221444b7012fd93e306b44d0cfeeff5a197f..5b9bf249253992d4184acbbccec817cf7904dbf0 100644 (file)
@@ -19,7 +19,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.555"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.55&#13;&#10;-Dnexio.disable=true"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
 <stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,javassist@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index e0055ef381ce84a58a700f2bcf0270a0a73d7ea0..49372acdf3362aa2eb03fef841137b2bd874def2 100644 (file)
@@ -19,7 +19,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=salabakter&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#13;&#10;-Djetty.home=&quot;${workspace_loc:-configuration}/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=salabakter&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.56"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=salabakter&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#13;&#10;-Djetty.home=&quot;${workspace_loc:-configuration}/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=salabakter&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.56&#13;&#10;-Dnexio.disable=true"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
 <stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,javassist@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:true,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index cae3cc97645e70d18ac0ba33ab49c8a1e4c58aa2..2ecf882c71361695ca4ed1f21d50706d15477852 100644 (file)
@@ -19,7 +19,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#13;&#10;-Djetty.home=&quot;${workspace_loc:-configuration}/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Dnexio.useMOSGateway=true&#13;&#10;-Dnexio.host=10.10.1.55"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#13;&#10;-Djetty.home=&quot;${workspace_loc:-configuration}/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Dnexio.useMOSGateway=true&#13;&#10;-Dnexio.host=10.10.1.55&#13;&#10;-Dnexio.disable=true"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
 <stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,javassist@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
diff --git a/server/-configuration/run-mediacube-server2_adam.launch b/server/-configuration/run-mediacube-server2_adam.launch
deleted file mode 100644 (file)
index c3b8743..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">\r
-<booleanAttribute key="append.args" value="true"/>\r
-<booleanAttribute key="automaticAdd" value="false"/>\r
-<booleanAttribute key="automaticValidate" value="true"/>\r
-<stringAttribute key="bootstrap" value=""/>\r
-<stringAttribute key="checked" value="[NONE]"/>\r
-<booleanAttribute key="clearConfig" value="true"/>\r
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/run-mediacube-server2_adam"/>\r
-<booleanAttribute key="default" value="true"/>\r
-<booleanAttribute key="default_auto_start" value="false"/>\r
-<intAttribute key="default_start_level" value="4"/>\r
-<booleanAttribute key="includeOptional" value="false"/>\r
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">\r
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>\r
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>\r
-</listAttribute>\r
-<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.equinox.http.jetty.http.port=8080&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.osgi.server/resources/templates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Djobengine.rcc.host=localhost&#13;&#10;-Djobengine.rcc.defaultlowresprofile=&quot;WindowsMedia - Web Streaming - DSL or Cable Modem&quot;&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#13;&#10;-Djetty.home=&quot;${workspace_loc:-configuration}/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.21/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;"/>\r
-<stringAttribute key="pde.version" value="3.3"/>\r
-<booleanAttribute key="show_selected_only" value="false"/>\r
-<stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.dataformat.jackson-dataformat-yaml@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,javassist@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
-<booleanAttribute key="tracing" value="false"/>\r
-<booleanAttribute key="useCustomFeatures" value="false"/>\r
-<booleanAttribute key="useDefaultConfigArea" value="true"/>\r
-<stringAttribute key="workspace_bundles" value="user.commons.log4j2@default:false,user.jobengine.osgi.commons@default:true,user.jobengine.osgi.db@default:default,user.jobengine.osgi.server@default:default,user.jobengine.osgi.services@default:default,user.tsm.client@default:default"/>\r
-</launchConfiguration>\r
index 7a8ea8ccf222fa936c3898794980fa8153e49208..c18a56adcd0cf0bae3d847b11e754af0d0ba6680 100644 (file)
        {"name": "nexioUserName", "value": "administrator", "type": "java.lang.String"},\r
        {"name": "nexioPassword", "value": "system", "type": "java.lang.String"},\r
        {"name": "archiveFtp", "value": "ftp://10.10.1.100/ARCHIVE/TEST", "type": "java.lang.String"},\r
-       {"name": "archiveUserName", "value": "administrator", "type": "java.lang.String"},\r
-       {"name": "archivePassword", "value": "system", "type": "java.lang.String"},\r
-       {"name": "daysBeforeNow", "value": 1, "type": "java.lang.Integer"}\r
+       {"name": "archiveUserName", "value": "mediacube", "type": "java.lang.String"},\r
+       {"name": "archivePassword", "value": "Broadca5T", "type": "java.lang.String"},\r
+       {"name": "daysBeforeNow", "value": 1, "type": "java.lang.Integer"},\r
+       {"name": "nexioKillDateDays", "value": 7, "type": "java.lang.Integer"},\r
+       {"name": "nexioAgency", "value": "ARCHIVED", "type": "java.lang.String"}\r
       ]\r
        },      \r
-       \r
        {\r
       "active": false,\r
          "name" : "TRAFFIC anyagok visszatöltése",\r
@@ -91,7 +92,7 @@
        {"name": "port", "value": 2098, "type": "java.lang.Integer"},\r
        {"name": "userName", "value": "administrator", "type": "java.lang.String"},\r
        {"name": "password", "value": "system", "type": "java.lang.String"},\r
-       {"name": "gracePeriodDays", "value": 1, "type": "java.lang.Integer"}\r
+       {"name": "gracePeriodDays", "value": 12, "type": "java.lang.Integer"}\r
       ]\r
        },      \r
        {\r
       "parameters": [ {"name": "itemID", "value": 1, "type": "java.lang.Long"} ]\r
        },\r
        {\r
-      "active": false,\r
+      "active": true,\r
          "name" : "Teszt folyamat",\r
       "template": "fake-noparams.xml",\r
       "executeimmediate": false,\r
-      "cronexpression": "0/10 * * ? * *",\r
+      "cronexpression": "0 40 22 * * ?",\r
       "parameters": [ {"name": "itemID", "value": 1, "type": "java.lang.Long"} ]\r
        }\r
 ]}\r
index 657888a1ae07396fbe2454c14cb9d365537e2971..c0c9dff6d43af8f2158593a6cfbe53c620e08c3e 100644 (file)
@@ -14,7 +14,7 @@
       "executeimmediate": false,\r
          "name" : "Archiválás az ISILON/ARCHIVE mappából",\r
       "template": "archive-ondemand.xml",\r
-      "cronexpression": "0 0 12 * * ?",\r
+      "cronexpression": "0 0 23 * * ?",\r
       "parameters": [ \r
        {"name": "sourcePath", "value": "/mnt/ISILON/ARCHIVE", "type": "java.lang.String"},\r
        {"name": "globalSourcePath", "value": "\\\\10.10.1.100\\BRAAVOS\\ARCHIVE", "type": "java.lang.String"},\r
       ]\r
        },\r
        {\r
+      "active": false,\r
+         "name" : "NEXIO anyagok másolása az ISILON/ARCHIVE mappába",\r
+      "template": "copyforarchive-nexio-materials.xml",\r
+      "executeimmediate": true,\r
+      "cronexpression": "0 0 0/1 1/1 * ? *",\r
+      "parameters": [ \r
+       {"name": "nexioPort", "value": 2098, "type": "java.lang.Integer"},\r
+       {"name": "nexioUserName", "value": "administrator", "type": "java.lang.String"},\r
+       {"name": "nexioPassword", "value": "system", "type": "java.lang.String"},\r
+       {"name": "archiveFtp", "value": "ftp://10.10.1.100/ARCHIVE/TEST", "type": "java.lang.String"},\r
+       {"name": "archiveUserName", "value": "mediacube", "type": "java.lang.String"},\r
+       {"name": "archivePassword", "value": "Broadca5T", "type": "java.lang.String"},\r
+       {"name": "daysBeforeNow", "value": 1, "type": "java.lang.Integer"},\r
+       {"name": "nexioKillDateDays", "value": 7, "type": "java.lang.Integer"},\r
+       {"name": "nexioAgency", "value": "ARCHIVED", "type": "java.lang.String"}\r
+      ]\r
+       },      \r
+       {\r
       "active": true,\r
          "name" : "Lejárt ISISLON/ARCHIVE anyagok törlése",\r
       "template": "delete-materials.xml",\r
index 17c4eda55f73c9d71219189b021925441dd53c50..2abc5ae56dc00fe4d65825c743d7fe3998520f4d 100644 (file)
@@ -10,6 +10,8 @@
                        <parameter name="archiveUserName" type="java.lang.String"/>\r
                        <parameter name="archivePassword" type="java.lang.String"/>\r
                        <parameter name="daysBeforeNow" type="java.lang.Integer"/>\r
+                       <parameter name="nexioKillDateDays" type="java.lang.Integer"/>\r
+                       <parameter name="nexioAgency" type="java.lang.String"/>\r
                </parameters>\r
        </declarations>\r
        <commands>\r
                                <input>\r
                                        <parameter name="daysBeforeNow" />\r
                                </input>\r
+                               <input>\r
+                                       <parameter name="nexioKillDateDays" />\r
+                               </input>\r
+                               <input>\r
+                                       <parameter name="nexioAgency" />\r
+                               </input>\r
                        </inputs>\r
                </calljobstep>\r
        </commands>\r
similarity index 94%
rename from server/user.jobengine.executors/src/user/jobengine/server/steps/DeleteMaterialsStep.java
rename to server/user.jobengine.executors/src/obsolate/DeleteMaterialsStep.java
index 333f8d0868399808779c54d1a5eb87adda3cf1a9..4e6d2217c106d1e2d05e213c3366100bec04cf2d 100644 (file)
@@ -1,4 +1,4 @@
-package user.jobengine.server.steps;\r
+package obsolate;\r
 \r
 import java.text.ParseException;\r
 import java.text.SimpleDateFormat;\r
@@ -15,6 +15,8 @@ import user.commons.remotestore.RemoteStoreProtocol;
 import user.jobengine.db.IItemManager;\r
 import user.jobengine.server.IJobEngine;\r
 import user.jobengine.server.IJobRuntime;\r
+import user.jobengine.server.steps.JobStep;\r
+import user.jobengine.server.steps.StepEntry;\r
 \r
 public class DeleteMaterialsStep extends JobStep {\r
        private static final Logger logger = LogManager.getLogger();\r
index 3570e1024d59684d8d70bfb9edda95690e50acd3..b2a474c839d4a26778365123b3cf7b767996d4e7 100644 (file)
@@ -1,10 +1,8 @@
 package user.jobengine.server.steps;\r
 \r
-import java.io.IOException;\r
 import java.io.OutputStream;\r
 import java.net.InetAddress;\r
 import java.net.URI;\r
-import java.net.URISyntaxException;\r
 import java.util.Calendar;\r
 import java.util.Date;\r
 import java.util.List;\r
@@ -19,9 +17,11 @@ import org.apache.logging.log4j.Logger;
 import com.ibm.nosql.json.api.BasicDBObject;\r
 import com.ibm.nosql.json.api.DB;\r
 import com.ibm.nosql.json.api.DBCollection;\r
+import com.ibm.nosql.json.api.DBCursor;\r
 import com.ibm.nosql.json.api.DBObject;\r
 \r
 import user.commons.CalendarUtils;\r
+import user.commons.ListUtils;\r
 import user.commons.StoreUri;\r
 import user.commons.nosql.NoSQLUtils;\r
 import user.commons.octopus.IOctopusAPI;\r
@@ -32,25 +32,31 @@ import user.commons.remotestore.RemoteStoreProtocol;
 import user.jobengine.db.IItemManager;\r
 import user.jobengine.server.IJobEngine;\r
 import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.JobEngineException;\r
 import user.jobengine.server.steps.MetadataTypeDetector.MetadataType;\r
 \r
 public class CopyForArchiveNEXIOMaterialsStep extends JobStep {\r
+       private static final String SCHEDULED_FORMAT = "yyyy.MM.dd HH:mm";\r
+       private static final Logger logger = LogManager.getLogger();\r
+       private static final String ARCHIVED = "ARCHIVED";\r
        private static final String UTF_8 = "utf-8";\r
        private static final String JSON_EXT = ".json";\r
+       private static final String XML_EXT = ".xml";\r
        private static final String DURATION = "duration";\r
        private static final String MXFEXT = ".MXF";\r
-       private static final Logger logger = LogManager.getLogger();\r
        private static final String NEXIOCLIPS = "nexioclips";\r
-       private static final String KILLDATE = "killdate";\r
        private static final String LONGNAMEID = "longnameid";\r
+       private static final String ARCHIVEDRUNDOWNS = "archivedrundowns";\r
        private static final String ID = "id";\r
-       private StoreUri sourceUri;\r
-       private StoreUri targetUri;\r
        private OctopusAPI octopusAPI;\r
        private IItemManager manager;\r
 \r
        private DB db;\r
+       private FTPClient sourceFtp;\r
+       private FTPClient targetFtp;\r
+       private StoreUri sourceUri;\r
+       private StoreUri targetUri;\r
+       private int nexioKillDateDays;\r
+       private String nexioAgency;\r
 \r
        private int check(int value, String name) {\r
                if (value == 0) {\r
@@ -77,22 +83,22 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
        }\r
 \r
        private void copyFile(FileArchive fileArchive, RundownArchive rundownArchive, StoryArchive storyArchive) throws Exception {\r
-               FTPClient source = ((FtpDirectoryLister) RemoteFileHandler.createLister(sourceUri)).connect();\r
-               FTPClient target = ((FtpDirectoryLister) RemoteFileHandler.createLister(targetUri)).connect();\r
                String fileName = fileArchive.getFileName();\r
-               transferFile(source, target, fileName);\r
+               String videoFileName = fileName + MXFEXT;\r
+               transferFile(videoFileName);\r
                BasicDBObject metadata = createMetadata(rundownArchive, storyArchive, fileArchive);\r
                try {\r
-                       if (!target.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
-                               target.makeDirectory(EscortFiles.STATUSFOLDER);\r
-                       if (!target.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
+                       if (!targetFtp.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
+                               targetFtp.makeDirectory(EscortFiles.STATUSFOLDER);\r
+                       if (!targetFtp.changeWorkingDirectory(EscortFiles.STATUSFOLDER))\r
                                throw new Exception("!STATUSFOLDER");\r
                } catch (Exception e) {\r
                        logger.catching(e);\r
                        throw e;\r
                }\r
-               transferMetadata(target, fileName, metadata);\r
-               createSourceKillDateFile(source, fileName);\r
+               transferMetadata(videoFileName, metadata);\r
+               targetFtp.changeToParentDirectory();\r
+               createSourceKillDateFile(rundownArchive, fileName);\r
        }\r
 \r
        private BasicDBObject createMetadata(RundownArchive rundownArchive, StoryArchive storyArchive, FileArchive fileArchive) {\r
@@ -120,13 +126,23 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                return result;\r
        }\r
 \r
-       private void createSourceKillDateFile(FTPClient source, String fileName) {\r
+       private void createSourceKillDateFile(RundownArchive rundownArchive, String fileName) throws Exception {\r
+               Calendar killDate = CalendarUtils.createCalendar(rundownArchive.getScheduleDate());\r
+               killDate.add(Calendar.DAY_OF_YEAR, nexioKillDateDays);\r
+               byte[] killDateFile = EscortFiles.createNEXIOKillDateFile(fileName, killDate.getTime(), null, nexioAgency);\r
+               try (OutputStream outStream = sourceFtp.storeFileStream(fileName + XML_EXT)) {\r
+                       outStream.write(killDateFile);\r
+                       outStream.flush();\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+                       throw e;\r
+               }\r
        }\r
 \r
        @StepEntry\r
        public Object[] execute(int nexioPort, String nexioUserName, String nexioPassword, String archiveFtp, String archiveUserName, String archivePassword,\r
-                       int daysBeforeNow, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               setAndCheck(nexioPort, nexioUserName, nexioPassword, archiveFtp, archiveUserName, archivePassword, jobEngine);\r
+                       int daysBeforeNow, int nexioKillDateDays, String nexioAgency, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+               setAndCheck(nexioPort, nexioUserName, nexioPassword, archiveFtp, archiveUserName, archivePassword, nexioKillDateDays, nexioAgency, jobEngine);\r
                octopusAPI = new OctopusAPI();\r
                Calendar scheduledDate = Calendar.getInstance();\r
                scheduledDate.add(Calendar.DAY_OF_YEAR, -1 * daysBeforeNow);\r
@@ -135,42 +151,31 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                        logger.warn(getMarker(), "Nem található adástükör a {} napra.", CalendarUtils.toDateString(scheduledDate));\r
                        return null;\r
                }\r
-               int index = 1;\r
-\r
-               for (DBObject r : rundowns) {\r
-                       setProgress(index * 100 / rundowns.size());\r
-                       try {\r
-                               RundownArchive rundownArchive = processRundow(r);\r
-                               if (rundownArchive == null || rundownArchive.isEmpty())\r
-                                       continue;\r
-                               copy(rundownArchive);\r
 \r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                               logger.error(getMarker(),\r
-                                               "A {} tükör archiválása nem lehetséges, mert a annak ellenőrzése hibát jelzett. A rendszer üzenete: " + e.getMessage());\r
-                       }\r
-                       index++;\r
-               }\r
+               processRundowns(rundowns);\r
+               if (sourceUri != null)\r
+                       sourceUri.cleanUp();\r
+               if (targetUri != null)\r
+                       targetUri.cleanUp();\r
                return null;\r
        }\r
 \r
        private FileArchive processMosObject(BasicDBObject rundown, BasicDBObject story, BasicDBObject mosObject) throws Exception {\r
                String mosID = mosObject.getString(IOctopusAPI.OBJ_ID);\r
                if (MetadataTypeDetector.GuessMetadataType(mosID) != MetadataType.OCTOPUSPLACEHOLDER) {\r
-                       logger.warn("Skipping MOS object {}", mosID);\r
+                       logger.trace("Skipping MOS object {}", mosID);\r
                        return null;\r
                }\r
                DBCollection clips = db.getCollection(NEXIOCLIPS);\r
                BasicDBObject clip = (BasicDBObject) clips.findOne(new BasicDBObject(LONGNAMEID, mosID));\r
                if (clip == null) {\r
-                       logger.info("File NOT exists {}", mosID);\r
+                       logger.debug("File NOT exists {}", mosID);\r
                        throw new Exception(String.format("File NOT exists %s", mosID));\r
                } else {\r
-                       logger.info("File exists {}", mosID);\r
+                       logger.debug("File exists {}", mosID);\r
                }\r
                long duration = NoSQLUtils.asLong(clip, DURATION);\r
-               return new FileArchive(mosID + MXFEXT, duration);\r
+               return new FileArchive(mosID, duration);\r
        }\r
 \r
        private RundownArchive processRundow(DBObject r) throws Exception {\r
@@ -181,11 +186,6 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                if (stories == null)\r
                        return null;\r
                RundownArchive result = new RundownArchive();\r
-               //              {\r
-               //                      "id":22358752,\r
-               //                      "rundownType":{"name":"Híradó"},\r
-               //                      "scheduledStart":{"$date":"2017-12-09T19:00:00.000Z"}\r
-               //              }\r
 \r
                long id = NoSQLUtils.asLong(rundown, IOctopusAPI.ID);\r
                if (id == 0)\r
@@ -193,13 +193,14 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                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
                Date scheduledStart = rundown.getDate(IOctopusAPI.SCHEDULED_START);\r
                if (scheduledStart == null)\r
                        return null;\r
-               String start = CalendarUtils.toHunString(CalendarUtils.createCalendar(scheduledStart));\r
-\r
+               String start = CalendarUtils.toString(CalendarUtils.createCalendar(scheduledStart), SCHEDULED_FORMAT);\r
+               result.setScheduleDate(scheduledStart);\r
                result.setItemHouseId(String.valueOf(id));\r
-               result.setItemTitle(String.format("%s - %s", start, name));\r
+               result.setItemTitle(String.format("%s %s %s", start, name, channel));\r
 \r
                for (DBObject s : stories) {\r
                        StoryArchive storyArchive = processStory(rundown, s);\r
@@ -210,6 +211,42 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                return result;\r
        }\r
 \r
+       private void processRundowns(List<DBObject> rundowns) {\r
+               //db.getCollection(ARCHIVEDRUNDOWNS).drop();\r
+               List<BasicDBObject> archivedRundowns = queryArchivedRundowns();\r
+\r
+               int index = 1;\r
+               for (DBObject r : rundowns) {\r
+                       BasicDBObject rundown = (BasicDBObject) r;\r
+                       setProgress(index * 100 / rundowns.size());\r
+                       try {\r
+                               long rundownID = NoSQLUtils.asLong(rundown, IOctopusAPI.ID);\r
+                               BasicDBObject currentRundownID = new BasicDBObject(IOctopusAPI.ID, rundownID);\r
+                               String rundownName = rundown.getString(IOctopusAPI.NAME);\r
+                               if (archivedRundowns != null && archivedRundowns.contains(currentRundownID)) {\r
+                                       logger.info("Skipping archived rundown {} {}", rundownID, rundownName);\r
+                                       continue;\r
+                               }\r
+\r
+                               RundownArchive rundownArchive = processRundow(r);\r
+                               if (rundownArchive == null || rundownArchive.isEmpty()) {\r
+                                       logger.info("Skipping rundown {} {}", NoSQLUtils.asLong(rundown, IOctopusAPI.ID), rundown.getString(IOctopusAPI.NAME));\r
+                                       continue;\r
+                               }\r
+\r
+                               logger.info("Saving rundown {} {}", rundownID, rundownName);\r
+                               copy(rundownArchive);\r
+\r
+                               db.getCollection(ARCHIVEDRUNDOWNS).save(currentRundownID);\r
+                       } catch (Exception e) {\r
+                               logger.catching(e);\r
+                               logger.error(getMarker(),\r
+                                               "A {} tükör archiválása nem lehetséges, mert a annak ellenőrzése hibát jelzett. A rendszer üzenete: " + e.getMessage());\r
+                       }\r
+                       index++;\r
+               }\r
+       }\r
+\r
        private StoryArchive processStory(BasicDBObject rundown, DBObject s) throws Exception {\r
                BasicDBObject story = (BasicDBObject) s;\r
                String parentStoryID = story.getString(IOctopusAPI.PARENT_STORY_ID);\r
@@ -217,7 +254,7 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                        logger.warn("Story parentStoryID is null: {}", story.toPrettyString(null));\r
                        return null;\r
                } else\r
-                       logger.info("Processing story {}", parentStoryID);\r
+                       logger.debug("Processing story {}", parentStoryID);\r
                List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
                if (mosObjects == null)\r
                        return null;\r
@@ -239,8 +276,17 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
 \r
        }\r
 \r
+       private List<BasicDBObject> queryArchivedRundowns() {\r
+               List<BasicDBObject> result = null;\r
+               DBCollection collection = db.getCollection(ARCHIVEDRUNDOWNS);\r
+               DBCursor find = collection.find(new BasicDBObject(), new BasicDBObject(IOctopusAPI._ID, 0).append(IOctopusAPI.ID, 1));\r
+               if (find.hasNext())\r
+                       result = ListUtils.cast(find.toArray());\r
+               return result;\r
+       }\r
+\r
        private void setAndCheck(int nexioPort, String nexioUserName, String nexioPassword, String archiveFtp, String archiveUserName, String archivePassword,\r
-                       IJobEngine jobEngine) throws JobEngineException, IOException, URISyntaxException {\r
+                       int nexioKillDateDays, String nexioAgency, IJobEngine jobEngine) throws Exception {\r
                db = NoSQLUtils.getNoSQLDB();\r
                if (db == null) {\r
                        logger.error(getMarker(), "Az NoSQL adatkezelő réteg nem elérhető.");\r
@@ -265,6 +311,11 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                check(nexioUserName, "nexioUserName");\r
                check(nexioPassword, "nexioPassword");\r
 \r
+               check(nexioKillDateDays, "nexioKillDateDays");\r
+               this.nexioKillDateDays = nexioKillDateDays;\r
+               check(nexioAgency, "nexioAgency");\r
+               this.nexioAgency = nexioAgency;\r
+\r
                sourceUri = manager.createStoreUri(RemoteStoreProtocol.FTP, nexioHost);\r
                sourceUri.setPortNumber(nexioPort);\r
                sourceUri.setUserName(nexioUserName);\r
@@ -277,41 +328,45 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                targetUri = manager.createStoreUri(new URI(archiveFtp));\r
                targetUri.setUserName(archiveUserName);\r
                targetUri.setPassword(archivePassword);\r
+\r
+               sourceFtp = ((FtpDirectoryLister) RemoteFileHandler.createLister(sourceUri)).connect();\r
+               targetFtp = ((FtpDirectoryLister) RemoteFileHandler.createLister(targetUri)).connect();\r
+\r
        }\r
 \r
-       private void transferFile(FTPClient source, FTPClient target, String fileName) throws Exception {\r
+       private void transferFile(String fileName) throws Exception {\r
                int reply = 0;\r
 \r
-               if (!target.enterRemotePassiveMode())\r
+               if (!targetFtp.enterRemotePassiveMode())\r
                        throw new Exception("!PASV");\r
 \r
-               reply = source.port(InetAddress.getByName(target.getPassiveHost()), target.getPassivePort());\r
+               reply = sourceFtp.port(InetAddress.getByName(targetFtp.getPassiveHost()), targetFtp.getPassivePort());\r
                if (!FTPReply.isPositiveCompletion(reply))\r
                        throw new Exception("!PORT");\r
 \r
-               if (!source.setFileType(FTP.BINARY_FILE_TYPE))\r
+               if (!sourceFtp.setFileType(FTP.BINARY_FILE_TYPE))\r
                        throw new Exception("!SOURCE TYPE");\r
 \r
-               source.retr(fileName);\r
+               sourceFtp.retr(fileName);\r
 \r
-               if (!target.setFileType(FTP.BINARY_FILE_TYPE))\r
+               if (!targetFtp.setFileType(FTP.BINARY_FILE_TYPE))\r
                        throw new Exception("!TARGET TYPE");\r
 \r
-               target.stor(fileName);\r
+               targetFtp.stor(fileName);\r
 \r
                while (true) {\r
-                       reply = source.stat();\r
+                       reply = sourceFtp.stat();\r
                        if (!FTPReply.isPositiveCompletion(reply))\r
                                throw new Exception("!STAT");\r
-                       String replyText = source.getReplyString();\r
-                       if ("Transaction completed".equals(replyText))\r
+                       String replyText = sourceFtp.getReplyString();\r
+                       if ("226 RETR Transfer Complete(TRANSACTION_SUCCESS)".equals(replyText))\r
                                break;\r
                        Thread.sleep(500);\r
                }\r
        }\r
 \r
-       private void transferMetadata(FTPClient target, String fileName, BasicDBObject metadata) throws Exception {\r
-               try (OutputStream outStream = target.storeFileStream(fileName + JSON_EXT)) {\r
+       private void transferMetadata(String fileName, BasicDBObject metadata) throws Exception {\r
+               try (OutputStream outStream = targetFtp.storeFileStream(fileName + JSON_EXT)) {\r
                        outStream.write(metadata.toString().getBytes(UTF_8));\r
                        outStream.flush();\r
                } catch (Exception e) {\r
diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CreateMissingLowresStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CreateMissingLowresStep.java
new file mode 100644 (file)
index 0000000..cc38abe
--- /dev/null
@@ -0,0 +1,18 @@
+package user.jobengine.server.steps;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import user.jobengine.db.IItemManager;\r
+import user.jobengine.server.IJobEngine;\r
+import user.jobengine.server.IJobRuntime;\r
+\r
+public class CreateMissingLowresStep extends JobStep {\r
+       private static final Logger logger = LogManager.getLogger();\r
+       private IItemManager manager;\r
+\r
+       @StepEntry\r
+       public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+               return null;\r
+       }\r
+}\r
index 0f872bd5ec5b22caa8fe178c07e627e021db7aab..ac3add9c2f74e04641702888c6420f4c4d4ab635 100644 (file)
@@ -1,18 +1,21 @@
 package user.jobengine.server.steps;\r
 \r
 import java.util.Calendar;\r
+import java.util.Date;\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 com.ibm.nosql.json.api.BasicDBObject;\r
 import com.ibm.nosql.json.api.DB;\r
 import com.ibm.nosql.json.api.DBCollection;\r
 import com.ibm.nosql.json.api.DBCursor;\r
-import com.ibm.nosql.json.api.DBObject;\r
 import com.ibm.nosql.json.api.QueryBuilder;\r
 \r
+import user.commons.CalendarUtils;\r
+import user.commons.ListUtils;\r
 import user.commons.RemoteFile;\r
 import user.commons.StoreUri;\r
 import user.commons.nosql.NoSQLUtils;\r
@@ -26,6 +29,7 @@ public class DeleteNEXIOMaterialsStep extends JobStep {
        private static final String NEXIOCLIPS = "nexioclips";\r
        private static final String KILLDATE = "killdate";\r
        private static final String LONGNAMEID = "longnameid";\r
+       private static final String EXTAGENCY = "extagency";\r
        private StoreUri sourceUri;\r
 \r
        private void delete(String name) {\r
@@ -42,7 +46,7 @@ public class DeleteNEXIOMaterialsStep extends JobStep {
        }\r
 \r
        @StepEntry\r
-       public Object[] execute(int port, String userName, String password, int gracePeriodDays, IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
+       public Object[] execute(int port, String userName, String password, int gracePeriodDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
                String nexioHost = System.getProperty("nexio.host");\r
                if (StringUtils.isBlank(nexioHost)) {\r
                        logger.error(getMarker(), "A 'nexio.host' rendszer paraméter nem található.");\r
@@ -72,9 +76,11 @@ public class DeleteNEXIOMaterialsStep extends JobStep {
                sourceUri.setUserName(userName);\r
                sourceUri.setPassword(password);\r
 \r
-               List<DBObject> clips = cursor.toArray();\r
-               for (DBObject dbObject : clips) {\r
-                       String name = String.valueOf(dbObject.get(LONGNAMEID));\r
+               List<BasicDBObject> clips = ListUtils.cast(cursor.toArray());\r
+               for (BasicDBObject clip : clips) {\r
+                       String name = String.valueOf(clip.get(LONGNAMEID));\r
+                       Date killdate = clip.getDate(KILLDATE);\r
+                       logger.info("{}, {}, {}", name, CalendarUtils.toDateString(CalendarUtils.createCalendar(killdate)), clip.getString(EXTAGENCY));\r
                        delete(name);\r
                }\r
 \r
index 64e2384c33cd1a337d6cd0b430e32fcade245953..c2b093bc3fac5ea8b18d12f4ddba25e069b7f2cf 100644 (file)
@@ -7,6 +7,8 @@ import java.util.Date;
 \r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
+import org.apache.logging.log4j.message.Message;\r
+import org.apache.logging.log4j.message.ParameterizedMessage;\r
 \r
 import user.commons.RemoteFile;\r
 import user.commons.StoreUri;\r
@@ -32,14 +34,20 @@ public class TSMBackupStep extends JobStep {
        private StoreUri targetUri;\r
        private FileType fileType;\r
 \r
+       //      @Override\r
+       //      public String getDescription() {\r
+       //      }\r
+\r
        @StepEntry\r
        public Object[] execute(ArchiveItem archiveItem, Media mediaCubeMedia, int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+               File sourceMediaFile = new File(archiveItem.getMediaFile());\r
+               String sourceFileName = sourceMediaFile.getName();\r
+               String details = String.format("%s (%d bytes)", sourceFileName, sourceMediaFile.length());\r
                try {\r
 \r
                        setAndCheck(archiveItem, mediaCubeMedia, jobEngine);\r
-                       File sourceMediaFile = new File(archiveItem.getMediaFile());\r
-                       String sourceFileName = sourceMediaFile.getName();\r
-                       jobRuntime.setDescription(String.format("%s: %s (%d bytes)", jobRuntime.getDescription(), sourceFileName, sourceMediaFile.length()));\r
+\r
+                       jobRuntime.setDescription(String.format("%s: %s", jobRuntime.getDescription(), details));\r
 \r
                        StoreUri sourceUri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, sourceMediaFile.getParent().toString());\r
 \r
@@ -59,18 +67,19 @@ public class TSMBackupStep extends JobStep {
                        RemoteFile remoteFile = sourceUri.transferFrom(targetUri, sourceFileName, sourceFileName);\r
 \r
                        saveMetadata(mediaCubeMedia, sourceFileName);\r
-                       logger.info(getMarker(), "Az '{}' állomány archiválása sikeres.", sourceMediaFile.getName());\r
+                       logger.info(getMarker(), "Az '{}' állomány archiválása sikeres.", sourceFileName);\r
 \r
                        if (killDateDays > 0)\r
-                               EscortFiles.createUNCKillDate(sourceMediaFile.getParent().toString(), sourceMediaFile.getName().toString(), killDateDays, getMarker());\r
+                               EscortFiles.createUNCKillDate(sourceMediaFile.getParent(), sourceFileName, killDateDays, getMarker());\r
                } catch (Exception e) {\r
                        logger.catching(e);\r
-                       logger.error(getMarker(), "Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}", sourceMediaFile.getName(), e.getMessage());\r
+                       Message m = new ParameterizedMessage("Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}", details, e.getMessage());\r
+                       logger.error(getMarker(), m);\r
                        if (!archiveItem.removeCatchedFile())\r
                                logger.error(getMarker(),\r
                                                "Az '{}' állomány .catched jelző állománya nem törölhető. Az újabb archiválási kísérlethez annak kézi eltávolítása szükséges!",\r
                                                sourceMediaFile.getName());\r
-                       throw e;\r
+                       throw new Exception(m.getFormattedMessage());\r
                }\r
                return null;\r
        }\r
index 964841e92e82f3fb23b18bf2afb62fa73ebda449..5a9dce9192e8c50e0b6bf523f508aff36f69d628 100644 (file)
@@ -15,6 +15,8 @@ import javax.xml.namespace.QName;
 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.message.Message;\r
+import org.apache.logging.log4j.message.ParameterizedMessage;\r
 \r
 import user.commons.selenio.wsclient.AudioSource;\r
 import user.commons.selenio.wsclient.Clip;\r
@@ -125,29 +127,29 @@ public class TranscodeSELENIOStep extends JobStep {
                        throw new NullPointerException("System is not configured properly, 'webPath' parameter missing.");\r
                this.webPath = webPath;\r
 \r
-               //              StoreUri sourceStoreUri = store.getSourceStoreUri(RemoteStoreProtocol.SMB);\r
-               //              if (sourceStoreUri == null)\r
-               //                      throw new NullPointerException("System is not configured properly, low-res system store SMB store URI definition missing.");\r
-\r
-               Path inputPath = Paths.get(globalSourcePath, new File(archiveItem.getMediaFile()).getName());\r
-               String sourceFilePath = inputPath.toString();\r
-               //              String outputPath = sourceStoreUri.getRootPath();\r
-               TranscodeRequest transcodeRequest = buildTranscodeRequest(projectFilePath, sourceFilePath);\r
-               TranscodeTask transcodeTask = transcoder.submitTranscodeTask(transcodeRequest);\r
-\r
-               if (transcodeTask == null)\r
-                       throw new NullPointerException("Unable to submit transcode task, server response is empty for transcode input: " + sourceFilePath);\r
-\r
                File sourceMediaFile = new File(archiveItem.getMediaFile());\r
                String sourceFileName = sourceMediaFile.getName();\r
-               jobRuntime.setDescription(String.format("%s: %s (%d bytes)", jobRuntime.getDescription(), sourceFileName, sourceMediaFile.length()));\r
+               String details = String.format("%s (%d bytes)", sourceFileName, sourceMediaFile.length());\r
+               try {\r
+                       Path inputPath = Paths.get(globalSourcePath, sourceFileName);\r
+                       String sourceFilePath = inputPath.toString();\r
+                       TranscodeRequest transcodeRequest = buildTranscodeRequest(projectFilePath, sourceFilePath);\r
+                       TranscodeTask transcodeTask = transcoder.submitTranscodeTask(transcodeRequest);\r
 \r
-               transcodeTask = monitor(jobRuntime, sourceFilePath, transcodeTask);\r
+                       if (transcodeTask == null)\r
+                               throw new NullPointerException("Unable to submit transcode task, server response is empty for transcode input: " + sourceFilePath);\r
 \r
-               jobRuntime.incrementProgress(100);\r
+                       jobRuntime.setDescription(String.format("%s: %s", jobRuntime.getDescription(), details));\r
 \r
-               //jobRuntime.setDescription(String.valueOf(jobRuntime.getDescription())  + transcodeTask.getStatusDetail());\r
-               processState(transcodeTask, jobEngine, mediaCubeMedia);\r
+                       transcodeTask = monitor(jobRuntime, sourceFilePath, transcodeTask);\r
+                       jobRuntime.incrementProgress(100);\r
+                       processState(transcodeTask, jobEngine, mediaCubeMedia);\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+                       Message m = new ParameterizedMessage("Az '{}' állomány átkódolása sikertelen. A rendszer hibaüzenete: {}", details, e.getMessage());\r
+                       logger.error(getMarker(), m);\r
+                       throw new Exception(m.getFormattedMessage());\r
+               }\r
                return null;\r
        }\r
 \r
index f6202d325f59b1d8b58155748282f80161b66980..4b49cfeaa5a02431da4dbc7ab24617a1e1f2788f 100644 (file)
@@ -36,8 +36,7 @@ public class CalendarUtils {
                if (timePart == null) {\r
                        result = createCalendar(datePart);\r
                } else {\r
-                       result = createCalendar(timePart.get(Calendar.HOUR), timePart.get(Calendar.MINUTE),\r
-                                       timePart.get(Calendar.SECOND), datePart);\r
+                       result = createCalendar(timePart.get(Calendar.HOUR), timePart.get(Calendar.MINUTE), timePart.get(Calendar.SECOND), datePart);\r
                }\r
                return result;\r
        }\r
@@ -236,8 +235,7 @@ public class CalendarUtils {
        }\r
 \r
        public static boolean isSameDay(Calendar left, Calendar right) {\r
-               return left.get(Calendar.YEAR) == right.get(Calendar.YEAR)\r
-                               && left.get(Calendar.DAY_OF_YEAR) == right.get(Calendar.DAY_OF_YEAR);\r
+               return left.get(Calendar.YEAR) == right.get(Calendar.YEAR) && left.get(Calendar.DAY_OF_YEAR) == right.get(Calendar.DAY_OF_YEAR);\r
        }\r
 \r
        public static boolean isToday(Calendar base) {\r
similarity index 88%
rename from server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java
rename to server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java
index 1f217724671659c579ed9ba6269b1d37a5d261d0..b17a4b695976e1fa36bd5ba8dfa566f74db4dc7d 100644 (file)
@@ -37,11 +37,12 @@ import user.commons.remotestore.IProgressEventListener;
  * @author robi\r
  */\r
 \r
-public class NexioClipEventDispatcher implements ClipEventListener {\r
+public class NexioDispatcher implements ClipEventListener {\r
 \r
        private static final Logger logger = LogManager.getLogger();\r
 \r
        private static final String NEXIO_USE_MOS_GATEWAY = "nexio.useMOSGateway";\r
+       private static final String NEXIO_DISABLE = "nexio.disable";\r
        private static final String ID = "id";\r
        private static final String VIDEO_FORMAT = "videoformat";\r
        private static final String VIDEO_BITRATE = "videobitrate";\r
@@ -97,7 +98,7 @@ public class NexioClipEventDispatcher implements ClipEventListener {
        private String NEXIO_HOST = System.getProperty("nexio.host");\r
        private Controller controller = null;\r
 \r
-       public NexioClipEventDispatcher() {\r
+       public NexioDispatcher() {\r
                this.db = NoSQLUtils.getNoSQLDB();\r
        }\r
 \r
@@ -302,7 +303,7 @@ public class NexioClipEventDispatcher implements ClipEventListener {
 \r
        private Map<String, BasicDBObject> loadClipsFromMongo(Map<String, BasicDBObject> clipsForId) {\r
                Map<String, BasicDBObject> result = new HashMap<>();\r
-               DBCollection collection = db.getCollection(NexioClipEventDispatcher.CLIP_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(NexioDispatcher.CLIP_COLLECTION_NAME);\r
                DBCursor find = collection.find();\r
                if (find.hasNext()) {\r
                        List<BasicDBObject> clips = ListUtils.cast(find.toArray());\r
@@ -337,7 +338,7 @@ public class NexioClipEventDispatcher implements ClipEventListener {
        }\r
 \r
        private void removeDeleted(BasicDBObject clipToDelete) {\r
-               DBCollection collection = db.getCollection(NexioClipEventDispatcher.CLIP_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(NexioDispatcher.CLIP_COLLECTION_NAME);\r
                collection.remove(clipToDelete);\r
                onDelete(clipToDelete);\r
        }\r
@@ -384,22 +385,6 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                executor.shutdownNow();\r
        }\r
 \r
-       /*\r
-       BasicDBObject clip = new BasicDBObject();\r
-       clip.put(LONGNAMEID, rs.getString(i++));\r
-       clip.put(RECORDDATE, new DateTime(rs.getString(i++)).toDate());\r
-       clip.put(EXTAGENCY, rs.getString(i++));\r
-       clip.put(MODIFIEDTIMESTAMP, new DateTime(rs.getString(i++)).toDate());\r
-       clip.put(START, rs.getString(i++));\r
-       clip.put(DURATION, rs.getLong(i++));\r
-       result.put(clip.getString(LONGNAMEID), clip);\r
-       int progress = idx * 50 / count;\r
-       if (progress - progressEvent.getProgress() > 0) {\r
-               progressEvent.setProgress(progress);\r
-               fireProgressEvent(progressEvent);\r
-       }\r
-       */\r
-\r
        public void startup() {\r
                this.controller = new Controller(NEXIO_HOST);\r
                try {\r
@@ -411,23 +396,25 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                logger.info("NEXIO server connected");\r
 \r
                this.progressListenerList = new EventListenerList();\r
-               //              this.dropAllClipsFromMongo();\r
-               //              this.ensureIndexes();\r
-               boolean[] useMOSGateway = { false };\r
-               try {\r
-                       useMOSGateway[0] = Boolean.parseBoolean(System.getProperty(NEXIO_USE_MOS_GATEWAY));\r
-               } finally {\r
-               }\r
+\r
+               boolean disableNexio = Boolean.parseBoolean(System.getProperty(NEXIO_DISABLE));\r
+               if (disableNexio)\r
+                       return;\r
+\r
+               this.dropAllClipsFromMongo();\r
+               this.ensureIndexes();\r
+\r
+               boolean[] useMOSGateway = { Boolean.parseBoolean(System.getProperty(NEXIO_USE_MOS_GATEWAY)) };\r
                executor.submit(() -> {\r
                        try {\r
                                if (useMOSGateway[0]) {\r
-                                       //                                      NexioDataMiner dm = new NexioDataMiner();\r
-                                       //                                      dm.transferClips();\r
+                                       NexioDataMiner dm = new NexioDataMiner();\r
+                                       dm.transferClips();\r
                                } else {\r
                                        copyClipsIntoMongo();\r
                                }\r
-                               NexioClipEventDispatcher.this.controller.getMediabase().startMediaListener();\r
-                               NexioClipEventDispatcher.this.controller.getMediabase().getMediaListener().addClipEventListener(NexioClipEventDispatcher.this);\r
+                               NexioDispatcher.this.controller.getMediabase().startMediaListener();\r
+                               NexioDispatcher.this.controller.getMediabase().getMediaListener().addClipEventListener(NexioDispatcher.this);\r
                        } catch (Exception e) {\r
                                logger.catching(e);\r
                        }\r
index 00a55210039a70e4f6ef7a013157f0aa8aeaa5c2..1dc7b900ce81ef74d505ccd1f856a4bfc210dda7 100644 (file)
@@ -12,6 +12,7 @@ public interface IOctopusAPI {
        static final String TIME_COLLECTION_NAME = "time";\r
        static final String SCRIPT_CONTENT = "script_content";\r
        static final String RUNDOWN_TYPE = "rundownType";\r
+       static final String CHANNEL = "channel";\r
        static final String LASTUPDATE_TIME = "lastUpdateTime";\r
        static final String NEXIO_MOS = "NEXIO.MOS";\r
        static final String PARENT_STORY_ID = "parentStoryId";\r
index 91aad6aab4aa28ff05591c027ef0f4d3f56a4668..778264512f7a352d38009b74522fcd47e385e678 100644 (file)
@@ -44,7 +44,7 @@ public class OctopusDataMiner implements Runnable {
        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,Story.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 FIELDS_RUNDOWN_LIST = "id,name,modified,scheduledStart,rundownType,RundownType.name,slugs,Slug.storyId,Slug.position";\r
+       private static final String FIELDS_RUNDOWN_LIST = "id,name,modified,scheduledStart,channel,Channel.name,Channel.id,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 FIELDS_STORY_FOLDER_LIST = "id,name,modified";\r
        private static final String RUNDOWN = "Rundown";\r
index 4c8e088c5d320798f53d15c4caf715d27cc5fbe3..c6edf856e32435e30298fb7ca5e75a3024c3bb50 100644 (file)
@@ -82,10 +82,10 @@ public class FtpDirectoryLister implements IDirectoryLister {
                String path = storeUri.toString(true);\r
                String[] pathElements = path.split("/");\r
                ftpClient = new FTPClient();\r
-               if (storeUri.getPortNumber() != null)\r
-                       ftpClient.connect(pathElements[0], storeUri.getPortNumber().intValue());\r
-               else\r
+               if (storeUri.getPortNumber() == null || storeUri.getPortNumber() < 1)\r
                        ftpClient.connect(pathElements[0]);\r
+               else\r
+                       ftpClient.connect(pathElements[0], storeUri.getPortNumber().intValue());\r
                String userName = storeUri.getUserName();\r
                userName = StringUtils.isEmpty(userName) ? "anonymous" : userName;\r
                ftpClient.login(userName, storeUri.getPassword());\r
index 41ceb080d7d6303ce835a6fd43e0b2b2ab30caa8..0d12cf5169905f9c6d71b72d83e664ea314b6cb6 100644 (file)
@@ -345,7 +345,7 @@ public class ItemManager extends MemoryCache implements IItemManager {
        @Override\r
        public StoreUri createStoreUri(URI uri) {\r
                StoreUri result = createStoreUri(RemoteStoreProtocol.fromString(uri.toString()), uri.getHost(), uri.getPort(), false, false, false, null, null, null);\r
-               result.setRootPath(uri.getPath());\r
+               result.setCurrentPath(uri.getPath());\r
                return result;\r
        }\r
 \r
index 09f9b4907ab84025fb18cb9e73e6c923331a3506..7b98f9185bfda26c441235c04992db59e7b92247 100644 (file)
@@ -57,7 +57,7 @@
                                                                <image src="/img/mediacube_logo_v2_50x50.png">\r
 <!--                                                           <custom-attributes org.zkoss.zul.image.preload="true" /> -->\r
                                                                </image>\r
-                                                               <label style="color:#e3e3e3;font-size:20px;font-weight:bold">MediaCube v2.1.7</label>\r
+                                                               <label style="color:#e3e3e3;font-size:20px;font-weight:bold">MediaCube v2.1.8</label>\r
                                                        </div>\r
                                                </west>\r
                                                <center border="0">\r
index 253ccb34a40b3f3bad9225ebcae413456e59afbf..4089aa3a2e1b0cefe8a919dbc4f4850c0d4a0c4d 100644 (file)
@@ -43,8 +43,8 @@
                var obj = eval("(" + value.name + ')');\r
                return String\r
                .format(\r
-                               'Befejezve . {0} <br/> Azonosító . {1} <br/> Forrás . {2} <br/> Cél . {3} <br/> Cimke . <span style="background:{4}">{5}</span> <br/> Sikeres . {6} <br/> Felhasználó . {7}',\r
-                               obj.Finished, obj.HouseId, obj.Source, obj.Destination,\r
+                               'Kézbesítve . {0}  <br/> Elkezdve . {1}  <br/>  Befejezve . {2} <br/> Azonosító . {3} <br/> Forrás . {4} <br/> Cél . {5} <br/> Cimke . <span style="background:{6}">{7}</span> <br/> Sikeres . {8} <br/> Felhasználó . {9}',\r
+                               obj.Touched, obj.Started, obj.Finished, obj.HouseId, obj.Source, obj.Destination,\r
                                obj.Tag, obj.Tag, obj.Successful, obj.UserName);\r
        }\r
 </script> <charts id="chart" type="spline" /> </window>\r
index 5bea5ed4700a8d30cfe7f56f0bd6c4a7ad9e27cd..998d84f20f03deb3888a75a56828329373114cc2 100644 (file)
@@ -2,6 +2,7 @@ package user.jobengine.server.steps;
 \r
 import java.io.File;\r
 import java.io.IOException;\r
+import java.io.StringWriter;\r
 import java.nio.file.Files;\r
 import java.nio.file.Path;\r
 import java.nio.file.Paths;\r
@@ -10,11 +11,26 @@ import java.nio.file.attribute.PosixFilePermission;
 import java.nio.file.attribute.PosixFilePermissions;\r
 import java.text.SimpleDateFormat;\r
 import java.util.Calendar;\r
+import java.util.Date;\r
 import java.util.Set;\r
 \r
+import javax.xml.parsers.DocumentBuilder;\r
+import javax.xml.parsers.DocumentBuilderFactory;\r
+import javax.xml.transform.OutputKeys;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.dom.DOMSource;\r
+import javax.xml.transform.stream.StreamResult;\r
+\r
+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.w3c.dom.DOMImplementation;\r
+import org.w3c.dom.Document;\r
+import org.w3c.dom.Element;\r
+\r
+import user.commons.CalendarUtils;\r
 \r
 public class EscortFiles {\r
        private static final Logger logger = LogManager.getLogger();\r
@@ -22,11 +38,56 @@ public class EscortFiles {
        private static final String YYYYMMDD = "yyyyMMdd";\r
        public static final String STATUSFOLDER = ".STATUS";\r
 \r
-       private static String composeKillDateFileName(String fileName, int days) {\r
+       public static String composeKillDate(int days) {\r
                Calendar killDate = Calendar.getInstance();\r
                killDate.add(Calendar.DAY_OF_YEAR, days);\r
                SimpleDateFormat dateFormat = new SimpleDateFormat(YYYYMMDD);\r
-               return String.format(KILLDATE_NAME, fileName, dateFormat.format(killDate.getTime()));\r
+               return dateFormat.format(killDate.getTime());\r
+       }\r
+       /*\r
+       <?xml version="1.0" encoding="UTF-16"?>\r
+       <ID extendedId="aaaaaaa">\r
+               <KillDate>02-02-2018</KillDate>\r
+               <ExtendedDescription>TEST TEST</ExtendedDescription>\r
+               <ExtendedAgency>AGENT AGENT</ExtendedAgency>\r
+       </ID>\r
+       */\r
+\r
+       private static String composeKillDateFileName(String fileName, int days) {\r
+               return String.format(KILLDATE_NAME, fileName, composeKillDate(days));\r
+       }\r
+\r
+       public static byte[] createNEXIOKillDateFile(String fileName, Date killDate, String description, String agency) throws Exception {\r
+               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
+               DocumentBuilder db = dbf.newDocumentBuilder();\r
+               DOMImplementation impl = db.getDOMImplementation();\r
+               Document xmlDocument = impl.createDocument(null, null, null);\r
+\r
+               Element root = xmlDocument.createElement("ID");\r
+               root.setAttribute("extendedId", fileName);\r
+               if (killDate != null) {\r
+                       String sKillDate = CalendarUtils.toString(CalendarUtils.createCalendar(killDate), "MM-dd-yyyy");\r
+                       root.appendChild(xmlDocument.createElement("KillDate")).setNodeValue(sKillDate);\r
+               }\r
+               if (StringUtils.isNotBlank(description))\r
+                       root.appendChild(xmlDocument.createElement("ExtendedDescription")).setNodeValue(description);\r
+               if (StringUtils.isNotBlank(agency))\r
+                       root.appendChild(xmlDocument.createElement("ExtendedAgency")).setNodeValue(agency);\r
+               xmlDocument.appendChild(root);\r
+\r
+               DOMSource domSource = new DOMSource(xmlDocument);\r
+               TransformerFactory tf = TransformerFactory.newInstance();\r
+               Transformer transformer = tf.newTransformer();\r
+               //transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");\r
+               transformer.setOutputProperty(OutputKeys.METHOD, "xml");\r
+               transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-16");\r
+               transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
+               StringWriter sw = new StringWriter();\r
+               StreamResult sr = new StreamResult(sw);\r
+               transformer.transform(domSource, sr);\r
+               String result = sw.toString();\r
+               sw.close();\r
+               return result.getBytes("UTF-16");\r
        }\r
 \r
        public static void createUNCKillDate(String filePath, String fileName, int days, Marker marker) throws IOException {\r
@@ -48,5 +109,4 @@ public class EscortFiles {
                        Files.createDirectory(statusPath, attr);\r
                }\r
        }\r
-\r
 }\r
index 6d27e90bec7cd10a94e989935fe10648238097f9..1b3bbb02bebfed9c6be834b7d74a12d1673e11c2 100644 (file)
@@ -40,6 +40,10 @@ public class JobStep implements IJobStep {
        public void cleanup() {\r
        }\r
 \r
+       public String getDescription() {\r
+               return null;\r
+       }\r
+\r
        public IJobRuntime getJobRuntime() {\r
                return jobRuntime;\r
        }\r
index 5328cef324ab0dbf810dbbc9b17c8014c233e722..dae4e17b9f6cb06771bd1bb72cc534c832d97541 100644 (file)
@@ -1,6 +1,7 @@
 package user.jobengine.server.steps;\r
 \r
 import java.util.ArrayList;\r
+import java.util.Date;\r
 import java.util.List;\r
 \r
 public class RundownArchive {\r
@@ -8,6 +9,7 @@ public class RundownArchive {
        private String itemTitle;\r
        private String itemDesc;\r
        private List<StoryArchive> storyArchives;\r
+       private Date scheduleDate;\r
 \r
        public void addStoryArchive(StoryArchive storyArchive) {\r
                if (storyArchives == null)\r
@@ -27,6 +29,10 @@ public class RundownArchive {
                return itemTitle;\r
        }\r
 \r
+       public Date getScheduleDate() {\r
+               return scheduleDate;\r
+       }\r
+\r
        public List<StoryArchive> getStoryArchives() {\r
                return storyArchives;\r
        }\r
@@ -46,4 +52,8 @@ public class RundownArchive {
        public void setItemTitle(String itemTitle) {\r
                this.itemTitle = itemTitle;\r
        }\r
+\r
+       public void setScheduleDate(Date scheduleDate) {\r
+               this.scheduleDate = scheduleDate;\r
+       }\r
 }
\ No newline at end of file
index d1cc0dfee2cf942b2bc8ccf2e8fa283db68c3c19..db8e4f081879c65f6926b18ec0be284c2515f4cd 100644 (file)
@@ -75,10 +75,10 @@ public class StatisticsComposer extends SelectorComposer<Window> {
                int x = cal.get(Calendar.HOUR_OF_DAY) * 60 + cal.get(Calendar.MINUTE);\r
                Color color = colors.get(action.getTag());\r
                BasicDBObject data = new BasicDBObject();\r
+               data.put("Started", action.getStarted().toString());\r
                data.put("Finished", action.getFinished().toString());\r
+               data.put("Touched", action.getTouched().toString());\r
                data.put("HouseId", action.getHouseId());\r
-               data.put("Touched", action.getTouched());\r
-               data.put("Started", action.getStarted());\r
                data.put("Source", action.getSource());\r
                data.put("Destination", action.getDestination());\r
                data.put("Tag", action.getTag());\r
index 71709d093c4fc71ae6ffb72b1b527a0b7f8edfa1..3cde24ec94e0ce03c605abcc93646324a43214bf 100644 (file)
@@ -14,7 +14,7 @@ import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
 import com.ibm.nosql.json.api.BasicDBObject;
 
 import user.commons.nexio.INexioChangeListener;
-import user.commons.nexio.NexioClipEventDispatcher;
+import user.commons.nexio.NexioDispatcher;
 
 @SuppressWarnings("serial")
 public class NexioWSServlet extends WebSocketServlet implements INexioChangeListener {
@@ -31,13 +31,13 @@ public class NexioWSServlet extends WebSocketServlet implements INexioChangeList
        private Set<Session> sessions = new ConcurrentHashSet<>();
 
        //private NexioAPIServletMessagePool messagePool;
-       private NexioClipEventDispatcher dispatcher = null;
+       private NexioDispatcher dispatcher = null;
 
        public NexioWSServlet() {
                logger.info("Created");
                //              messagePool = new NexioAPIServletMessagePool(3, sessions);
                instance = this;
-               dispatcher = new NexioClipEventDispatcher();
+               dispatcher = new NexioDispatcher();
                dispatcher.setNexioChangeListener(this);
                dispatcher.startup();
                logger.info("Initialized");