git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Thu, 23 Sep 2021 14:12:05 +0000 (14:12 +0000)
committervasary.daniel <TFS\vasary.daniel>
Thu, 23 Sep 2021 14:12:05 +0000 (14:12 +0000)
client/MediaCubeApiTest/MediaCubeApiTest.vbproj
client/MediaCubeApiTest/Module1.vb
client/MediaCubeApiTest/api/start-test-query-only.bat [new file with mode: 0644]
client/MediaCubeApiTest/api/start-test.bat [new file with mode: 0644]
server/user.jobengine.osgi.services/src/user/jobengine/osgi/ws/mediacube/MediaCubeAPIWSSocket.java

index cde1e1162f25325b0c152178776117907bffb4af..c4165cc6608927e44056c6ce4915123198451c1d 100644 (file)
   <PropertyGroup>\r
     <OptionInfer>On</OptionInfer>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DefineDebug>true</DefineDebug>\r
+    <DefineTrace>true</DefineTrace>\r
+    <OutputPath>bin\x64\Debug\</OutputPath>\r
+    <DocumentationFile>MediaCubeApiTest.xml</DocumentationFile>\r
+    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>\r
+    <DebugType>full</DebugType>\r
+    <PlatformTarget>x64</PlatformTarget>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">\r
+    <DefineTrace>true</DefineTrace>\r
+    <OutputPath>..\bin\MediaCubeApiTest\x64\Release\</OutputPath>\r
+    <DocumentationFile>MediaCubeApiTest.xml</DocumentationFile>\r
+    <Optimize>true</Optimize>\r
+    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>\r
+    <DebugType>pdbonly</DebugType>\r
+    <PlatformTarget>x64</PlatformTarget>\r
+  </PropertyGroup>\r
   <ItemGroup>\r
     <Reference Include="LinkDotNet.MessageHandling, Version=0.2.0.0, Culture=neutral, processorArchitecture=MSIL">\r
       <HintPath>..\packages\LinkDotNet.MessageBus.0.1.1\lib\LinkDotNet.MessageHandling.dll</HintPath>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <None Include="api\start-test-query-only.bat" />\r
+    <None Include="api\start-test.bat" />\r
     <None Include="app.config" />\r
     <None Include="My Project\Application.myapp">\r
       <Generator>MyApplicationCodeGenerator</Generator>\r
   <ItemGroup>\r
     <WCFMetadata Include="Connected Services\" />\r
   </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="api\" />\r
-  </ItemGroup>\r
+  <ItemGroup />\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />\r
 </Project>
\ No newline at end of file
index 4ed03c1a988cf490d1fbb9b3531ee1a04d8395b1..413825a99aba8b03b2847c2e8ec0eff620b45851 100644 (file)
@@ -3,27 +3,71 @@ Imports MaestroShared.Configuration
 Imports MediaCubeClient\r
 Imports Newtonsoft.Json.Linq\r
 \r
-\r
 Module Module1\r
+    Sub Main(ByVal args() As String)\r
+        For i As Integer = 0 To args.Length - 1\r
+            Console.WriteLine("Arg: " & i & " is " & args(i))\r
+        Next\r
 \r
-    Sub Main()\r
-        Dim messageBus As IMessageBus = New LinkDotNet.MessageHandling.MessageBus()\r
 \r
-        Dim writeline = Sub(x As MediaCubeWSMessage)\r
-                            Console.WriteLine(x.Content)\r
-                        End Sub\r
+        If args.Length < 3 Then\r
+            Console.WriteLine("Params: 'server url' 'VOD path' 'query media ID' 'query version or /v' '/q'")\r
+            Console.WriteLine("'query media ID' and 'query version' are case sensitive!")\r
+            Console.WriteLine("/q parameter is optional, means 'query only' mode")\r
+            Console.WriteLine("Sample: restore to //VOD/Input/Pasa_restore/vod all segments starting with CCEM100081- without no version, query ids only")\r
+            Console.WriteLine("Sample params: ws://192.168.0.10:9080/services/wsapi  /Input/Pasa_restore/vod  CCEM100081- /v /q")\r
+            Return\r
+        End If\r
+\r
+        Dim serverURL = args(0)\r
+        Dim vodPath = args(1)\r
+        Dim queryMediaid = args(2)\r
+        Dim version = ""\r
+        If Not args(3).Equals("/v") Then\r
+            version = args(3)\r
+        End If\r
+        Dim queryOnly = False\r
+        If args.Length > 4 Then\r
+            If args(4).Equals("/q") Then\r
+                queryOnly = True\r
 \r
+            End If\r
+        End If\r
 \r
-        messageBus.Subscribe(Of MediaCubeWSMessage)(writeline)\r
+\r
+        Dim messageBus As IMessageBus = New LinkDotNet.MessageHandling.MessageBus()\r
+        Dim printDebug = Sub(x As MediaCubeWSMessage)\r
+                             Console.WriteLine(x.Content)\r
+                             Console.WriteLine(x.Data)\r
+                         End Sub\r
+        messageBus.Subscribe(printDebug)\r
 \r
         Dim connection As Connection = New Connection()\r
-        connection.Address = New Uri("ws://192.168.0.10/services/wsapi")\r
+        connection.Address = New Uri(serverURL)\r
         connection.Timeout = 1000\r
+\r
         Dim api As MediaCubeWSApi = New MediaCubeWSApi(connection, messageBus)\r
-        Dim Data As JObject = New JObject()\r
-        Data.Add("param", 1)\r
-        api.SubmitJob("cancelable.xml", "teszt név", Data)\r
 \r
+        Dim ids As List(Of String) = api.QueryMediaNames(queryMediaid, version)\r
+\r
+        Dim parameters As JObject = New JObject()\r
+        parameters.Add("targetStoreName", "VOD")\r
+\r
+        Dim basket As JArray = New JArray()\r
+        parameters.Add("basket", basket)\r
+\r
+        For Each id As String In ids\r
+            Dim item As JObject = New JObject\r
+            item.Add("path", vodPath)\r
+            item.Add("title", id)\r
+            basket.Add(item)\r
+        Next\r
+\r
+        If queryOnly = False Then\r
+            Console.WriteLine("Submitting job")\r
+            api.SubmitJob("register-vod-restore.xml", "VOD visszatöltés igénylése", parameters)\r
+        End If\r
     End Sub\r
 \r
+\r
 End Module\r
diff --git a/client/MediaCubeApiTest/api/start-test-query-only.bat b/client/MediaCubeApiTest/api/start-test-query-only.bat
new file mode 100644 (file)
index 0000000..996759e
--- /dev/null
@@ -0,0 +1,2 @@
+MediaCubeApiTest.exe ws://192.168.0.10:9080/services/wsapi /Input/Pasa_restore/vod CCEM100081-01 /v /q\r
+pause
\ No newline at end of file
diff --git a/client/MediaCubeApiTest/api/start-test.bat b/client/MediaCubeApiTest/api/start-test.bat
new file mode 100644 (file)
index 0000000..996759e
--- /dev/null
@@ -0,0 +1,2 @@
+MediaCubeApiTest.exe ws://192.168.0.10:9080/services/wsapi /Input/Pasa_restore/vod CCEM100081-01 /v /q\r
+pause
\ No newline at end of file
index 592bba3d222c037161d9727367a929378601715d..641660b5a2de144e54f1f772529bf5e3d3a864b7 100644 (file)
@@ -74,8 +74,7 @@ public class MediaCubeAPIWSSocket extends WebSocketAdapter {
                                if (job.getId() != runtime.getId())
                                        return;
                                BasicDBObject response = new BasicDBObject("jobID", job.getId()).append("status", job.getStatus())
-                                               .append("signal", event.getSignalType())
-                                               .append("progress", job.getProgress());
+                                               .append("signal", event.getSignalType()).append("progress", job.getProgress());
 
                                if (JobStatus.SUSPENDED.equals(job.getStatus()))
                                        response.append("error", job.getDescription());
@@ -90,7 +89,8 @@ public class MediaCubeAPIWSSocket extends WebSocketAdapter {
                };
        }
 
-       private void deserializeParameters(BasicDBObject parameters) throws IOException, JsonParseException, JsonMappingException {
+       private void deserializeParameters(BasicDBObject parameters)
+                       throws IOException, JsonParseException, JsonMappingException {
                for (String key : parameters.keySet()) {
                        String paramData = parameters.getString(key);
                        Object value = null;
@@ -156,7 +156,7 @@ public class MediaCubeAPIWSSocket extends WebSocketAdapter {
 
                final String version = data.getString(VERSION);
                final boolean useVersion = version != null && version.trim().length() > 0;
-               final boolean allSegments = query.endsWith("_") || query.endsWith("_");
+               final boolean allSegments = query.endsWith("_") || query.endsWith("-");
 
                SQL sql = new SQL();
                sql.SELECT("TITLE").FROM("MEDIA");