* CP-36392: Add several `null` checks
All were flagged by SonarQube
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Specify `namespace` for `SettingsUpdate`
Added to `XenAdmin`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Collapse useless condition check
Also use pattern matching for type cast
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Specify `namespace` for `ProduceConsumerQueue`
Add to `XenAdmin.Actions`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Rename field in `BugToolPageSelectCapabilties` to avoid name clash
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Add explicit `null` check
While the `null` check in `GraphDetailsDialog.cs` is not strictly necessary, it has been added to fix a SonarQube issue
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Remove unused field in `WlbPoolConfiguration.cs`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Replace useless self-assignment with ad-hoc method
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Simplify dictionary key assignment in `WlbScheduledTask.cs`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Fix minor formatting issues
Add newline at end of file, and reformat content of if statement
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Tidy up latest flagged bugs changes
- Fix whitespace/braces in a few affected files
- Add missing null check in `ValueMaps.cs`
- Check for args length in `RbacCollectorProxy.cs`
- Fix logic in `MainWindow.cs` to revert to previous behaviour
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CP-36392: Tidy up setter in `ChangeableList.cs`
Also update whitespace inconsitencies in `PerfmonAlertEditPage.cs` and `VMHAEditPage.cs`
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
- CA-359068¨Match the whole datasource name (previously the wrong one was picked
for disk read/write latency).
- New/edit Graph dialog: differentiate between enabled/disabled datasources and
visible/hidden (known/unknown units; the latter may mean no data).
- Some refactoring.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- on certain occasions retrieving datasources can be slow; show a spinner while in progress.
- on certain systems the list of datasources may be long; added search box to aid the user filter them by name.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.
The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).
This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>