--- /dev/null
+using System;\r
+using System.IO;\r
+using System.Text;\r
+using System.Xml;\r
+\r
+/*\r
+<?xml version="1.0" encoding="UTF-16"?>\r
+<ID extendedId="aaaaaaa">\r
+ <KillDate>02-02-2018</KillDate>\r
+ <ExtendedDescription>TEST TEST</ExtendedDescription>\r
+ <ExtendedAgency>AGENT AGENT</ExtendedAgency>\r
+</ID>\r
+*/\r
+namespace Commons {\r
+\r
+ public class MorpheusXML {\r
+ public static string ToXML(string fileName, DateTime? killDate, string description, string agency) {\r
+ if (String.IsNullOrEmpty(fileName))\r
+ throw new NullReferenceException("Hiányzik a cél állomány neve.");\r
+\r
+ string result = null;\r
+ XmlDocument doc = new XmlDocument();\r
+ XmlElement rootElement = (XmlElement)doc.AppendChild(doc.CreateElement("ID"));\r
+ rootElement.SetAttribute("extendedId", fileName);\r
+ if (killDate != null)\r
+ rootElement.AppendChild(doc.CreateElement("KillDate")).InnerText = ((DateTime)killDate).ToString("MM-dd-yyyy");\r
+ if (!String.IsNullOrEmpty(description))\r
+ rootElement.AppendChild(doc.CreateElement("ExtendedDescription")).InnerText = description;\r
+ if (!String.IsNullOrEmpty(agency))\r
+ rootElement.AppendChild(doc.CreateElement("ExtendedAgency")).InnerText = agency;\r
+\r
+ XmlWriterSettings settings = new XmlWriterSettings();\r
+ settings.Indent = true;\r
+ StringBuilder ms = new StringBuilder();\r
+ XmlWriter writer = XmlWriter.Create(ms, settings);\r
+ doc.Save(writer);\r
+ result = ms.ToString();\r
+ return result;\r
+ }\r
+ }\r
+\r
+}
\ No newline at end of file
namespace Maestro.Configuration {\r
\r
public class Loader {\r
- public static ConfigurationInfo Get(string fileName) {\r
+ public static T Get<T>(string fileName) {\r
string configuration = File.ReadAllText(fileName);\r
KnownTypesBinder knownTypesBinder = new KnownTypesBinder {\r
KnownTypes = new List<Type> { typeof(UNCSource), typeof(NEXIOSource), typeof(OctopusMetadata), typeof(TrafficMetadata), typeof(MediaCubeMetadata), }\r
//Converters = { new KeysJsonConverter() }\r
};\r
\r
- return JsonConvert.DeserializeObject<ConfigurationInfo>(configuration, settings);\r
+ return JsonConvert.DeserializeObject<T>(configuration, settings);\r
}\r
}\r
\r
+ public class GlobalInfo {\r
+ public string UserDomain { get; set; }\r
+ }\r
+\r
public class ConfigurationInfo {\r
public bool StartInTray { get; set; }\r
public bool Active { get; set; }\r
public string Title { get; set; }\r
+ public string UserDomain { get; set; }\r
public Player Player { get; set; }\r
public Source Source { get; set; }\r
public bool EnableCustomMetadataId { get; set; }\r
public bool SaveSegments { get; set; }\r
public bool CreateSubFolder { get; set; }\r
public string Tag { get; set; }\r
- public bool SaveMetadata {get; set;}\r
+ public bool SaveArchiveMetadata { get; set; }\r
+ public bool SaveMorpheusMetadata { get; set; }\r
public bool DisableFileVersioning { get; set; }\r
public bool SendEmailOnError { get; set; }\r
public string ErrorEmailRecipient { get; set; }\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "ftp://10.10.1.100/OCTOPUS",\r
"userName": "mediacube",\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "ftp://10.10.1.100/PLAYOUT_NLE",\r
"userName": "mediacube",\r
"processor": "FTPTargetProcessor",\r
"outputFormat": "%ID%",\r
"tag": "Archiválás",\r
- "saveMetadata": true,\r
+ "saveArchiveMetadata": true,\r
"remote": {\r
"address": "ftp://10.10.1.100/ARCHIVE",\r
"userName": "mediacube",\r
{\r
"title": "NLE",\r
"active": false,\r
- "startInTray": true,\r
+ "startInTray": false,\r
"enableCustomMetadataId": true,\r
"player": {\r
"enabled": true,\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "ftp://10.10.1.100/OCTOPUS",\r
"userName": "mediacube",\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "ftp://10.10.1.100/PLAYOUT_NLE",\r
"userName": "mediacube",\r
"processor": "FTPTargetProcessor",\r
"outputFormat": "%ID%",\r
"tag": "Archiválás",\r
- "saveMetadata": true,\r
+ "saveArchiveMetadata": true,\r
"remote": {\r
"address": "ftp://10.10.1.100/ARCHIVE",\r
"userName": "mediacube",\r
{\r
"title": "Lebony betöltő",\r
- "active": true,\r
+ "active": false,\r
"startInTray": false,\r
"enableCustomMetadataId": true,\r
"player": {\r
"$type": "UNCSource",\r
"filter": "avi,wav,mxf",\r
"local": {\r
- "address": "file://10.10.1.100/BRAAVOS/ARCHIVE",\r
+ "address": "file://10.10.1.100/BRAAVOS/READY",\r
"userName": "mediacube",\r
"password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
"timeout": 1000\r
},\r
"remote": {\r
- "address": "ftp://10.10.1.100/ARCHIVE",\r
+ "address": "ftp://10.10.1.100/READY",\r
"userName": "mediacube",\r
"password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
"timeout": 1000\r
"saveSegments": true,\r
"tag": "Adáskész",\r
"disableFileVersioning": true,\r
+ "saveMorpheusMetadata": true,\r
"remote": {\r
- "address": "ftp://10.10.1.100/PLAYOUT/IceGateway",\r
+ "address": "ftp://10.10.1.100/PLAYOUT/IceGateway/Input",\r
+ "userName": "mediacube",\r
+ "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
+ "timeout": 1000\r
+ }\r
+ },\r
+ {\r
+ "label": "X Adáskész",\r
+ "processor": "FXPTargetProcessor",\r
+ "outputFormat": "%ID%",\r
+ "saveSegments": false,\r
+ "tag": "XAdáskész",\r
+ "disableFileVersioning": false,\r
+ "saveMorpheusMetadata": true,\r
+ "remote": {\r
+ "address": "ftp://10.10.1.100/PLAYOUT/IceGateway/Input",\r
+ "userName": "mediacube",\r
+ "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
+ "timeout": 1000\r
+ }\r
+ },\r
+ {\r
+ "label": "Archiválás",\r
+ "processor": "FXPTargetProcessor",\r
+ "outputFormat": "%ID%",\r
+ "tag": "Archiválás",\r
+ "saveArchiveMetadata": true,\r
+ "remote": {\r
+ "address": "ftp://10.10.1.100/ARCHIVE",\r
"userName": "mediacube",\r
"password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
"timeout": 1000\r
}\r
}\r
+\r
]\r
}\r
"outputFormat": "%ID%",\r
"saveSegments": true,\r
"tag": "Adáskész",\r
+ "reference": "Archiválás",\r
"remote": {\r
"address": "ftp://10.10.1.100/PLAYOUT/IceGateway",\r
"userName": "mediacube",\r
"processor": "FXPTargetProcessor",\r
"outputFormat": "%ID%",\r
"tag": "Archiválás",\r
- "saveMetadata": true,\r
+ "saveArchiveMetadata": true,\r
"remote": {\r
"address": "ftp://10.10.1.100/ARCHIVE",\r
"userName": "mediacube",\r
{\r
"title": "Stúdió",\r
- "active": true,\r
+ "active": false,\r
"startInTray": false,\r
"enableCustomMetadataId": true,\r
"filter": "avi",\r
"processor": "FXPTargetProcessor",\r
"outputFormat": "%ID%",\r
"tag": "Archiválás",\r
- "createMetadata": true,\r
+ "saveArchiveMetadata": true,\r
"remote": {\r
"address": "ftp://10.10.1.100:21/ARCHIVE",\r
"userName": "mediacube",\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "file://10.10.1.100/BRAAVOS/OCTOPUS",\r
"userName": "mediacube",\r
"tag": "Betöltés",\r
"createSubFolder": true,\r
"killDateDays": 7,\r
- "saveMetadata": false,\r
+ "saveArchiveMetadata": false,\r
"remote": {\r
"address": "file://10.10.1.100/BRAAVOS/PLAYOUT_NLE",\r
"userName": "mediacube",\r
"processor": "UNCTargetProcessor",\r
"outputFormat": "%ID%",\r
"tag": "Archiválás",\r
- "saveMetadata": true,\r
+ "saveArchiveMetadata": true,\r
"remote": {\r
"address": "file://10.10.1.100/BRAAVOS/ARCHIVE",\r
"userName": "mediacube",\r
--- /dev/null
+{\r
+ "userDomain": "intra.echotv.hu"\r
+}\r
<Reference Include="System" />\r
<Reference Include="System.Data" />\r
<Reference Include="System.Deployment" />\r
+ <Reference Include="System.DirectoryServices.AccountManagement" />\r
<Reference Include="System.Drawing" />\r
<Reference Include="System.IO.Compression.FileSystem" />\r
<Reference Include="System.Numerics" />\r
<DependentUpon>ArchiveMetadataForm.cs</DependentUpon>\r
</Compile>\r
<Compile Include="Commons\DataGridViewProgressColumn.cs" />\r
+ <Compile Include="Commons\MorpheusXML.cs" />\r
<Compile Include="Commons\NexioXML.cs" />\r
<Compile Include="Commons\ObjectExtensions.cs" />\r
<Compile Include="Commons\SambaClient.cs" />\r
<Compile Include="MaestroForm.Source.cs">\r
<SubType>Form</SubType>\r
</Compile>\r
+ <None Include="Configuration\global.json">\r
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r
+ </None>\r
<None Include="Configuration\configuration-nexio-ingest.json">\r
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>\r
</None>\r
this.ctxiModifyArchiveMetadata.Name = "ctxiModifyArchiveMetadata";\r
this.ctxiModifyArchiveMetadata.Size = new System.Drawing.Size(206, 22);\r
this.ctxiModifyArchiveMetadata.Text = "Modify archive metadata";\r
- this.ctxiModifyArchiveMetadata.Click += new System.EventHandler(this.ModifyArchiveMetadataClick);\r
+ this.ctxiModifyArchiveMetadata.Click += new System.EventHandler(this.OnArchiveMetadataClick);\r
// \r
// splitContainer1\r
// \r
mediaCubeApi = new MediaCubeApi(metadata.Server.Address.ToString(), metadata.Server.UserName, metadata.Server.Password, metadata.Server.Timeout, errorMessageBus);\r
}\r
\r
- private void ModifyArchiveMetadataClick(object sender, EventArgs e) {\r
+ private void OnArchiveMetadataClick(object sender, EventArgs e) {\r
if (archiveMetadata == null)\r
archiveMetadata = GetArchiveMetadata();\r
ArchiveMetadataForm form = new ArchiveMetadataForm(archiveMetadata);\r
result = GetOctopusMetadata();\r
break;\r
case MetadataType.TrafficMaterial:\r
+ case MetadataType.TrafficPromo:\r
+ case MetadataType.TrafficAD:\r
result = GetTrafficMetadata(metadataType);\r
break;\r
}\r
}\r
\r
private void UpdateEditArchiveMetadataEnabled() {\r
- // ctxiModifyArchiveMetadata.Enabled = !String.IsNullOrEmpty(textSelectedMetadata.Text);\r
ctxiModifyArchiveMetadata.Enabled = SelectedSource != null;\r
}\r
\r
}\r
\r
private bool EnsureMetadata(Target target) {\r
- if (target.SaveMetadata && (archiveMetadata == null || !archiveMetadata.IsFilled)) {\r
+ if ((target.SaveArchiveMetadata || target.SaveMorpheusMetadata) && (archiveMetadata == null || !archiveMetadata.IsFilled)) {\r
archiveMetadata = GetArchiveMetadata();\r
if (archiveMetadata == null) {\r
MessageBox.Show(String.Format("A {0} folyamat nem futtatható kísérő adatok nélkül.", target.Label));\r
// StuffID, StuffTitle, StuffDescription, MediaID, MediaTitle, MediaDescription);\r
}\r
\r
+ [JsonIgnore]\r
public bool IsFilled {\r
get {\r
return\r
using System.Collections.Concurrent;\r
using System.Collections.Generic;\r
using System.Diagnostics;\r
+using System.DirectoryServices.AccountManagement;\r
using System.Drawing;\r
using System.IO;\r
using System.Linq;\r
}\r
finally {\r
if (hasHandle) {\r
+ TrayApplicationContext context = null;\r
try {\r
Application.EnableVisualStyles();\r
Application.SetCompatibleTextRenderingDefault(false);\r
- Application.Run(new TrayApplicationContext());\r
+ context = new TrayApplicationContext();\r
+ context.Start();\r
+ Application.Run(context);\r
}\r
catch (Exception e) {\r
Debug.WriteLine(e.Message);\r
+ MessageBox.Show(new Form() { TopMost = true }, "Nincs aktív konfiguráció!");\r
}\r
finally {\r
mutex.ReleaseMutex();\r
+ if (context != null)\r
+ context.Stop();\r
}\r
}\r
}\r
}\r
\r
public class TrayApplicationContext : ApplicationContext {\r
+ private const string GLOBAL_JSON = "global.json";\r
+ private const string JSON_WILDCARD = "*.json";\r
+ private const string CONFIG_ERROR = "Nincs aktív konfiguráció!";\r
+ private const string SYSCONFIG_ERROR = "Nincs rendszer konfiguráció!";\r
+ private const string CONFIGURATION_FOLDER = "./Configuration";\r
private static Logger logger = LogManager.GetCurrentClassLogger();\r
private NotifyIcon trayIcon;\r
private ConcurrentBag<MeastroFormNotifyIcon> forms = new ConcurrentBag<MeastroFormNotifyIcon>();\r
private IMessageBus messageBus = new MessageBus();\r
\r
public TrayApplicationContext() {\r
+ }\r
\r
+ public void Start() {\r
String[] arguments = Environment.GetCommandLineArgs();\r
if (!arguments.ToList().Contains("nosplash")) {\r
Splash splash = new Splash();\r
Application.Run(splash);\r
});\r
}\r
- CreateForms();\r
CreateTrayIcon();\r
+ CreateForms();\r
}\r
\r
private void CreateForms() {\r
- string[] files = Directory.GetFiles("./Configuration", "*.json");\r
- if (files.Length == 0) {\r
- MessageBox.Show(new Form() { TopMost = true }, "Nincs aktív konfiguráció!");\r
- TerminateApplication();\r
- }\r
+ string[] files = Directory.GetFiles(CONFIGURATION_FOLDER, JSON_WILDCARD);\r
+ if (files.Length == 0)\r
+ throw new Exception(CONFIG_ERROR);\r
+ \r
+ CheckGlobalConfig(files);\r
foreach (String file in files) {\r
CreateForm(file);\r
}\r
- if (forms.Count == 0) {\r
- MessageBox.Show(new Form() { TopMost = true }, "Nincs aktív konfiguráció!");\r
- TerminateApplication();\r
- }\r
+ if (forms.Count == 0)\r
+ throw new Exception(CONFIG_ERROR);\r
+ }\r
+\r
+ private void CheckGlobalConfig(string[] files) {\r
+ string globalFile = Path.Combine(CONFIGURATION_FOLDER, GLOBAL_JSON);\r
+ if (files.Contains(globalFile)) {\r
+ GlobalInfo global = Loader.Get<GlobalInfo>(globalFile);\r
+ if (String.IsNullOrEmpty(global.UserDomain))\r
+ throw new Exception(SYSCONFIG_ERROR);\r
+ else {\r
+ //using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, global.UserDomain)) {\r
+ // bool isValid = pc.ValidateCredentials("echotest", "aA123456+");\r
+ // Debug.WriteLine("User valid: " + isValid);\r
+ //}\r
+ }\r
+ } else\r
+ throw new Exception(SYSCONFIG_ERROR);\r
}\r
\r
private void CreateForm(string file) {\r
try {\r
- ConfigurationInfo config = Loader.Get(file);\r
+ ConfigurationInfo config = Loader.Get<ConfigurationInfo>(file);\r
if (!config.Active)\r
return;\r
ApplyCommandLineParameters(ref config);\r
}\r
\r
void Exit(object sender, EventArgs e) {\r
- TerminateApplication();\r
+ Stop();\r
+ Application.Exit();\r
}\r
\r
- private void TerminateApplication() {\r
+ public void Stop() {\r
foreach (MeastroFormNotifyIcon form in forms) {\r
form.CloseForm();\r
}\r
trayIcon.Visible = false;\r
trayIcon.Dispose();\r
}\r
- Application.Exit();\r
}\r
}\r
}\r
UploadKillDateFile();\r
}\r
\r
- if (parameters.TargetConfig.SaveMetadata && parameters.ArchiveMetadata != null)\r
- CreateMetadata();\r
+ if (parameters.TargetConfig.SaveArchiveMetadata && parameters.ArchiveMetadata != null)\r
+ CreateArchiveMetadata();\r
+ if (parameters.TargetConfig.SaveMorpheusMetadata && parameters.ArchiveMetadata != null)\r
+ CreateArchiveMetadata();\r
if (parameters.TargetConfig.SaveSegments && parameters.Segments != null)\r
//eljuthat-e ide a felhasználó, ha a MetadataKind octopus?\r
parameters.TrafficApi.UpdateTrafficInformation(parameters.VariantID, true, (TrafficMetadataType)parameters.MetadataKind, parameters.Segments);\r
KillDate = date.ToString("yyyy.MM.dd");\r
}\r
\r
- private void CreateMetadata() {\r
+ private void CreateArchiveMetadata() {\r
+ Uri address = parameters.TargetConfig.Remote.Address;\r
+ string statusWorkDir = Path.Combine(workingDir, STATUS_FOLDER);\r
+ EnsureDirectoryExistence(statusWorkDir);\r
+ string fileName = String.Format(METADATA_FILE, OutputName);\r
+ logger.Debug("Creating METADATA file {0}", fileName);\r
+ byte[] content = Encoding.UTF8.GetBytes(parameters.ArchiveMetadata.ToString());\r
+ string ouputPath = GetOutputFilePath(statusWorkDir, fileName);\r
+ UploadContent(ouputPath, content);\r
+ }\r
+\r
+ private void CreateTrafficMetadata() {\r
Uri address = parameters.TargetConfig.Remote.Address;\r
string statusWorkDir = Path.Combine(workingDir, STATUS_FOLDER);\r
EnsureDirectoryExistence(statusWorkDir);\r
this.chkProblematic.TabIndex = 7;\r
this.chkProblematic.Text = "Missing copia";\r
this.chkProblematic.UseVisualStyleBackColor = true;\r
+ this.chkProblematic.CheckedChanged += new System.EventHandler(this.OnTypeFilterChanged);\r
// \r
// pSearch\r
// \r
TryConnect();\r
using (SqlCommand cmd = new SqlCommand("dbo.clIFsp_EC_MAM", connection)) {\r
cmd.CommandType = CommandType.StoredProcedure;\r
- cmd.Parameters.AddWithValue("@Operation", 2001);\r
- cmd.Parameters.AddWithValue("@@@Options", 40);\r
+ cmd.Parameters.AddWithValue("@Operation", 2002);\r
+ cmd.Parameters.AddWithValue("@@@Options", 0);\r
cmd.Parameters.AddWithValue("@@ItemID", DBNull.Value);\r
cmd.Parameters.AddWithValue("@@StrParam1", strParam);\r
using (SqlDataReader reader = cmd.ExecuteReader()) {\r
{"name": "userName", "value": "MAM", "type": "java.lang.String"},\r
{"name": "password", "value": "Echotv.hu", "type": "java.lang.String"},\r
{"name": "lookupDays", "value": 7, "type": "java.lang.Integer"},\r
- {"name": "targetPath", "value": "\\\\10.10.1.100\\BRAAVOS\\PLAYOUT", "type": "java.lang.String"},\r
+ {"name": "targetPath", "value": "/mnt/ISILON/PLAYOUT/IceGateway/Input", "type": "java.lang.String"},\r
{"name": "killDateDays", "value": 10, "type": "java.lang.Integer"}\r
]\r
}, \r
"executeimmediate": true,\r
"cronexpression": "0 0 0/1 1/1 * ? *",\r
"parameters": [\r
- {"name": "sourcePath", "value": "\\\\10.10.1.100\\BRAAVOS\\PLAYOUT\\MORPHEUS", "type": "java.lang.String"},\r
- {"name": "targetPath", "value": "\\\\10.10.1.100\\BRAAVOS\\PLAYOUT", "type": "java.lang.String"},\r
+ {"name": "sourcePath", "value": "/mnt/MORPHEUS", "type": "java.lang.String"},\r
+ {"name": "targetPath", "value": "/mnt/ISILON/PLAYOUT/IceGateway/Input", "type": "java.lang.String"},\r
{"name": "killDateDays", "value": 10, "type": "java.lang.Integer"}\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
\r
Selenio\r
-------\r
- mount -t cifs -o username=root,password=Broadca5T //10.10.1.71/Data/Output/MP4_H264_AAC \r
+ mount -t cifs -o username=root,password=Broadca5T //10.10.1.71/Data/Output/MP4_H264_AAC /mnt/SELENIO \r
\r
\r
+Morpheus\r
+-------\r
+ mount -t cifs -o username=SAM,password=sam //192.168.100.91/MissingMaterial /mnt/MORPHEUS \r
+\r
MediaCube \r
---------\r
Schedule\r
@ECHO OFF\r
\r
-SET REMOTE_HOST=10.10.1.28\r
+SET REMOTE_HOST=10.10.1.27\r
SET REMOTE_LOCATION=/opt/mediacube/configuration/executors\r
-SET REMOTE_SERVER_HOSTKEY=ssh-rsa 2048 7e:0a:bb:8b:38:0f:22:c3:81:d4:1a:44:f3:91:ea:1f\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
"lcd ..\" ^\r
"lcd %LOCAL_CONFIG_LOCATION%" ^\r
"synchronize remote -filemask=config.xml" ^\r
+ "call pcs resource restart mediacube_script" ^\r
"exit"\r
\r
ECHO *** Completed ***\r
private static final String MEDIACUBEMEDIA = "mediaCubeMedia";\r
private static final String JOBTEMPLATE = "retrieve-material.xml";\r
private static final String CSV_EXT = ".csv";\r
+ private static final String MXF_EXT = ".MXF";\r
private String targetPath;\r
private MediaFileDAO dao;\r
private IJobEngine jobEngine;\r
return;\r
}\r
\r
- jobEngine.submit(JOBTEMPLATE, RETRIEVE_MATERIAL, ListUtils.asMap(MEDIACUBEMEDIA, medias.get(0), TARGETPATH, targetPath, TARGETNAMEPATTERN, "%s",\r
- SUCCESSRECIPIENT, null, KILLDATEDAYS, killDateDays));\r
+ jobEngine.submit(JOBTEMPLATE, RETRIEVE_MATERIAL, ListUtils.asMap(MEDIACUBEMEDIA, medias.get(0), TARGETPATH, targetPath, TARGETNAMEPATTERN,\r
+ mediaId + MXF_EXT, SUCCESSRECIPIENT, null, KILLDATEDAYS, killDateDays));\r
}\r
\r
private void processMissingMaterialCSV(Path csvFilePath) throws Exception {\r
String line = lines.get(i);\r
if (line == null)\r
continue;\r
- String[] data = line.split("\\t");\r
+ String[] data = line.split(",");\r
if (i == 0) {\r
//Channel,Time to Air,Duration,Material ID,Title,Device ID,Reason,\r
List<String> dataList = Arrays.asList(data);\r
@Override
public void submit(IJobRuntime jobRuntime) {
queue.put(jobRuntime);
+ jobRuntime.setDescription(stepClass.getSimpleName());
logger.info("Executor got ! {}", jobRuntime);
}
public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Exception {\r
Object[] result = null;\r
this.jobRuntime = jobRuntime;\r
- jobRuntime.setDescription("Feldolgozás: " + getClass().getSimpleName());\r
+ //jobRuntime.setDescription("Feldolgozás: " + getClass().getSimpleName());\r
jobRuntime.NotifyUpdate();\r
for (Method method : getClass().getDeclaredMethods()) {\r
Annotation annotation = method.getAnnotation(StepEntry.class);\r