force |= target.SaveArchiveMetadata || target.SaveMorpheusMetadata || target.NexioServer;\r
if (force && (ArchiveMetadata == null || !ArchiveMetadata.IsFilled)) {\r
ArchiveMetadata = GetArchiveMetadata();\r
- SelectedMetadata.MetadataText = ArchiveMetadata.itemTitle;\r
+ if (SelectedMetadata != null && String.IsNullOrEmpty(SelectedMetadata.MetadataText))\r
+ SelectedMetadata.MetadataText = ArchiveMetadata.itemTitle;\r
UpdateEditArchiveMetadataStatus();\r
if (ArchiveMetadata == null) {\r
MessageBox.Show(String.Format("A {0} folyamat nem futtatható kísérő adatok nélkül.", target.Label));\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.7.5")]\r
-[assembly: AssemblyFileVersion("2.0.7.5")]\r
+[assembly: AssemblyVersion("2.0.7.6")]\r
+[assembly: AssemblyFileVersion("2.0.7.6")]\r
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.commons.log4j2&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.jobengine.executors&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.jobengine.osgi.commons&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.jobengine.osgi.db&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.jobengine.osgi.server&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zkcharts.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/classes&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/commons-codec-1.10.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/commons-fileupload-1.2.1.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/commons-io-1.4.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/commons-logging-1.1.1.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zcommon.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zel.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zhtml.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_bsh.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_commons-collections.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_elinez.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_eplotz.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_Filters.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_flashchart.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_gmapsz.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jackson-annotations.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jackson-core.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jackson-databind.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jasperreports.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_javassist.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jcommon.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jfreechart.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_jsp.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_monitor.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_psz.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_sapphire.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_shchart.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_silvertail.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_timelinez.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_timeplotz.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk_zuljsp.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zk.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zkbind.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zkex_r.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zkmax.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zkplus.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zml.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zsoup.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zul.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zuti.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;packageFragmentRoot handle=&quot;=user.jobengine.osgi.server/WEB-INF\/lib\/zweb.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.packageFragmentRoot"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.jobengine.osgi.services&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;user.tsm.client&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> </sourceContainers> </sourceLookupDirector> "/>\r
<booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="false"/>\r
<mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP">\r
-<mapEntry key="hostname" value="10.10.1.28"/>\r
-<mapEntry key="port" value="8888"/>\r
+<mapEntry key="hostname" value="10.10.1.29"/>\r
+<mapEntry key="port" value="9999"/>\r
</mapAttribute>\r
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="user.jobengine.osgi.server"/>\r
<stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/>\r
</Filters>\r
<!-- <PatternLayout pattern="%d{HH:mm:ss} %-5level - %msg %n%n A küldő a %F forráskód %L. sorából a %logger{1}.%M függvény volt. %n" /> -->\r
<PatternLayout pattern="%d{HH:mm:ss} %level - %msg %n" />\r
-<!-- <HTMLLayout /> -->\r
</HTMLMailAppender>\r
+ <DB2NoSQLAppender name="MarkeredDB2">\r
+ <Filters>\r
+ <MarkerFilter marker="MEDIACUBE" onMatch="ACCEPT" onMismatch="DENY" />\r
+ </Filters>\r
+ </DB2NoSQLAppender>\r
+ \r
<RollingFile name="RollingFile" fileName="${fileName}" filePattern="${filePattern}">\r
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%-5level] [%t] [%M] [%class{36}] %msg%n %throwable{short}" />\r
<Policies>\r
<AppenderRef ref="MarkeredConsole" />\r
<!-- <AppenderRef ref="RollingFile" /> -->\r
<AppenderRef ref="MarkeredMail" />\r
+ <AppenderRef ref="MarkeredDB2" />\r
</Root>\r
<Logger name="org.zkoss" level="trace" additivity="false" />\r
<Logger name="org.quartz" level="ERROR" additivity="false" />\r
{"joblist":[\r
{\r
+ "active": false,\r
+ "name" : "Statisztika importálása",\r
+ "template": "import-statistics.xml",\r
+ "executeimmediate": false,\r
+ "cronexpression": "0 0 0/1 1/1 * ? *",\r
+ "parameters": [ \r
+ {"name": "daysBeforeNow", "value": 1, "type": "java.lang.Integer"}\r
+ ]\r
+ },\r
+ {\r
"active": false,\r
"name" : "MORPHEUS 'missing materials' importálása",\r
"template": "import-morpheus-missing-materials.xml",\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": "archiveFtp", "value": "ftp://10.10.1.100/ARCHIVE", "type": "java.lang.String"},\r
{"name": "archiveUserName", "value": "mediacube", "type": "java.lang.String"},\r
{"name": "archivePassword", "value": "Broadca5T", "type": "java.lang.String"},\r
{"name": "filterAgencies", "value": "schedule-rec", "type": "java.lang.String"},\r
Fragment-Host: org.apache.logging.log4j.core;bundle-version="2.8.2"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: user.commons.log4j2.appender
-Import-Package: javax.mail;version="1.5.0",
- user.commons
+Import-Package: com.fasterxml.jackson.annotation;version="2.4.5",
+ com.fasterxml.jackson.core;version="2.4.5",
+ com.fasterxml.jackson.core.type;version="2.4.5",
+ com.fasterxml.jackson.core.util;version="2.4.5",
+ com.fasterxml.jackson.databind;version="2.4.5",
+ com.fasterxml.jackson.databind.deser.std;version="2.4.5",
+ com.fasterxml.jackson.databind.module;version="2.4.5",
+ com.fasterxml.jackson.databind.ser;version="2.4.5",
+ com.fasterxml.jackson.databind.ser.impl;version="2.4.5",
+ com.ibm.nosql.bson,
+ com.ibm.nosql.json,
+ com.ibm.nosql.json.api,
+ javax.mail;version="1.5.0",
+ user.commons,
+ user.commons.nosql
--- /dev/null
+package user.commons.log4j2.appender;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.apache.logging.log4j.Marker;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.Core;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.DefaultConfiguration;
+import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
+import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
+import org.apache.logging.log4j.core.config.plugins.PluginElement;
+import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required;
+import org.apache.logging.log4j.core.filter.ThresholdFilter;
+import org.apache.logging.log4j.core.layout.JsonLayout;
+import org.apache.logging.log4j.core.util.Booleans;
+
+import com.ibm.nosql.json.api.BasicDBObject;
+import com.ibm.nosql.json.api.DB;
+import com.ibm.nosql.json.api.DBCollection;
+
+import user.commons.MediaCubeMarker;
+import user.commons.nosql.NoSQLUtils;
+
+@Plugin(name = "DB2NoSQLAppender", category = Core.CATEGORY_NAME, elementType = Appender.ELEMENT_TYPE, printObject = true)
+public final class DB2NoSQLAppender extends AbstractAppender {
+
+ private static final int CONCURRENT_QUEUES = 5;
+ private static final ExecutorService executor = Executors.newFixedThreadPool(CONCURRENT_QUEUES);
+
+ @PluginFactory
+ public static DB2NoSQLAppender createAppender(@PluginConfiguration final Configuration config, @PluginAttribute("name") @Required final String name,
+ @PluginElement("Layout") Layout<? extends Serializable> layout, @PluginElement("Filter") Filter filter,
+ @PluginAttribute("ignoreExceptions") final String ignore) {
+ if (name == null) {
+ LOGGER.error("No name provided for SmtpAppender");
+ return null;
+ }
+
+ if (layout == null) {
+ layout = JsonLayout.createDefaultLayout();
+ }
+ if (filter == null) {
+ filter = ThresholdFilter.createFilter(null, null, null);
+ }
+ final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
+
+ final Configuration configuration = config != null ? config : new DefaultConfiguration();
+
+ return new DB2NoSQLAppender(name, filter, layout, ignoreExceptions);
+ }
+
+ private DBCollection collection;
+
+ private DB2NoSQLAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout, final boolean ignoreExceptions) {
+ super(name, filter, layout, ignoreExceptions);
+ }
+
+ @Override
+ public void append(final LogEvent event) {
+ Marker m = event.getMarker();
+ if (!(m instanceof MediaCubeMarker))
+ return;
+
+ final MediaCubeMarker marker = (MediaCubeMarker) m;
+ final String sessionID = marker.getSessionID();
+ if (sessionID == null || sessionID.length() == 0)
+ return;
+
+ final LogEvent evt = event.toImmutable();
+ executor.submit(() -> {
+ // byte[] bytes = getLayout().toByteArray(evt);
+ // String json = new String(bytes);
+ // BasicDBObject eo = (BasicDBObject) JSONUtil.jsonToDbObject(json);
+ BasicDBObject smartEvent = new BasicDBObject();
+ smartEvent.put("dateTime", new Date(evt.getTimeMillis()));
+ smartEvent.put("thread", evt.getThreadName());
+ smartEvent.put("level", evt.getLevel().toString());
+ smartEvent.put("loggerName", evt.getLoggerName());
+ smartEvent.put("sessionID", Long.parseLong(sessionID));
+ smartEvent.put("sessionName", marker.getSessionName());
+ smartEvent.put("message", evt.getMessage().getFormattedMessage());
+ smartEvent.put("throwable", evt.getMessage().getThrowable());
+
+ if (collection == null) {
+ DB db = NoSQLUtils.getNoSQLDB();
+ collection = db.getCollection("sessionlogs");
+ }
+ collection.save(smartEvent);
+ });
+ }
+
+ @Override
+ public boolean isFiltered(final LogEvent event) {
+ final boolean filtered = super.isFiltered(event);
+ return filtered;
+ }
+}
List<LogEvent> events = sessionEvents.get(sessionID);
if (events == null)
return;
+
+ Level mailLevel = level;
+ for (LogEvent event : events) {
+ if (event.getLevel().intLevel() < mailLevel.intLevel())
+ mailLevel = event.getLevel();
+ }
+
String to = mcm.getTo() == null ? defaultRecipient : mcm.getTo();
- String subject = mcm.getSessionName() == null ? defaultSubject : String.format("%s: %s #%s", level, mcm.getSessionName(), mcm.getSessionID());
+ String subject = mcm.getSessionName() == null ? defaultSubject : String.format("%s: %s #%s", mailLevel, mcm.getSessionName(), mcm.getSessionID());
sendEvents(to, subject, layout, events);
sessionEvents.remove(sessionID);
}
<parameter name="filterAgencies" type="java.lang.String"/>\r
<parameter name="limit" type="java.lang.Integer"/>\r
<parameter name="nexioKillDateDays" type="java.lang.Integer"/>\r
- <parameter name="targetAgency" type="java.lang.String"/>\r
+ <parameter name="nexioAgency" type="java.lang.String"/>\r
</parameters>\r
</declarations>\r
<commands>\r
<parameter name="nexioKillDateDays" />\r
</input>\r
<input>\r
- <parameter name="targetAgency" />\r
+ <parameter name="nexioAgency" />\r
</input>\r
</inputs>\r
</calljobstep>\r
<?xml version="1.0" encoding="UTF-8"?>\r
<jobtemplate name="MORPHEUS 'missing materials' importálása">\r
+ <declarations>\r
+ <parameters>\r
+ <parameter name="daysBeforeNow" type="java.lang.Integer"/>\r
+ </parameters>\r
+ </declarations>\r
<commands>\r
<calljobstep type="user.jobengine.server.steps.ImportStatisticsStep" weight="1">\r
+ <inputs>\r
+ <input>\r
+ <parameter name="daysBeforeNow" />\r
+ </input>\r
+ </inputs>\r
</calljobstep>\r
</commands>\r
</jobtemplate>
\ No newline at end of file
}\r
\r
private String getTargetFileName(String sourceFileName, String[] names) {\r
+ String result = sourceFileName + MXFEXT;\r
+ if (names == null || names.length == 0)\r
+ return result;\r
List<String> remoteNames = new ArrayList<>();\r
for (String name : names) {\r
if (name != null)\r
remoteNames.add(name.toLowerCase());\r
}\r
- String result = sourceFileName + MXFEXT;\r
int version = 1;\r
while (remoteNames.contains(result.toLowerCase())) {\r
result = String.format("%s-%d%s", sourceFileName, version, MXFEXT);\r
check(nexioUserName, "nexioUserName");\r
check(nexioPassword, "nexioPassword");\r
\r
- check(agencies, "agencies");\r
+ check(agencies, "filterAgencies");\r
filterAgencies = agencies.split(",");\r
\r
check(limit, "limit");\r
sourceFtp = ((FtpDirectoryLister) sourceUri.getLister()).connect();\r
targetFtp = ((FtpDirectoryLister) targetUri.getLister()).connect();\r
\r
+ result = getTargetFileName(sourceFileName, targetFtp.listNames());\r
+\r
if (!targetFtp.enterRemotePassiveMode())\r
throw new Exception("!PASV");\r
\r
- result = getTargetFileName(sourceFileName, targetFtp.listNames());\r
-\r
reply = sourceFtp.port(InetAddress.getByName(targetFtp.getPassiveHost()), targetFtp.getPassivePort());\r
if (!FTPReply.isPositiveCompletion(reply))\r
throw new Exception("PORT parancs válasza: " + sourceFtp.getReplyString());\r
package user.jobengine.server.steps;\r
\r
-import java.util.concurrent.CountDownLatch;\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.List;\r
+import java.util.concurrent.Semaphore;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
\r
import user.commons.ListUtils;\r
+import user.jobengine.db.ItemManagerData.SignalType;\r
+import user.jobengine.server.IJobChangedListener;\r
import user.jobengine.server.IJobEngine;\r
import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.JobStatusChangedEvent;\r
\r
public class FakeNoParamsStep extends JobStep {\r
private static final String CHILD_TITLE = "Párhuzamosított alfolyamat";\r
private static final String CHILD_TEMPLATE = "fake-concurrent.xml";\r
private static final Logger logger = LogManager.getLogger();\r
int count = 10;\r
- CountDownLatch latch = new CountDownLatch(count);\r
-\r
- private void childStatusChanged(JobStatusChangedEvent event) {\r
- switch (event.getStatus()) {\r
- case CANCELED:\r
- case FINISHED:\r
- case RUNABLE:\r
- case SUSPENDED:\r
- latch.countDown();\r
- break;\r
- default:\r
- break;\r
- }\r
- // if (JobStatus.SUSPENDED.equals(event.getStatus()) || JobStatus.FINISHED.equals(event.getStatus()))\r
- }\r
\r
@StepEntry\r
public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
- // logger.warn(jobRuntime.getMarker(), "Egy WARN {}", "paraméterrel");\r
- // logger.error(jobRuntime.getMarker(), "Egy ERROR {}", "paraméterrel");\r
- // for (int i = 0; i < count; i++) {\r
- // if (!canContinue())\r
- // break;\r
- // jobRuntime.incrementProgress((i + 1) * count);\r
- //\r
- // Thread.sleep(100);\r
- // logger.info(jobRuntime.getMarker(), "Log markered" + i);\r
- //\r
- // if (i == 8)\r
- // throw new Exception("stop");\r
- // }\r
+ final Semaphore semaphore = new Semaphore(1);\r
+ List<Long> childrenIDs = Collections.synchronizedList(new ArrayList<>());\r
+\r
+ IJobChangedListener listener = event -> {\r
+ IJobRuntime child = event.getJob();\r
+ if (event.getSignalType().equals(SignalType.CREATE)) {\r
+ if (child.getParentJobId() == jobRuntime.getId()) {\r
+ childrenIDs.add(child.getId());\r
+ }\r
\r
- //Thread.sleep(100000);\r
+ if (child.getParentJobId() != jobRuntime.getId() && childrenIDs.contains(child.getParentJobId())) {\r
+ childrenIDs.add(child.getId());\r
+ }\r
+ }\r
+ if (event.getSignalType().equals(SignalType.DELETE) && childrenIDs.contains(child.getId())) {\r
+ childrenIDs.remove(child.getId());\r
+ if (childrenIDs.size() == 0)\r
+ semaphore.release();\r
+ }\r
+ };\r
+ jobEngine.addJobChangedEventListener(listener);\r
+ semaphore.acquire();\r
for (int i = 0; i < count; i++) {\r
- jobEngine.submit(jobRuntime, e -> childStatusChanged(e), CHILD_TEMPLATE, CHILD_TITLE, ListUtils.asMap("itemID", i));\r
+ jobEngine.submit(jobRuntime, null, CHILD_TEMPLATE, CHILD_TITLE, ListUtils.asMap("itemID", i));\r
}\r
- latch.await();\r
+ semaphore.acquire();\r
+ jobEngine.removeJobChangedEventListener(listener);\r
return null;\r
}\r
}\r
Object[] result = { itemID + 1 };\r
\r
logger.info(jobRuntime.getMarker(), "Starting with {}", itemID);\r
+ logger.error(jobRuntime.getMarker(), "Error with {}", itemID);\r
try {\r
for (int i = 0; i < count; i++) {\r
//sb.append("Sikeres iteráció : ")\r
--- /dev/null
+package user.jobengine.server.steps;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.List;\r
+import java.util.concurrent.Semaphore;\r
+\r
+import user.jobengine.db.ItemManagerData.SignalType;\r
+import user.jobengine.server.IJobChangedListener;\r
+import user.jobengine.server.IJobEngine;\r
+import user.jobengine.server.IJobRuntime;\r
+\r
+public abstract class ForkStep extends JobStep {\r
+\r
+ @StepEntry\r
+ public void execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+ final Semaphore semaphore = new Semaphore(1);\r
+ List<Long> childrenIDs = Collections.synchronizedList(new ArrayList<>());\r
+\r
+ IJobChangedListener listener = event -> {\r
+ IJobRuntime child = event.getJob();\r
+ if (event.getSignalType().equals(SignalType.CREATE)) {\r
+ if (child.getParentJobId() == jobRuntime.getId()) {\r
+ childrenIDs.add(child.getId());\r
+ }\r
+\r
+ if (child.getParentJobId() != jobRuntime.getId() && childrenIDs.contains(child.getParentJobId())) {\r
+ childrenIDs.add(child.getId());\r
+ }\r
+ }\r
+ if (event.getSignalType().equals(SignalType.DELETE) && childrenIDs.contains(child.getId())) {\r
+ childrenIDs.remove(child.getId());\r
+ if (childrenIDs.size() == 0)\r
+ semaphore.release();\r
+ }\r
+ };\r
+ jobEngine.addJobChangedEventListener(listener);\r
+ semaphore.acquire();\r
+ try {\r
+ fork(jobEngine, jobRuntime);\r
+ } catch (Exception e) {\r
+ semaphore.release();\r
+ throw e;\r
+ }\r
+ semaphore.acquire();\r
+ jobEngine.removeJobChangedEventListener(listener);\r
+ }\r
+\r
+ protected abstract void fork(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception;\r
+}\r
package user.jobengine.server.steps;\r
\r
+import java.util.Calendar;\r
+import java.util.Date;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.apache.logging.log4j.Marker;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+import com.ibm.nosql.json.api.DBObject;\r
\r
+import user.commons.CalendarUtils;\r
+import user.commons.nosql.NoSQLUtils;\r
+import user.commons.octopus.IOctopusAPI;\r
+import user.commons.octopus.OctopusAPI;\r
import user.jobengine.server.IJobEngine;\r
import user.jobengine.server.IJobRuntime;\r
\r
public class ImportStatisticsStep extends JobStep {\r
private static final Logger logger = LogManager.getLogger();\r
+ private static final String SCHEDULED_FORMAT = "yyyy.MM.dd HH:mm";\r
+ private IOctopusAPI octopusAPI;\r
+ private Marker marker;\r
+\r
+ private void createAPI(IJobRuntime jobRuntime) throws Exception {\r
+ try {\r
+ octopusAPI = new OctopusAPI();\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ logger.error(jobRuntime.getMarker(), "Az Octopus adatbázis nem érhető el. A rendszer üzenete: {}", e.getMessage());\r
+ throw e;\r
+ }\r
+ }\r
\r
@StepEntry\r
- public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+ public Object[] execute(int daysBeforeNow, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
+ marker = jobRuntime.getMarker();\r
+ createAPI(jobRuntime);\r
+\r
+ Calendar scheduledDate = Calendar.getInstance();\r
+ scheduledDate.add(Calendar.DAY_OF_YEAR, -1 * daysBeforeNow);\r
+ List<DBObject> rundowns = octopusAPI.getRundowns(scheduledDate.getTime());\r
+ if (rundowns == null) {\r
+ logger.warn(marker, "Nem található adástükör a {} napra.", CalendarUtils.toDateString(scheduledDate));\r
+ return null;\r
+ }\r
+ Map<Long, BasicDBObject> stories = processRundowns(rundowns);\r
+\r
+ List<DBObject> folders = octopusAPI.getStoryFolders();\r
+ Map<Long, BasicDBObject> folderStories = processFolders(folders, scheduledDate);\r
+ stories.putAll(folderStories);\r
\r
return null;\r
}\r
\r
+ private Map<Long, BasicDBObject> processFolders(List<DBObject> folders, Calendar scheduledDate) {\r
+ Map<Long, BasicDBObject> result = new HashMap<>();\r
+ for (DBObject f : folders) {\r
+ BasicDBObject folder = (BasicDBObject) f;\r
+ String folderName = null;\r
+ long folderID = 0;\r
+ try {\r
+ folderID = NoSQLUtils.asLong(folder, IOctopusAPI.ID);\r
+ folderName = folder.getString(IOctopusAPI.NAME);\r
+ List<DBObject> stories = octopusAPI.getStoryFolderStories(folderID);\r
+ if (stories != null)\r
+ result.putAll(processStories(stories, scheduledDate));\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ logger.error(marker, String.format("A %s %s mappa feldolgozása nem lehetséges. A rendszer üzenete: %s", folderID, folderName, e.getMessage()));\r
+ }\r
+ }\r
+ return result;\r
+ }\r
+\r
+ private Map<Long, BasicDBObject> processRundowns(List<DBObject> rundowns) {\r
+ Map<Long, BasicDBObject> result = new HashMap<>();\r
+ for (DBObject r : rundowns) {\r
+ BasicDBObject rundown = (BasicDBObject) r;\r
+ String rundownName = null;\r
+ long rundownID = 0;\r
+ try {\r
+ rundownID = NoSQLUtils.asLong(rundown, IOctopusAPI.ID);\r
+ String name = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.RUNDOWN_TYPE), IOctopusAPI.NAME);\r
+ String channel = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.CHANNEL), IOctopusAPI.NAME);\r
+ Date scheduledStart = rundown.getDate(IOctopusAPI.SCHEDULED_START);\r
+ String start = CalendarUtils.toString(CalendarUtils.createCalendar(scheduledStart), SCHEDULED_FORMAT);\r
+ //String rundownName = NoSQLUtils.asString(rundown, IOctopusAPI.NAME);\r
+ rundownName = String.format("%s %s %s", start, name, channel);\r
+ List<DBObject> stories = octopusAPI.getRundownStories(rundownID);\r
+ if (stories != null)\r
+ result.putAll(processStories(stories, null));\r
+ } catch (Exception e) {\r
+ logger.catching(e);\r
+ logger.error(marker,\r
+ String.format("A %s %s tükör feldolgozása nem lehetséges. A rendszer üzenete: %s", rundownID, rundownName, e.getMessage()));\r
+ }\r
+ }\r
+ return result;\r
+ }\r
+\r
+ private Map<Long, BasicDBObject> processStories(List<DBObject> stories, Calendar scheduledDate) {\r
+ Map<Long, BasicDBObject> result = new HashMap<>();\r
+ for (DBObject storyObject : stories) {\r
+ BasicDBObject story = (BasicDBObject) storyObject;\r
+ BasicDBObject mosObjects = NoSQLUtils.asDBObject(story, IOctopusAPI.MOS_OBJECTS);\r
+ if (mosObjects == null || mosObjects.isEmpty())\r
+ continue;\r
+ long storyID = NoSQLUtils.asLong(story, IOctopusAPI.ID);\r
+ if (storyID == 0)\r
+ continue;\r
+\r
+ if (scheduledDate != null) {\r
+ //story.get\r
+\r
+ }\r
+\r
+ if (!result.containsKey(storyID))\r
+ result.put(storyID, story);\r
+ }\r
+ return result;\r
+ }\r
+\r
}\r
long storyID = story.getLong(IOctopusAPI.ID);\r
\r
story.put(IOctopusAPI.MODIFIED, toDate(story, IOctopusAPI.MODIFIED));\r
+ story.put(IOctopusAPI.SCHEDULEFROM, toDate(story, IOctopusAPI.SCHEDULEFROM));\r
+ story.put(IOctopusAPI.SCHEDULETO, toDate(story, IOctopusAPI.SCHEDULETO));\r
BasicDBList rundownRef = storyRundowns.get(storyID);\r
BasicDBList storyFolderRef = storyStoryFolders.get(storyID);\r
BasicDBList modifiedMOS = extractRelevantMOSObjects(story);\r
return result;\r
}\r
\r
- public static Map<String, Object> asMap(Object... items) throws Exception {\r
+ public static Map<String, Object> asMap(Object... items) {\r
Map<String, Object> result = new HashMap<>();\r
- if (items.length % 2 != 0)\r
- throw new Exception("Even number of parameters is required.");\r
for (int i = 0; i < items.length; i = i + 2) {\r
result.put(String.valueOf(items[i]), items[i + 1]);\r
}\r
static final String SCHEDULED_START = "scheduledStart";\r
static final String SLUGS = "slugs";\r
static final String MODIFIED = "modified";\r
+ static final String SCHEDULEFROM = "scheduleFrom";\r
+ static final String SCHEDULETO = "scheduleTo";\r
static final String STORIES = "stories";\r
static final String ID = "id";\r
static final String _ID = "_id";\r
// assertEquals(x, y);\r
// }\r
\r
+ // @Test\r
+ // public void test2() throws Exception {\r
+ // Map<String, Object> m1 = ListUtils.asMap("1", 1);\r
+ // Map<String, Object> m2 = ListUtils.asMap("1", 2);\r
+ // Map<String, Object> m3 = new HashMap<>();\r
+ // m3.putAll(m1);\r
+ // m3.putAll(m2);\r
+ // assertEquals(2, m3.get("1"));\r
+ //\r
+ // m1.putAll(m2);\r
+ // assertEquals(2, m1.get("1"));\r
+ // }\r
+\r
@Test\r
public void testClient() {\r
ResteasyWebTarget webTarget = new ResteasyClientBuilder().build().target("http://10.10.1.28/services/rest/octopus/");\r
<div height="100%" width="100%" style="background: #e3e3e3" align="left">\r
<groupbox height="94%" closable="false">\r
<caption sclass="boldfont" label="Aktív folyamatok" />\r
-<!-- <borderlayout> -->\r
-<!-- <center> -->\r
- <listbox id="lbJobList" sizedByContent="false" model="@load(jlm.jobList)" multiple="true" pagingPosition="top" mold="paging"\r
- autopaging="true" vflex="true" checkmark="true" style="border: none; background: #e3e3e3 !important;"\r
- oddRowSclass="listbox-odd-style" sclass="listbox-normal-style" emptyMessage="Nincs futó folyamat." selectedItems="@bind(jlm.selectedJobs)">\r
- <listhead>\r
- <listheader label="Id" hflex="min" align="left" sort="auto" />\r
- <listheader label="Indítás" hflex="min" align="left" sort="auto" />\r
- <listheader label="Kész" hflex="min" align="left" sort="auto" />\r
- <listheader label="Név" hflex="min" align="left" sort="auto" />\r
- <listheader label="Prioritás" hflex="min" align="left" sort="auto" />\r
- <listheader label="Állapot" hflex="min" align="left" sort="auto" />\r
- <listheader label="Készültség" width="100px" align="left" sort="auto" />\r
- <listheader label="Üzenet" hflex="max" align="left" sort="auto" />\r
- <listheader label="Paraméterek" hflex="min" align="left" sort="auto" />\r
- </listhead>\r
+ <!-- <borderlayout> -->\r
+ <!-- <center> -->\r
+ <listbox id="lbJobList" sizedByContent="false" model="@load(jlm.jobList)" multiple="true" pagingPosition="top" mold="paging" autopaging="true"\r
+ vflex="true" checkmark="true" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style" sclass="listbox-normal-style"\r
+ emptyMessage="Nincs futó folyamat." selectedItems="@bind(jlm.selectedJobs)">\r
+ <listhead>\r
+ <listheader label="Id" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Indítás" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Kész" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Név" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Prioritás" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Állapot" hflex="min" align="left" sort="auto" />\r
+ <listheader label="Készültség" width="100px" align="left" sort="auto" />\r
+ <listheader label="Üzenet" hflex="max" align="left" sort="auto" />\r
+ <listheader label="Paraméterek" hflex="min" align="left" sort="auto" />\r
+ </listhead>\r
\r
- <template name="model">\r
- <listitem>\r
- <listcell label="@load(each.id)" />\r
- <listcell label="@load(each.submitted)" />\r
- <listcell label="@load(each.finished)" />\r
- <listcell label="@load(each.name)" />\r
- <listcell label="@load(each.priority)" />\r
- <listcell label="@load(each.status)" />\r
- <listcell>\r
- <progressmeter ca:data-animationspeed="-1" value="@load(each.progress)" width="100%" />\r
- </listcell>\r
- <listcell label="@load(each.description)" />\r
- <listcell label="@load(each.parameters)" />\r
- </listitem>\r
- </template>\r
- </listbox>\r
- \r
-<!-- </center> -->\r
-<!-- <east title="Részletek" size="25%" flex="true" splittable="true" collapsible="true"> -->\r
-<!-- <grid sizedByContent="false" span="true" model="@load(jlm.selectedJobs)" -->\r
-<!-- vflex="true" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style" -->\r
-<!-- sclass="listbox-normal-style" emptyMessage="A részletek megtekintéséhez jelöljön ki egy folyamatot." > -->\r
-<!-- <columns> -->\r
-<!-- <column label="ID" hflex="1" align="left" /> -->\r
-<!-- </columns> -->\r
-<!-- <rows> -->\r
-<!-- <template name="model"> -->\r
-<!-- <row> -->\r
-<!-- <label value="@load(each.parameters)" /> -->\r
-<!-- </row> -->\r
-<!-- </template> -->\r
-<!-- </rows> -->\r
-<!-- </grid> -->\r
-<!-- </east> -->\r
-<!-- </borderlayout> -->\r
+ <template name="model">\r
+ <listitem>\r
+ <listcell label="@load(each.id)" />\r
+ <listcell label="@load(each.submitted)" />\r
+ <listcell label="@load(each.finished)" />\r
+ <listcell label="@load(each.name)" />\r
+ <listcell label="@load(each.priority)" />\r
+ <listcell label="@load(each.status)" />\r
+ <listcell>\r
+ <progressmeter ca:data-animationspeed="-1" value="@load(each.progress)" width="100%" />\r
+ </listcell>\r
+ <listcell label="@load(each.description)" />\r
+ <listcell>\r
+ <a href="javascript:void(0);" label="Paraméterek" onClick="@command('showParameters', item=each)" />\r
+ </listcell>\r
+ </listitem>\r
+ </template>\r
+ </listbox>\r
+\r
+ <!-- </center> -->\r
+ <!-- <east title="Részletek" size="25%" flex="true" splittable="true" collapsible="true"> -->\r
+ <!-- <grid sizedByContent="false" span="true" model="@load(jlm.selectedJobs)" -->\r
+ <!-- vflex="true" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style" -->\r
+ <!-- sclass="listbox-normal-style" emptyMessage="A részletek megtekintéséhez jelöljön ki egy folyamatot." > -->\r
+ <!-- <columns> -->\r
+ <!-- <column label="ID" hflex="1" align="left" /> -->\r
+ <!-- </columns> -->\r
+ <!-- <rows> -->\r
+ <!-- <template name="model"> -->\r
+ <!-- <row> -->\r
+ <!-- <label value="@load(each.parameters)" /> -->\r
+ <!-- </row> -->\r
+ <!-- </template> -->\r
+ <!-- </rows> -->\r
+ <!-- </grid> -->\r
+ <!-- </east> -->\r
+ <!-- </borderlayout> -->\r
\r
</groupbox>\r
</div>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<window id="resultWin" title="Folyamat paraméterei" width="400px" border="normal" apply="org.zkoss.bind.BindComposer"\r
+ viewModel="@id('jlm') @init('user.jobengine.zk.model.JobParametersModel')" forward="onCancel=closeButton.onClick">\r
+ <grid sizedByContent="false" span="true" model="@bind(jlm.selectedJob.parameters)" vflex="true" style="border: none; background: #e3e3e3 !important;"\r
+ oddRowSclass="listbox-odd-style" sclass="listbox-normal-style">\r
+ <columns>\r
+ <column label="" hflex="1" align="left" />\r
+ </columns>\r
+ <rows>\r
+ <template name="xmodel">\r
+ <row>\r
+ <div sclass="details">\r
+ <div>\r
+ <label value="Facilities:" />\r
+ <label value="@load(each.template)" />\r
+ </div>\r
+ </div>\r
+ </row>\r
+ </template>\r
+ </rows>\r
+ </grid>\r
+ <hbox width="100%" pack="center" align="center">\r
+ <button id="closeButton" label="Bezár" onClick="@command('close')" />\r
+ </hbox>\r
+</window>\r
-version=2.2.2\r
+version=2.2.3\r
footer=2016 © Copyright User Rendszerház Kft.\r
\r
login_info=Információ\r
error.start.downloadjob=A letöltés megkezdése közben hiba lépett fel!\r
error.refresh=Frissítés közben hiba lépett fel!\r
error.cancel=Megszakítás közben hiba lépett fel!\r
-error.isauthorized=A jogosultság lekérdezése közben hiba lépett fel!\r
+error.isauthorized=A jogosultság lekérdezése közben hiba l\uFFFD\uFFFDpett fel!\r
error.notauthorized=Önnek nincs jogosultsága a kérés teljesítéséhez!\r
error.notauthorized.sc=Önnek nincs jogosultsága ezekre az értékekre keresni!\r
error.nodocument=A megadott indexekkel nincsenek betöltve dokumentumok!\r
package user.jobengine.zk.model;\r
\r
import java.util.Collection;\r
-import java.util.HashMap;\r
import java.util.Map;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.annotation.BindingParam;\r
import org.zkoss.bind.annotation.Command;\r
import org.zkoss.bind.annotation.Init;\r
import org.zkoss.bind.annotation.NotifyChange;\r
\r
import com.ibm.nosql.json.api.BasicDBObject;\r
\r
+import user.commons.ListUtils;\r
import user.jobengine.db.ItemManagerData.SignalType;\r
import user.jobengine.server.IJobChangedListener;\r
import user.jobengine.server.IJobEngine;\r
\r
@Command\r
public void executeJob() {\r
- Map<String, Object> arguments = new HashMap<String, Object>();\r
- arguments.put("jobEngine", jobEngine);\r
String template = "/pages/jobselector.zul";\r
- Window window = (Window) Executions.createComponents(template, null, arguments);\r
+ Window window = (Window) Executions.createComponents(template, null, ListUtils.asMap("jobEngine", jobEngine));\r
window.doModal();\r
}\r
\r
t.start();\r
}\r
\r
+ public void setJobList(ListModelList<IJobRuntime> jobList) {\r
+ this.jobList = jobList;\r
+ }\r
+\r
// @Command\r
// public void restart() {\r
// startupDisabled = true;\r
// initializeList();\r
// }\r
\r
- public void setJobList(ListModelList<IJobRuntime> jobList) {\r
- this.jobList = jobList;\r
- }\r
-\r
public void setNewPriority(int newPriority) {\r
this.newPriority = newPriority;\r
}\r
NotifyChange("startupDisabled");\r
}\r
\r
+ @Command\r
+ public void showParameters(@BindingParam("item") IJobRuntime jobRuntime) {\r
+ String template = "/pages/jobparameters.zul";\r
+ Window window = (Window) Executions.createComponents(template, null, ListUtils.asMap("jobRuntime", jobRuntime));\r
+ window.doModal();\r
+ }\r
+\r
@Command\r
public void shutdown() {\r
setShutdownDisabled(true);\r
--- /dev/null
+package user.jobengine.zk.model;\r
+\r
+import org.zkoss.bind.annotation.AfterCompose;\r
+import org.zkoss.bind.annotation.Command;\r
+import org.zkoss.bind.annotation.ContextParam;\r
+import org.zkoss.bind.annotation.ContextType;\r
+import org.zkoss.bind.annotation.Init;\r
+import org.zkoss.zk.ui.Component;\r
+import org.zkoss.zk.ui.Executions;\r
+import org.zkoss.zk.ui.select.Selectors;\r
+import org.zkoss.zk.ui.select.annotation.Wire;\r
+import org.zkoss.zul.Window;\r
+\r
+import user.jobengine.server.IJobRuntime;\r
+\r
+public class JobParametersModel extends BaseModel {\r
+\r
+ @Wire("#resultWin")\r
+ private Window resultWin;\r
+ private IJobRuntime selectedJob;\r
+\r
+ @AfterCompose\r
+ public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
+ Selectors.wireComponents(view, this, false);\r
+ }\r
+\r
+ @Command\r
+ public void close() {\r
+ resultWin.detach();\r
+ }\r
+\r
+ public IJobRuntime getSelectedJob() {\r
+ return selectedJob;\r
+ }\r
+\r
+ @Init\r
+ public void init() {\r
+ this.selectedJob = (IJobRuntime) Executions.getCurrent().getArg().get("jobRuntime");\r
+ }\r
+\r
+ public void setSelectedJob(IJobRuntime selectedJob) {\r
+ this.selectedJob = selectedJob;\r
+ }\r
+\r
+}
\ No newline at end of file