octopusIDSelector1.Configuration = new OctopusConfiguration() { Address = settings.getAddress(), Password = settings.getPassword(), UserName = settings.getUserName(), Timeout = settings.getTimeout() };\r
}\r
\r
- private void IdChangedEvent(String id) {\r
- this.id = id;\r
+ private void IdChangedEvent(string id, string name) {\r
+ //TODO\r
+ this.id = name;\r
buttonRendben.Enabled = !String.IsNullOrEmpty(id);\r
}\r
\r
{\r
"$type": "OctopusMetadata",\r
"server": {\r
- "address": "http://10.10.1.28/services/rest/octopus/",\r
+ "address": "http://10.10.1.27/services/rest/octopus/",\r
"timeout": 1000\r
}\r
},\r
{\r
"$type": "MediaCubeMetadata",\r
"server": {\r
- "address": "http://10.10.1.28/services/rest/jobengine/",\r
+ "address": "http://10.10.1.27/services/rest/jobengine/",\r
"timeout": 1000\r
}\r
}\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();\r
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();\r
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();\r
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();\r
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();\r
this.groupSource = new System.Windows.Forms.GroupBox();\r
this.dataGridSource = new System.Windows.Forms.DataGridView();\r
this.bindingSource = new System.Windows.Forms.BindingSource(this.components);\r
this.tabControl2 = new System.Windows.Forms.TabControl();\r
this.tabPage1 = new System.Windows.Forms.TabPage();\r
this.dataGridJobs = new System.Windows.Forms.DataGridView();\r
- this.columnLabel = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnID = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnProgress = new Maestro.Commons.DataGridViewProgressColumn();\r
- this.columnStarted = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnFinished = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnInput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnOutput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
- this.columnKillDate = 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.dataGridMessages = new System.Windows.Forms.DataGridView();\r
this.Level = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
this.messageDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
this.systemMessageBindingSource = new System.Windows.Forms.BindingSource(this.components);\r
- this.columnProgress = new Maestro.Commons.DataGridViewProgressColumn();\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.columnStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+ this.columnStarted = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+ this.columnFinished = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+ this.columnInput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+ this.columnOutput = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
+ this.columnKillDate = new System.Windows.Forms.DataGridViewTextBoxColumn();\r
this.groupSource.SuspendLayout();\r
((System.ComponentModel.ISupportInitialize)(this.dataGridSource)).BeginInit();\r
((System.ComponentModel.ISupportInitialize)(this.bindingSource)).BeginInit();\r
this.dataGridJobs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {\r
this.columnLabel,\r
this.columnID,\r
+ this.Progress,\r
this.columnStatus,\r
- this.columnProgress,\r
this.columnStarted,\r
this.columnFinished,\r
this.columnInput,\r
this.columnOutput,\r
this.columnKillDate});\r
this.dataGridJobs.DataSource = this.bindingSourceJobs;\r
- dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;\r
+ dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;\r
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window;\r
dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText;\r
+ dataGridViewCellStyle7.NullValue = null;\r
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.Color.Gainsboro;\r
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.Color.Black;\r
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;\r
this.dataGridJobs.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridJobs_CellEnter);\r
this.dataGridJobs.MouseClick += new System.Windows.Forms.MouseEventHandler(this.dataGridJobs_MouseClick);\r
// \r
- // columnLabel\r
- // \r
- this.columnLabel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnLabel.DataPropertyName = "Label";\r
- this.columnLabel.Frozen = true;\r
- this.columnLabel.HeaderText = "Label";\r
- this.columnLabel.Name = "columnLabel";\r
- this.columnLabel.Width = 63;\r
- // \r
- // columnID\r
- // \r
- this.columnID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnID.DataPropertyName = "ID";\r
- dataGridViewCellStyle5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
- this.columnID.DefaultCellStyle = dataGridViewCellStyle5;\r
- this.columnID.Frozen = true;\r
- this.columnID.HeaderText = "ID";\r
- this.columnID.Name = "columnID";\r
- this.columnID.Width = 44;\r
- // \r
- // columnStatus\r
- // \r
- this.columnStatus.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnStatus.DataPropertyName = "Status";\r
- dataGridViewCellStyle6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
- this.columnStatus.DefaultCellStyle = dataGridViewCellStyle6;\r
- this.columnStatus.Frozen = true;\r
- this.columnStatus.HeaderText = "Status";\r
- this.columnStatus.Name = "columnStatus";\r
- this.columnStatus.Width = 66;\r
- // \r
- // columnProgress\r
- // \r
- this.columnProgress.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;\r
- this.columnProgress.DataPropertyName = "Progress";\r
- dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;\r
- dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
- dataGridViewCellStyle7.NullValue = null;\r
- this.columnProgress.DefaultCellStyle = dataGridViewCellStyle7;\r
- this.columnProgress.HeaderText = "Progress";\r
- this.columnProgress.Name = "columnProgress";\r
- this.columnProgress.Resizable = System.Windows.Forms.DataGridViewTriState.True;\r
- this.columnProgress.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;\r
- this.columnProgress.Width = 200;\r
- // \r
- // columnStarted\r
- // \r
- this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnStarted.DataPropertyName = "Started";\r
- this.columnStarted.HeaderText = "Started";\r
- this.columnStarted.Name = "columnStarted";\r
- this.columnStarted.Width = 71;\r
- // \r
- // columnFinished\r
- // \r
- this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnFinished.DataPropertyName = "Finished";\r
- this.columnFinished.HeaderText = "Finished";\r
- this.columnFinished.Name = "columnFinished";\r
- this.columnFinished.Width = 79;\r
- // \r
- // columnInput\r
- // \r
- this.columnInput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnInput.DataPropertyName = "Input";\r
- this.columnInput.HeaderText = "Input";\r
- this.columnInput.Name = "columnInput";\r
- this.columnInput.Width = 59;\r
- // \r
- // columnOutput\r
- // \r
- this.columnOutput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnOutput.DataPropertyName = "Output";\r
- this.columnOutput.HeaderText = "Output";\r
- this.columnOutput.Name = "columnOutput";\r
- this.columnOutput.Width = 68;\r
- // \r
- // columnKillDate\r
- // \r
- this.columnKillDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
- this.columnKillDate.DataPropertyName = "KillDate";\r
- this.columnKillDate.HeaderText = "KillDate";\r
- this.columnKillDate.Name = "columnKillDate";\r
- this.columnKillDate.Width = 75;\r
- // \r
// tabPage2\r
// \r
this.tabPage2.Controls.Add(this.dataGridMessages);\r
// \r
this.systemMessageBindingSource.DataSource = typeof(Maestro.SystemMessage);\r
// \r
- // columnProgress\r
- // \r
- this.columnProgress.Name = "columnProgress";\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
+ this.columnLabel.DataPropertyName = "Label";\r
+ this.columnLabel.HeaderText = "Label";\r
+ this.columnLabel.Name = "columnLabel";\r
+ this.columnLabel.Width = 63;\r
+ // \r
+ // columnID\r
+ // \r
+ this.columnID.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnID.DataPropertyName = "ID";\r
+ dataGridViewCellStyle5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.columnID.DefaultCellStyle = dataGridViewCellStyle5;\r
+ this.columnID.HeaderText = "ID";\r
+ this.columnID.Name = "columnID";\r
+ this.columnID.Width = 44;\r
+ // \r
+ // Progress\r
+ // \r
+ this.Progress.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;\r
+ this.Progress.DataPropertyName = "Progress";\r
+ this.Progress.HeaderText = "";\r
+ this.Progress.MinimumWidth = 100;\r
+ this.Progress.Name = "Progress";\r
+ // \r
+ // columnStatus\r
+ // \r
+ this.columnStatus.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnStatus.DataPropertyName = "Status";\r
+ dataGridViewCellStyle6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.columnStatus.DefaultCellStyle = dataGridViewCellStyle6;\r
+ this.columnStatus.HeaderText = "Status";\r
+ this.columnStatus.Name = "columnStatus";\r
+ this.columnStatus.Width = 66;\r
+ // \r
+ // columnStarted\r
+ // \r
+ this.columnStarted.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnStarted.DataPropertyName = "Started";\r
+ this.columnStarted.HeaderText = "Started";\r
+ this.columnStarted.Name = "columnStarted";\r
+ this.columnStarted.Width = 71;\r
+ // \r
+ // columnFinished\r
+ // \r
+ this.columnFinished.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnFinished.DataPropertyName = "Finished";\r
+ this.columnFinished.HeaderText = "Finished";\r
+ this.columnFinished.Name = "columnFinished";\r
+ this.columnFinished.Width = 79;\r
+ // \r
+ // columnInput\r
+ // \r
+ this.columnInput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnInput.DataPropertyName = "Input";\r
+ this.columnInput.HeaderText = "Input";\r
+ this.columnInput.Name = "columnInput";\r
+ this.columnInput.Width = 59;\r
+ // \r
+ // columnOutput\r
+ // \r
+ this.columnOutput.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnOutput.DataPropertyName = "Output";\r
+ this.columnOutput.HeaderText = "Output";\r
+ this.columnOutput.Name = "columnOutput";\r
+ this.columnOutput.Width = 68;\r
+ // \r
+ // columnKillDate\r
+ // \r
+ this.columnKillDate.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;\r
+ this.columnKillDate.DataPropertyName = "KillDate";\r
+ this.columnKillDate.HeaderText = "KillDate";\r
+ this.columnKillDate.Name = "columnKillDate";\r
+ this.columnKillDate.Width = 75;\r
+ // \r
// MaestroForm\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
private System.Windows.Forms.DataGridViewTextBoxColumn timeDataGridViewTextBoxColumn;\r
private System.Windows.Forms.DataGridViewTextBoxColumn Level;\r
private System.Windows.Forms.DataGridViewTextBoxColumn messageDataGridViewTextBoxColumn;\r
+ private System.Windows.Forms.Label lbSourceTitle;\r
private System.Windows.Forms.DataGridViewTextBoxColumn columnLabel;\r
private System.Windows.Forms.DataGridViewTextBoxColumn columnID;\r
+ private Commons.DataGridViewProgressColumn Progress;\r
private System.Windows.Forms.DataGridViewTextBoxColumn columnStatus;\r
- private Commons.DataGridViewProgressColumn columnProgress;\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.Label lbSourceTitle;\r
}\r
}\r
\r
\r
private ArchiveMetadata GetOctopusMetadata() {\r
ArchiveMetadata result = new ArchiveMetadata();\r
- string id = textSelectedMetadata.Text;\r
+ string id = SelectedMetadata?.VariantID.ToString();\r
+ if (String.IsNullOrEmpty(id))\r
+ return null;\r
OctopusAPI api = octopusIDSelector.GetClient();\r
IEnumerable<Story> storyEnum = api.GetStoriesById(id);\r
if (storyEnum != null)\r
return result;\r
}\r
\r
- private void OnOctopusIDSelected(string selectedID) {\r
+ private void OnOctopusIDSelected(string id, string name) {\r
trafficIDSelector.ClearSelection();\r
archiveMetadata = null;\r
- if (selectedID == null) {\r
+ if (id == null) {\r
SelectedMetadata = null;\r
return;\r
}\r
SelectedMetadata = new MetadataInfo() {\r
Kind = MetadataType.OctopusStory,\r
Tooltip = "Story ID",\r
- ID = selectedID\r
+ ID = name,\r
+ VariantID = int.Parse(id)\r
};\r
UpdateEditArchiveMetadataEnabled();\r
UpdateDefineSegmentEnabled();\r
}\r
\r
private void UpdateEditArchiveMetadataEnabled() {\r
- ctxiModifyArchiveMetadata.Enabled = !String.IsNullOrEmpty(textSelectedMetadata.Text);\r
+// ctxiModifyArchiveMetadata.Enabled = !String.IsNullOrEmpty(textSelectedMetadata.Text);\r
+ ctxiModifyArchiveMetadata.Enabled = true;\r
}\r
\r
private void UpdateDefineSegmentEnabled() {\r
if (list.Count == 1) {\r
UpdateEditArchiveMetadataEnabled();\r
textSelectedMetadata.Text = list[0].ID;\r
- octopusMetadataSelected?.Invoke(list[0].ID);\r
+ octopusMetadataSelected?.Invoke(list[0].ID, null);\r
} else {\r
OctopusLookupResultSelector box = new OctopusLookupResultSelector(list, octopusMetadataSelected);\r
box.ShowDialog();\r
if (list.Count == 1) {\r
UpdateEditArchiveMetadataEnabled();\r
textSelectedMetadata.Text = list[0].ID;\r
- octopusMetadataSelected?.Invoke(list[0].ID);\r
+ octopusMetadataSelected?.Invoke(list[0].ID, null);\r
//octopusIDSelector.IDSelectedFromOutside(list[0].ID);\r
return;\r
}\r
UpdateDefineSegmentEnabled();\r
UpdateEditArchiveMetadataEnabled();\r
UpdateLookupMetadataEnabled();\r
+ archiveMetadata = null;\r
}\r
\r
private void ChangeProcessButtonsState(bool enabled) {\r
columnFinished.HeaderText = StringResources.BEFEJEZES;\r
columnInput.HeaderText = StringResources.FORRAS;\r
columnOutput.HeaderText = StringResources.CEL;\r
- columnProgress.HeaderText = StringResources.ALLAPOT;\r
+ //columnProgress.HeaderText = StringResources.ALLAPOT;\r
columnStatus.HeaderText = StringResources.STATUSZ;\r
columnLabel.HeaderText = StringResources.CIM;\r
ctxiDefineSegments.Text = StringResources.SZEGMENS_LETREHOZASA;\r
<metadata name="columnID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
<value>True</value>\r
</metadata>\r
+ <metadata name="Progress.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+ <value>True</value>\r
+ </metadata>\r
<metadata name="columnStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
<value>True</value>\r
</metadata>\r
};\r
if (d["script"] != null)\r
r.Script = d["script"].ToString();\r
+ //script_content\r
if (d["story_folder"] != null)\r
r.StoryFolders = GetStoryFolderFromStory(d).ToArray();\r
if (d["rundown"] != null)\r
using System.Runtime.InteropServices;\r
\r
namespace OctopusClient {\r
- public delegate void OnSelectedIDChanged(string ID);\r
+ public delegate void OnSelectedIDChanged(string id, string name);\r
public delegate void ClearCheckBox();\r
public delegate void OctopusErrorReporterDelegate(DateTime time, String level, String message, Color color);\r
\r
HideCheckBox(treeOctopus, actualNode);\r
MosObject[] mosObjects = story.MosObjects;\r
foreach (MosObject mosObject in mosObjects) {\r
- actualNode.Nodes.Add(mosObject.ID, mosObject.ID);\r
+ TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ObjID}"));\r
+ node.Tag = mosObject.ID;\r
}\r
}\r
selectedRundownIndex = comboRudowns.SelectedIndex;\r
TreeNode actualNode = treeOctopus.Nodes.Add(story.ID, String.Format($"{story.ID} {story.Name}"));\r
HideCheckBox(treeOctopus, actualNode);\r
MosObject[] mosObjects = story.MosObjects;\r
- foreach (MosObject mosObject in mosObjects)\r
- actualNode.Nodes.Add(mosObject.ID, mosObject.ID);\r
+ foreach (MosObject mosObject in mosObjects) {\r
+ TreeNode node = actualNode.Nodes.Add(mosObject.ObjID, String.Format($"{mosObject.ObjID}"));\r
+ node.Tag = mosObject.ID;\r
+ }\r
}\r
selectedStoryFolderIndex = comboStoryFolder.SelectedIndex;\r
}\r
}\r
\r
private void OnTreeAfterCheck(object sender, TreeViewEventArgs e) {\r
- logger.Debug("Handling {0} {1}", e.Node.Name, e.Node.Text);\r
+ logger.Debug("Handling {0} {1} {2}", e.Node.Name, e.Node.Text, e.Node.Checked);\r
if (e.Node.Level == 0) {\r
if (e.Node.Checked) {\r
e.Node.Checked = false;\r
selectedNode = e.Node;\r
treeOctopus.SelectedNode = selectedNode;\r
}\r
- id = selectedNode.Checked ? selectedNode.Name : null;\r
- IDChangedEvent?.Invoke(id);\r
+ if (selectedNode.Checked)\r
+ IDChangedEvent?.Invoke(selectedNode.Tag as string, selectedNode.Name);\r
+ else\r
+ IDChangedEvent?.Invoke(null, null);\r
}\r
\r
public void IDSelectedFromOutside(string id) {\r
using System.Collections.Generic;\r
\r
namespace OctopusClient {\r
- public delegate void OctopusMetadataSelected(string ID);\r
+ public delegate void OctopusMetadataSelected(string id, string name);\r
public class OctopusLookupResultSelector : Form {\r
private System.ComponentModel.BackgroundWorker backgroundWorker1;\r
private System.ComponentModel.BackgroundWorker backgroundWorker2;\r
Story story = dataGridView1.SelectedRows[0].DataBoundItem as Story;\r
MosObject mosObject = dataGridView1.SelectedRows[0].DataBoundItem as MosObject;\r
if (story != null)\r
- metadataSelected?.Invoke(story.ID);\r
+ metadataSelected?.Invoke(story.ID, null);\r
else if (mosObject != null)\r
- metadataSelected?.Invoke(mosObject.ID);\r
+ metadataSelected?.Invoke(mosObject.ID, null);\r
Dispose();\r
//string result = dataGridView1.SelectedCells[row].Value.ToString();\r
//if (string.IsNullOrEmpty(result))\r
Story story = dataGridView1.Rows[e.RowIndex].DataBoundItem as Story;\r
MosObject mosObject = dataGridView1.Rows[e.RowIndex].DataBoundItem as MosObject;\r
if (story != null)\r
- metadataSelected?.Invoke(story.ID);\r
+ metadataSelected?.Invoke(story.ID, null);\r
else if (mosObject != null)\r
- metadataSelected?.Invoke(mosObject.ID);\r
+ metadataSelected?.Invoke(mosObject.ID, null);\r
Dispose();\r
}\r
}\r
]\r
}, \r
{\r
- "active": false,\r
+ "active": true,\r
"name" : "OCTOPUS adatok szinkronizálása",\r
"template": "sync-octopus.xml",\r
"executeimmediate": true,\r
- "cronexpression": "0 0 0/1 1/1 * ? *"\r
+ "cronexpression": "0 0/2 * * * ?"\r
}, \r
{\r
"active": false,\r
\r
Selenio\r
-------\r
- mount -t cifs -o username=root,password=Broadca5T //10.10.1.71/Data/Output/MP4_H264_AAC
\ No newline at end of file
+ mount -t cifs -o username=root,password=Broadca5T //10.10.1.71/Data/Output/MP4_H264_AAC \r
+ \r
+\r
+MediaCube \r
+---------\r
+Schedule\r
+ http://www.quartz-scheduler.org/documentation/quartz-2.2.x/configuration/\r
+ https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>\r
<Configuration status="ERROR" monitorInterval="10" packages="user.commons.log4j2.appender">\r
<Properties>\r
- <Property name="fileName">log/mediacube.log</Property>\r
- <Property name="filePattern">log/$${date:yyyy-MM}/mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
- <Property name="markeredFileName">log/markered-mediacube.log</Property>\r
- <Property name="markeredFilePattern">log/$${date:yyyy-MM}/markered-mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
- <Property name="fileName.err">log/mediacube-err.log</Property>\r
- <Property name="filePattern.err">log/$${date:yyyy-MM}/mediacube-err-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
+ <Property name="fileName">/opt/mediacube/log/mediacube.log</Property>\r
+ <Property name="filePattern">/opt/mediacube/log/$${date:yyyy-MM}/mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
+ <Property name="markeredFileName">/opt/mediacube/log/markered-mediacube.log</Property>\r
+ <Property name="markeredFilePattern">/opt/mediacube/log/$${date:yyyy-MM}/markered-mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
+ <Property name="fileName.err">/opt/mediacube/log/mediacube-err.log</Property>\r
+ <Property name="filePattern.err">/opt/mediacube/log/$${date:yyyy-MM}/mediacube-err-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
</Properties>\r
<Appenders>\r
<Console name="Console" target="SYSTEM_OUT">\r
<launcherArgs>\r
<programArgs>-consoleLog -console 5555\r
</programArgs>\r
- <vmArgs>-Dfile.encoding=UTF-8
--agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888
--Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory
-
-#System
--Dorg.eclipse.equinox.http.jetty.http.port=80
--Dorg.eclipse.epp.logging.aeri.skipReports=true
--Declipse.ignoreApp=true
--Dosgi.noShutdown=true
--Djetty.home=./configuration/jetty
--Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,etc/user-jetty-http.xml,etc/user-jetty-https.xml
--Dlog4j.configurationFile=./configuration/log4j2.xml
--Djobengine.loglevel=INFO
--Djobengine.jobsteps.root=./configuration/executors
--Djobengine.jobtemplates.root=./configuration/jobtemplates
--Djobengine.jobscheduling.config=./configuration/scheduledjobs.json\r
- </vmArgs>\r
- <vmArgsLin>#Database\r
--Djobengine.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;\r
--Djobengine.db.user=db2admin\r
--Djobengine.db.password=password\r
--Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;\r
--Djobengine.nosql.db.user=db2admin\r
--Djobengine.nosql.db.password=password\r
--Djobengine.nosql.db.schema=test\r
-\r
-#Octopus\r
--Djobengine.octopus.api.address=http://10.10.1.11/api/v1\r
--Djobengine.octopus.api.user=mam\r
--Djobengine.octopus.api.password=napocska\r
+ <vmArgs>-Dfile.encoding=UTF-8\r
+-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888\r
+-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory\r
\r
-#Selenio\r
--Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl\r
--Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium\r
+#System\r
+-Djetty.home=/opt/mediacube/configuration/jetty\r
+-Dlog4j.configurationFile=/opt/mediacube/configuration/log4j2.xml\r
+-Djobengine.jobsteps.root=/opt/mediacube/configuration/executors\r
+-Djobengine.jobtemplates.root=/opt/mediacube/configuration/jobtemplates\r
+-Djobengine.jobscheduling.config=/opt/mediacube/configuration/scheduledjobs.json\r
\r
-#Nexio\r
+-Dorg.eclipse.equinox.http.jetty.http.port=80\r
+-Dorg.eclipse.epp.logging.aeri.skipReports=true \r
+-Declipse.ignoreApp=true \r
+-Dosgi.noShutdown=true\r
+-Djobengine.loglevel=INFO\r
+-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,etc/user-jetty-http.xml,etc/user-jetty-https.xml\r
+ </vmArgs>\r
+ <vmArgsLin>#Database
+-Djobengine.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;
+-Djobengine.db.user=db2admin
+-Djobengine.db.password=password
+-Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;
+-Djobengine.nosql.db.user=db2admin
+-Djobengine.nosql.db.password=password
+-Djobengine.nosql.db.schema=test
+
+#Octopus
+-Djobengine.octopus.api.address=http://10.10.1.11/api/v1
+-Djobengine.octopus.api.user=mam
+-Djobengine.octopus.api.password=napocska
+
+#Selenio
+-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl
+-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC_v4.zenium
+
+#Nexio
-Dnexio.host=10.10.1.56\r
</vmArgsLin>\r
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts\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 ${remote.location}/stop-mediacube.sh 2>/dev/null"</argument> -->\r
+ <argument>"call pcs resource disable mediacube_script"</argument>\r
<argument>"call rm -rf ${remote.location}"</argument>\r
<argument>"call mkdir ${remote.location}"</argument>\r
<argument>"lcd ${local.location}"</argument>\r
<argument>"cd ${remote.location}"</argument>\r
<argument>"synchronize remote"</argument>\r
<argument>"call chmod +x mediacube"</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>"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
return result;\r
}\r
\r
- private void checkAndStoreStory(BasicDBObject modifiedStory, Date lastUpdateTime, long storyID, int position,\r
- long referenceID, String referenceName, DBCollection collection) {\r
+ private void checkAndStoreStory(BasicDBObject modifiedStory, Date lastUpdateTime, long storyID, int position, long referenceID, String referenceName,\r
+ DBCollection collection) {\r
boolean isContains = storyIDs.contains(storyID);\r
if (!isContains)\r
storyIDs.add(storyID);\r
- if (lastUpdateTime != null && !isModified(lastUpdateTime, modifiedStory, MODIFIED))\r
+ if (lastUpdateTime != null && !isModified(lastUpdateTime, modifiedStory))\r
return;\r
if (isContains) {\r
logger.trace(PROCESSING_MULTI_REFERENCED_STORY_ID + storyID);\r
collection.save(modifiedStory);\r
}\r
\r
- private String GetScriptContent(BasicDBObject story) {\r
- BasicDBObject script = (BasicDBObject) story.get("script");\r
- String scriptContent = "text: ";\r
- if (script != null && !script.isEmpty()) {\r
- BasicDBList body = (BasicDBList) script.get("body");\r
- if (body != null && !body.isEmpty())\r
- for (Object actualBody : body) {\r
- BasicDBObject actualDBBody = (BasicDBObject) actualBody;\r
- BasicDBList contents = (BasicDBList) actualDBBody.get("content");\r
- if (contents != null && !contents.isEmpty())\r
- for (Object actualContent : contents) {\r
- BasicDBObject actualDBContent = (BasicDBObject) actualContent;\r
- scriptContent += GetContent(actualDBContent);\r
- }\r
- }\r
- }\r
- return scriptContent;\r
- }\r
-\r
- private String GetContent(BasicDBObject actualDBContent) {\r
- String type = actualDBContent.getString("type");\r
- String scriptContent = "";\r
- switch (type) {\r
- case "text": {\r
- String text = actualDBContent.getString("text");\r
- if (text != null)\r
- scriptContent += String.format("%s: %s\r\n", type, text.replaceAll("\n", "\r\n"));\r
- break;\r
- }\r
- case "mos": {\r
- BasicDBObject mosObject = (BasicDBObject) actualDBContent.get("object");\r
- if (mosObject != null && !mosObject.isEmpty()) {\r
- String objID = mosObject.getString("objId");\r
- scriptContent += String.format("%s %s\r\n", type.toUpperCase(), objID);\r
- }\r
- break;\r
- }\r
- default: {\r
- BasicDBList innerContents = (BasicDBList) actualDBContent.get("content");\r
- if (innerContents != null && !innerContents.isEmpty())\r
- for (Object actualInnerContent : innerContents) {\r
- BasicDBObject actualDBInnerContent = (BasicDBObject) actualInnerContent;\r
- if (actualDBInnerContent != null && actualDBInnerContent.isEmpty())\r
- scriptContent += GetContent(actualDBInnerContent);\r
- }\r
- break;\r
- }\r
- }\r
- return scriptContent;\r
- }\r
-\r
public void clear() {\r
db.getCollection(RUNDOWN_COLLECTION_NAME).remove();\r
db.getCollection(STORY_COLLECTION_NAME).remove();\r
}\r
}\r
\r
+ private String GetContent(BasicDBObject actualDBContent) {\r
+ String type = actualDBContent.getString("type");\r
+ String scriptContent = "";\r
+ switch (type) {\r
+ case "text": {\r
+ String text = actualDBContent.getString("text");\r
+ if (text != null)\r
+ scriptContent += String.format("%s: %s\r\n", type, text.replaceAll("\n", "\r\n"));\r
+ break;\r
+ }\r
+ case "mos": {\r
+ BasicDBObject mosObject = (BasicDBObject) actualDBContent.get("object");\r
+ if (mosObject != null && !mosObject.isEmpty()) {\r
+ String objID = mosObject.getString("objId");\r
+ scriptContent += String.format("%s %s\r\n", type.toUpperCase(), objID);\r
+ }\r
+ break;\r
+ }\r
+ default: {\r
+ BasicDBList innerContents = (BasicDBList) actualDBContent.get("content");\r
+ if (innerContents != null && !innerContents.isEmpty())\r
+ for (Object actualInnerContent : innerContents) {\r
+ BasicDBObject actualDBInnerContent = (BasicDBObject) actualInnerContent;\r
+ if (actualDBInnerContent != null && actualDBInnerContent.isEmpty())\r
+ scriptContent += GetContent(actualDBInnerContent);\r
+ }\r
+ break;\r
+ }\r
+ }\r
+ return scriptContent;\r
+ }\r
+\r
private Date getLastUpdateTime() {\r
Date result = null;\r
DBCollection collection = db.getCollection(TIME_COLLECTION_NAME);\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
+ private String GetScriptContent(BasicDBObject story) {\r
+ BasicDBObject script = (BasicDBObject) story.get("script");\r
+ String scriptContent = "text: ";\r
+ if (script != null && !script.isEmpty()) {\r
+ BasicDBList body = (BasicDBList) script.get("body");\r
+ if (body != null && !body.isEmpty())\r
+ for (Object actualBody : body) {\r
+ BasicDBObject actualDBBody = (BasicDBObject) actualBody;\r
+ BasicDBList contents = (BasicDBList) actualDBBody.get("content");\r
+ if (contents != null && !contents.isEmpty())\r
+ for (Object actualContent : contents) {\r
+ BasicDBObject actualDBContent = (BasicDBObject) actualContent;\r
+ scriptContent += GetContent(actualDBContent);\r
+ }\r
+ }\r
+ }\r
+ return scriptContent;\r
}\r
\r
- private boolean isModifiedRundown(Date date, BasicDBObject object) {\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 boolean isModified(Date date, BasicDBObject object) {\r
Date modified = (Date) object.get(MODIFIED);\r
int result = date.compareTo(modified);\r
return result <= 0;\r
rundown.put(SCHEDULED_START, toDate(rundown, SCHEDULED_START));\r
rundown.put(MODIFIED, toDate(rundown, MODIFIED));\r
DBCollection collection = db.getCollection(RUNDOWN_COLLECTION_NAME);\r
- if (lastUpdateTime == null || (lastUpdateTime != null && isModifiedRundown(lastUpdateTime, rundown))) {\r
+ if (lastUpdateTime == null || (lastUpdateTime != null && isModified(lastUpdateTime, rundown))) {\r
logger.info(String.format(SAVEING_RUNDOWN_D, rundownID));\r
collection.save(rundown);\r
}\r
List<BasicDBObject> slugsList = NoSQLUtils.asList(slugs);\r
for (BasicDBObject slug : slugsList) {\r
if (slug.containsKey(STORY))\r
- storeStory((BasicDBObject) slug.get(STORY), slug.getInt(POSITION), referenceID, RUNDOWN2,\r
- lastUpdateTime);\r
+ storeStory((BasicDBObject) slug.get(STORY), slug.getInt(POSITION), referenceID, RUNDOWN2, lastUpdateTime);\r
}\r
logger.trace(EXIT);\r
}\r
\r
- private void storeStory(BasicDBObject story, int position, long referenceID, String referenceName,\r
- Date lastUpdateTime) {\r
+ private void storeStory(BasicDBObject story, int position, long referenceID, String referenceName, Date lastUpdateTime) {\r
logger.trace(ENTER);\r
try {\r
// a run v�g�n lek�rj�k az �sszes storyID-t az adatb�zisb�l\r
* collection.findOne(new BasicDBObject(ID, storyID), new\r
* BasicDBObject(_ID, 1)); collection.remove(modifiedStory); } else\r
*/\r
- checkAndStoreStory(modifiedStory, lastUpdateTime, storyID, position, referenceID, referenceName,\r
- collection);\r
+ checkAndStoreStory(modifiedStory, lastUpdateTime, storyID, position, referenceID, referenceName, collection);\r
} catch (Exception e) {\r
logger.error(e);\r
throw e;\r
storeStoryFolderStories(stories, storyFolderID, storyFolderID, lastUpdateTime);\r
storyFolder.put(MODIFIED, toDate(storyFolder, MODIFIED));\r
DBCollection collection = db.getCollection(STORY_FOLDER_COLLECTION_NAME);\r
- if (lastUpdateTime == null || (lastUpdateTime != null && isModifiedRundown(lastUpdateTime, storyFolder))) {\r
+ if (lastUpdateTime == null || (lastUpdateTime != null && isModified(lastUpdateTime, storyFolder))) {\r
logger.trace(String.format("saving storyFolder %d", storyFolderID));\r
collection.save(storyFolder);\r
}\r
List<BasicDBObject> storyFolderList = NoSQLUtils.asList(storyFolders);\r
int idx = 1;\r
for (BasicDBObject storyFolder : storyFolderList) {\r
- logger.info(\r
- String.format(CHECKING_STORY_FOLDER_S_D_D, storyFolder.getLong(ID), storyFolderList.size(), idx));\r
+ logger.info(String.format(CHECKING_STORY_FOLDER_S_D_D, storyFolder.getLong(ID), storyFolderList.size(), idx));\r
storeStoryFolder(storyFolder, lastUpdateTime);\r
int progress = 50 + (idx * 50 / storyFolderList.size());\r
if (progress - progressEvent.getProgress() > 0) {\r
logger.trace(EXIT);\r
}\r
\r
- private void storeStoryFolderStories(BasicDBList stories, long storyFolderID, long referenceID,\r
- Date lastUpdateTime) {\r
+ private void storeStoryFolderStories(BasicDBList stories, long storyFolderID, long referenceID, Date lastUpdateTime) {\r
logger.trace(ENTER);\r
List<BasicDBObject> list = NoSQLUtils.asList(stories);\r
for (BasicDBObject story : list)\r
\r
Properties properties = new Properties();\r
URL srcLocation = MethodHandles.lookup().lookupClass().getProtectionDomain().getCodeSource().getLocation();\r
- //URL location = new URL(srcLocation, "../../-configuration/mediacube-dev.properties");\r
- URL location = new URL(srcLocation, "../../-configuration/mediacube-dev-user.properties");\r
+ URL location = new URL(srcLocation, "../../-configuration/mediacube-dev.properties");\r
+ //URL location = new URL(srcLocation, "../../-configuration/mediacube-dev-user.properties");\r
properties.load(new FileInputStream(location.toURI().getPath().toString()));\r
System.getProperties().putAll(properties);\r
\r
}\r
}\r
\r
+ @Test\r
+ public void integrationTestClear() {\r
+ // fixture\r
+ sut = new OctopusDataMiner();\r
+ // Exercise\r
+ sut.clear();\r
+ }\r
+\r
@Test\r
public void integrationTestWithClear() {\r
// fixture\r
-<?xml version="1.0" encoding="ISO-8859-2"?>\r
+<?xml version="1.0" encoding="UTF-8"?>\r
<?init class="user.jobengine.zk.util.AuthInitiator"?>\r
<zk xmlns:w="http://www.zkoss.org/2005/zk/client" >\r
<style src="/css/archivum.css" />\r
\r
public void clearErrorMsg(Component comp){\r
if(comp!=null&&comp.getErrorMessage()!=null){\r
- //comp.setErrorMessage(comp.getErrorMessage().replaceAll("aaaa.nn.jj","éééé.hh.nn"));\r
- comp.setErrorMessage("Hibás érték! (ÉÉÉÉ.HH.NN)");\r
+ //comp.setErrorMessage(comp.getErrorMessage().replaceAll("aaaa.nn.jj","éééé.hh.nn"));\r
+ comp.setErrorMessage("Hibás érték! (ÉÉÉÉ.HH.NN)");\r
}\r
}\r
]]></zscript>\r
<borderlayout height="50px">\r
<west width="250px" border="0">\r
<div width="100%" height="100%" style="background: #008AC8;" >\r
- <image src="/img/mediacube_logo_v2_50x50.png" tooltiptext="MediaCube Server v2.0.1">\r
+ <image src="/img/mediacube_logo_v2_50x50.png" tooltiptext="MediaCube Server v2.1.0">\r
<!-- <custom-attributes org.zkoss.zul.image.preload="true" /> -->\r
</image>\r
</div>\r