git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 16 May 2018 08:23:28 +0000 (08:23 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 16 May 2018 08:23:28 +0000 (08:23 +0000)
24 files changed:
client/Maestro/Configuration/-configuration-nexio-ingest.json
client/Maestro/Configuration/configuration-studio.json [moved from client/Maestro/Configuration/-configuration-studio.json with 100% similarity]
client/Maestro/Maestro.csproj
client/Maestro/MaestroForm.Designer.cs
client/Maestro/MaestroForm.Source.cs
client/Maestro/MaestroForm.cs
client/Maestro/MaestroForm.resx
client/Maestro/Properties/AssemblyInfo.cs
client/Maestro/Properties/Resources.Designer.cs
client/Maestro/Properties/Resources.resx
client/Maestro/Resources/ic_cached_black_18dp.png [new file with mode: 0644]
client/Maestro/Sources/FileSystemSource.cs
client/Maestro/Sources/ISource.cs
client/Maestro/Sources/NexioRESTSource.cs
client/MaestroShared/Controls/DoubleClickTreeView.cs
server/-configuration/run-mediacube-server-bsh.launch
server/user.jobengine.executors/jobtemplates/batch-retrieve-ondemand.xml
server/user.jobengine.osgi.db/sql/5-CreateFTIndex.db2
server/user.jobengine.osgi.db/sql/mediadescription-merge.sql [new file with mode: 0644]
server/user.jobengine.osgi.db/src/user/jobengine/db/ItemDAOEx.java
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/resources/i3-label_hu.properties
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/ShortDateConverter.java [new file with mode: 0644]
server/user.jobengine.osgi.services/src/user/jobengine/osgi/ws/nexio/NexioWSServlet.java

index 2686a69c9758d4f114974518a4c94155f4573ad4..fbb58f3575dc7774d8a0888cb96da232ee956576 100644 (file)
@@ -1,6 +1,6 @@
 {\r
   "title": "NEXIO betöltő",\r
-  "active": false,\r
+  "active": true,\r
   "startInTray": false,\r
   "enableCustomMetadataId": true,\r
   "player": {\r
index 2335d5e7f0357d549793e244d50514158225b6e1..619c9e4269fc93c8b6fe614d3ec390858c464504 100644 (file)
     <None Include="Configuration\-configuration-sxs.json">\r
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>\r
     </None>\r
-    <None Include="Configuration\-configuration-studio.json">\r
+    <None Include="Configuration\configuration-studio.json">\r
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>\r
     </None>\r
   </ItemGroup>\r
     <None Include="Resources\ic_folder_open_black_24dp_1x.png" />\r
     <None Include="Resources\ic_refresh_black_24dp_1x.jpg" />\r
     <None Include="Resources\ic_refresh_black_24dp_1x.png" />\r
+    <None Include="Resources\ic_cached_black_18dp.png" />\r
     <Content Include="Resources\play.ico" />\r
     <Content Include="TODO.txt" />\r
   </ItemGroup>\r
index 62e3f21b09c610d53b26ad2261d7537d465461b9..f3a3bec34acbd73f8f4f9ed52f54daa23b3a9b1a 100644 (file)
@@ -43,8 +43,9 @@ namespace Maestro {
             this.treeFolders = new MaestroShared.Controls.DoubleClickTreeView();\r
             this.ilFolders = new System.Windows.Forms.ImageList(this.components);\r
             this.pSourceFilter = new System.Windows.Forms.TableLayoutPanel();\r
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();\r
             this.txtSourceFilter = new System.Windows.Forms.TextBox();\r
-            this.picClearFilter = new System.Windows.Forms.PictureBox();\r
+            this.picRefreshFileList = new System.Windows.Forms.PictureBox();\r
             this.pSourceDisplay = new System.Windows.Forms.TableLayoutPanel();\r
             this.tsSource = new System.Windows.Forms.ToolStrip();\r
             this.btnShowFolders = new System.Windows.Forms.ToolStripButton();\r
@@ -98,7 +99,8 @@ namespace Maestro {
             ((System.ComponentModel.ISupportInitialize)(this.dgSource)).BeginInit();\r
             ((System.ComponentModel.ISupportInitialize)(this.bindingSource)).BeginInit();\r
             this.pSourceFilter.SuspendLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.picClearFilter)).BeginInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.picRefreshFileList)).BeginInit();\r
             this.pSourceDisplay.SuspendLayout();\r
             this.tsSource.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.scOperations)).BeginInit();\r
@@ -229,46 +231,60 @@ namespace Maestro {
             // pSourceFilter\r
             // \r
             this.pSourceFilter.AutoSize = true;\r
-            this.pSourceFilter.ColumnCount = 2;\r
+            this.pSourceFilter.ColumnCount = 3;\r
             this.pSourceFilter.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
             this.pSourceFilter.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+            this.pSourceFilter.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+            this.pSourceFilter.Controls.Add(this.pictureBox1, 0, 0);\r
             this.pSourceFilter.Controls.Add(this.txtSourceFilter, 0, 0);\r
-            this.pSourceFilter.Controls.Add(this.picClearFilter, 1, 0);\r
+            this.pSourceFilter.Controls.Add(this.picRefreshFileList, 2, 0);\r
             this.pSourceFilter.Dock = System.Windows.Forms.DockStyle.Top;\r
             this.pSourceFilter.Location = new System.Drawing.Point(10, 23);\r
             this.pSourceFilter.Margin = new System.Windows.Forms.Padding(0);\r
             this.pSourceFilter.Name = "pSourceFilter";\r
-            this.pSourceFilter.Padding = new System.Windows.Forms.Padding(0, 0, 0, 4);\r
             this.pSourceFilter.RowCount = 1;\r
             this.pSourceFilter.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
-            this.pSourceFilter.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));\r
             this.pSourceFilter.Size = new System.Drawing.Size(330, 24);\r
             this.pSourceFilter.TabIndex = 17;\r
             // \r
+            // pictureBox1\r
+            // \r
+            this.pictureBox1.BackColor = System.Drawing.Color.Transparent;\r
+            this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;\r
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));\r
+            this.pictureBox1.ImageLocation = "";\r
+            this.pictureBox1.Location = new System.Drawing.Point(284, 2);\r
+            this.pictureBox1.Margin = new System.Windows.Forms.Padding(2);\r
+            this.pictureBox1.Name = "pictureBox1";\r
+            this.pictureBox1.Size = new System.Drawing.Size(20, 20);\r
+            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\r
+            this.pictureBox1.TabIndex = 18;\r
+            this.pictureBox1.TabStop = false;\r
+            // \r
             // txtSourceFilter\r
             // \r
             this.txtSourceFilter.Dock = System.Windows.Forms.DockStyle.Top;\r
-            this.txtSourceFilter.Location = new System.Drawing.Point(0, 0);\r
-            this.txtSourceFilter.Margin = new System.Windows.Forms.Padding(0);\r
+            this.txtSourceFilter.Location = new System.Drawing.Point(2, 2);\r
+            this.txtSourceFilter.Margin = new System.Windows.Forms.Padding(2);\r
             this.txtSourceFilter.Name = "txtSourceFilter";\r
-            this.txtSourceFilter.Size = new System.Drawing.Size(310, 20);\r
+            this.txtSourceFilter.Size = new System.Drawing.Size(278, 20);\r
             this.txtSourceFilter.TabIndex = 16;\r
             this.txtSourceFilter.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSourceFilter_KeyDown);\r
             // \r
-            // picClearFilter\r
-            // \r
-            this.picClearFilter.BackColor = System.Drawing.Color.Transparent;\r
-            this.picClearFilter.Cursor = System.Windows.Forms.Cursors.Hand;\r
-            this.picClearFilter.Image = ((System.Drawing.Image)(resources.GetObject("picClearFilter.Image")));\r
-            this.picClearFilter.ImageLocation = "";\r
-            this.picClearFilter.Location = new System.Drawing.Point(310, 0);\r
-            this.picClearFilter.Margin = new System.Windows.Forms.Padding(0);\r
-            this.picClearFilter.Name = "picClearFilter";\r
-            this.picClearFilter.Size = new System.Drawing.Size(20, 20);\r
-            this.picClearFilter.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\r
-            this.picClearFilter.TabIndex = 17;\r
-            this.picClearFilter.TabStop = false;\r
-            this.picClearFilter.Click += new System.EventHandler(this.picClearFilter_Click);\r
+            // picRefreshFileList\r
+            // \r
+            this.picRefreshFileList.BackColor = System.Drawing.Color.Transparent;\r
+            this.picRefreshFileList.Cursor = System.Windows.Forms.Cursors.Hand;\r
+            this.picRefreshFileList.Image = global::Maestro.Properties.Resources.ic_refresh_black_24dp_1x;\r
+            this.picRefreshFileList.ImageLocation = "";\r
+            this.picRefreshFileList.Location = new System.Drawing.Point(308, 2);\r
+            this.picRefreshFileList.Margin = new System.Windows.Forms.Padding(2);\r
+            this.picRefreshFileList.Name = "picRefreshFileList";\r
+            this.picRefreshFileList.Size = new System.Drawing.Size(20, 20);\r
+            this.picRefreshFileList.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\r
+            this.picRefreshFileList.TabIndex = 17;\r
+            this.picRefreshFileList.TabStop = false;\r
+            this.picRefreshFileList.Click += new System.EventHandler(this.picRefreshFileList_Click);\r
             // \r
             // pSourceDisplay\r
             // \r
@@ -937,7 +953,8 @@ namespace Maestro {
             ((System.ComponentModel.ISupportInitialize)(this.bindingSource)).EndInit();\r
             this.pSourceFilter.ResumeLayout(false);\r
             this.pSourceFilter.PerformLayout();\r
-            ((System.ComponentModel.ISupportInitialize)(this.picClearFilter)).EndInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();\r
+            ((System.ComponentModel.ISupportInitialize)(this.picRefreshFileList)).EndInit();\r
             this.pSourceDisplay.ResumeLayout(false);\r
             this.pSourceDisplay.PerformLayout();\r
             this.tsSource.ResumeLayout(false);\r
@@ -1017,7 +1034,7 @@ namespace Maestro {
         private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;\r
         private System.Windows.Forms.TableLayoutPanel pSourceFilter;\r
         private System.Windows.Forms.TextBox txtSourceFilter;\r
-        private System.Windows.Forms.PictureBox picClearFilter;\r
+        private System.Windows.Forms.PictureBox picRefreshFileList;\r
         private System.Windows.Forms.Button btnLookupMetadata;\r
         private System.Windows.Forms.ToolStrip tsMetadata;\r
         private System.Windows.Forms.ToolStripButton btnEditMetadata;\r
@@ -1038,6 +1055,7 @@ namespace Maestro {
         private DataGridViewTextBoxColumn columnKillDate;\r
         private DataGridViewTextBoxColumn Message;\r
         private Commons.DataGridViewProgressColumn dataGridViewProgressColumn1;\r
+        private PictureBox pictureBox1;\r
     }\r
 }\r
 \r
index 2be7542fa2b0f038626df3c9349084b3a5927699..885fcdf3a63026697d9d12c20ac4217ac99b5516 100644 (file)
@@ -130,22 +130,28 @@ namespace Maestro {
             }\r
             if (folders == null)\r
                 return;\r
+\r
+            Array.Sort(folders, StringComparer.InvariantCultureIgnoreCase);\r
             treeFolders.BeginUpdate();\r
             foreach (var folder in folders) {\r
                 TreeNode folderNode = parent.Nodes.Add(GetLastSegment(folder));\r
                 folderNode.Nodes.Add("..");\r
             }\r
-            treeFolders.Sort();\r
+            //treeFolders.Sort();\r
             parent.EnsureVisible();\r
             treeFolders.EndUpdate();\r
         }\r
 \r
         private void OnBeforeExpandFolder(object sender, TreeViewCancelEventArgs e) {\r
-            if (e.Node.Nodes.Count != 1 || !"..".Equals(e.Node.Nodes[0].Text))\r
+            logger.Info("<OnBeforeExpandFolder {0}", e.Node.Text);\r
+            if (e.Node.Nodes.Count != 1 || !"..".Equals(e.Node.Nodes[0].Text)) {\r
+                logger.Info("OnBeforeExpandFolder> Nothing to do");\r
                 return;\r
+            }\r
             e.Node.Nodes.Clear();\r
             Uri address = new Uri(Path.Combine(Configuration.Source.Local.Address.LocalPath, GetPath(e.Node)));\r
             AddFolders(address, e.Node);\r
+            logger.Info("OnBeforeExpandFolder>");\r
         }\r
 \r
         private void OnDoubleClickFolder(object sender, TreeNodeMouseClickEventArgs args) {\r
@@ -432,6 +438,11 @@ namespace Maestro {
             ResetSourceSearch();\r
         }\r
 \r
+        private void picRefreshFileList_Click(object sender, EventArgs e) {\r
+            ISource source = bindingSource.DataSource as ISource;\r
+            source.Reset();\r
+        }\r
+\r
         private void ResetSourceSearch() {\r
             txtSourceFilter.Text = null;\r
             bindingSource.Filter = null;\r
index a5742abbdd74d014b28f16e34689abfebe5f69fc..1356429face53226d7b9890c1dcd13b44a284bed 100644 (file)
@@ -288,5 +288,33 @@ namespace Maestro {
             if (e.Node != null)\r
                 e.Node.Expand();\r
         }\r
+\r
+        //private void OnEditMetadata(object sender, EventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnDefineSegments(object sender, EventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnLookupByMetadata(object sender, EventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnMetadataIDChanged(object sender, EventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnSelectedMetadataKeyDown(object sender, KeyEventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnTargetPanelsMouseClick(object sender, MouseEventArgs e) {\r
+\r
+        //}\r
+\r
+        //private void OnExecuteClick(object sender, EventArgs e) {\r
+\r
+        //}\r
     }\r
 }\r
index 6f3dee41c46ca341ab0c53f372360487b7eb4a01..a38e785dd49f7d337f6d106d81ee6515a8dab27b 100644 (file)
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS\r
-        CAAAAk1TRnQBSQFMAgEBAgEAATgBAQE4AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+        CAAAAk1TRnQBSQFMAgEBAgEAAVgBAQFYAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
         AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
         AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
         AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
 </value>\r
   </data>\r
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
-  <data name="picClearFilter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
     <value>\r
         iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAJ9JREFUSEvt\r
         lFEKgzAQBXOJ9hC2vf+XHsK257FvAgtrkLjB9EsHHhow86KRpIvz8lJG5ZZHde7KpDzyKAgTFuWt1EqQ\r
index 88f47f376e7ecc70d1d7585aeaff4ac9d28a1c0f..898b06c352e0cb806ee867c2d93e0f10fc62c484 100644 (file)
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // 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.8")]\r
-[assembly: AssemblyFileVersion("2.0.7.8")]\r
+[assembly: AssemblyVersion("2.0.8.0")]\r
+[assembly: AssemblyFileVersion("2.0.8.0")]\r
index 382c721ca1c802a952e3624e9de3cf7cbc71c00e..180d0c302dff17bf180e9a7a586ffeba1c28f528 100644 (file)
@@ -19,7 +19,7 @@ namespace Maestro.Properties {
     // class via a tool like ResGen or Visual Studio.\r
     // To add or remove a member, edit your .ResX file then rerun ResGen\r
     // with the /str option, or rebuild your VS project.\r
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]\r
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]\r
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\r
     internal class Resources {\r
@@ -70,6 +70,16 @@ namespace Maestro.Properties {
             }\r
         }\r
         \r
+        /// <summary>\r
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.\r
+        /// </summary>\r
+        internal static System.Drawing.Bitmap ic_cached_black_18dp {\r
+            get {\r
+                object obj = ResourceManager.GetObject("ic_cached_black_18dp", resourceCulture);\r
+                return ((System.Drawing.Bitmap)(obj));\r
+            }\r
+        }\r
+        \r
         /// <summary>\r
         ///   Looks up a localized resource of type System.Drawing.Bitmap.\r
         /// </summary>\r
index 9ba30307af95d75c4a8e3450d11c106c846313d6..2775772dfc75ae30a3c89c09b074e8972dd17b17 100644 (file)
   <data name="ic_refresh_black_24dp_1x" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
     <value>..\Resources\ic_refresh_black_24dp_1x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
   </data>\r
+  <data name="ic_cached_black_18dp" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
+    <value>..\Resources\ic_cached_black_18dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
+  </data>\r
 </root>
\ No newline at end of file
diff --git a/client/Maestro/Resources/ic_cached_black_18dp.png b/client/Maestro/Resources/ic_cached_black_18dp.png
new file mode 100644 (file)
index 0000000..f8d3a39
Binary files /dev/null and b/client/Maestro/Resources/ic_cached_black_18dp.png differ
index 5f95d306f95cb055fe77e239f92f29326eccf617..7d6682da7f4b7e63b429380c4f5e00bf4e3114fc 100644 (file)
@@ -149,7 +149,7 @@ namespace Maestro.Sources {
             return true;\r
         }\r
 \r
-        private void Reset() {\r
+        public void Reset() {\r
             Clear();\r
             cache = null;\r
             Shutdown();\r
index 23801d7d06ab9a5d7e2a74341f3efb9feb0c958d..433662db90a124b562527cecce00853f81761685 100644 (file)
@@ -6,5 +6,6 @@ namespace Maestro.Sources {
     public interface ISource : IBindingListView {\r
         DataGridViewColumn[] Columns { get; }\r
         void Startup(Uri address);\r
+        void Reset();\r
     }\r
 }
\ No newline at end of file
index 6f0416b2afc635bdb934f14adccd6af6ee74db5f..c13bee02eeaafbe5b3a83588f84f3bcbe2d152c0 100644 (file)
@@ -335,6 +335,11 @@ namespace Maestro.Sources {
             InnerStartup();\r
         }\r
 \r
-\r
+        public void Reset() {\r
+            if (nexioAPI != null)\r
+                nexioAPI.Close();\r
+            Clear();\r
+            InnerStartup();\r
+        }\r
     }\r
 }\r
index 34475d1ede62a93a5a731238b3970cab8fba87b8..f736de401b87dd7acaac1bf05870ef0b62c065fe 100644 (file)
@@ -1,10 +1,11 @@
-using System;\r
+using NLog;\r
+using System;\r
 using System.Windows.Forms;\r
 \r
 namespace MaestroShared.Controls {\r
     public class DoubleClickTreeView : TreeView {\r
         public delegate void OnNodeDoubleClick(object sender, TreeNodeMouseClickEventArgs args);\r
-\r
+        private static Logger logger = LogManager.GetCurrentClassLogger();\r
         public OnNodeDoubleClick NodeDoubleClick;\r
 \r
         protected override void WndProc(ref Message m) {\r
index ec4eca746e8f571724fd2e57cc23461f89fa9704..c987230ed4645327884f32b63de4eec17e450403 100644 (file)
@@ -19,7 +19,7 @@
 <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&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-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&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.55&#13;&#10;-Dnexio.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=test_rundowns&#13;&#10;-Djobengine.octopus.storyfolders.name=test_storyfolders&#13;&#10;-Djobengine.octopus.stories.name=test_stories&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-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&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.55&#13;&#10;-Dnexio.disable=false&#13;&#10;-Djobengine.octopus.rundowns.name=test_rundowns&#13;&#10;-Djobengine.octopus.storyfolders.name=test_storyfolders&#13;&#10;-Djobengine.octopus.stories.name=test_stories&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\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,humble.video.noarch@default:default,humble.video.windows@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.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.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index 14cebcde3b304cddde9abe0b070cdd6cdd34a685..141af1e4ae199fd490d373b0a7fd541eac601f70 100644 (file)
@@ -2,27 +2,14 @@
 <jobtemplate name="Archivált anyag visszatöltése" multiInstance="true">\r
        <declarations>\r
                <parameters>\r
-                       <parameter name="trafficOutputPath" type="java.lang.String" />\r
-                       <parameter name="octopusOutputPath" type="java.lang.String" />\r
-                       <parameter name="genericOutputPath" type="java.lang.String" />\r
                        <parameter name="basket" type="java.util.ArrayList" />\r
                        <parameter name="houseId" type="java.lang.String" />\r
                        <parameter name="recipient" type="java.lang.String" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer"/>\r
                </parameters>\r
        </declarations>\r
        <commands>\r
                <calljobstep type="user.jobengine.server.steps.BatchRetrieveForkStep" weight="1">\r
                        <inputs>\r
-                               <input>\r
-                                       <parameter name="trafficOutputPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="octopusOutputPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="genericOutputPath" />\r
-                               </input>\r
                                <input>\r
                                        <parameter name="basket" />\r
                                </input>\r
@@ -32,9 +19,6 @@
                                <input>\r
                                        <parameter name="recipient" />\r
                                </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
                        </inputs>\r
                </calljobstep>\r
        </commands>\r
index 4b9fcfd1b4a66c557d3ebb2205929b1fc5243e80..5783d24aa627baf417703065ceb2ccf1f1058fcd 100644 (file)
@@ -37,3 +37,31 @@ db2ts "update index media_houseid1 for text connect to mc"
 db2ts "drop index media_title1 for text connect to mc"\r
 db2ts "drop index media_desc1 for text connect to mc"\r
 db2ts "drop index media_houseid1 for text connect to mc"\r
+\r
+\r
+DROP TABLE DB2ADMIN.MEDIADESCRIPTION\r
+\r
+CREATE TABLE DB2ADMIN.MEDIADESCRIPTION  ( \r
+       ID BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20) NOT NULL,\r
+       ITEMID BIGINT NOT NULL,\r
+       MEDIAID BIGINT NOT NULL,\r
+       MEDIAFILEID BIGINT NOT NULL,\r
+       DESCRIPTION     CLOB(400000) NOT LOGGED COMPACT,\r
+    CONSTRAINT PK_MEDIADESCRIPTION PRIMARY KEY(ID)\r
+)\r
+\r
+ALTER TABLE DB2ADMIN.MEDIADESCRIPTION\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_ITEMID\r
+       FOREIGN KEY(ITEMID)\r
+       REFERENCES DB2ADMIN.ITEM(ID)\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_MEDIAID\r
+       FOREIGN KEY(MEDIAID)\r
+       REFERENCES DB2ADMIN.MEDIA(ID)\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_MEDIAFILEID\r
+       FOREIGN KEY(MEDIAFILEID)\r
+       REFERENCES DB2ADMIN.MEDIAFILE(ID)\r
+       \r
+db2ts "drop index media_description for text connect to mc"    \r
+db2ts "create index media_description for text on MEDIADESCRIPTION(DESCRIPTION) UPDATE FREQUENCY D(*) H(*) M(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59) UPDATE MINIMUM 1 connect to mc"\r
+db2ts "update index media_description for text connect to mc"\r
+       
\ No newline at end of file
diff --git a/server/user.jobengine.osgi.db/sql/mediadescription-merge.sql b/server/user.jobengine.osgi.db/sql/mediadescription-merge.sql
new file mode 100644 (file)
index 0000000..9bbceeb
--- /dev/null
@@ -0,0 +1,163 @@
+select * from media where archived is null\r
+update media set archived = modified where archived is null\r
+\r
+--Extra view for FT update\r
+CREATE VIEW DB2ADMIN.VW_ITEMS_DESCRIPTION as\r
+select\r
+i.id as itemid, \r
+i.created as itemcreated, \r
+i.houseid as itemhouseid, \r
+i.title as itemtitle, \r
+i.description as itemdescription,\r
+m.id as mediaid,\r
+m.created as mediacreated, \r
+m.archived,\r
+m.length,\r
+m.description as mediadescription, \r
+it.name as mediatype, \r
+m.houseid as mediahouseid, \r
+m.title as mediatitle, \r
+mf.id as mediafileid,\r
+mf.houseid as mediafilehouseid\r
+from mediafile mf\r
+left outer join media m on (m.id = mf.mediaid) \r
+left outer join item i on (i.id = m.itemid) \r
+left outer join itemtype it on (it.id = m.itemtypeid) \r
+where mf.storeid = 1\r
+\r
+--Manual update\r
+insert into mediadescription (itemid, mediaid, mediafileid, description)\r
+select \r
+    itemid,\r
+    mediaid, \r
+    mediafileid,\r
+    COALESCE(hundate(archived), '') concat ' ' \r
+    concat COALESCE(defdate(archived), '') concat ' ' \r
+    concat COALESCE(itemhouseid, '') concat ' ' \r
+    concat COALESCE(itemtitle, '') concat ' ' \r
+    concat COALESCE(itemdescription,'') concat ' ' \r
+    concat COALESCE(mediahouseid, '') concat ' ' \r
+    concat COALESCE(mediatitle, '') concat ' ' \r
+    concat COALESCE(mediadescription, '') concat ' ' \r
+    concat COALESCE(mediafilehouseid, '')\r
+from vw_items_description \r
+where mediafileid not in (select mediafileid from mediadescription)\r
+\r
+select count(*) from vw_items_description where mediafileid not in (select mediafileid from mediadescription) \r
+select * from vw_items_description where mediafileid not in (select mediafileid from mediadescription) \r
+\r
+--Insert trigger\r
+create trigger trg_mediafile_after_insert after insert\r
+on mediafile\r
+referencing new as n\r
+for each row\r
+when (n.storeid = 1)\r
+begin atomic\r
+    insert into mediadescription (itemid, mediaid, mediafileid, description)\r
+    select \r
+        itemid,\r
+        mediaid, \r
+        mediafileid,\r
+        COALESCE(hundate(archived), '') concat ' ' \r
+        concat COALESCE(defdate(archived), '') concat ' ' \r
+        concat COALESCE(itemhouseid, '') concat ' ' \r
+        concat COALESCE(itemtitle, '') concat ' ' \r
+        concat COALESCE(itemdescription,'') concat ' ' \r
+        concat COALESCE(mediahouseid, '') concat ' ' \r
+        concat COALESCE(mediatitle, '') concat ' ' \r
+        concat COALESCE(mediadescription, '') concat ' ' \r
+        concat COALESCE(mediafilehouseid, '')\r
+    from vw_items_description \r
+    where mediafileid = n.id;\r
+end\r
+\r
+\r
+--Extra FT table\r
+DROP TABLE DB2ADMIN.MEDIADESCRIPTION\r
+\r
+CREATE TABLE DB2ADMIN.MEDIADESCRIPTION  ( \r
+       ID BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20) NOT NULL,\r
+       ITEMID BIGINT NOT NULL,\r
+       MEDIAID BIGINT NOT NULL,\r
+       MEDIAFILEID BIGINT NOT NULL,\r
+       DESCRIPTION     CLOB(400000) NOT LOGGED COMPACT,\r
+    CONSTRAINT PK_MEDIADESCRIPTION PRIMARY KEY(ID)\r
+)\r
+\r
+ALTER TABLE DB2ADMIN.MEDIADESCRIPTION\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_ITEMID\r
+       FOREIGN KEY(ITEMID)\r
+       REFERENCES DB2ADMIN.ITEM(ID)\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_MEDIAID\r
+       FOREIGN KEY(MEDIAID)\r
+       REFERENCES DB2ADMIN.MEDIA(ID)\r
+ADD CONSTRAINT FK_MEDIADESCRIPTION_MEDIAFILEID\r
+       FOREIGN KEY(MEDIAFILEID)\r
+       REFERENCES DB2ADMIN.MEDIAFILE(ID)\r
+\r
+--Timestamp to formatted string\r
+create function hundate(TS timestamp) \r
+returns varchar(10) \r
+return \r
+with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as \r
+( \r
+    select \r
+    substr( digits (day(TS)),9), \r
+    substr( digits (month(TS)),9) , \r
+    rtrim(char(year(TS))) , \r
+    substr( digits (hour(TS)),9), \r
+    substr( digits (minute(TS)),9), \r
+    substr( digits (second(TS)),9), \r
+    rtrim(char(microsecond(TS))) \r
+    from sysibm.sysdummy1 \r
+    ) \r
+select yyyy || '.' || mm || '.' || dd from tmp \r
+\r
+create function defdate(TS timestamp) \r
+returns varchar(10) \r
+return \r
+with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as \r
+( \r
+    select \r
+    substr( digits (day(TS)),9), \r
+    substr( digits (month(TS)),9) , \r
+    rtrim(char(year(TS))) , \r
+    substr( digits (hour(TS)),9), \r
+    substr( digits (minute(TS)),9), \r
+    substr( digits (second(TS)),9), \r
+    rtrim(char(microsecond(TS))) \r
+    from sysibm.sysdummy1 \r
+    ) \r
+select yyyy || mm || dd from tmp \r
+\r
+\r
+SELECT hundate(TIMESTAMP ('2002-10-20-12.00.00.000000')) FROM SYSIBM.SYSDUMMY1\r
+SELECT defdate(TIMESTAMP ('2002-10-20-12.00.00.000000')) FROM SYSIBM.SYSDUMMY1\r
+SELECT hundate(null) FROM SYSIBM.SYSDUMMY1\r
+\r
+\r
+--TESZT\r
+drop table test1\r
+create table test1 (\r
+    value varchar(10)\r
+)\r
+drop table test2\r
+create table test2 (\r
+    value varchar(10)\r
+)\r
+\r
+\r
+drop trigger trg_test1\r
+create trigger trg_test1 after insert\r
+on test1\r
+referencing new as n\r
+for each row\r
+when (n.value='ccc')\r
+begin atomic\r
+    insert into test2 (value) values (n.value);\r
+end\r
+\r
+insert into test1 (value) values ('ccc'),('ddd')\r
+\r
+select * from test2\r
+\r
index bdbd2a9bc69ed62831f814b2b3ccc9fcfa554c9d..88d49d4e5cfd6e366d530bb1d9d2178a01f68d43 100644 (file)
@@ -58,43 +58,6 @@ public class ItemDAOEx {
                return resultQuery.toString();\r
        }\r
 \r
-       //              sql.append("select");\r
-       //              sql.append(" ");\r
-       //              sql.append("i.id itemid,");\r
-       //              sql.append("i.created itemcreated,");\r
-       //              sql.append("i.houseid itemhouseid,");\r
-       //              sql.append("i.title itemtitle,");\r
-       //              sql.append("m.id mediaid,");\r
-       //              sql.append("m.created mediacreated,");\r
-       //              sql.append("m.archived,");\r
-       //              sql.append("m.length,");\r
-       //              sql.append("it.name mediatype,");\r
-       //              sql.append("m.houseid mediahouseid,");\r
-       //              sql.append("m.title mediatitle,");\r
-       //              sql.append("mf.id mediafileid,");\r
-       //              sql.append("mf.houseid mediafilehouseid");\r
-       //              sql.append(" ");\r
-       //              sql.append("from mediafile mf");\r
-       //              sql.append(" ");\r
-       //              sql.append("left outer join media m on (m.id = mf.mediaid)");\r
-       //              sql.append(" ");\r
-       //              sql.append("left outer join item i on (i.id = m.itemid)");\r
-       //              sql.append(" ");\r
-       //              sql.append("left outer join itemtype it on (it.id = m.itemtypeid)");\r
-       //              sql.append(" ");\r
-       //              sql.append("where mf.storeid = 1 and (");\r
-       //              sql.append("contains(i.title, ?) >= 1");\r
-       //              sql.append(" ");\r
-       //              sql.append("or contains(i.description, ?) >= 1");\r
-       //              sql.append(" ");\r
-       //              sql.append("or contains(m.title, ?) >= 1");\r
-       //              sql.append(" ");\r
-       //              sql.append("or contains(m.description, ?) >= 1");\r
-       //              sql.append(" ");\r
-       //              sql.append("or contains(mf.houseid, ?) >= 1");\r
-       //              sql.append(")");\r
-       //              if (typeIDs != null)\r
-       //                      sql.append(" and m.itemtypeid in ").append(typeCriteria.toString());\r
        private PreparedStatement createArchiveMediaSearchStatement(Connection connection, String criteria, String orderBy, boolean orderAscending,\r
                        List<String> typeIDs) throws SQLException {\r
                StringBuilder typeCriteria = new StringBuilder();\r
@@ -108,6 +71,47 @@ public class ItemDAOEx {
                        typeCriteria.append(")");\r
                }\r
 \r
+               String columNames = getColumnNames();\r
+\r
+               StringBuilder sql = new StringBuilder();\r
+               sql.append("SELECT ");\r
+               sql.append(columNames);\r
+               sql.append(" FROM ITEM i, MEDIA m, MEDIAFILE mf, MEDIADESCRIPTION md WHERE i.id = md.itemid AND m.id = md.mediaid AND mf.id = md.mediafileid");\r
+               if (typeIDs != null) {\r
+                       sql.append(" AND m.itemtypeid IN ");\r
+                       sql.append(typeCriteria.toString());\r
+               }\r
+\r
+               sql.append(" AND CONTAINS(md.description, ?) >= 1");\r
+               sql.append(" ORDER BY ");\r
+\r
+               if (orderBy == null) {\r
+                       sql.append("itemtitle desc, mediaitemtypeid");\r
+               } else {\r
+                       sql.append(orderBy);\r
+                       sql.append(orderAscending ? " ASC" : " DESC");\r
+               }\r
+\r
+               String query = sql.toString();\r
+               logger.info(query);\r
+               PreparedStatement st = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);\r
+               st.setString(1, criteria);\r
+               return st;\r
+       }\r
+\r
+       private PreparedStatement createArchiveMediaSearchStatement1(Connection connection, String criteria, String orderBy, boolean orderAscending,\r
+                       List<String> typeIDs) throws SQLException {\r
+               StringBuilder typeCriteria = new StringBuilder();\r
+               if (typeIDs != null) {\r
+                       typeCriteria.append("(");\r
+                       for (int i = 0; i < typeIDs.size(); i++) {\r
+                               typeCriteria.append(typeIDs.get(i));\r
+                               if (i < typeIDs.size() - 1)\r
+                                       typeCriteria.append(",");\r
+                       }\r
+                       typeCriteria.append(")");\r
+               }\r
+\r
                String columNames = getColumnNames();\r
                StringBuilder innerSql = new StringBuilder();\r
                innerSql.append("SELECT DISTINCT ");\r
index 4c52bbe737ad55a8d3ef1b82c5008009353215fc..9d353115bca3dc29c0022b5f0c8633a127ac13df 100644 (file)
@@ -215,17 +215,22 @@ div.z-row-content span {
                                                                                <label value="@load(each.media.title)" />\r
                                                                                <label value="@load(each.media.mediaFilesName)" />\r
                                                                                <cell>\r
-                                                                                       <label style="font-size:14px" value="@load(each.media.length) @converter('user.jobengine.zk.model.TCConverter')" />\r
-                                                                                       <image src="/img/ic_visibility_black_18dp.png" style="margin-left:4px;margin-top:2px;vertical-align:top;">\r
-                                                                                               <attribute name="visible" if="${each.media.mediaFilesCount lt 2}">\r
-                                                                                                       false\r
-                                                                                               </attribute>                                            \r
-                                                                                       </image>\r
-                                                                                       <image src="/img/ic_visibility_off_black_18dp.png" style="margin-left:4px;margin-top:2px;vertical-align:top;">\r
-                                                                                               <attribute name="visible" if="${each.media.mediaFilesCount gt 1}">\r
-                                                                                                       false\r
-                                                                                               </attribute>                                            \r
-                                                                                       </image>\r
+                                                                                       <vlayout>\r
+                                                                                               <hlayout>\r
+                                                                                                       <label style="font-size:14px" value="@load(each.media.length) @converter('user.jobengine.zk.model.TCConverter')" />\r
+                                                                                                       <image src="/img/ic_visibility_black_18dp.png" style="margin-left:4px;margin-top:2px;vertical-align:top;">\r
+                                                                                                               <attribute name="visible" if="${each.media.mediaFilesCount lt 2}">\r
+                                                                                                                       false\r
+                                                                                                               </attribute>                                            \r
+                                                                                                       </image>\r
+                                                                                                       <image src="/img/ic_visibility_off_black_18dp.png" style="margin-left:4px;margin-top:2px;vertical-align:top;">\r
+                                                                                                               <attribute name="visible" if="${each.media.mediaFilesCount gt 1}">\r
+                                                                                                                       false\r
+                                                                                                               </attribute>                                            \r
+                                                                                                       </image>\r
+                                                                                               </hlayout>\r
+                                                                                               <label style="font-size: 10px;" value="@load(each.media.archived) @converter('user.jobengine.zk.model.ShortDateConverter')" />\r
+                                                                                       </vlayout>\r
                                                                                </cell>\r
                                                                        </row>\r
                                                                </template>\r
index 335d5606dde0dd679849a38a209b47e506798649..d850041d0d6d38fd04604d152d80a2c3c40972d0 100644 (file)
@@ -1,4 +1,4 @@
-version=2.3.6\r
+version=2.3.7\r
 footer=2016 © Copyright User Rendszerház Kft.\r
 \r
 login_info=Információ\r
diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/ShortDateConverter.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/ShortDateConverter.java
new file mode 100644 (file)
index 0000000..c0add08
--- /dev/null
@@ -0,0 +1,23 @@
+package user.jobengine.zk.model;\r
+\r
+import java.text.SimpleDateFormat;\r
+import java.util.Date;\r
+\r
+import org.zkoss.bind.BindContext;\r
+import org.zkoss.bind.Converter;\r
+import org.zkoss.zul.Label;\r
+\r
+public class ShortDateConverter implements Converter<String, Date, Label> {\r
+       SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd");\r
+\r
+       @Override\r
+       public Date coerceToBean(String text, Label label, BindContext context) {\r
+               return null;\r
+       }\r
+\r
+       @Override\r
+       public String coerceToUi(Date date, Label label, BindContext context) {\r
+               return formatter.format(date);\r
+       }\r
+\r
+}\r
index 76b0c79d2a52547d13f88d643e5ede2eead615dd..b59e3a8fb6696eb0b0de5a9b3447dedd0628acd4 100644 (file)
@@ -35,8 +35,9 @@ public class NexioWSServlet extends WebSocketServlet implements INexioChangeList
                logger.info("Created");
                instance = this;
                BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
-               if (bundleContext != null)
+               if (bundleContext != null) {
                        bundleContext.registerService(NexioWSServlet.class, this, null);
+               }
        }
 
        public void addSession(Session session) {