{\r
"title": "Archiválás",\r
- "active": false,\r
+ "active": true,\r
"startInTray": false,\r
"enableCustomMetadataId": true,\r
"player": {\r
"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
{\r
"title": "Stúdió",\r
- "active": false,\r
+ "active": true,\r
"startInTray": false,\r
"enableCustomMetadataId": true,\r
"filter": "avi",\r
<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
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
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
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
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
// 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
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
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
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
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
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
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
// \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
// \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
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
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
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
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
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
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
]\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
</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
<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
<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
<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
]\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
"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
--- /dev/null
+@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
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
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
this.template = template;\r
}\r
\r
+ @Override\r
+ public String toString() {\r
+ return String.format("## %d - %s - %s ##", getId(), getName(), status);\r
+ }\r
}\r
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
}\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
\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
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
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
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
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
\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
\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
<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
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);
}
}
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()) {
}
private volatile boolean isRunning;
-
- private volatile boolean shutdown = false;
private final BlockingQueue<IJobRuntime> runQueue;
private final BlockingQueue<IJobMessage> messageQueue;
private final List<JobTemplate> jobTemplates;
@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);
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);
}
}
}
}
+ 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.
@Override
public void shutdown() {
- shutdown = true;
if (schedulerService != null)
schedulerService.shutdown();
}
for (IJobStepExecutor executor : executors.values()) {
logger.info("Stopping executor {}", executor.getStepClass());
- executor.shutdown();
+ executor.waitShutdown();
}
}
@Override
public void startup() {
try {
+ removeSuspended();
+
loadPrograms();
loadExecutors();
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) {
return job;
}
- @Override
- public String toString() {
- return String.format("#%s - %d - %s#", getName(), getId(), status);
- }
-
}
public class JobStepExecutor implements IJobStepExecutor {
private class Worker extends Thread {
- private boolean shutdown = false;
+ private volatile boolean shutdown = false;
@Override
public void run() {
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();
jobRuntime.decrementInstructionPointer();\r
jobRuntime.setStatus(JobStatus.RUNABLE);\r
jobRuntime.NotifyUpdate();\r
+ jobRuntime.restoreStack();\r
jobEngine.addToRunQueue(jobRuntime);\r
}\r
}\r
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
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
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