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