Example #1
0
 public DeviceManualFileConverter(IConfluenceClient confluenceClient, IEnumerable <SPTerm> names, IEnumerable <SPTerm> fileTypeTerms, Action <UserManualModel> manualSaver)
 {
     _confluenceClient = confluenceClient;
     _names            = names;
     _fileTypeTerms    = fileTypeTerms;
     _manualSaver      = manualSaver;
 }
Example #2
0
        public DataStorageUpdater(IDataStorage storage, ISharepointClientFactory sharepointClientFactory, IConfluenceClient confluenceClient)
        {
            _storage = storage;
            _sharepointClientFactory = sharepointClientFactory;
            _confluenceClient        = confluenceClient;

            InitUpdateActions();

            Log.Trace($"Instance of {nameof(DataStorageUpdater)} was created");
        }
 public DeviceConverter(
     IConfluenceClient confluenceClient,
     Dictionary <String, String> dataTable,
     IEnumerable <SPTerm> names,
     IEnumerable <SPTerm> purposes,
     IEnumerable <SPTerm> labels,
     DateTime deviceStockUpdate)
 {
     _confluenceClient  = confluenceClient;
     _dataTable         = dataTable;
     _names             = names;
     _purposes          = purposes;
     _labels            = labels;
     _deviceStockUpdate = deviceStockUpdate;
 }
        protected ConfluenceIntegrationTests(ITestOutputHelper testOutputHelper)
        {
            LogSettings.ExceptionToStacktrace = exception => exception.ToStringDemystified();

            LogSettings.RegisterDefaultLogger <XUnitLogger>(LogLevels.Verbose, testOutputHelper);
            ConfluenceTestClient = ConfluenceClient.Create(TestConfluenceUri);

            var username = Environment.GetEnvironmentVariable("confluence_test_username");
            var password = Environment.GetEnvironmentVariable("confluence_test_password");

            if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
            {
                ConfluenceTestClient.SetBasicAuthentication(username, password);
            }
        }
        public static String GetTitleByUrl(this IConfluenceClient client, String url)
        {
            Int32?contentID = null;

            if (url != null)
            {
                contentID = client.GetContentIdFromUrl(url);
            }

            var content = String.Empty;

            if (contentID.HasValue)
            {
                var contentTask = client.GetContentTitleAsync(contentID.Value);
                content = contentTask.Result;
            }

            return(content);
        }
Example #6
0
        public SPOnlineRepository(IConfluenceClient confluenceClient, ISharepointClientFactory sharepointClientFactory)
        {
            try
            {
                var storage = new FileDataStorage();

                _dataProxy = new CachingProxy(storage);

                _dataUpdater = new DataStorageUpdater(storage, sharepointClientFactory, confluenceClient);

                _productCatalogManager = new ProductCatalogManager(this);

                //Log.Trace($"Instance of '{nameof(SPOnlineRepository)}' was created"); 11
            }
            catch (Exception ex)
            {
                Log.Error(ex, $"'{nameof(SPOnlineRepository)}' initializing failed");

                throw;
            }
        }
        public static String GetContentByUrl(this IConfluenceClient client, String url)
        {
            Int32?contentID = null;

            if (url != null)
            {
                contentID = client.GetContentIdFromUrl(url);
            }

            var content = String.Empty;

            if (contentID.HasValue)
            {
                var contentTask = client.GetContenAsync(contentID.Value);
                content = contentTask.Result;
            }
            //Save file localy and change src link
            var newContent = CopyAttachments(content);

            return(newContent);
        }
Example #8
0
        public static async Task <List <Content> > GetCurrentPages(IConfluenceClient confluenceConnector)
        {
            var pages          = new List <Content>();
            var pageIdRegex    = new Regex(@"pageId=(\d+)");
            var spacePageRegex = new Regex(@"\/display\/([^\/]+)\/([^#]+)");

            foreach (var browserurl in IEHelper.GetIEUrls().Distinct())
            {
                string url;
                try
                {
                    url = Uri.UnescapeDataString(browserurl).Replace("+", " ");
                }
                catch
                {
                    Log.Warn().WriteLine("Error processing URL: {0}", browserurl);
                    continue;
                }
                var pageIdMatch = pageIdRegex.Matches(url);
                if (pageIdMatch.Count > 0)
                {
                    var pageId = long.Parse(pageIdMatch[0].Groups[1].Value);
                    try
                    {
                        var pageDouble = false;
                        foreach (var page in pages)
                        {
                            if (page.Id == pageId)
                            {
                                pageDouble = true;
                                Log.Debug().WriteLine("Skipping double page with ID {0}", pageId);
                                break;
                            }
                        }
                        if (!pageDouble)
                        {
                            var page = await confluenceConnector.Content.GetAsync(pageId).ConfigureAwait(false);

                            Log.Debug().WriteLine("Adding page {0}", page.Title);
                            pages.Add(page);
                        }
                        continue;
                    }
                    catch (Exception ex)
                    {
                        // Preventing security problems
                        Log.Debug().WriteLine("Couldn't get page details for PageID {0}", pageId);
                        Log.Warn().WriteLine(ex);
                    }
                }
                var spacePageMatch = spacePageRegex.Matches(url);
                if (spacePageMatch.Count <= 0 || spacePageMatch[0].Groups.Count < 2)
                {
                    continue;
                }

                var space = spacePageMatch[0].Groups[1].Value;
                var title = spacePageMatch[0].Groups[2].Value;
                if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(space))
                {
                    continue;
                }
                if (title.EndsWith("#"))
                {
                    title = title.Substring(0, title.Length - 1);
                }
                try
                {
                    var pageDouble = false;
                    foreach (var page in pages)
                    {
                        if (page.Title.Equals(title))
                        {
                            Log.Debug().WriteLine("Skipping double page with title {0}", title);
                            pageDouble = true;
                            break;
                        }
                    }
                    if (!pageDouble)
                    {
                        var foundContents = await confluenceConnector.Content.SearchAsync(Where.And(Where.Space.Is(space), Where.Title.Is(title)));

                        var page = foundContents.FirstOrDefault();
                        if (page != null)
                        {
                            continue;
                        }

                        Log.Debug().WriteLine("Adding page {0}", page.Title);
                        pages.Add(page);
                    }
                }
                catch (Exception ex)
                {
                    // Preventing security problems
                    Log.Debug().WriteLine("Couldn't get page details for space {0} / title {1}", space, title);
                    Log.Warn().WriteLine(ex);
                }
            }
            return(pages);
        }
 public PostConverter(IConfluenceClient confluenceClient, IEnumerable <SPTerm> names, IEnumerable <SPTerm> categories)
 {
     _confluenceClient = confluenceClient;
     _names            = names;
     _categories       = categories;
 }
 public SiteTextConverter(IConfluenceClient confluenceClient)
 {
     _confluenceClient = confluenceClient;
 }