コード例 #1
0
        private void Connect()
        {
            try
            {
                _client = AquariusClient.CreateConnectedClient(
                    serverTextBox.Text.Trim(),
                    usernameTextBox.Text.Trim(),
                    passwordTextBox.Text.Trim());

                Info($"{Text} connected to AQTS {_client.ServerVersion} on {GetServerName()}");

                ValidateConnection();

                GetAllPlugins();

                CheckForMissingPlugins();

                connectButton.Enabled    = false;
                disconnectButton.Enabled = true;
                addButton.Enabled        = true;
                priorityUpButton.Enabled = priorityDownButton.Enabled = !IsPureApiVersion();
                serverTextBox.Enabled    = false;
                usernameTextBox.Enabled  = false;
                passwordTextBox.Enabled  = false;
            }
            catch (Exception exception)
            {
                Disconnect();
                Error(exception);
            }
        }
コード例 #2
0
 private List <PopulatedUnitGroup> GetUnitsFromALiveServer()
 {
     using (var client = AquariusClient.CreateConnectedClient("doug-vm2019", "admin", "admin"))
     {
         return(client.Provisioning.Get(new GetUnits()).Results);
     }
 }
コード例 #3
0
        private void Connect()
        {
            try
            {
                ThrowIfServerNotInstalled();
                ThrowIfWrongVersion();
                ThrowIfNotAdministrativeUser();

                _client = AquariusClient.CreateConnectedClient(_hostname, usernameTextBox.Text.Trim(),
                                                               passwordTextBox.Text);

                Info($"{Text} connected to AQTS {_client.ServerVersion} on {Environment.MachineName}");

                GetAllPlugins();

                CheckForMissingPlugins();

                connectButton.Enabled    = false;
                disconnectButton.Enabled = true;
                addButton.Enabled        = true;
            }
            catch (Exception exception)
            {
                Error(exception);
            }
        }
コード例 #4
0
        private void SetupClientWithMockEndpoints()
        {
            _client = new AquariusClient
            {
                ServerVersion = CreateDeveloperBuild()
            };

            _mockPublish       = CreateMockServiceClient();
            _mockAcquisition   = CreateMockServiceClient();
            _mockProvisioning  = CreateMockServiceClient();
            _mockAuthenticator = CreateMockAuthenticator();

            var mockHost = "http://example.com";

            _client.AddServiceClient(AquariusClient.ClientType.PublishJson, _mockPublish, PublishV2.ResolveEndpoint(mockHost));
            _client.AddServiceClient(AquariusClient.ClientType.AcquisitionJson, _mockAcquisition, AcquisitionV2.ResolveEndpoint(mockHost));
            _client.AddServiceClient(AquariusClient.ClientType.ProvisioningJson, _mockProvisioning, Provisioning.ResolveEndpoint(mockHost));

            _client.Connection = new Connection(
                _fixture.Create <string>(),
                _fixture.Create <string>(),
                _fixture.Create <string>(),
                _mockAuthenticator,
                connection => { });
        }
コード例 #5
0
        protected override void action()
        {
            var cfr    = new CustomFileRequest(Settings.AuthenticationInfo.HoboAuthentication, Name);
            var export = cfr.ToDataSet();

            var acl = new AquariusClient(Settings.AuthenticationInfo.AquariusUid, Settings.AuthenticationInfo.AquariusPasswd);
            var ts  = acl.HoboToAquarius(export, ValueMap);

            acl.UploadTimeSeries(ts);
        }
コード例 #6
0
        private IAquariusClient CreateConnectedClient()
        {
            Log.Info($"Connecting to {Context.Server} ...");

            var client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password);

            Log.Info($"Connected to {Context.Server} ({client.ServerVersion}) as '{Context.Username}'");

            return(client);
        }
コード例 #7
0
        private IAquariusClient CreateConnectedClient()
        {
            Log.Info($"{FileHelper.ExeNameAndVersion} connecting to {Context.Server} as '{Context.Username}' ...");

            var client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password);

            Log.Info($"Connected to {Context.Server} (v{client.ServerVersion})");

            return(client);
        }
コード例 #8
0
        public void Run()
        {
            Log.Info($"Connecting {GetExecutingFileVersion()} to {Context.Server} ...");

            using (Client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password))
            {
                Log.Info($"Connected to {Context.Server} ({Client.ServerVersion})");

                PollForChanges();
            }
        }
コード例 #9
0
        private IAquariusClient CreateConnectedTimeSeriesClient()
        {
            Log.Info($"Connecting to {Context.TimeSeriesServer} ...");

            var client = AquariusClient.CreateConnectedClient(Context.TimeSeriesServer, Context.TimeSeriesUsername, Context.TimeSeriesPassword);

            SiteVisit = client.RegisterCustomClient(Aquarius.TimeSeries.Client.EndPoints.Root.EndPoint + "/apps/v1");

            Log.Info($"Connected to {Context.TimeSeriesServer} ({client.ServerVersion}) as {Context.TimeSeriesUsername}");

            return(client);
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: kinverarity1/examples
        private void Run()
        {
            Console.WriteLine($"Connecting to {_server} ...");

            using (_client = AquariusClient.CreateConnectedClient(_server, _username, _password))
            {
                Console.WriteLine($"Connected to {_server} ({_client.ServerVersion})");

                PollForChangedPoints();
            }

            _client = null;
        }
コード例 #11
0
        public List <ReflectedTimeSeriesPoint> LoadPoints()
        {
            var server   = !string.IsNullOrEmpty(Context.SourceTimeSeries.Server) ? Context.SourceTimeSeries.Server : Context.Server;
            var username = !string.IsNullOrEmpty(Context.SourceTimeSeries.Username) ? Context.SourceTimeSeries.Username : Context.Username;
            var password = !string.IsNullOrEmpty(Context.SourceTimeSeries.Password) ? Context.SourceTimeSeries.Password : Context.Password;

            using (var client = AquariusClient.CreateConnectedClient(server, username, password))
            {
                Log.Info($"Connected to {server} ({client.ServerVersion})");

                return(client.ServerVersion.IsLessThan(MinimumNgVersion)
                    ? LoadPointsFrom3X(client)
                    : LoadPointsFromNg(client));
            }
        }
コード例 #12
0
        private IAquariusClient CreateConnectedClient()
        {
            Log.Info($"{FileHelper.ExeNameAndVersion} connecting to {Context.Server} as '{Context.Username}' ...");

            var client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password);

            Log.Info($"Connected to {Context.Server} (v{client.ServerVersion})");

            ReferencePointCache = new ReferencePointCache(client);

            ParameterIdLookup = new ParameterIdLookup(client.Provisioning.Get(new GetParameters()));

            MethodLookup = new MethodLookup(client.Provisioning.Get(new GetMonitoringMethods()));

            return(client);
        }
コード例 #13
0
        public void Run()
        {
            Log.Info($"Connecting {GetExecutingFileVersion()} to {Context.Server} ...");

            using (Client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password))
            {
                Log.Info($"Connected to {Context.Server} (v{Client.ServerVersion})");

                RegisterPrivateClients();

                GetTargetApprovalLevel();

                ResolvedLocations = GetResolvedLocations();

                ChangeFieldVisitApprovals();
            }
        }
コード例 #14
0
ファイル: Deleter.cs プロジェクト: AlexGraf-AI/examples
        public void Run()
        {
            Log.Info($"Connecting {GetExecutingFileVersion()} to {Context.Server} ...");

            using (Client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password))
            {
                Log.Info($"Connected to {Context.Server} ({Client.ServerVersion})");

                RegisterPrivateClients();
                AdaptToSpecificVersion();

                ResolvedLocations = GetResolvedLocations();

                DeleteSpecifiedFieldVisits();
                DeleteSpecifiedTimeSeries();
                DeleteSpecifiedLocations();
            }
        }
コード例 #15
0
        private void ImportUsersToAquarius(List <UserRecord> users)
        {
            if (users.Count < 1)
            {
                Log.Info("No users to import..");
                return;
            }

            var createCount = 0;
            var updateCount = 0;


            using (var client = AquariusClient.CreateConnectedClient(_context.Server, _context.Username, _context.Password))
            {
                Log.Info($"Connected to {(client.Provisioning as JsonServiceClient)?.BaseUri} ({client.ServerVersion}) as user='******'.");

                var aqUsers = GetAqUsers(client);

                Dictionary <string, User> aqUserDictionary = aqUsers.ToDictionary(x => x.LoginName, user => user);

                Log.Info("Importing users into Aquarius ...");

                foreach (var user in users)
                {
                    if (aqUserDictionary.ContainsKey(user.Username))
                    {
                        if (UpdateUser(client, user, aqUserDictionary[user.Username]))
                        {
                            updateCount++;
                        }
                    }
                    else
                    {
                        if (CreateUser(client, user))
                        {
                            createCount++;
                        }
                    }
                }
            }

            Log.Info($"Successfully created {createCount} users and updated {updateCount} users.");
        }
コード例 #16
0
        private IAquariusClient CreateConnectedAquariusClient()
        {
            var client = AquariusClient.CreateConnectedClient(
                Context.Config.AquariusServer,
                Context.Config.AquariusUsername,
                Context.Config.AquariusPassword);

            foreach (var serviceClient in new[] { client.Publish, client.Provisioning, client.Acquisition })
            {
                if (!(serviceClient is JsonServiceClient jsonClient))
                {
                    continue;
                }

                jsonClient.Timeout          = Context.Timeout;
                jsonClient.ReadWriteTimeout = Context.Timeout;
            }

            return(client);
        }
コード例 #17
0
        private void SetupClientWithMockEndpoints()
        {
            _client = new AquariusClient
            {
                ServerVersion = CreateDeveloperBuild()
            };

            _mockPublish      = CreateMockServiceClient();
            _mockAcquisition  = CreateMockServiceClient();
            _mockProvisioning = CreateMockServiceClient();

            _client.ServiceClients.Add(AquariusClient.ClientType.PublishJson, _mockPublish);
            _client.ServiceClients.Add(AquariusClient.ClientType.AcquisitionJson, _mockAcquisition);
            _client.ServiceClients.Add(AquariusClient.ClientType.ProvisioningJson, _mockProvisioning);

            _client.Connection = new Connection(
                _fixture.Create <string>(),
                _fixture.Create <string>(),
                (username, password) => string.Join("/", username, password),
                _client.DeleteSession,
                connection => { });
        }
コード例 #18
0
ファイル: ReportRunner.cs プロジェクト: yanxuYX/examples
        private IAquariusClient CreateConnectedClient()
        {
            if (string.IsNullOrWhiteSpace(_context.Server))
            {
                throw new ExpectedException("No -Server=value was specified.");
            }

            if (string.IsNullOrWhiteSpace(_context.Username))
            {
                throw new ExpectedException("No -Username=value was specified.");
            }

            if (string.IsNullOrWhiteSpace(_context.Password))
            {
                throw new ExpectedException("No -Password=value was specified.");
            }

            var client = AquariusClient.CreateConnectedClient(_context.Server, _context.Username, _context.Password);

            Log.Info($"Connected to {_context.Server} ({client.ServerVersion})");

            return(client);
        }
コード例 #19
0
 private IAquariusClient CreateConnectedClient(string server, string username, string password)
 {
     return(string.IsNullOrWhiteSpace(Context.SessionToken) || server != Context.Server
         ? AquariusClient.CreateConnectedClient(server, username, password)
         : AquariusClient.ClientFromExistingSession(Context.Server, Context.SessionToken));
 }
コード例 #20
0
ファイル: PointsAppender.cs プロジェクト: craignwf/examples
 private IAquariusClient CreateConnectedClient()
 {
     return(string.IsNullOrWhiteSpace(Context.SessionToken)
         ? AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password)
         : AquariusClient.ClientFromExistingSession(Context.Server, Context.SessionToken));
 }
コード例 #21
0
        public void AppendPoints()
        {
            Log.Info(Context.ExecutingFileVersion);

            Points = GetPoints()
                     .OrderBy(p => p.Time)
                     .ToList();

            if (!string.IsNullOrEmpty(Context.SaveCsvPath))
            {
                new CsvWriter(Context)
                .WritePoints(Points);

                if (Context.StopAfterSavingCsv)
                {
                    return;
                }
            }

            Log.Info($"Connecting to {Context.Server} ...");

            using (var client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password))
            {
                Log.Info($"Connected to {Context.Server} ({client.ServerVersion})");

                if (Context.CreateMode != CreateMode.Never)
                {
                    new TimeSeriesCreator
                    {
                        Context = Context,
                        Client  = client
                    }.CreateMissingTimeSeries(Context.TimeSeries);
                }

                var timeSeries = client.GetTimeSeriesInfo(Context.TimeSeries);

                var isReflected  = Context.Command == CommandType.Reflected || timeSeries.TimeSeriesType == TimeSeriesType.Reflected;
                var hasTimeRange = isReflected || Context.Command == CommandType.DeleteAllPoints || Context.Command == CommandType.OverwriteAppend;

                var pointExtents = Points.Any()
                    ? $"points [{Points.First().Time} to {Points.Last().Time}]"
                    : "points";

                Log.Info(Context.Command == CommandType.DeleteAllPoints
                    ? $"Deleting all existing points from {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ..."
                    : hasTimeRange
                        ? $"Appending {Points.Count} {pointExtents} within TimeRange={GetTimeRange()} to {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ..."
                        : $"Appending {Points.Count} {pointExtents} to {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ...");

                var numberOfPointsAppended = 0;
                var numberOfPointsDeleted  = 0;
                var stopwatch = Stopwatch.StartNew();

                var pointBatches = GetPointBatches(Points).ToList();
                var isBatched    = pointBatches.Count > 1;
                var batchIndex   = 1;

                foreach (var batch in pointBatches)
                {
                    if (isBatched)
                    {
                        var batchSummary =
                            $"Appending batch #{batchIndex}: {batch.Points.Count} points [{batch.Points.First().Time} to {batch.Points.Last().Time}]";

                        Log.Info(hasTimeRange
                            ? $"{batchSummary} within TimeRange={batch.TimeRange} ..."
                            : $"{batchSummary} ...");
                    }

                    var result = AppendPointBatch(client, timeSeries, batch.Points, batch.TimeRange, isReflected, hasTimeRange);
                    numberOfPointsAppended += result.NumberOfPointsAppended;
                    numberOfPointsDeleted  += result.NumberOfPointsDeleted;
                    ++batchIndex;

                    if (result.AppendStatus != AppendStatusCode.Completed)
                    {
                        throw new ExpectedException($"Unexpected append status={result.AppendStatus}");
                    }
                }

                var batchText = isBatched ? $" using {pointBatches.Count} appends" : "";
                Log.Info($"Appended {numberOfPointsAppended} points (deleting {numberOfPointsDeleted} points) in {stopwatch.ElapsedMilliseconds / 1000.0:F1} seconds{batchText}.");
            }
        }
コード例 #22
0
        public void AppendPoints()
        {
            Points = GetPoints()
                     .OrderBy(p => p.Time)
                     .ToList();

            using (var client = AquariusClient.CreateConnectedClient(Context.Server, Context.Username, Context.Password))
            {
                Log.Info($"Connected to {Context.Server} ({client.ServerVersion})");

                var timeSeries = client.GetTimeSeriesInfo(Context.TimeSeries);

                var isReflected  = Context.Command == CommandType.Reflected || timeSeries.TimeSeriesType == TimeSeriesType.Reflected;
                var hasTimeRange = isReflected || Context.Command == CommandType.DeleteAllPoints || Context.Command == CommandType.OverwriteAppend;

                var pointExtents = Points.Any()
                    ? $"points [{Points.First().Time} to {Points.Last().Time}]"
                    : "points";

                Log.Info(Context.Command == CommandType.DeleteAllPoints
                    ? $"Deleting all existing points from {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ..."
                    : hasTimeRange
                        ? $"Appending {Points.Count} {pointExtents} within TimeRange={GetTimeRange()} to {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ..."
                        : $"Appending {Points.Count} {pointExtents} to {timeSeries.Identifier} ({timeSeries.TimeSeriesType}) ...");

                var stopwatch = Stopwatch.StartNew();

                AppendResponse appendResponse;

                if (isReflected)
                {
                    appendResponse = client.Acquisition.Post(new PostReflectedTimeSeries
                    {
                        UniqueId  = timeSeries.UniqueId,
                        TimeRange = GetTimeRange(),
                        Points    = Points
                    });
                }
                else
                {
                    var basicPoints = Points
                                      .Select(p => new TimeSeriesPoint
                    {
                        Time  = p.Time,
                        Value = p.Value
                    })
                                      .ToList();

                    if (hasTimeRange)
                    {
                        appendResponse = client.Acquisition.Post(new PostTimeSeriesOverwriteAppend
                        {
                            UniqueId  = timeSeries.UniqueId,
                            TimeRange = GetTimeRange(),
                            Points    = basicPoints
                        });
                    }
                    else
                    {
                        appendResponse = client.Acquisition.Post(new PostTimeSeriesAppend
                        {
                            UniqueId = timeSeries.UniqueId,
                            Points   = basicPoints
                        });
                    }
                }

                var result = client.Acquisition.RequestAndPollUntilComplete(
                    acquisition => appendResponse,
                    (acquisition, response) => acquisition.Get(new GetTimeSeriesAppendStatus {
                    AppendRequestIdentifier = response.AppendRequestIdentifier
                }),
                    polledStatus => polledStatus.AppendStatus != AppendStatusCode.Pending,
                    null,
                    Context.AppendTimeout);

                if (result.AppendStatus != AppendStatusCode.Completed)
                {
                    throw new ExpectedException($"Unexpected append status={result.AppendStatus}");
                }

                Log.Info($"Appended {result.NumberOfPointsAppended} points (deleting {result.NumberOfPointsDeleted} points) in {stopwatch.ElapsedMilliseconds / 1000.0:F1} seconds.");
            }
        }