Exemple #1
0
        public async Task UpdateContainer()
        {
            //Creates a new container
            var groupShareClient = await Helper.GetGroupShareClient();

            var request = new ContainerRequest
            {
                OwnerId          = "10356fd8-a087-4676-a320-d72c8f1fa0bd",
                Location         = "/SDL Community Developers/Project Resources",
                ContainerId      = Guid.NewGuid().ToString(),
                DatabaseServerId = "8294e2e4-30dd-4dec-9bd9-7cb10bcf70b0",
                DatabaseName     = "Testcontainer1",
                DisplayName      = " Testcontainer1",
                IsShared         = false
            };

            var containerId = await groupShareClient.TranslationMemories.CreateContainer(request);

            var updateRequest = new UpdateContainerRequest
            {
                ContainerId = containerId,
                DisplayName = "Updated Name",
                IsShared    = false
            };
            //Update container
            await groupShareClient.TranslationMemories.UpdateContainer(containerId, updateRequest);

            var container = await groupShareClient.TranslationMemories.GetContainerById(containerId);

            Assert.Equal(container.DisplayName, "Updated Name");

            //Deletes created container
            await groupShareClient.TranslationMemories.DeleteContainer(containerId);
        }
        public async Task DeleteContainer()
        {
            var groupShareClient = Helper.GsClient;
            var dbServerId       = await groupShareClient.TranslationMemories.CreateDbServer(DbServerRequest);

            var containerGuid = Guid.NewGuid().ToString();
            var request       = new ContainerRequest
            {
                OwnerId          = Helper.OrganizationId,
                Location         = Helper.Organization,
                ContainerId      = containerGuid,
                DatabaseServerId = dbServerId,
                DatabaseName     = "TestContainer",
                DisplayName      = "TestContainer",
                IsShared         = false
            };

            var containerId = await groupShareClient.TranslationMemories.CreateContainer(request);

            var containersBefore = await groupShareClient.TranslationMemories.GetContainers();

            var containersBeforeCount = containersBefore.Items.Count;
            await groupShareClient.TranslationMemories.DeleteContainer(containerId);

            var containers = await groupShareClient.TranslationMemories.GetContainers();

            var containersCount = containers.Items.Count;

            Assert.True(containersCount < containersBeforeCount);
        }
        public static void Run()
        {
            var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
            var apiInstance   = new InfoApi(configuration);

            try
            {
                var fileInfo = new FileInfo
                {
                    FilePath    = "containers/archive/zip.zip",
                    StorageName = Common.MyStorage
                };

                var options = new ContainerOptions
                {
                    FileInfo = fileInfo
                };

                var request  = new ContainerRequest(options);
                var response = apiInstance.Container(request);

                foreach (var item in response.ContainerItems)
                {
                    Console.WriteLine($"Name: {item.Name}. FilePath: {item.FilePath}");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception while calling InfoApi: " + e.Message);
            }
        }
        /// <summary>
        /// Retrieve a container items (relative paths) from document to work with formats that contain attachments, ZIP archives etc.
        /// </summary>
        /// <param name="request">Request. <see cref="ContainerRequest" /></param>
        /// <returns><see cref="ContainerResult"/></returns>
        public ContainerResult Container(ContainerRequest request)
        {
            // verify the required parameter 'options' is set
            if (request.options == null)
            {
                throw new ApiException(400, "Missing required parameter 'options' when calling Container");
            }

            // create path and map variables
            var resourcePath = this.configuration.GetServerUrl() + "/parser/container";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .Replace("/?", "?");
            var postBody = SerializationHelper.Serialize(request.options); // http body (model) parameter
            var response = this.apiInvoker.InvokeApi(
                resourcePath,
                "POST",
                postBody,
                null,
                null);

            if (response != null)
            {
                return((ContainerResult)SerializationHelper.Deserialize(response, typeof(ContainerResult)));
            }

            return(null);
        }
Exemple #5
0
            public ContainerRequest Filter(ContainerRequest request)
            {
                MultivaluedMap <string, string> parameters = request.GetQueryParameters();

                if (ParamFilter.ContainsUpperCase(parameters.Keys))
                {
                    //rebuild URI
                    URI lower = ParamFilter.RebuildQuery(request.GetRequestUri(), parameters);
                    request.SetUris(request.GetBaseUri(), lower);
                }
                return(request);
            }
        public void GetContainerItemsInfo_UnsupportedFileType()
        {
            var testFile = TestFiles.FourPages;
            var options  = new ContainerOptions
            {
                FileInfo = testFile.ToFileInfo()
            };

            var request = new ContainerRequest(options);
            var ex      = Assert.Throws <ApiException>(() => { InfoApi.Container(request); });

            Assert.AreEqual($"The specified file '{testFile.FullName}' has type which is not currently supported.", ex.Message);
        }
        public void TestGetContainerItemInfo_FileNotFoundResult()
        {
            var testFile = TestFiles.NotExist;
            var options  = new ContainerOptions
            {
                FileInfo = testFile.ToFileInfo(),
            };

            var request = new ContainerRequest(options);
            var ex      = Assert.Throws <ApiException>(() => { InfoApi.Container(request); });

            Assert.AreEqual($"Can't find file located at '{testFile.FullName}'.", ex.Message);
        }
        public void UnBlockContainer()
        {
            // Web Service of the Entity to be used
            Sync.WMS.WMSDataImportWS.ContainerRequest wsEntity = new ContainerRequest();

            //Required Fields
            wsEntity.ERPCompany    = "DEMOWMS10";
            wsEntity.ContainerCode = "000000000010";

            //Saving
            object result;

            result = m_WSClient.UnBlockContainer(wsEntity);
        }
        public void TestGetContainerItemInfo()
        {
            var testFile = TestFiles.Zip;
            var options  = new ContainerOptions()
            {
                FileInfo = testFile.ToFileInfo(),
            };
            var request = new ContainerRequest(options);
            var result  = InfoApi.Container(request);

            Assert.IsNotNull(result);
            Assert.IsNotEmpty(result.ContainerItems);
            Assert.AreEqual(2, result.ContainerItems.Count);
            Assert.IsTrue(result.ContainerItems.Any(x => x.Name == "one-page.docx"));
        }
Exemple #10
0
        public static async void Start(CancellationTokenSource cts)
        {
            var consumerConfig = new ConsumerConfig {
                GroupId          = "command-server" + KafkaHelpers.Servername,
                BootstrapServers = KafkaHelpers.BootstrapServers,
                AutoOffsetReset  = AutoOffsetReset.Latest,
            };

            KafkaHelpers.SetKafkaConfigKerberos(consumerConfig);

            using (var c = new ConsumerBuilder <Ignore, string>(consumerConfig).Build()) {
                c.Subscribe(KafkaHelpers.RequestTopic);

                Console.WriteLine($"Listening for commands on topic {KafkaHelpers.RequestTopic}");
                try {
                    var producerConfig = new ProducerConfig {
                        BootstrapServers = KafkaHelpers.BootstrapServers, Acks = Acks.Leader
                    };
                    KafkaHelpers.SetKafkaConfigKerberos(producerConfig);

                    using (var p = new ProducerBuilder <Null, string>(producerConfig).Build()) {
                        while (true)
                        {
                            try {
                                var consumeResult = c.Consume(cts.Token); // Polling for new messages, waiting here until message recieved

                                var messageJsonString = consumeResult.Message.Value;

                                ContainerRequest request = JsonConvert.DeserializeObject <ContainerRequest>(messageJsonString);
                                await CallAction(request.Action, messageJsonString, p);
                            } catch (ConsumeException ex) {
                                Console.Error.WriteLine(ex.Error);
                            } catch (Newtonsoft.Json.JsonException ex) {
                                await KafkaHelpers.SendMessageAsync(KafkaHelpers.ResponseTopic, new ContainerResponse {
                                    ResponseStatusCode = 400,
                                    Message            = ex.Message
                                }, p);
                            }
                        }
                    }
                } catch (OperationCanceledException) { } finally {
                    // Ensure the consumer leaves the group cleanly and final offsets are committed.
                    c.Close();
                }
            }
        }
Exemple #11
0
        private async Task <string> CreateContainer()
        {
            var containerGuid = Guid.NewGuid().ToString();
            var request       = new ContainerRequest
            {
                OwnerId          = Helper.OrganizationId,
                Location         = Helper.Organization,
                ContainerId      = containerGuid,
                DatabaseServerId = dbServerId,
                DatabaseName     = $"TM_Container_{DateTime.Now.Ticks}",
                DisplayName      = $"DB_container_{containerGuid}",
                IsShared         = false
            };

            containerId = await gsClient.TranslationMemories.CreateContainer(request);

            return(containerId);
        }
Exemple #12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldSetTheRequestUriToTheSameValueAsTheXForwardHostHeader()
        public virtual void ShouldSetTheRequestUriToTheSameValueAsTheXForwardHostHeader()
        {
            // given
            const string xForwardHostAndPort = "jimwebber.org:1234";

            XForwardFilter filter = new XForwardFilter();

            InBoundHeaders headers = new InBoundHeaders();

            headers.add(X_FORWARD_HOST_HEADER_KEY, xForwardHostAndPort);

            ContainerRequest request = new ContainerRequest(WEB_APPLICATION, "GET", URI.create("http://iansrobinson.com"), URI.create("http://iansrobinson.com/foo/bar"), headers, INPUT_STREAM);

            // when
            ContainerRequest result = filter.Filter(request);

            // then
            assertTrue(result.RequestUri.ToString().StartsWith("http://" + xForwardHostAndPort, StringComparison.Ordinal));
        }
Exemple #13
0
        public async Task DeleteContainer()
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var request = new ContainerRequest
            {
                OwnerId          = "10356fd8-a087-4676-a320-d72c8f1fa0bd",
                Location         = "/SDL Community Developers/Project Resources",
                ContainerId      = Guid.NewGuid().ToString(),
                DatabaseServerId = "8294e2e4-30dd-4dec-9bd9-7cb10bcf70b0",
                DatabaseName     = "Testcontainer1",
                DisplayName      = " Testcontainer1",
                IsShared         = false
            };

            var containerId = await groupShareClient.TranslationMemories.CreateContainer(request);

            await groupShareClient.TranslationMemories.DeleteContainer(containerId);
        }
Exemple #14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldSetTheRequestUriToTheSameProtocolAsTheXForwardProtoHeader()
        public virtual void ShouldSetTheRequestUriToTheSameProtocolAsTheXForwardProtoHeader()
        {
            // given
            const string theProtocol = "https";

            XForwardFilter filter = new XForwardFilter();

            InBoundHeaders headers = new InBoundHeaders();

            headers.add(X_FORWARD_PROTO_HEADER_KEY, theProtocol);

            ContainerRequest request = new ContainerRequest(WEB_APPLICATION, "GET", URI.create("http://jimwebber.org:1234"), URI.create("http://jimwebber.org:1234/foo/bar"), headers, INPUT_STREAM);

            // when
            ContainerRequest result = filter.Filter(request);

            // then
            assertThat(result.BaseUri.Scheme, containsString(theProtocol));
        }
        public async Task <IActionResult> Post(ContainerRequest containerRequest)
        {
            try
            {
                var container = new Container(
                    name: containerRequest.Name,
                    description: containerRequest.Description,
                    serialNumber: containerRequest.SerialNumber,
                    itemCount: containerRequest.ItemCount,
                    boxCount: containerRequest.BoxCount,
                    placement: containerRequest.Placement,
                    expirationDate: containerRequest.ExpirationDate,
                    manufacturingDate: containerRequest.ManufacturingDate,
                    dateCreated: DateTime.Now);

                var containerEntity = new ContainerEntity()
                {
                    Id                = container.Id,
                    Name              = container.Name,
                    Description       = container.Description,
                    SerialNumber      = container.SerialNumber,
                    ItemCount         = container.ItemCount,
                    BoxCount          = container.BoxCount,
                    Placement         = container.Placement,
                    ExpirationDate    = container.ExpirationDate,
                    ManufacturingDate = container.ManufacturingDate,
                    DateCreated       = container.DateCreated
                };

                await _containerRepository.Add(containerEntity);

                await _context.SaveChangesAsync();

                return(new OkResult());
            }
            catch (Exception exception)
            {
                return(new BadRequestObjectResult(exception.Message.ToString()));
            }
        }
        public async Task UpdateContainer()
        {
            //Creates a new container
            var groupShareClient = Helper.GsClient;
            var dbServerId       = await groupShareClient.TranslationMemories.CreateDbServer(DbServerRequest);

            var containerGuid = Guid.NewGuid().ToString();
            var request       = new ContainerRequest
            {
                OwnerId          = Helper.OrganizationId,
                Location         = Helper.Organization,
                ContainerId      = containerGuid,
                DatabaseServerId = dbServerId,
                DatabaseName     = "TestContainer",
                DisplayName      = "TestContainer",
                IsShared         = false
            };

            var containerId = await groupShareClient.TranslationMemories.CreateContainer(request);

            var updateRequest = new UpdateContainerRequest
            {
                ContainerId = containerId,
                DisplayName = "Updated Name",
                IsShared    = false
            };

            //Update container
            await groupShareClient.TranslationMemories.UpdateContainer(containerId, updateRequest);

            var container = await groupShareClient.TranslationMemories.GetContainerById(containerId);

            Assert.Equal("Updated Name", container.DisplayName);

            //Deletes created container and db server
            await groupShareClient.TranslationMemories.DeleteContainer(containerId);

            await groupShareClient.TranslationMemories.DeleteDbServer(dbServerId);
        }
Exemple #17
0
            private void ExportAll(List <SwiftContainerModel> containers, string path, Dictionary <string, string> queryParams = null)
            {
                foreach (var container in containers)
                {
                    listQueue.Enqueue(new ContainerRequest
                    {
                        Container = container.Container,
                        Query     = queryParams
                    });
                }

                while (!listQueue.IsEmpty)
                {
                    ContainerRequest request = null;

                    if (listQueue.TryDequeue(out request))
                    {
                        var containerData = client.GetContainer(request.Container, null, request.Query).Result;
                        if (containerData.IsSuccess)
                        {
                            if (containerData.Objects.Count > 0)
                            {
                                if (containerData.Objects.Count < containerData.ObjectsCount)
                                {
                                    var marker = containerData.Objects.OrderByDescending(x => x.Object).Select(x => x.Object).FirstOrDefault();

                                    var newRequest = new ContainerRequest()
                                    {
                                        Container = request.Container,
                                        Query     = request.Query
                                    };

                                    if (newRequest.Query == null)
                                    {
                                        newRequest.Query = new Dictionary <string, string>();
                                    }

                                    newRequest.Query["marker"] = marker;

                                    listQueue.Enqueue(newRequest);
                                }

                                var target = Path.Combine(path, request.Container);

                                if (!Directory.Exists(target))
                                {
                                    Directory.CreateDirectory(target);
                                }

                                EnqueueObjects(request.Container, containerData.Objects, target);
                            }
                        }
                    }
                }

                if (downloadBag.Any())
                {
                    Console.Write("Exporting... ");

                    var objCount = downloadBag.Count;

                    var progress = new ProgressBar();

                    Parallel.For(0, objCount - 1, new ParallelOptions {
                        MaxDegreeOfParallelism = 10
                    },
                                 i =>
                    {
                        var downloadObj = downloadBag.ElementAt(i);

                        try
                        {
                            var response = ExportObject(downloadObj).Result;

                            Interlocked.Increment(ref counter);

                            if (!response.IsSuccess)
                            {
                                ManageFailed(new FailedObject
                                {
                                    Container = downloadObj.Container,
                                    Message   = response.Message,
                                    Object    = downloadObj.Object
                                });
                            }
                        }
                        catch (Exception ex)
                        {
                            ManageFailed(new FailedObject
                            {
                                Container = downloadObj.Container,
                                Message   = ex.Message,
                                Object    = downloadObj.Object
                            });
                        }

                        progress.Report((double)counter / objCount);
                    });

                    progress.Report(1);
                    progress.Dispose();
                    Console.WriteLine(" Done.");
                }

                if (failedQueue.Any())
                {
                    Console.WriteLine($"Failed objects: ");

                    var table = failedQueue.ToStringTable(
                        u => u.Container,
                        u => u.Object.Object,
                        u => u.Message
                        );
                    Console.WriteLine(table);
                }
            }
Exemple #18
0
            private void ExportAll(List<SwiftContainerModel> containers, string path, Dictionary<string, string> queryParams = null)
            {
                foreach (var container in containers)
                {
                    listQueue.Enqueue(new ContainerRequest
                    {
                        Container = container.Container,
                        Query = queryParams
                    });
                }

                while (!listQueue.IsEmpty)
                {
                    ContainerRequest request = null;

                    if (listQueue.TryDequeue(out request))
                    {
                        var containerData = client.GetContainer(request.Container, null, request.Query).Result;
                        if (containerData.IsSuccess)
                        {
                            if (containerData.Objects.Count > 0)
                            {
                                if (containerData.Objects.Count < containerData.ObjectsCount)
                                {
                                    var marker = containerData.Objects.OrderByDescending(x => x.Object).Select(x => x.Object).FirstOrDefault();

                                    var newRequest = new ContainerRequest()
                                    {
                                        Container = request.Container,
                                        Query = request.Query
                                    };

                                    if (newRequest.Query == null)
                                    {
                                        newRequest.Query = new Dictionary<string, string>();
                                    }

                                    newRequest.Query["marker"] = marker;

                                    listQueue.Enqueue(newRequest);
                                }

                                var target = Path.Combine(path, request.Container);

                                if (!Directory.Exists(target))
                                {
                                    Directory.CreateDirectory(target);
                                }

                                EnqueueObjects(request.Container, containerData.Objects, target);
                            }
                            
                        }
                    }
                }

                if (downloadBag.Any())
                {
                    Console.Write("Exporting... ");

                    var objCount = downloadBag.Count;

                    var progress = new ProgressBar();

                    Parallel.For(0, objCount - 1, new ParallelOptions { MaxDegreeOfParallelism = 10 },
                      i =>
                      {
                          var downloadObj = downloadBag.ElementAt(i);

                          try
                          {
                              var response = ExportObject(downloadObj).Result;

                              Interlocked.Increment(ref counter);

                              if (!response.IsSuccess)
                              {
                                  ManageFailed(new FailedObject
                                  {
                                      Container = downloadObj.Container,
                                      Message = response.Message,
                                      Object = downloadObj.Object
                                  });
                              }
                          }
                          catch (Exception ex)
                          {
                              ManageFailed(new FailedObject
                              {
                                  Container = downloadObj.Container,
                                  Message = ex.Message,
                                  Object = downloadObj.Object
                              });
                          }

                          progress.Report((double)counter / objCount);
                      });

                    progress.Report(1);
                    progress.Dispose();
                    Console.WriteLine(" Done.");
                }

                if (failedQueue.Any())
                {
                    Console.WriteLine($"Failed objects: ");

                    var table = failedQueue.ToStringTable(
                            u => u.Container,
                            u => u.Object.Object,
                            u => u.Message
                        );
                    Console.WriteLine(table);
                }
            }
Exemple #19
0
 public override void handleRequest(ContainerRequest containerRequest, ContainerResponse containerResponse)
 {
 }
Exemple #20
0
 public override void handleRequest(ContainerRequest containerRequest, ContainerResponseWriter containerResponseWriter)
 {
 }