/// <summary>
        /// Execute request for Workbook connections.
        /// </summary>
        public void ExecuteRequest()
        {
            var wbConnections = new List <SiteConnection>();

            //Create a web request, in including the users logged-in auth information in the request headers
            var urlQuery   = _onlineUrls.Url_WorkbookConnectionsList(OnlineSession, _workbookId);
            var webRequest = CreateLoggedInWebRequest(urlQuery);

            webRequest.Method = "GET";

            OnlineSession.StatusLog.AddStatus("Web request: " + urlQuery, -10);
            var response = GetWebResponseLogErrors(webRequest, "get workbook's connections list");
            var xmlDoc   = GetWebResponseAsXml(response);

            //Get all the workbook nodes
            var nsManager   = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline");
            var connections = xmlDoc.SelectNodes("//iwsOnline:connection", nsManager);

            //Get information for each of the data sources
            foreach (XmlNode itemXml in connections)
            {
                try
                {
                    var connection = new SiteConnection(itemXml);
                    wbConnections.Add(connection);
                }
                catch
                {
                    AppDiagnostics.Assert(false, "Workbook  connections parse error");
                    OnlineSession.StatusLog.AddError("Error parsing workbook: " + itemXml.InnerXml);
                }
            } //end: foreach

            _connections = wbConnections;
        }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="serverName"></param>
    public void ExecuteRequest()
    {
        var wbConnections = new List<SiteConnection>();

        //Create a web request, in including the users logged-in auth information in the request headers
        var urlQuery = _onlineUrls.Url_WorkbookConnectionsList(_onlineSession, _workbookId);
        var webRequest = CreateLoggedInWebRequest(urlQuery);
        webRequest.Method = "GET";

        _onlineSession.StatusLog.AddStatus("Web request: " + urlQuery, -10);
        var response = GetWebReponseLogErrors(webRequest, "get workbook's connections list");
        var xmlDoc = GetWebResponseAsXml(response);

        //Get all the workbook nodes
        var nsManager = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline");
        var connections = xmlDoc.SelectNodes("//iwsOnline:connection", nsManager);

        //Get information for each of the data sources
        foreach (XmlNode itemXml in connections)
        {
            try
            {
                var connection = new SiteConnection(itemXml);
                wbConnections.Add(connection);
            }
            catch
            {
                AppDiagnostics.Assert(false, "Workbook  connections parse error");
                _onlineSession.StatusLog.AddError("Error parsing workbook: " + itemXml.InnerXml);
            }
        } //end: foreach

        _connections = wbConnections;
    }
Example #3
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="serverName"></param>
    public void ExecuteRequest()
    {
        var dsConnections = new List <SiteConnection>();

        //Create a web request, in including the users logged-in auth information in the request headers
        var urlQuery = _onlineUrls.Url_DatasourceConnectionsList(_onlineSession, _datasourceId);

        _onlineSession.StatusLog.AddStatus("Web request: " + urlQuery, -10);
        var xmlDoc = ResourceSafe_PerformWebRequest_GetXmlDocument(urlQuery, "get datasources's connections list");

        //Get all the workbook nodes
        var nsManager   = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline");
        var connections = xmlDoc.SelectNodes("//iwsOnline:connection", nsManager);

        //Get information for each of the data sources
        foreach (XmlNode itemXml in connections)
        {
            try
            {
                var connection = new SiteConnection(itemXml);
                dsConnections.Add(connection);
            }
            catch
            {
                AppDiagnostics.Assert(false, "Workbook  connections parse error");
                _onlineSession.StatusLog.AddError("Error parsing workbook: " + itemXml.InnerXml);
            }
        } //end: foreach

        _connections = dsConnections;
    }
Example #4
0
        public Downloader(SiteConnection pConnection, VideoSource pVideoSource, DateTime pStart, DateTime pEnd, int pInterval, string pOutPath)
        {
            mConnection = pConnection;

            mInterval = pInterval;
            mEnd      = pEnd;

            mOutPath = pOutPath;

            mPlayback = pConnection.PlaybackManager;
            mPlayback.SetVideoCallback(this, 0);
            mPlayback.AddVideoSource(pVideoSource);

            mFrameTime = pStart;

            do
            {
                mPlayback.Locate(mFrameTime);

                mFrameTime = mFrameTime.AddSeconds(mInterval);
            } while (mFrameTime.CompareTo(mEnd) < 0);

            mConnection.Disconnect();
            mConnection = null;
        }
Example #5
0
        public void ExecuteRequest()
        {
            var dsConnections = new List<SiteConnection>();

            //Create a web request, in including the users logged-in auth information in the request headers
            var urlQuery = Urls.Url_DatasourceConnectionsList(Login, DatasourceId);
            var httpRequestMessage = CreateLoggedInRequest(urlQuery, HttpMethod.Get);

            Login.Logger.Information("Web request: " + urlQuery);
            var response = SendHttpRequest(httpRequestMessage);
            var xmlDoc = GetHttpResponseAsXml(response);

            //Get all the workbook nodes
            //Get all the nodes
            var xDoc = xmlDoc.ToXDocument();
            var connections = xDoc.Root.Descendants(XName.Get("connection", XmlNamespace));

            //Get information for each of the data sources
            foreach (var itemXml in connections)
            {
                try
                {
                    var connection = new SiteConnection(itemXml.ToXmlNode());
                    dsConnections.Add(connection);
                }
                catch
                {
                    Login.Logger.Error("Error parsing workbook: " + itemXml.ToXmlNode());
                }
            } //end: foreach

            Connections_p = dsConnections;
        }
Example #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Intellio Video Server Frames downloader for timelaps");
            Console.WriteLine("Usage IVSTimelaps.exe [address] [port] [user] [password] [camera] [start time] [end time] [interval(s)]");
            Console.WriteLine();

            if (args.Length < 8)
            {
                Console.WriteLine("Missing parameter(s)");
                Environment.Exit(-1);
            }

            try
            {
                mAddress  = args[0];
                mPort     = int.Parse(args[1]);
                mUser     = args[2];
                mPassword = args[3];
                mCamera   = args[4];

                mStart = ParseDateTimeParam(args[5]);
                mEnd   = ParseDateTimeParam(args[6]);

                mInterval = int.Parse(args[7]);
            }
            catch (Exception e)
            {
                Console.WriteLine("Invalid format: {0}", e.Message);
                Environment.Exit(-1);
            }

            SiteConnector connector;

            connector = new SiteConnector();
            try
            {
                mConnection = connector.Connect(mAddress, mPort, mUser, mPassword);
            }
            catch (Exception e)
            {
                Console.WriteLine("Cannot connect to server ({0}:{1}): {2}", mAddress, mPort, e.Message);
                Environment.Exit(-2);
            }

            mVideoSource = GetVideoSourceByName(mCamera);
            if (mVideoSource == null)
            {
                Console.WriteLine("Camera not found ({0})", mCamera);
                Environment.Exit(-3);
            }

            mOutPath = AppDomain.CurrentDomain.BaseDirectory;

            new Downloader(mConnection, mVideoSource, mStart, mEnd, mInterval, mOutPath);
        }
Example #7
0
        public void UpdateServerAddress(SiteDatasource datasourceToUpdate, SiteConnection connectionToUpdate, string serverAddress)
        {
            var sb        = new StringBuilder();
            var xmlWriter = XmlWriter.Create(sb, XmlHelper.XmlSettingsForWebRequests);

            xmlWriter.WriteStartElement("tsRequest");
            xmlWriter.WriteStartElement("connection");
            xmlWriter.WriteAttributeString("serverAddress", serverAddress);
            xmlWriter.WriteEndElement(); //</connection>
            xmlWriter.WriteEndElement(); // </tsRequest>
            xmlWriter.Dispose();

            var xmlText = sb.ToString();

            var urlQuery   = Urls.UrlUpdateDatasourceConnection(Login, datasourceToUpdate, connectionToUpdate);
            var webRequest = CreateLoggedInRequest(urlQuery, HttpMethod.Put);

            SendHttpRequest(webRequest, xmlText);
        }
Example #8
0
        public string UrlUpdateDatasourceConnection(TableauServerSignIn session, SiteDatasource datasourceToUpdate, SiteConnection connectionToUpdate)
        {
            string workingText = UrlUpdateDatasourceConnection_p;

            workingText = workingText.Replace("{{iwsSiteId}}", session.SiteId);
            workingText = workingText.Replace("{{iwsDatasourceId}}", datasourceToUpdate.Id);
            workingText = workingText.Replace("{{iwsConnectionId}}", connectionToUpdate.Id);

            ValidateTemplateReplaceComplete(workingText);
            return(workingText);
        }