git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 1 Dec 2017 00:37:42 +0000 (00:37 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Fri, 1 Dec 2017 00:37:42 +0000 (00:37 +0000)
30 files changed:
client/Maestro/Configuration/-ACTIVE-configuration-editor-project.json [moved from client/Maestro/Configuration/ACTIVE-configuration-editor-project.json with 100% similarity]
client/Maestro/Configuration/-ACTIVE-configuration-nle.json [moved from client/Maestro/Configuration/ACTIVE-configuration-nle.json with 100% similarity]
client/Maestro/Configuration/configuration-archive.json
client/Maestro/Configuration/configuration-studio.json
client/Maestro/Installer/installforge-installer-project.ifp
client/Maestro/Maestro.csproj
client/Maestro/MaestroForm.Designer.cs
client/Maestro/MaestroForm.resx
client/Maestro/Program.cs
client/Maestro/Sources/NexioRESTSource.cs
server/-configuration/scheduledjobs.json
server/-modules/pom.xml
server/-product/pom.xml
server/user.jobengine.executors/config/config.xml
server/user.jobengine.executors/config/scheduledjobs.json
server/user.jobengine.executors/deploy-steps-to-bsh.bat
server/user.jobengine.executors/deploy-steps-to-bsh2.bat [new file with mode: 0644]
server/user.jobengine.executors/src/user/jobengine/server/steps/FakeStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/SyncOCTOPUSDataStep.java
server/user.jobengine.osgi.commons/src/user/commons/Job.java
server/user.jobengine.osgi.commons/src/user/commons/octopus/OctopusDataMiner.java
server/user.jobengine.osgi.commons/test/user/common/octopus/test/OctopusDataMinerTest.java
server/user.jobengine.osgi.server/pages/index.zul
server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java
server/user.jobengine.osgi.server/src/user/jobengine/server/actions/SkipExecutingAction.java
server/user.jobengine.osgi.server/src/user/jobengine/server/actions/StatusMachine.java
server/user.jobengine.osgi.server/src/user/jobengine/server/scheduler/ScheduledJob.java
server/user.jobengine.osgi.server/src/user/jobengine/server/scheduler/SchedulerService.java

index 784321bb550f03fffba0d9564c02d17845e26149..7e04aea1ff8bb8b091432269c58f64c900f17577 100644 (file)
@@ -1,6 +1,6 @@
 {\r
   "title": "Archiválás",\r
-  "active": false,\r
+  "active": true,\r
   "startInTray": false,\r
   "enableCustomMetadataId": true,\r
   "player": {\r
@@ -13,7 +13,7 @@
     "filter": "mov,wav,mxf",\r
     "foldersAutoExpand": false,\r
     "local": {\r
-      "address": "file://10.10.1.100/BRAAVOS/MEGTEKINTO_ARCHIVE",\r
+      "address": "file://10.10.1.100/BRAAVOS/TOROKOR",\r
       "userName": "mediacube",\r
       "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
       "timeout": 1000\r
index 8a9e20f802f9a1dbcfd233f406b1c610db64f5ed..7666e57919492281af3e21fe37176695a950e39e 100644 (file)
@@ -1,6 +1,6 @@
 {\r
   "title": "Stúdió",\r
-  "active": false,\r
+  "active": true,\r
   "startInTray": false,\r
   "enableCustomMetadataId": true,\r
   "filter": "avi",\r
index 1e50aabd5fb67105e33cfd4092727f0d597784a1..ffa701412e0ec8a65b9d8e4f26d3100bd03cd58c 100644 (file)
Binary files a/client/Maestro/Installer/installforge-installer-project.ifp and b/client/Maestro/Installer/installforge-installer-project.ifp differ
index 510b101f5fb2dc10abfa5c4fb5887fbd0e680702..e2f2d51051ebd18fee316596ae83789b1c75f391 100644 (file)
     <Compile Include="MaestroForm.Source.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
-    <None Include="Configuration\ACTIVE-configuration-editor-project.json">\r
+    <None Include="Configuration\-ACTIVE-configuration-editor-project.json">\r
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>\r
     </None>\r
-    <None Include="Configuration\ACTIVE-configuration-nle.json">\r
+    <None Include="Configuration\-ACTIVE-configuration-nle.json">\r
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>\r
     </None>\r
     <None Include="Configuration\configuration-archive.json">\r
index aaebe637cb651f9cb559b6bee597388251c06311..643de7f027247c09062b0fc235eeb6d5f61e74be 100644 (file)
@@ -33,11 +33,11 @@ namespace Maestro {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MaestroForm));\r
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();\r
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();\r
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();\r
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();\r
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();\r
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();\r
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();\r
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();\r
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();\r
             this.groupSource = new System.Windows.Forms.GroupBox();\r
             this.dgSource = new System.Windows.Forms.DataGridView();\r
             this.bindingSource = new System.Windows.Forms.BindingSource(this.components);\r
@@ -77,6 +77,13 @@ namespace Maestro {
             this.tabSystem = new System.Windows.Forms.TabControl();\r
             this.tabPage1 = new System.Windows.Forms.TabPage();\r
             this.dgJobs = new System.Windows.Forms.DataGridView();\r
+            this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components);\r
+            this.tabPage2 = new System.Windows.Forms.TabPage();\r
+            this.dgMessages = new System.Windows.Forms.DataGridView();\r
+            this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+            this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+            this.systemMessageBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
+            this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
             this.columnLabel = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnID = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.Progress = new Maestro.Commons.DataGridViewProgressColumn();\r
@@ -87,13 +94,6 @@ namespace Maestro {
             this.columnOutput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.columnKillDate = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
             this.Message = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
-            this.bindingSourceJobs = new System.Windows.Forms.BindingSource(this.components);\r
-            this.tabPage2 = new System.Windows.Forms.TabPage();\r
-            this.dgMessages = new System.Windows.Forms.DataGridView();\r
-            this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
-            this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
-            this.systemMessageBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
-            this.metadataInfoBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
             this.groupSource.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.dgSource)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.bindingSource)).BeginInit();\r
@@ -190,7 +190,7 @@ namespace Maestro {
             this.dgSource.RowsDefaultCellStyle = dataGridViewCellStyle3;\r
             this.dgSource.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
             this.dgSource.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;\r
-            this.dgSource.Size = new System.Drawing.Size(330, 159);\r
+            this.dgSource.Size = new System.Drawing.Size(330, 162);\r
             this.dgSource.TabIndex = 0;\r
             this.dgSource.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.sourceGridView_CellContentClick);\r
             this.dgSource.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridSource_CellEnter);\r
@@ -203,13 +203,13 @@ namespace Maestro {
             // treeFolders\r
             // \r
             this.treeFolders.BorderStyle = System.Windows.Forms.BorderStyle.None;\r
+            this.treeFolders.Cursor = System.Windows.Forms.Cursors.Hand;\r
             this.treeFolders.Dock = System.Windows.Forms.DockStyle.Bottom;\r
             this.treeFolders.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
             this.treeFolders.HotTracking = true;\r
-            this.treeFolders.Cursor = Cursors.Hand;\r
             this.treeFolders.ImageIndex = 0;\r
             this.treeFolders.ImageList = this.ilFolders;\r
-            this.treeFolders.Location = new System.Drawing.Point(10, 206);\r
+            this.treeFolders.Location = new System.Drawing.Point(10, 209);\r
             this.treeFolders.Name = "treeFolders";\r
             this.treeFolders.SelectedImageIndex = 0;\r
             this.treeFolders.Size = new System.Drawing.Size(330, 161);\r
@@ -280,16 +280,14 @@ namespace Maestro {
             this.pSourceDisplay.Controls.Add(this.lSelectedSource, 0, 1);\r
             this.pSourceDisplay.Controls.Add(this.btnLookupBySource, 1, 2);\r
             this.pSourceDisplay.Dock = System.Windows.Forms.DockStyle.Bottom;\r
-            this.pSourceDisplay.Location = new System.Drawing.Point(10, 367);\r
+            this.pSourceDisplay.Location = new System.Drawing.Point(10, 370);\r
             this.pSourceDisplay.Margin = new System.Windows.Forms.Padding(0);\r
             this.pSourceDisplay.Name = "pSourceDisplay";\r
             this.pSourceDisplay.RowCount = 3;\r
-            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));\r
-            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));\r
-            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));\r
-            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));\r
-            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));\r
-            this.pSourceDisplay.Size = new System.Drawing.Size(330, 94);\r
+            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+            this.pSourceDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+            this.pSourceDisplay.Size = new System.Drawing.Size(330, 91);\r
             this.pSourceDisplay.TabIndex = 12;\r
             // \r
             // tsSource\r
@@ -303,7 +301,7 @@ namespace Maestro {
             this.tsSource.Name = "tsSource";\r
             this.tsSource.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
             this.tsSource.RightToLeft = System.Windows.Forms.RightToLeft.Yes;\r
-            this.tsSource.Size = new System.Drawing.Size(330, 30);\r
+            this.tsSource.Size = new System.Drawing.Size(330, 31);\r
             this.tsSource.TabIndex = 18;\r
             // \r
             // btnShowFolders\r
@@ -324,7 +322,7 @@ namespace Maestro {
             this.textSelectedSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
             this.textSelectedSource.Dock = System.Windows.Forms.DockStyle.Fill;\r
             this.textSelectedSource.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            this.textSelectedSource.Location = new System.Drawing.Point(3, 63);\r
+            this.textSelectedSource.Location = new System.Drawing.Point(3, 59);\r
             this.textSelectedSource.Name = "textSelectedSource";\r
             this.textSelectedSource.ReadOnly = true;\r
             this.textSelectedSource.Size = new System.Drawing.Size(288, 26);\r
@@ -337,10 +335,10 @@ namespace Maestro {
             this.pSourceDisplay.SetColumnSpan(this.lSelectedSource, 2);\r
             this.lSelectedSource.Dock = System.Windows.Forms.DockStyle.Fill;\r
             this.lSelectedSource.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            this.lSelectedSource.Location = new System.Drawing.Point(3, 30);\r
+            this.lSelectedSource.Location = new System.Drawing.Point(3, 31);\r
             this.lSelectedSource.Name = "lSelectedSource";\r
             this.lSelectedSource.Padding = new System.Windows.Forms.Padding(0, 5, 0, 5);\r
-            this.lSelectedSource.Size = new System.Drawing.Size(324, 30);\r
+            this.lSelectedSource.Size = new System.Drawing.Size(324, 25);\r
             this.lSelectedSource.TabIndex = 13;\r
             this.lSelectedSource.Text = "Selected source";\r
             // \r
@@ -354,7 +352,7 @@ namespace Maestro {
             this.btnLookupBySource.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
             this.btnLookupBySource.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);\r
             this.btnLookupBySource.Image = global::Maestro.Properties.Resources.ic_search_black_24dp_1x;\r
-            this.btnLookupBySource.Location = new System.Drawing.Point(297, 63);\r
+            this.btnLookupBySource.Location = new System.Drawing.Point(297, 59);\r
             this.btnLookupBySource.Name = "btnLookupBySource";\r
             this.btnLookupBySource.Size = new System.Drawing.Size(30, 26);\r
             this.btnLookupBySource.TabIndex = 14;\r
@@ -753,6 +751,80 @@ namespace Maestro {
             this.dgJobs.CellPainting += new System.Windows.Forms.DataGridViewCellPaintingEventHandler(this.OnJobsCellPainting);\r
             this.dgJobs.MouseClick += new System.Windows.Forms.MouseEventHandler(this.dataGridJobs_MouseClick);\r
             // \r
+            // tabPage2\r
+            // \r
+            this.tabPage2.Controls.Add(this.dgMessages);\r
+            this.tabPage2.Location = new System.Drawing.Point(4, 24);\r
+            this.tabPage2.Name = "tabPage2";\r
+            this.tabPage2.Padding = new System.Windows.Forms.Padding(3);\r
+            this.tabPage2.Size = new System.Drawing.Size(994, 96);\r
+            this.tabPage2.TabIndex = 1;\r
+            this.tabPage2.Text = global::Maestro.StringResources.UZENETEK;\r
+            this.tabPage2.UseVisualStyleBackColor = true;\r
+            // \r
+            // dgMessages\r
+            // \r
+            this.dgMessages.AllowUserToAddRows = false;\r
+            this.dgMessages.AllowUserToResizeRows = false;\r
+            this.dgMessages.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;\r
+            this.dgMessages.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCells;\r
+            this.dgMessages.BackgroundColor = System.Drawing.Color.White;\r
+            this.dgMessages.BorderStyle = System.Windows.Forms.BorderStyle.None;\r
+            this.dgMessages.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;\r
+            this.dgMessages.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {\r
+            this.dataGridViewTextBoxColumn1,\r
+            this.dataGridViewTextBoxColumn2});\r
+            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;\r
+            dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window;\r
+            dataGridViewCellStyle9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+            dataGridViewCellStyle9.ForeColor = System.Drawing.Color.Red;\r
+            dataGridViewCellStyle9.NullValue = null;\r
+            dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.Gainsboro;\r
+            dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.Red;\r
+            dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;\r
+            this.dgMessages.DefaultCellStyle = dataGridViewCellStyle9;\r
+            this.dgMessages.Dock = System.Windows.Forms.DockStyle.Fill;\r
+            this.dgMessages.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;\r
+            this.dgMessages.EnableHeadersVisualStyles = false;\r
+            this.dgMessages.GridColor = System.Drawing.Color.White;\r
+            this.dgMessages.Location = new System.Drawing.Point(3, 3);\r
+            this.dgMessages.Name = "dgMessages";\r
+            this.dgMessages.ReadOnly = true;\r
+            this.dgMessages.RowHeadersVisible = false;\r
+            dataGridViewCellStyle10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+            this.dgMessages.RowsDefaultCellStyle = dataGridViewCellStyle10;\r
+            this.dgMessages.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+            this.dgMessages.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;\r
+            this.dgMessages.Size = new System.Drawing.Size(988, 90);\r
+            this.dgMessages.TabIndex = 1;\r
+            // \r
+            // dataGridViewTextBoxColumn1\r
+            // \r
+            this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+            this.dataGridViewTextBoxColumn1.DataPropertyName = "Time";\r
+            this.dataGridViewTextBoxColumn1.HeaderText = "Időpont";\r
+            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";\r
+            this.dataGridViewTextBoxColumn1.ReadOnly = true;\r
+            this.dataGridViewTextBoxColumn1.Width = 73;\r
+            // \r
+            // dataGridViewTextBoxColumn2\r
+            // \r
+            this.dataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;\r
+            this.dataGridViewTextBoxColumn2.DataPropertyName = "Message";\r
+            dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+            this.dataGridViewTextBoxColumn2.DefaultCellStyle = dataGridViewCellStyle8;\r
+            this.dataGridViewTextBoxColumn2.HeaderText = "Üzenet";\r
+            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";\r
+            this.dataGridViewTextBoxColumn2.ReadOnly = true;\r
+            // \r
+            // systemMessageBindingSource\r
+            // \r
+            this.systemMessageBindingSource.DataSource = typeof(Maestro.SystemMessage);\r
+            // \r
+            // metadataInfoBindingSource\r
+            // \r
+            this.metadataInfoBindingSource.DataSource = typeof(Maestro.Metadata.MetadataInfo);\r
+            // \r
             // columnLabel\r
             // \r
             this.columnLabel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
@@ -791,7 +863,7 @@ namespace Maestro {
             // \r
             // columnStarted\r
             // \r
-            this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+            this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;\r
             this.columnStarted.DataPropertyName = "Started";\r
             this.columnStarted.HeaderText = "Started";\r
             this.columnStarted.Name = "columnStarted";\r
@@ -799,7 +871,7 @@ namespace Maestro {
             // \r
             // columnFinished\r
             // \r
-            this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+            this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;\r
             this.columnFinished.DataPropertyName = "Finished";\r
             this.columnFinished.HeaderText = "Finished";\r
             this.columnFinished.Name = "columnFinished";\r
@@ -837,80 +909,6 @@ namespace Maestro {
             this.Message.Name = "Message";\r
             this.Message.Width = 71;\r
             // \r
-            // tabPage2\r
-            // \r
-            this.tabPage2.Controls.Add(this.dgMessages);\r
-            this.tabPage2.Location = new System.Drawing.Point(4, 24);\r
-            this.tabPage2.Name = "tabPage2";\r
-            this.tabPage2.Padding = new System.Windows.Forms.Padding(3);\r
-            this.tabPage2.Size = new System.Drawing.Size(994, 96);\r
-            this.tabPage2.TabIndex = 1;\r
-            this.tabPage2.Text = global::Maestro.StringResources.UZENETEK;\r
-            this.tabPage2.UseVisualStyleBackColor = true;\r
-            // \r
-            // dgMessages\r
-            // \r
-            this.dgMessages.AllowUserToAddRows = false;\r
-            this.dgMessages.AllowUserToResizeRows = false;\r
-            this.dgMessages.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;\r
-            this.dgMessages.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCells;\r
-            this.dgMessages.BackgroundColor = System.Drawing.Color.White;\r
-            this.dgMessages.BorderStyle = System.Windows.Forms.BorderStyle.None;\r
-            this.dgMessages.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;\r
-            this.dgMessages.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {\r
-            this.dataGridViewTextBoxColumn1,\r
-            this.dataGridViewTextBoxColumn2});\r
-            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;\r
-            dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window;\r
-            dataGridViewCellStyle9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            dataGridViewCellStyle9.ForeColor = System.Drawing.Color.Red;\r
-            dataGridViewCellStyle9.NullValue = null;\r
-            dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.Gainsboro;\r
-            dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.Red;\r
-            dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;\r
-            this.dgMessages.DefaultCellStyle = dataGridViewCellStyle9;\r
-            this.dgMessages.Dock = System.Windows.Forms.DockStyle.Fill;\r
-            this.dgMessages.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;\r
-            this.dgMessages.EnableHeadersVisualStyles = false;\r
-            this.dgMessages.GridColor = System.Drawing.Color.White;\r
-            this.dgMessages.Location = new System.Drawing.Point(3, 3);\r
-            this.dgMessages.Name = "dgMessages";\r
-            this.dgMessages.ReadOnly = true;\r
-            this.dgMessages.RowHeadersVisible = false;\r
-            dataGridViewCellStyle10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            this.dgMessages.RowsDefaultCellStyle = dataGridViewCellStyle10;\r
-            this.dgMessages.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            this.dgMessages.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;\r
-            this.dgMessages.Size = new System.Drawing.Size(988, 90);\r
-            this.dgMessages.TabIndex = 1;\r
-            // \r
-            // dataGridViewTextBoxColumn1\r
-            // \r
-            this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
-            this.dataGridViewTextBoxColumn1.DataPropertyName = "Time";\r
-            this.dataGridViewTextBoxColumn1.HeaderText = "Időpont";\r
-            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";\r
-            this.dataGridViewTextBoxColumn1.ReadOnly = true;\r
-            this.dataGridViewTextBoxColumn1.Width = 73;\r
-            // \r
-            // dataGridViewTextBoxColumn2\r
-            // \r
-            this.dataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;\r
-            this.dataGridViewTextBoxColumn2.DataPropertyName = "Message";\r
-            dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
-            this.dataGridViewTextBoxColumn2.DefaultCellStyle = dataGridViewCellStyle8;\r
-            this.dataGridViewTextBoxColumn2.HeaderText = "Üzenet";\r
-            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";\r
-            this.dataGridViewTextBoxColumn2.ReadOnly = true;\r
-            // \r
-            // systemMessageBindingSource\r
-            // \r
-            this.systemMessageBindingSource.DataSource = typeof(Maestro.SystemMessage);\r
-            // \r
-            // metadataInfoBindingSource\r
-            // \r
-            this.metadataInfoBindingSource.DataSource = typeof(Maestro.Metadata.MetadataInfo);\r
-            // \r
             // MaestroForm\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
@@ -1021,16 +1019,16 @@ namespace Maestro {
         private System.Windows.Forms.TreeView treeFolders;\r
         private System.Windows.Forms.ImageList ilFolders;\r
         private System.Windows.Forms.CheckBox chkAutoScroll;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnLabel;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnID;\r
+        private DataGridViewTextBoxColumn columnLabel;\r
+        private DataGridViewTextBoxColumn columnID;\r
         private Commons.DataGridViewProgressColumn Progress;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnStatus;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnStarted;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnFinished;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnInput;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnOutput;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn columnKillDate;\r
-        private System.Windows.Forms.DataGridViewTextBoxColumn Message;\r
+        private DataGridViewTextBoxColumn columnStatus;\r
+        private DataGridViewTextBoxColumn columnStarted;\r
+        private DataGridViewTextBoxColumn columnFinished;\r
+        private DataGridViewTextBoxColumn columnInput;\r
+        private DataGridViewTextBoxColumn columnOutput;\r
+        private DataGridViewTextBoxColumn columnKillDate;\r
+        private DataGridViewTextBoxColumn Message;\r
     }\r
 }\r
 \r
index 660d55ac41c56175a0d9b7850268487e24498215..6d1ada1a0b8cde7da47fd63f68e62be5f84d65e7 100644 (file)
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS\r
-        CAAAAk1TRnQBSQFMAgEBAgEAAdABAAHQAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+        CAAAAk1TRnQBSQFMAgEBAgEAAdgBAAHYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
         AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
         AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
         AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
     <value>309, 17</value>\r
   </metadata>\r
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
-    <value>59</value>\r
+    <value>25</value>\r
   </metadata>\r
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
     <value>\r
index 0395a8aac1c45c2ee9c945e7feab16d9d18b96f7..1f90331d5f5f5ed0f8bf783480d77bd291ef4c35 100644 (file)
@@ -87,7 +87,7 @@ namespace Maestro {
         private const string NOSPLASH = "nosplash";\r
         private const string NOLOGIN = "nologin";\r
         public const string NOSINGLE = "nosingle";\r
-\r
+        private const string HYPHEN = "-";\r
         private static Logger logger = LogManager.GetCurrentClassLogger();\r
         private NotifyIcon trayIcon;\r
         private ConcurrentBag<MeastroFormNotifyIcon> forms = new ConcurrentBag<MeastroFormNotifyIcon>();\r
@@ -134,6 +134,8 @@ namespace Maestro {
                 string globalFile = Path.Combine(CONFIGURATION_FOLDER, GLOBAL_JSON);\r
                 if (file.Equals(globalFile))\r
                     continue;\r
+                if (Path.GetFileName(file).StartsWith(HYPHEN))\r
+                    continue;\r
                 CreateForm(file);\r
             }\r
             if (forms.Count == 0)\r
index 8fc6d2b5a72acd8ee43864e753f37d149ddb7abc..da2220c5c69362c00dfe9ed73020575c7fc12084 100644 (file)
@@ -228,8 +228,15 @@ namespace Maestro.Sources {
         private void OnList(JToken l) {\r
             if (l == null)\r
                 return;\r
-            l.Children().ToList().Select(t => CreateItem(t, false)).Where(x => x.CanHandle(acceptableAgencies)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
-            initialized = true;\r
+            parent.SafeCall(() => {\r
+                l.Children().\r
+                    ToList().\r
+                    Select(t => CreateItem(t, false)).\r
+                    Where(x => x.CanHandle(acceptableAgencies)).\r
+                    OrderByDescending(i => i.Created).\r
+                    ToList().ForEach(i => Add(i));\r
+                    initialized = true;\r
+            });\r
         }\r
 \r
         private void OnChanged(JToken token) {\r
index 01d40197f0088c3dee30a0a302d9dcc05c665303..2c972df57377192f50160533d4fbd5e22e391696 100644 (file)
       ]\r
        },\r
        {\r
+      "active": false,\r
+         "name" : "Egy archiválás",\r
+      "template": "archive-ondemand.xml",\r
+      "executeimmediate": true,\r
+      "cronexpression": "0 0 0/1 1/1 * ? *",\r
+      "parameters": [ \r
+       {"name": "sourcePath", "value": "/mnt/ISILON/ARCHIVE/ONE", "type": "java.lang.String"},\r
+       {"name": "globalSourcePath", "value": "\\\\10.10.1.100\\BRAAVOS\\ARCHIVE\\ONE", "type": "java.lang.String"},\r
+       {"name": "transcoderTargetPath", "value": "/mnt/SELENIO", "type": "java.lang.String"},\r
+       {"name": "webPath", "value": "/mediacube/data/lowres/www/video", "type": "java.lang.String"},\r
+       {"name": "killDateDays", "value": 1, "type": "java.lang.Integer"}\r
+      ]\r
+       },\r
+       {\r
       "active": false,\r
          "name" : "TRAFFIC anyagok visszatöltése",\r
       "template": "retrieve-traffic-missing-materials.xml",\r
          "name" : "OCTOPUS adatok szinkronizálása",\r
       "template": "sync-octopus.xml",\r
       "executeimmediate": true,\r
-      "cronexpression": "0 0/1 * * * ?"\r
+      "cronexpression": "0/20 * * * * ?",\r
+      "parameters": [\r
+       {"name": "forceFull", "value": false, "type": "java.lang.Boolean"}\r
+      ]\r
+       },      \r
+       {\r
+      "active": false,\r
+         "name" : "OCTOPUS adatok teljes szinkronizálása",\r
+      "template": "sync-octopus.xml",\r
+      "executeimmediate": false,\r
+      "cronexpression": "0/30 * * * * ?",\r
+      "parameters": [\r
+       {"name": "forceFull", "value": true, "type": "java.lang.Boolean"}\r
+      ]\r
        },      \r
        {\r
       "active": false,\r
          "name" : "Teszt folyamat",\r
       "template": "fake.xml",\r
       "executeimmediate": false,\r
-      "cronexpression": "* 0/1 * ? * *",\r
+      "cronexpression": "0/10 * * ? * *",\r
       "parameters": [ {"name": "itemID", "value": 1, "type": "java.lang.Long"} ]\r
        }\r
 ]}\r
index 309864f6d6b48a8664aec486228babb45b884959..a7da8e11834e3779e50924541041050e1f88eefc 100644 (file)
        </modules>\r
 \r
        <properties>\r
+               <remote.address>scp://root:password@10.10.1.27</remote.address>\r
+               <remote.hostkey>ssh-ed25519 256 ea:ab:67:70:79:63:2f:6a:34:81:48:e2:b9:dd:ca:d4</remote.hostkey>\r
+<!--           <remote.hostkey>ssh-ed25519 256 ea:58:1c:d3:b8:d5:7a:92:4c:a3:a5:8d:e2:7b:07:fd</remote.hostkey> -->\r
+\r
                <project.version>1.0.0</project.version>\r
                <tycho.version>1.0.0</tycho.version>\r
                <maven.compiler.source>1.8</maven.compiler.source>\r
@@ -25,9 +29,6 @@
                <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\r
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
 \r
-               <remote.address>scp://root:password@10.10.1.27</remote.address>\r
-               <remote.hostkey>ssh-ed25519 256 ea:ab:67:70:79:63:2f:6a:34:81:48:e2:b9:dd:ca:d4</remote.hostkey>\r
-<!--           <remote.hostkey>ssh-ed25519 256 ea:58:1c:d3:b8:d5:7a:92:4c:a3:a5:8d:e2:7b:07:fd</remote.hostkey> -->\r
        </properties>\r
 \r
        <repositories>\r
index b208a62493e45a80f2f66b45c21ab6bcb56b85b2..1343c4a8756f13c8f8d77f17d2beba77d1cdf57b 100644 (file)
                                                        <arguments>\r
                                                                <argument>/command</argument>\r
                                                                <argument>"open ${remote.address} -hostkey=""${remote.hostkey}"""</argument>\r
-<!--                                                           <argument>"call ${remote.location}/stop-mediacube.sh 2>/dev/null"</argument> -->\r
-                                                               <argument>"call pcs resource disable mediacube_script"</argument>\r
+<!--                                                           <argument>"call pcs resource disable mediacube_script"</argument> -->\r
 <!--                                                           <argument>"call sleep 5"</argument> -->\r
                                                                <argument>"call rm -rf ${remote.location}"</argument>\r
                                                                <argument>"call mkdir ${remote.location}"</argument>\r
                                                                <argument>"mkdir log"</argument>\r
                                                                <argument>"call chmod +x mediacube"</argument>\r
 <!--                                                           <argument>"call pcs resource enable mediacube_script"</argument> -->\r
-<!--                                                           <argument>"call chmod +x stop-mediacube.sh"</argument> -->\r
-<!--                                                           <argument>"call chmod +x start-mediacube.sh"</argument> -->\r
-<!--                                                           <argument>"call ./start-mediacube.sh"</argument> -->\r
                                                                <argument>"exit"</argument>\r
                                                        </arguments>\r
                                                </configuration>\r
index 329c35f56431bd530c897d5e6b02c542b19d35b0..58d87ef9df58d92283f5f0369ff64cb5d0c7f068 100644 (file)
@@ -12,5 +12,5 @@
        <executor className="user.jobengine.server.steps.TranscodeSELENIOStep" maxConcurrent="4"/>\r
        <executor className="user.jobengine.server.steps.TSMBackupStep" maxConcurrent="4"/>\r
        <executor className="user.jobengine.server.steps.TSMRestoreStep" maxConcurrent="2"/>\r
-       <executor className="user.jobengine.server.steps.OutputPathAndNameSelectorStep" maxConcurrent="10"/>\r
+       <executor className="user.jobengine.server.steps.OutputPathAndNameSelectorStep" maxConcurrent="1"/>\r
 </executors>
\ No newline at end of file
index b6bdbf9427d40e2fd91b9170ca9f02e66866cba9..f7014c1859800f72994db3ec5fb29c91473d450b 100644 (file)
@@ -80,7 +80,7 @@
       ]\r
        },      \r
        {\r
-      "active": true,\r
+      "active": false,\r
          "name" : "OCTOPUS adatok szinkronizálása",\r
       "template": "sync-octopus.xml",\r
       "executeimmediate": true,\r
       ]\r
        },      \r
        {\r
-      "active": false,\r
+      "active": true,\r
          "name" : "OCTOPUS adatok teljes szinkronizálása",\r
       "template": "sync-octopus.xml",\r
       "executeimmediate": false,\r
-      "cronexpression": "#0/20 * * * * ?",\r
+      "cronexpression": "0/30 * * * * ?",\r
       "parameters": [\r
        {"name": "forceFull", "value": true, "type": "java.lang.Boolean"}\r
       ]\r
index 288eec446e69f601d4f2978c03208066792aaddb..63732372801ddf7c5cba43c642980acfe4c15d4c 100644 (file)
@@ -24,7 +24,6 @@ SET LOCAL_CONFIG_LOCATION=config
        "synchronize remote -filemask=config.xml" ^\r
        "cd .." ^\r
        "synchronize remote -filemask=scheduledjobs.json" ^\r
-       "call pcs resource restart mediacube_script" ^\r
        "exit"\r
        \r
        ECHO *** Completed ***\r
diff --git a/server/user.jobengine.executors/deploy-steps-to-bsh2.bat b/server/user.jobengine.executors/deploy-steps-to-bsh2.bat
new file mode 100644 (file)
index 0000000..288eec4
--- /dev/null
@@ -0,0 +1,33 @@
+@ECHO OFF\r
+\r
+SET REMOTE_HOST=10.10.1.27\r
+SET REMOTE_LOCATION=/opt/mediacube/configuration/executors\r
+SET REMOTE_SERVER_HOSTKEY=ssh-ed25519 256 ea:ab:67:70:79:63:2f:6a:34:81:48:e2:b9:dd:ca:d4\r
+SET REMOTE_SERVER_ADDRESS=scp://root:password@%REMOTE_HOST%\r
+SET LOCAL_STEPS_LOCATION=bin/user/jobengine/server/steps\r
+SET LOCAL_CONFIG_LOCATION=config\r
\r
+       ECHO *** Begin deploy steps to server %REMOTE_HOST% ***\r
+       ECHO --- Deploying\r
+       \r
+       WinSCP.com /command ^\r
+       "open %REMOTE_SERVER_ADDRESS% -hostkey=""%REMOTE_SERVER_HOSTKEY%"" -timeout=60" ^\r
+       "cd %REMOTE_LOCATION%" ^\r
+       "lcd %LOCAL_STEPS_LOCATION%" ^\r
+       "synchronize remote" ^\r
+       "lcd ..\" ^\r
+       "lcd ..\" ^\r
+       "lcd ..\" ^\r
+       "lcd ..\" ^\r
+       "lcd ..\" ^\r
+       "lcd %LOCAL_CONFIG_LOCATION%" ^\r
+       "synchronize remote -filemask=config.xml" ^\r
+       "cd .." ^\r
+       "synchronize remote -filemask=scheduledjobs.json" ^\r
+       "call pcs resource restart mediacube_script" ^\r
+       "exit"\r
+       \r
+       ECHO *** Completed ***\r
+@ECHO ON\r
+\r
\r
index 061d0b989c4dd466b8ebf661f01f89701f8a76a6..9e7a831cc8bb424fcacec6dcfecce3392a021905 100644 (file)
@@ -11,20 +11,21 @@ public class FakeStep extends JobStep {
        int count = 10;\r
 \r
        @StepEntry\r
-       public Object[] execute(long itemID, IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
-               try {\r
-                       for (int i = 0; i < count; i++) {\r
-                               if (!canContinue())\r
-                                       break;\r
-                               jobRuntime.incrementProgress((i + 1) * count);\r
-                               Thread.sleep(1000);\r
-                               logger.info(getMarker(), "Log markered");\r
-                               logger.info("Progress {}", jobRuntime.getProgress());\r
-                       }\r
-               } catch (Exception e) {\r
-                       logger.error(e.getMessage());\r
-               }\r
-               return new Object[] { itemID + 1 };\r
+       public Object[] execute(long itemID, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+               throw new Exception("42");\r
+               //              try {\r
+               //                      for (int i = 0; i < count; i++) {\r
+               //                              if (!canContinue())\r
+               //                                      break;\r
+               //                              jobRuntime.incrementProgress((i + 1) * count);\r
+               //                              Thread.sleep(1000);\r
+               //                              //logger.info(getMarker(), "Log markered");\r
+               //                              //logger.info("Progress {}", jobRuntime.getProgress());\r
+               //                      }\r
+               //              } catch (Exception e) {\r
+               //                      logger.error(e.getMessage());\r
+               //              }\r
+               //return null;\r
        }\r
 \r
 }\r
index 4753075aec9e61f7c6a067f9cacf7625bafd24e1..19a59c3525a5bf410a16f5c90238dff783d4d3fa 100644 (file)
@@ -27,12 +27,16 @@ public class SyncOCTOPUSDataStep extends JobStep {
        public Object[] execute(boolean forceFull, IJobEngine jobEngine, final IJobRuntime jobRuntime) {\r
                OctopusDataMiner dataMiner = null;\r
                try {\r
+                       jobRuntime.incrementProgress(10);\r
                        progressListener = createListener(jobRuntime);\r
                        dataMiner = new OctopusDataMiner();\r
                        dataMiner.addProgressListener(progressListener);\r
-                       dataMiner.run(forceFull);\r
+                       if (forceFull)\r
+                               dataMiner.execute();\r
+                       else\r
+                               dataMiner.run();\r
                } catch (Exception e) {\r
-                       logger.catching(e);\r
+                       logger.error(getMarker(), "Általános folyamat hiba. A rendszer hibaüzenete: {}", e.getMessage());\r
                        throw e;\r
                } finally {\r
                        if (dataMiner != null)\r
index a076568cfc279a24261de531729d2034e95d9d42..f5973b24182c20a6ad4bfa1a2b29dc6120efa6b7 100644 (file)
@@ -175,4 +175,8 @@ public class Job extends Syncable implements IJob, Comparable<IJob> {
                this.template = template;\r
        }\r
 \r
+       @Override\r
+       public String toString() {\r
+               return String.format("## %d - %s - %s ##", getId(), getName(), status);\r
+       }\r
 }\r
index 5f427ad4940a6be270f38ca48f31250d4e6c9904..7f25b32a788c68920a680af66d310ed8d7f606e8 100644 (file)
@@ -96,6 +96,28 @@ public class OctopusDataMiner implements Runnable {
                progressListenerList.add(IProgressEventListener.class, listener);\r
        }\r
 \r
+       private Map<Long, BasicDBList> buildFolderReferences(BasicDBList storyFolders) {\r
+               Map<Long, BasicDBList> result = new HashMap<>();\r
+               List<BasicDBObject> storyFolderList = NoSQLUtils.asList(storyFolders);\r
+               for (BasicDBObject storyFolder : storyFolderList) {\r
+                       long storyFolderId = storyFolder.getLong(IOctopusAPI.ID);\r
+                       List<BasicDBObject> stories = NoSQLUtils.asList(storyFolder, IOctopusAPI.STORIES);\r
+                       if (stories == null)\r
+                               continue;\r
+                       long position = 1;\r
+                       for (BasicDBObject story : stories) {\r
+                               long storyId = story.getLong(IOctopusAPI.ID);\r
+                               BasicDBList references = result.get(storyId);\r
+                               if (references == null) {\r
+                                       references = new BasicDBList();\r
+                                       result.put(storyId, references);\r
+                               }\r
+                               references.add(new BasicDBObject(IOctopusAPI.ID, storyFolderId).append(IOctopusAPI.POSITION, position++));\r
+                       }\r
+               }\r
+               return result;\r
+       }\r
+\r
        private Map<Long, BasicDBList> buildRundownReferences(BasicDBList rundowns) {\r
                Map<Long, BasicDBList> result = new HashMap<>();\r
                List<BasicDBObject> rundownsList = NoSQLUtils.asList(rundowns);\r
@@ -162,28 +184,6 @@ public class OctopusDataMiner implements Runnable {
                }\r
        }\r
 \r
-       private Map<Long, BasicDBList> buildFolderReferences(BasicDBList storyFolders) {\r
-               Map<Long, BasicDBList> result = new HashMap<>();\r
-               List<BasicDBObject> storyFolderList = NoSQLUtils.asList(storyFolders);\r
-               for (BasicDBObject storyFolder : storyFolderList) {\r
-                       long storyFolderId = storyFolder.getLong(IOctopusAPI.ID);\r
-                       List<BasicDBObject> stories = NoSQLUtils.asList(storyFolder, IOctopusAPI.STORIES);\r
-                       if (stories == null)\r
-                               continue;\r
-                       long position = 1;\r
-                       for (BasicDBObject story : stories) {\r
-                               long storyId = story.getLong(IOctopusAPI.ID);\r
-                               BasicDBList references = result.get(storyId);\r
-                               if (references == null) {\r
-                                       references = new BasicDBList();\r
-                                       result.put(storyId, references);\r
-                               }\r
-                               references.add(new BasicDBObject(IOctopusAPI.ID, storyFolderId).append(IOctopusAPI.POSITION, position++));\r
-                       }\r
-               }\r
-               return result;\r
-       }\r
-\r
        public void clear() {\r
                db.getCollection(RUNDOWN_COLLECTION).remove();\r
                db.getCollection(STORY_COLLECTION).remove();\r
@@ -277,69 +277,6 @@ public class OctopusDataMiner implements Runnable {
 \r
        }\r
 \r
-       private BasicDBList extractRelevantMOSObjects(BasicDBObject story) {\r
-               List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
-               if (mosObjects == null)\r
-                       return null;\r
-               BasicDBList result = null;\r
-               for (BasicDBObject mosObject : mosObjects) {\r
-                       if (!mosObject.containsKey(IOctopusAPI.MOS_ID))\r
-                               continue;\r
-                       String mosId = mosObject.getString(IOctopusAPI.MOS_ID);\r
-                       if (!IOctopusAPI.NEXIO_MOS.equals(mosId))\r
-                               continue;\r
-                       if (result == null)\r
-                               result = new BasicDBList();\r
-                       result.add(mosObject);\r
-               }\r
-               return result;\r
-       }\r
-\r
-       //      private boolean isModified(Date date, BasicDBObject object, String name) {\r
-       //              Date actualModifiedString = toDate(object, name);\r
-       //              if (actualModifiedString == null)\r
-       //                      logger.trace(ACTUAL_MODIFIED_STRING_IS_NULL);\r
-       //              int result = date.compareTo(actualModifiedString);\r
-       //              return result <= 0;\r
-       //      }\r
-\r
-       private String extractScriptContent(BasicDBObject story) {\r
-               BasicDBObject script = NoSQLUtils.asDBObject(story, IOctopusAPI.SCRIPT);\r
-               if (script == null || script.isEmpty())\r
-                       return null;\r
-\r
-               List<BasicDBObject> body = NoSQLUtils.asList(script, IOctopusAPI.BODY);\r
-               if (body == null || body.size() == 0)\r
-                       return null;\r
-\r
-               StringBuilder sb = new StringBuilder();\r
-\r
-               for (BasicDBObject bodyItem : body) {\r
-                       if (bodyItem.containsKey(IOctopusAPI.LABEL)) {\r
-                               sb.append(bodyItem.getString(IOctopusAPI.LABEL));\r
-                               sb.append(LINEFEED);\r
-                       }\r
-                       List<BasicDBObject> contents = NoSQLUtils.asList(bodyItem, IOctopusAPI.CONTENT);\r
-                       if (contents == null)\r
-                               continue;\r
-                       for (BasicDBObject content : contents) {\r
-                               sb.append(extractContent(content));\r
-                       }\r
-               }\r
-               return sb.length() == 0 ? null : sb.toString();\r
-       }\r
-\r
-       private void fireProgressEvent(ProgressEvent evt) {\r
-               logger.debug("Progress changed to " + evt.getProgress() + "%");\r
-               if (progressListenerList == null)\r
-                       return;\r
-               Object[] listeners = progressListenerList.getListenerList();\r
-               for (int i = 0; i < listeners.length; i += 2) {\r
-                       if (listeners[i] == IProgressEventListener.class)\r
-                               ((IProgressEventListener) listeners[i + 1]).progressChanged(evt);\r
-               }\r
-       }\r
-\r
        private String extractContent(BasicDBObject content) {\r
                String scriptContent = "";\r
                if (!content.containsKey(IOctopusAPI.TYPE))\r
@@ -380,6 +317,14 @@ public class OctopusDataMiner implements Runnable {
                return scriptContent;\r
        }\r
 \r
+       //      private boolean isModified(Date date, BasicDBObject object, String name) {\r
+       //              Date actualModifiedString = toDate(object, name);\r
+       //              if (actualModifiedString == null)\r
+       //                      logger.trace(ACTUAL_MODIFIED_STRING_IS_NULL);\r
+       //              int result = date.compareTo(actualModifiedString);\r
+       //              return result <= 0;\r
+       //      }\r
+\r
        private String extractCustomColumnValue(String columnName, BasicDBObject story) {\r
                List<BasicDBObject> customColumns = NoSQLUtils.asList(story, IOctopusAPI.CUSTOM_COLUMNS);\r
                if (customColumns == null)\r
@@ -401,6 +346,61 @@ public class OctopusDataMiner implements Runnable {
                return result;\r
        }\r
 \r
+       private BasicDBList extractRelevantMOSObjects(BasicDBObject story) {\r
+               List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
+               if (mosObjects == null)\r
+                       return null;\r
+               BasicDBList result = null;\r
+               for (BasicDBObject mosObject : mosObjects) {\r
+                       if (!mosObject.containsKey(IOctopusAPI.MOS_ID))\r
+                               continue;\r
+                       String mosId = mosObject.getString(IOctopusAPI.MOS_ID);\r
+                       if (!IOctopusAPI.NEXIO_MOS.equals(mosId))\r
+                               continue;\r
+                       if (result == null)\r
+                               result = new BasicDBList();\r
+                       result.add(mosObject);\r
+               }\r
+               return result;\r
+       }\r
+\r
+       private String extractScriptContent(BasicDBObject story) {\r
+               BasicDBObject script = NoSQLUtils.asDBObject(story, IOctopusAPI.SCRIPT);\r
+               if (script == null || script.isEmpty())\r
+                       return null;\r
+\r
+               List<BasicDBObject> body = NoSQLUtils.asList(script, IOctopusAPI.BODY);\r
+               if (body == null || body.size() == 0)\r
+                       return null;\r
+\r
+               StringBuilder sb = new StringBuilder();\r
+\r
+               for (BasicDBObject bodyItem : body) {\r
+                       if (bodyItem.containsKey(IOctopusAPI.LABEL)) {\r
+                               sb.append(bodyItem.getString(IOctopusAPI.LABEL));\r
+                               sb.append(LINEFEED);\r
+                       }\r
+                       List<BasicDBObject> contents = NoSQLUtils.asList(bodyItem, IOctopusAPI.CONTENT);\r
+                       if (contents == null)\r
+                               continue;\r
+                       for (BasicDBObject content : contents) {\r
+                               sb.append(extractContent(content));\r
+                       }\r
+               }\r
+               return sb.length() == 0 ? null : sb.toString();\r
+       }\r
+\r
+       private void fireProgressEvent(ProgressEvent evt) {\r
+               logger.debug("Progress changed to " + evt.getProgress() + "%");\r
+               if (progressListenerList == null)\r
+                       return;\r
+               Object[] listeners = progressListenerList.getListenerList();\r
+               for (int i = 0; i < listeners.length; i += 2) {\r
+                       if (listeners[i] == IProgressEventListener.class)\r
+                               ((IProgressEventListener) listeners[i + 1]).progressChanged(evt);\r
+               }\r
+       }\r
+\r
        private Date getLastUpdateTime() {\r
                Date result = null;\r
                DBCollection collection = db.getCollection(IOctopusAPI.TIME_COLLECTION_NAME);\r
@@ -578,7 +578,7 @@ public class OctopusDataMiner implements Runnable {
                List<BasicDBObject> rundownsList = NoSQLUtils.asList(rundowns);\r
                int idx = 1;\r
                for (BasicDBObject rundown : rundownsList) {\r
-                       //logger.debug(CHECKING_RUNDOWN, rundown.getLong(ID), rundownsList.size(), idx);\r
+                       logger.info(CHECKING_RUNDOWN, rundown.getLong(IOctopusAPI.ID), rundownsList.size(), idx);\r
                        storeRundown(rundown, lastUpdateTime);\r
                        int progress = idx * 50 / rundownsList.size();\r
                        if (progress - progressEvent.getProgress() > 0) {\r
index 80e0bcc7267979fd81d2433e7cc77cb399cadeeb..eb4ba4c01f573466982612a0034c193baf124bbe 100644 (file)
@@ -7,7 +7,6 @@ import java.io.FileInputStream;
 import java.lang.invoke.MethodHandles;\r
 import java.net.URL;\r
 import java.sql.SQLException;\r
-import java.util.HashSet;\r
 import java.util.List;\r
 import java.util.Properties;\r
 \r
@@ -16,12 +15,7 @@ import org.junit.Test;
 \r
 import com.ibm.nosql.json.api.BasicDBList;\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.DBObject;\r
-import com.ibm.nosql.json.api.NoSQLClient;\r
-import com.ibm.nosql.json.api.QueryBuilder;\r
-import com.ibm.nosql.json.api.WriteResult;\r
 \r
 import user.commons.octopus.IOctopusAPI;\r
 import user.commons.octopus.OctopusAPI;\r
@@ -53,50 +47,6 @@ public class OctopusDataMinerTest {
 \r
        private OctopusDataMiner sut;\r
 \r
-       @Test\r
-       public void deleteOrphanStories() {\r
-               try {\r
-                       DB db = NoSQLClient.getDB("jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;", "db2admin", "password", "test");\r
-                       DBCollection collection = db.getCollection("testCollection");\r
-\r
-                       long id1 = 1, id2 = 2, id3 = 3, id4 = 4, id5 = 5;\r
-\r
-                       BasicDBObject obj1 = new BasicDBObject("id", id1);\r
-                       BasicDBObject obj2 = new BasicDBObject("id", id2);\r
-                       BasicDBObject obj3 = new BasicDBObject("id", id3);\r
-                       BasicDBObject obj4 = new BasicDBObject("id", id4);\r
-                       BasicDBObject obj5 = new BasicDBObject("id", id5);\r
-\r
-                       collection.save(obj1);\r
-                       collection.save(obj2);\r
-                       collection.save(obj3);\r
-                       collection.save(obj4);\r
-                       collection.save(obj5);\r
-                       System.out.println("collection count " + collection.count());\r
-\r
-                       HashSet<Long> storyIDs = new HashSet<>();\r
-                       // storyIDs.add(tesztid);\r
-                       storyIDs.add(id1);\r
-                       storyIDs.add(id2);\r
-                       BasicDBObject query = (BasicDBObject) QueryBuilder.start().put("id").notIn(storyIDs.toArray()).get();\r
-\r
-                       /*\r
-                        * DBCursor cursor = collection.find(query); while\r
-                        * (cursor.hasNext()) { DBObject obj = cursor.next();\r
-                        * System.out.println(obj); collection.remove(obj); }\r
-                        */\r
-\r
-                       WriteResult res = collection.remove(query);\r
-                       System.out.println("collection count " + collection.count());\r
-                       System.out.println(res.getN());\r
-                       // BasicDBObject query = (BasicDBObject)\r
-                       // QueryBuilder.start().put(ID).notIn(Arrays.asList(storyIDs)).get();\r
-\r
-               } catch (Exception e) {\r
-                       System.out.println(e);\r
-               }\r
-       }\r
-\r
        @Test\r
        public void integrationExecute() {\r
                // fixture\r
index 3e3577e49fafa3c9a1e1a3ad0399afacedb9ffe1..4cdc84cb88449a02613efdbd6f317d068f5aca1c 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.4</label>\r
+                                                               <label style="color:#e3e3e3;font-size:20px;font-weight:bold">MediaCube v2.1.5</label>\r
                                                        </div>\r
                                                </west>\r
                                                <center border="0">\r
index 5b0d9c2aa17d57796bf6081f4cedebcf10d88d47..e08b3281ddac34d44e8306e44a3124e85f039898 100644 (file)
@@ -68,7 +68,7 @@ public class JobEngine implements IJobEngine {
                                        while (!messageQueue.isEmpty()) {
                                                IJobMessage message = messageQueue.poll(50, TimeUnit.MILLISECONDS);
                                                if (message != null) {
-                                                       logger.info("Processing {}", message.getClass());
+                                                       //logger.debug("Processing {}", message.getClass());
                                                        message.process(JobEngine.this);
                                                }
                                        }
@@ -100,8 +100,7 @@ public class JobEngine implements IJobEngine {
 
                        while (!shutdown) {
                                try {
-                                       IJobRuntime jobRuntime = null;
-                                       jobRuntime = runQueue.poll(50, TimeUnit.MILLISECONDS);
+                                       IJobRuntime jobRuntime = runQueue.poll(50, TimeUnit.MILLISECONDS);
                                        if (jobRuntime != null) {
                                                //logger.info("Begin processing job {}, RC count {}", jobRuntime.getId(), runQueue.size());
                                                while (jobRuntime.hasNextInstruction() && jobRuntime.isRunable()) {
@@ -145,8 +144,6 @@ public class JobEngine implements IJobEngine {
        }
 
        private volatile boolean isRunning;
-
-       private volatile boolean shutdown = false;
        private final BlockingQueue<IJobRuntime> runQueue;
        private final BlockingQueue<IJobMessage> messageQueue;
        private final List<JobTemplate> jobTemplates;
@@ -210,27 +207,36 @@ public class JobEngine implements IJobEngine {
 
        @Override
        public void addToExecutorQueue(IJobRuntime jobRuntime) {
-               Object typeName = jobRuntime.popFromStack();
-               //              logger.info("addToExecutorQueue: " + typeName);
-               if (typeName != null && String.class.equals(typeName.getClass())) {
-                       for (IJobStepExecutor executor : executors.values()) {
-                               Class<? extends IJobStep> clazz = executor.getStepClass();
-                               if (clazz != null && clazz.getName().equals(typeName)) {
-                                       executor.submit(jobRuntime);
-                                       break;
-                               }
-                       }
-               } else {
-                       logger.error("Executor type name is not correcty defined.");
+               try {
+                       Object typeName = jobRuntime.popFromStack();
+                       if (typeName == null)
+                               throw new Exception(jobRuntime.toString() + " illegal execution state detected: executor name is null.");
+                       String executorName = String.valueOf(typeName);
+                       if (!executors.containsKey(executorName))
+                               throw new Exception(jobRuntime.toString() + " executor is unavailable: " + executorName);
+                       executors.get(executorName).submit(jobRuntime);
+               } catch (Exception e) {
+                       logger.catching(e);
+                       suspendJob(e, jobRuntime);
                }
+               //              logger.info("addToExecutorQueue: " + typeName);
+               //              if (typeName != null && String.class.equals(typeName.getClass())) {
+               //                      for (IJobStepExecutor executor : executors.values()) {
+               //                              Class<? extends IJobStep> clazz = executor.getStepClass();
+               //                              if (clazz != null && clazz.getName().equals(typeName)) {
+               //                                      executor.submit(jobRuntime);
+               //                                      break;
+               //                              }
+               //                      }
+               //              } else {
+               //                      logger.error("Executor type name is not correcty defined.");
+               //              }
        }
 
        @Override
        public void addToRunQueue(IJobRuntime jobRuntime) {
                try {
-
-                       //if (jobRuntime.getIp() == 0)
-                       logger.info("Adding Job {}-{} to run queue {}", jobRuntime.getId(), jobRuntime.getName(), jobRuntime.getProgram());
+                       logger.info("{} ading to run queue", jobRuntime);
                        runQueue.put(jobRuntime);
                } catch (Exception e) {
                        logger.error(e.getMessage(), e);
@@ -668,7 +674,7 @@ public class JobEngine implements IJobEngine {
                if (submittedJobs.containsKey(id)) {
                        IJobRuntime jobRuntime = submittedJobs.remove(id);
                        fireJobChangedEvent(new JobChangedEvent(jobRuntime, SignalType.DELETE));
-                       logger.info("Removed from VM {}>", jobRuntime);
+                       logger.info("--- {} removed from VM", jobRuntime);
                }
        }
 
@@ -679,6 +685,16 @@ public class JobEngine implements IJobEngine {
                }
        }
 
+       private void removeSuspended() {
+               List<Long> removeId = new ArrayList<>();
+               for (Long id : submittedJobs.keySet()) {
+                       if (submittedJobs.get(id).getStatus() == JobStatus.SUSPENDED)
+                               removeId.add(id);
+               }
+               for (Long id : removeId)
+                       submittedJobs.remove(id);
+       }
+
        /**
         * Job prioritasa megvaltozott. Job main queue-ban es a JobStepExecutorok soraiban is ujra kell rendezni a jobokat. Az ujrarendezes a put-nal is megy
         * automatikusan, mivel eltero prioritasu jobot dobhatnak be vagy default prioritasut a korabban atrendezett listaba.
@@ -724,7 +740,6 @@ public class JobEngine implements IJobEngine {
 
        @Override
        public void shutdown() {
-               shutdown = true;
                if (schedulerService != null)
                        schedulerService.shutdown();
 
@@ -750,7 +765,7 @@ public class JobEngine implements IJobEngine {
                }
                for (IJobStepExecutor executor : executors.values()) {
                        logger.info("Stopping executor {}", executor.getStepClass());
-                       executor.shutdown();
+                       executor.waitShutdown();
                }
 
        }
@@ -758,6 +773,8 @@ public class JobEngine implements IJobEngine {
        @Override
        public void startup() {
                try {
+                       removeSuspended();
+
                        loadPrograms();
                        loadExecutors();
 
@@ -789,7 +806,7 @@ public class JobEngine implements IJobEngine {
                runtime.add();
                addToRunQueue(runtime);
                submittedJobs.put(runtime.getId(), runtime);
-               logger.info("< Added to VM {}", runtime);
+               logger.info("+++ {} added to VM ", runtime);
        }
 
        IJobRuntime submit(IProgram program, IJobStatusChangedListener listener) {
index 4ccf2d88c1201c69fa321caa499e00aa770a595b..12b312c19cef2d654415073e859da6333f37ce85 100644 (file)
@@ -523,9 +523,4 @@ public class JobRuntime extends Job implements IJobRuntime {
                return job;
        }
 
-       @Override
-       public String toString() {
-               return String.format("#%s - %d - %s#", getName(), getId(), status);
-       }
-
 }
index 257909053b059f78a31dbcdabfe8f61902604d59..930f5def6be17eda9dad631b9d0859a2dea873c0 100644 (file)
@@ -17,7 +17,7 @@ import user.jobengine.server.steps.IJobStep;
 
 public class JobStepExecutor implements IJobStepExecutor {
        private class Worker extends Thread {
-               private boolean shutdown = false;
+               private volatile boolean shutdown = false;
 
                @Override
                public void run() {
@@ -31,30 +31,33 @@ public class JobStepExecutor implements IJobStepExecutor {
                        while (true) {
                                try {
                                        jobRuntime = queue.poll(50, TimeUnit.MILLISECONDS);
-                                       if (jobRuntime != null) {
-                                               if (shutdown) {
-                                                       jobEngine.sendMessage(new JobStepSkippedMessage(jobRuntime.getId()));
-                                                       continue;
-                                               }
-                                               Object[] inputs = jobEngine.getInputsFromStack(jobRuntime);
-                                               Object[] outputs = null;
-                                               jobRuntime.setStatus(JobStatus.EXECUTING);
-                                               jobRuntime.NotifyUpdate();
-                                               step = createStepObject();
-                                               if (step == null)
-                                                       throw new Exception("Step object is null");
-                                               logger.info("Executing {}", jobRuntime);
-                                               jobRuntime.IncrementPriority();
-
-                                               //                                              logger.info("Executor thread name is {} id is {}", Thread.currentThread().getName(),
-                                               //                                                              Thread.currentThread().getId());
-
-                                               outputs = step.run(jobEngine, jobRuntime, inputs);
-                                               jobEngine.sendMessage(new JobStepCompletedMessage(jobRuntime.getId(), outputs));
-                                       } else {
-                                               if (shutdown)
-                                                       break;
+                                       if (jobRuntime == null && shutdown) {
+                                               logger.trace("Shutting down");
+                                               break;
                                        }
+                                       if (jobRuntime == null)
+                                               continue;
+                                       if (shutdown) {
+                                               logger.trace("{} skipping by shutdown", jobRuntime);
+                                               jobEngine.sendMessage(new JobStepSkippedMessage(jobRuntime.getId()));
+                                               continue;
+                                       }
+                                       Object[] inputs = jobEngine.getInputsFromStack(jobRuntime);
+                                       Object[] outputs = null;
+                                       jobRuntime.setStatus(JobStatus.EXECUTING);
+                                       jobRuntime.NotifyUpdate();
+                                       step = createStepObject();
+                                       if (step == null)
+                                               throw new Exception("Step object is null");
+                                       logger.info("{} executing", jobRuntime);
+                                       jobRuntime.IncrementPriority();
+
+                                       //                                              logger.info("Executor thread name is {} id is {}", Thread.currentThread().getName(),
+                                       //                                                              Thread.currentThread().getId());
+
+                                       outputs = step.run(jobEngine, jobRuntime, inputs);
+                                       jobEngine.sendMessage(new JobStepCompletedMessage(jobRuntime.getId(), outputs));
+
                                } catch (Exception e) {
                                        logger.error("Error in {}", jobRuntime);
                                        Throwable t = e.getCause() == null ? e : e.getCause();
index f534b54ee5282273e1451d00632d80ba07648b59..31cce6a91a094ec2b277aa44769381e2a09949f1 100644 (file)
@@ -11,6 +11,7 @@ public class SkipExecutingAction implements IJobStatusAction {
                jobRuntime.decrementInstructionPointer();\r
                jobRuntime.setStatus(JobStatus.RUNABLE);\r
                jobRuntime.NotifyUpdate();\r
+               jobRuntime.restoreStack();\r
                jobEngine.addToRunQueue(jobRuntime);\r
        }\r
 }\r
index 84131cf4258a305dfcf0d9189fa6a90828f2bc5e..a030bcdddb23a5a340656d684923d3d03cef00bc 100644 (file)
@@ -30,7 +30,7 @@ public class StatusMachine implements IStatusMachine {
                StatusMachineAction machineAction = new StatusMachineAction(jobAction, jobRuntime.getStatus());\r
                if (actions.containsKey(machineAction)) {\r
                        IJobStatusAction action = actions.get(machineAction);\r
-                       logger.debug("New status at {} ({} -> {})", jobRuntime, jobRuntime.getStatus(), jobAction);\r
+                       logger.debug("{} status change {} -> {}", jobRuntime, jobRuntime.getStatus(), jobAction);\r
                        action.processAction(jobEngine, jobRuntime);\r
                }\r
 \r
index 2c3eff857ad3634049590dbe338cede400156821..b47e93d72baf4937e6a47100448a8614b624c69f 100644 (file)
@@ -34,7 +34,7 @@ public class ScheduledJob extends NativeJob { //implements InterruptableJob{
        public void doJob() {\r
                try {\r
                        IJobRuntime runtime = jobEngine.submit(templateName, jobName, jobParameters); //new JobStart(JobStartType.IMMEDIATE)\r
-                       logger.info("Scheduled job start completed for {}", runtime);\r
+                       //                      logger.info("{} scheduled", runtime);\r
                } catch (Exception e) {\r
                        logger.error(e);\r
                }\r
index 456c0bb7ecc52c21602b5b5189dabc056a6bee09..f8005d39d3869290bbcda3feec25c74ae76b2059 100644 (file)
@@ -186,7 +186,7 @@ public class SchedulerService {
                jobDataMap.put(ScheduledJob.JOB_SERVICE_INSTANCE, job);\r
                JobDetail jobDetail = JobBuilder.newJob(ScheduledJob.class).withIdentity(jobID).setJobData(jobDataMap).build();\r
                scheduler.addJob(jobDetail, false, true);\r
-               logger.info("Job {} is successfully registered in scheduler", job);\r
+               logger.info("{} is registered in scheduler", job);\r
        }\r
 \r
        public void schedule(ScheduledJob job) {\r