From 1ded602fe2d601fcc640ee532045d80f7474eccb Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Fri, 21 Nov 2025 00:22:23 -0800 Subject: [PATCH 1/9] Analyze network with subnetwork trace --- .../README.md | 75 ++ .../README.metadata.json | 70 ++ ...analyze_network_with_subnetwork_trace.dart | 691 ++++++++++++++++++ .../analyze_network_with_subnetwork_trace.png | Bin 0 -> 57142 bytes 4 files changed, 836 insertions(+) create mode 100644 lib/samples/analyze_network_with_subnetwork_trace/README.md create mode 100644 lib/samples/analyze_network_with_subnetwork_trace/README.metadata.json create mode 100644 lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart create mode 100644 lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png diff --git a/lib/samples/analyze_network_with_subnetwork_trace/README.md b/lib/samples/analyze_network_with_subnetwork_trace/README.md new file mode 100644 index 00000000..5474ef24 --- /dev/null +++ b/lib/samples/analyze_network_with_subnetwork_trace/README.md @@ -0,0 +1,75 @@ +# Analyze network with subnetwork trace + +Get a server-defined trace configuration for a given tier and modify its traversability scope, add new condition barriers, and control what is included in the subnetwork trace result. + +![Analyze network with subnetwork trace](analyze_network_with_subnetwork_trace.png) + +## Use case + +While some traces are built from an ad-hoc group of parameters, many are based on a variation of the trace configuration taken from the subnetwork definition. For example, an electrical trace will be based on the trace configuration of the subnetwork, but may add additional clauses to constrain the trace along a single phase. Similarly, a trace in a gas or electric design application may include features with a status of "In Design" that are normally excluded from trace results. + +## How to use the sample + +1. The sample loads with the default trace configuration for a chosen tier. +2. Toggle inclusions (containers, barriers, associations, etc.). +3. Define a conditional network attribute comparison with the 'Attributes' and 'Comparison' dropdowns. +4. Tap "Add condition" to append the condition to the barrier expression. +5. Tap "Trace" to run a subnetwork trace from the predefined starting location using the modified configuration. +6. Tap "Reset" to restore the original server-provided barrier expression. + +Example barrier conditions for the default dataset: + +* `Transformer Load` Equal `15` +* `Phases Current` DoesNotIncludeTheValues `A` +* `Generation KW` LessThan `50` + +## How it works + +1. Instantiate a `ServiceGeodatabase` from the feature service URL. +2. Create and load a `UtilityNetwork` from the service geodatabase; look up the required `UtilityAssetType` and `UtilityTier` by name. +3. Populate the comparison source list with non-system `definition.networkAttributes`, and the operator list from `UtilityAttributeComparisonOperator` enum values. +4. Build a default starting `UtilityElement` from the selected asset type. +5. Initialize UI options and the barrier expression from the tier's `TraceConfiguration`. +6. When a network attribute is chosen, if its `Domain` is a `CodedValueDomain`, populate the value list from its coded values; otherwise present a free-form input. +7. On "Add condition", create a `UtilityNetworkAttributeComparison` (source, operator, value), coercing the value to the source attribute's `UtilityNetworkAttribute.dataType`. +8. If existing `UtilityTraversability.barriers` are present, combine them and the new comparison in a `UtilityTraceOrCondition`. +9. On "Trace", create `UtilityTraceParameters` (`UtilityTraceType.subnetwork`, starting element), apply modified options and expression in its `TraceConfiguration`, then execute `UtilityNetwork.trace`. +10. On "Reset", restore the original barrier expression. +11. Present the count of returned `UtilityElementTraceResult` list. + +## Relevant API + +* CodedValueDomain +* UtilityAssetType +* UtilityCategory +* UtilityCategoryComparison +* UtilityCategoryComparisonOperator +* UtilityDomainNetwork +* UtilityElement +* UtilityElementTraceResult +* UtilityNetwork +* UtilityNetworkAttribute +* UtilityNetworkAttributeComparison +* UtilityNetworkAttributeComparison.withValue +* UtilityNetworkDefinition +* UtilityTerminal +* UtilityTier +* UtilityTraceAndCondition +* UtilityTraceConfiguration +* UtilityTraceOrCondition +* UtilityTraceParameters +* UtilityTraceResult +* UtilityTraceType +* UtilityTraversability + +## About the data + +The [Naperville Electric](https://sampleserver7.arcgisonline.com/server/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer) utility network feature service (authentication required; handled in code) provides the subnetwork and tier definitions used for this trace. + +## Additional information + +Using a utility network on ArcGIS Enterprise 10.8 requires an Enterprise member account licensed with the [Utility Network user type extension](https://enterprise.arcgis.com/en/portal/latest/administer/windows/license-user-type-extensions.htm#ESRI_SECTION1_41D78AD9691B42E0A8C227C113C0C0BF). See the [utility network services documentation](https://enterprise.arcgis.com/en/server/latest/publish-services/windows/utility-network-services.htm) for publishing and configuration details. + +## Tags + +category comparison, condition barriers, network analysis, network attribute comparison, subnetwork trace, trace configuration, traversability, utility network, validate consistency diff --git a/lib/samples/analyze_network_with_subnetwork_trace/README.metadata.json b/lib/samples/analyze_network_with_subnetwork_trace/README.metadata.json new file mode 100644 index 00000000..21310541 --- /dev/null +++ b/lib/samples/analyze_network_with_subnetwork_trace/README.metadata.json @@ -0,0 +1,70 @@ +{ + "category": "Utility Networks", + "description": "Get a server-defined trace configuration for a given tier and modify its traversability scope, add new condition barriers, and control what is included in the subnetwork trace result.", + "ignore": false, + "images": [ + "analyze_network_with_subnetwork_trace.png" + ], + "keywords": [ + "category comparison", + "condition barriers", + "network analysis", + "network attribute comparison", + "subnetwork trace", + "trace configuration", + "traversability", + "utility network", + "validate consistency", + "CodedValueDomain", + "UtilityAssetType", + "UtilityCategory", + "UtilityCategoryComparison", + "UtilityCategoryComparisonOperator", + "UtilityDomainNetwork", + "UtilityElement", + "UtilityElementTraceResult", + "UtilityNetwork", + "UtilityNetworkAttribute", + "UtilityNetworkAttributeComparison", + "UtilityNetworkAttributeComparison.withValue", + "UtilityNetworkDefinition", + "UtilityTerminal", + "UtilityTier", + "UtilityTraceAndCondition", + "UtilityTraceConfiguration", + "UtilityTraceOrCondition", + "UtilityTraceParameters", + "UtilityTraceResult", + "UtilityTraceType", + "UtilityTraversability" + ], + "redirect_from": [], + "relevant_apis": [ + "CodedValueDomain", + "UtilityAssetType", + "UtilityCategory", + "UtilityCategoryComparison", + "UtilityCategoryComparisonOperator", + "UtilityDomainNetwork", + "UtilityElement", + "UtilityElementTraceResult", + "UtilityNetwork", + "UtilityNetworkAttribute", + "UtilityNetworkAttributeComparison", + "UtilityNetworkAttributeComparison.withValue", + "UtilityNetworkDefinition", + "UtilityTerminal", + "UtilityTier", + "UtilityTraceAndCondition", + "UtilityTraceConfiguration", + "UtilityTraceOrCondition", + "UtilityTraceParameters", + "UtilityTraceResult", + "UtilityTraceType", + "UtilityTraversability" + ], + "snippets": [ + "analyze_network_with_subnetwork_trace.dart" + ], + "title": "Analyze network with subnetwork trace" +} diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart new file mode 100644 index 00000000..86807819 --- /dev/null +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -0,0 +1,691 @@ +// Copyright 2025 Esri +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +import 'package:arcgis_maps/arcgis_maps.dart'; +import 'package:arcgis_maps_sdk_flutter_samples/common/common.dart'; +import 'package:arcgis_maps_sdk_flutter_samples/common/token_challenger_handler.dart'; +import 'package:flutter/material.dart'; + +class AnalyzeNetworkWithSubnetworkTrace extends StatefulWidget { + const AnalyzeNetworkWithSubnetworkTrace({super.key}); + + @override + State createState() => + _AnalyzeNetworkWithSubnetworkTraceState(); +} + +class _AnalyzeNetworkWithSubnetworkTraceState + extends State + with SampleStateSupport { + // The utility network used for tracing. + late UtilityNetwork? _utilityNetwork; + + // The trace configuration. + UtilityTraceConfiguration? _configuration; + + // The starting location for the trace. + UtilityElement? _startingLocation; + + // The initial barrier expression. + UtilityTraceCondition? _initialBarrierExpression; + + // The default condition that's always present. + UtilityTraceConditionalExpression? _defaultCondition; + + // An array of conditional expressions. + final _traceConditionalExpressions = []; + + // The selected attribute for adding a condition. + UtilityNetworkAttribute? _selectedAttribute; + + // An array of possible network attributes. + var _attributes = []; + + // The selected operator for adding a condition. + var _selectedOperator = UtilityAttributeComparisonOperator.equal; + + // The selected value for adding a condition. + dynamic _selectedValue; + + // The coded values for the selected attribute. + var _codedValues = []; + + // The value controller for text input when adding a condition. + final _valueController = TextEditingController(); + + // A flag indicating whether to include barriers. + bool _includeBarriers = true; + + // A flag indicating whether to include containers. + bool _includeContainers = true; + + // The number of trace result. + int _elementsCount = 0; + + // A flag for when the utility network and trace configuration are ready be used. + bool _ready = false; + + @override + void initState() { + super.initState(); + // Set up authentication for the sample server. + // Note: Never hardcode login information in a production application. + // This is done solely for the sake of the sample. + ArcGISEnvironment + .authenticationManager + .arcGISAuthenticationChallengeHandler = TokenChallengeHandler( + 'viewer01', + 'I68VGU^nMurF', + ); + + _setup(); + } + + @override + void dispose() { + // Remove the TokenChallengeHandler and erase any credentials that were generated. + ArcGISEnvironment + .authenticationManager + .arcGISAuthenticationChallengeHandler = + null; + ArcGISEnvironment.authenticationManager.arcGISCredentialStore.removeAll(); + _valueController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: SafeArea( + child: Stack( + children: [ + Column( + children: [ + Expanded( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SwitchListTile( + title: const Text('Include Barriers'), + value: _includeBarriers, + contentPadding: EdgeInsets.zero, + onChanged: (v) => + setState(() => _includeBarriers = v), + ), + SwitchListTile( + title: const Text('Include Containers'), + value: _includeContainers, + contentPadding: EdgeInsets.zero, + onChanged: (v) => + setState(() => _includeContainers = v), + ), + const SizedBox(height: 14), + if (_traceConditionalExpressions.isNotEmpty) ...[ + Text( + 'Conditions (${_traceConditionalExpressions.length}):', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + color: Theme.of(context).colorScheme.primary, + ), + ), + const SizedBox(height: 8), + ListView.separated( + itemCount: _traceConditionalExpressions.length, + shrinkWrap: true, + itemBuilder: (context, index) { + final condition = + _traceConditionalExpressions[index]; + final isDefault = condition == _defaultCondition; + return ListTile( + title: Text(_conditionString(condition)), + trailing: isDefault + ? Text( + 'Default', + style: TextStyle( + fontSize: 12, + color: Theme.of(context).primaryColor, + ), + ) + : null, + dense: true, + minTileHeight: 0, + contentPadding: EdgeInsets.zero, + ); + }, + separatorBuilder: (context, index) { + return const Divider(); + }, + ), + ], + ], + ), + ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + const Text('Attributes:'), + const SizedBox(width: 10), + DropdownButton( + hint: Text( + 'Select', + style: Theme.of(context).textTheme.bodyMedium, + ), + value: _selectedAttribute, + items: _attributes + .map( + (a) => + DropdownMenuItem( + value: a, + child: Text( + a.name, + style: Theme.of( + context, + ).textTheme.bodyMedium, + ), + ), + ) + .toList(), + onChanged: (value) { + setState(() { + _selectedAttribute = value; + _prepareValueInput(); + }); + }, + ), + ], + ), + Row( + children: [ + const Text('Comparison:'), + const SizedBox(width: 10), + DropdownButton( + hint: Text( + 'Operator', + style: Theme.of(context).textTheme.bodyMedium, + ), + value: _selectedOperator, + items: UtilityAttributeComparisonOperator.values + .map( + (op) => DropdownMenuItem( + value: op, + child: Text( + _operatorLabel(op), + style: Theme.of( + context, + ).textTheme.bodyMedium, + ), + ), + ) + .toList(), + onChanged: (value) { + if (value != null) { + setState(() => _selectedOperator = value); + } + }, + ), + ], + ), + const SizedBox(height: 8), + if (_selectedAttribute?.domain is CodedValueDomain) + DropdownButton( + isExpanded: true, + hint: Text( + 'Value', + style: Theme.of(context).textTheme.bodyMedium, + ), + value: _selectedValue, + items: _codedValues + .map( + (cv) => DropdownMenuItem( + value: cv.code, + child: Text( + cv.name, + style: Theme.of( + context, + ).textTheme.bodyMedium, + ), + ), + ) + .toList(), + onChanged: (value) => + setState(() => _selectedValue = value), + ) + else + TextField( + controller: _valueController, + decoration: const InputDecoration( + labelText: 'Value', + border: OutlineInputBorder(), + ), + onChanged: (_) => + setState(() => _selectedValue = null), + ), + const SizedBox(height: 8), + Row( + children: [ + Expanded( + flex: 2, + child: ElevatedButton( + onPressed: _configuration != null + ? _onReset + : null, + child: const Text('Reset'), + ), + ), + const SizedBox(width: 8), + Expanded( + flex: 3, + child: ElevatedButton( + onPressed: _ready && _canAddCondition() + ? _onAddCondition + : null, + child: const Text('Add Condition'), + ), + ), + const SizedBox(width: 8), + Expanded( + flex: 2, + child: ElevatedButton( + onPressed: _startingLocation != null + ? _onRunTrace + : null, + child: const Text('Trace'), + ), + ), + ], + ), + ], + ), + ), + ], + ), + // Loading indicator. + LoadingIndicator(visible: !_ready), + ], + ), + ), + ); + } + + // Performs important tasks including loading utility network and setting trace parameters. + Future _setup() async { + try { + await _setupTraceParameters(); + } finally { + setState(() => _ready = true); + } + } + + // Loads the utility network and sets the trace parameters and other information. + Future _setupTraceParameters() async { + // Constants for creating the default trace configuration. + const domainNetworkName = 'ElectricDistribution'; + const tierName = 'Medium Voltage Radial'; + + // Constants for creating the default starting location. + const deviceTableName = 'Electric Distribution Device'; + const assetGroupName = 'Circuit Breaker'; + const assetTypeName = 'Three Phase'; + const globalIdString = '1CAF7740-0BF4-4113-8DB2-654E18800028'; + + // Load the service geodatabase. + final serviceGeodatabase = ServiceGeodatabase.withUri( + Uri.parse( + 'https://sampleserver7.arcgisonline.com/server/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer/0', + ), + ); + await serviceGeodatabase.load(); + + // Load the utility network. + _utilityNetwork = UtilityNetwork(serviceGeodatabase); + await _utilityNetwork!.load(); + + final definition = _utilityNetwork!.definition; + if (definition == null) return; + + // Create a default starting location. + _startingLocation = await _makeStartingLocation( + definition, + deviceTableName, + assetGroupName, + assetTypeName, + globalIdString, + ); + + // Get the default trace configuration for the specified domain network and tier. + final domainNetwork = definition.getDomainNetwork(domainNetworkName); + if (domainNetwork == null) return; + + final utilityTierConfiguration = domainNetwork + .getTier(tierName) + ?.getDefaultTraceConfiguration(); + if (utilityTierConfiguration == null) return; + + // Set the traversability. + utilityTierConfiguration.traversability ??= UtilityTraversability(); + + // Store the initial expression. + _initialBarrierExpression = + utilityTierConfiguration.traversability?.barriers; + + // Initialize default condition: "operational device status" Equal "Open". + _defaultCondition = await _createDefaultCondition(definition); + if (_defaultCondition != null) { + // Set the default condition as the barrier. + utilityTierConfiguration.traversability?.barriers = _defaultCondition; + // Add it to the expressions list. + _traceConditionalExpressions.add(_defaultCondition!); + } + + // Get network attributes. + final attributes = definition.networkAttributes + .where((a) => !a.isSystemDefined) + .toList(); + _attributes = attributes; + _configuration = utilityTierConfiguration; + } + + // Creates a `UtilityElement` from the asset type to use as the starting location. + Future _makeStartingLocation( + UtilityNetworkDefinition definition, + String deviceTableName, + String assetGroupName, + String assetTypeName, + String globalIdString, + ) async { + // Get the asset type from the definition. + final networkSource = definition.getNetworkSource(deviceTableName); + if (networkSource == null) { + showMessageDialog('Network source not found: $deviceTableName'); + } + + // Get the asset group. + final assetGroup = networkSource!.getAssetGroup(assetGroupName); + if (assetGroup == null) { + showMessageDialog('Asset group not found: $assetGroupName'); + } + + // Get the asset type. + final assetType = assetGroup!.getAssetType(assetTypeName); + if (assetType == null) { + showMessageDialog('Asset type not found: $assetTypeName'); + } + + // Create the global ID. + final globalId = Guid.fromString(globalIdString); + if (globalId == null) { + showMessageDialog('Invalid global ID: $globalIdString'); + } + + // Create the starting location element. + final startingLocation = _utilityNetwork!.createElementWithAssetType( + assetType!, + globalId: globalId!, + ); + + // Set the 'Load' terminal for the location. + final terminalConfig = assetType.terminalConfiguration; + if (terminalConfig != null) { + startingLocation.terminal = terminalConfig.terminals.firstWhere( + (t) => t.name == 'Load', + ); + } + + return startingLocation; + } + + // Creates the default condition: "operational device status" Equal "Open". + Future _createDefaultCondition( + UtilityNetworkDefinition definition, + ) async { + // Get attributes from definition since _attributes might not be populated yet. + final attributes = definition.networkAttributes + .where((a) => !a.isSystemDefined) + .toList(); + + // Find the "operational device status" attribute. + final operationalStatusAttr = attributes.firstWhere( + (attr) => attr.name.toLowerCase() == 'operational device status', + ); + + // Check if the attribute has a coded value domain. + final domain = operationalStatusAttr.domain; + if (domain is! CodedValueDomain) return null; + + final openValue = domain.codedValues.firstWhere( + (cv) => cv.name.toLowerCase() == 'open', + ); + + // Create and return the comparison expression. + return UtilityNetworkAttributeComparison.withValue( + networkAttribute: operationalStatusAttr, + comparisonOperator: UtilityAttributeComparisonOperator.equal, + value: openValue.code, + ); + } + + // Determines if a condition can be added. + bool _canAddCondition() { + if (_selectedAttribute == null) return false; + if (_selectedAttribute?.domain is CodedValueDomain) { + return _selectedValue != null; + } + return _valueController.text.trim().isNotEmpty; + } + + // Prepares the value input when attribute changes. + void _prepareValueInput() { + _selectedValue = null; + _valueController.clear(); + _codedValues = []; + final domain = _selectedAttribute?.domain; + if (domain is CodedValueDomain) { + _codedValues = domain.codedValues; + } + } + + // Adds a new condition to the list of conditional expressions. + void _onAddCondition() { + if (!_canAddCondition() || _selectedAttribute == null) return; + + final attribute = _selectedAttribute!; + dynamic value; + if (attribute.domain is CodedValueDomain) { + value = _selectedValue; + } else { + value = _convertToDataType( + _valueController.text.trim(), + attribute.dataType, + ); + } + + final comparison = UtilityNetworkAttributeComparison.withValue( + networkAttribute: attribute, + comparisonOperator: _selectedOperator, + value: value, + ); + + if (comparison != null) { + _traceConditionalExpressions.add(comparison); + } + + // Clear the condition form. + _clearForm(); + } + + // Chains the conditional expressions together with OR operators. + UtilityTraceConditionalExpression? _chainExpressions( + List expressions, + ) { + if (expressions.isEmpty) return null; + if (expressions.length == 1) return expressions.first; + + // This uses reduce pattern to chain expressions with OR logic + // This creates: ((expr1 OR expr2) OR expr3) ... + // Elements matching ANY condition will be included. + return expressions + .skip(1) + .fold( + expressions.first, + (left, right) => UtilityTraceOrCondition( + leftExpression: left, + rightExpression: right, + ), + ); + } + + // Runs a trace with the pending trace configuration. + Future _onRunTrace() async { + if (_startingLocation == null || _configuration == null) return; + + // Create utility trace parameters for the starting location. + final parameters = UtilityTraceParameters( + UtilityTraceType.subnetwork, + startingLocations: [_startingLocation!], + ); + + final configuration = _configuration!; + configuration.includeBarriers = _includeBarriers; + configuration.includeContainers = _includeContainers; + + // Chain and validate the expressions. + final chainedExpression = _chainExpressions(_traceConditionalExpressions); + if (chainedExpression == null && _traceConditionalExpressions.isNotEmpty) { + showMessageDialog('Error: Failed to chain conditional expressions.'); + return; + } + + // Cast to UtilityTraceCondition since barriers expects that type. + configuration.traversability?.barriers = chainedExpression; + parameters.traceConfiguration = configuration; + + // Trace the utility network. + final traceResults = await _utilityNetwork!.trace(parameters); + UtilityElementTraceResult? elementResult; + for (final result in traceResults) { + if (result is UtilityElementTraceResult) { + elementResult = result; + break; + } + } + + // Display the number of elements found by the trace. + setState(() => _elementsCount = elementResult?.elements.length ?? 0); + final countMessage = _elementsCount == 0 + ? 'No elements found.' + : '$_elementsCount element(s) found.'; + showMessageDialog(title: 'Trace result', countMessage); + } + + // Resets the trace barrier conditions. + void _onReset() { + if (_configuration == null) return; + + // Reset the conditional expressions. + _traceConditionalExpressions.clear(); + if (_defaultCondition != null) { + _traceConditionalExpressions.add(_defaultCondition!); + // Cast to UtilityTraceCondition since barriers expects that type. + _configuration!.traversability?.barriers = _defaultCondition; + } else if (_initialBarrierExpression != null) { + _configuration!.traversability?.barriers = _initialBarrierExpression; + } + + // Clear the condition form. + _clearForm(); + } + + // A human-readable label for each utility attribute comparison operator. + String _operatorLabel(UtilityAttributeComparisonOperator op) { + switch (op) { + case UtilityAttributeComparisonOperator.equal: + return 'Equal'; + case UtilityAttributeComparisonOperator.notEqual: + return 'Not Equal'; + case UtilityAttributeComparisonOperator.greaterThan: + return 'Greater Than'; + case UtilityAttributeComparisonOperator.greaterThanEqual: + return 'Greater Than Equal'; + case UtilityAttributeComparisonOperator.lessThan: + return 'Less Than'; + case UtilityAttributeComparisonOperator.lessThanEqual: + return 'Less Than Equal'; + case UtilityAttributeComparisonOperator.includesTheValues: + return 'Includes The Values'; + case UtilityAttributeComparisonOperator.doesNotIncludeTheValues: + return 'Does Not Include The Values'; + case UtilityAttributeComparisonOperator.includesAny: + return 'Includes Any'; + case UtilityAttributeComparisonOperator.doesNotIncludeAny: + return 'Does Not Include Any'; + } + } + + // Converts the values to matching data types. + dynamic _convertToDataType( + String raw, + UtilityNetworkAttributeDataType dataType, + ) { + switch (dataType) { + case UtilityNetworkAttributeDataType.integer: + return int.tryParse(raw) ?? raw; + case UtilityNetworkAttributeDataType.float: + case UtilityNetworkAttributeDataType.double: + return double.tryParse(raw) ?? raw; + case UtilityNetworkAttributeDataType.boolean: + return raw.toLowerCase() == 'true'; + } + } + + // Gets the string representation of a condition for display. + String _conditionString(UtilityTraceConditionalExpression condition) { + if (condition is UtilityNetworkAttributeComparison) { + final attributeName = condition.networkAttribute.name; + final operatorLabel = _operatorLabel(condition.comparisonOperator); + final value = condition.value; + + if (condition.networkAttribute.domain is CodedValueDomain) { + final domain = condition.networkAttribute.domain! as CodedValueDomain; + // Try to find the coded value that matches the condition value + final codedValue = domain.codedValues.firstWhere( + (cv) => cv.code == value, + ); + return "'$attributeName' $operatorLabel '${codedValue.name}'"; + } else { + return "'$attributeName' $operatorLabel '$value'"; + } + } + return condition.toString(); + } + + // Clears the condition form inputs. + void _clearForm() { + _selectedAttribute = null; + _selectedValue = null; + _valueController.clear(); + _codedValues = []; + + // Refresh the UI. + setState(() {}); + } +} diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png new file mode 100644 index 0000000000000000000000000000000000000000..5e915f87ec0f372878ecaef2e9cd94a6dec63218 GIT binary patch literal 57142 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

-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 O0000 Date: Fri, 21 Nov 2025 10:46:19 -0800 Subject: [PATCH 2/9] Add late type to variables --- .../analyze_network_with_subnetwork_trace.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index 86807819..8d2b7aa1 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -33,22 +33,22 @@ class _AnalyzeNetworkWithSubnetworkTraceState late UtilityNetwork? _utilityNetwork; // The trace configuration. - UtilityTraceConfiguration? _configuration; + late UtilityTraceConfiguration? _configuration; // The starting location for the trace. - UtilityElement? _startingLocation; + late UtilityElement? _startingLocation; // The initial barrier expression. - UtilityTraceCondition? _initialBarrierExpression; + late UtilityTraceCondition? _initialBarrierExpression; // The default condition that's always present. - UtilityTraceConditionalExpression? _defaultCondition; + late UtilityTraceConditionalExpression? _defaultCondition; // An array of conditional expressions. final _traceConditionalExpressions = []; // The selected attribute for adding a condition. - UtilityNetworkAttribute? _selectedAttribute; + late UtilityNetworkAttribute? _selectedAttribute; // An array of possible network attributes. var _attributes = []; @@ -74,7 +74,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState // The number of trace result. int _elementsCount = 0; - // A flag for when the utility network and trace configuration are ready be used. + // A flag for when the utility network and trace configuration are ready to be used. bool _ready = false; @override From e3bd450227a676624f39d548c42bbf812c276033 Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Fri, 21 Nov 2025 10:47:04 -0800 Subject: [PATCH 3/9] Use vars --- .../analyze_network_with_subnetwork_trace.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index 8d2b7aa1..d13dac99 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -66,16 +66,16 @@ class _AnalyzeNetworkWithSubnetworkTraceState final _valueController = TextEditingController(); // A flag indicating whether to include barriers. - bool _includeBarriers = true; + var _includeBarriers = true; // A flag indicating whether to include containers. - bool _includeContainers = true; + var _includeContainers = true; // The number of trace result. - int _elementsCount = 0; + var _elementsCount = 0; // A flag for when the utility network and trace configuration are ready to be used. - bool _ready = false; + var _ready = false; @override void initState() { From 3ba7be715a4955a645ed7b47398dc85ef32825af Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Fri, 21 Nov 2025 14:36:59 -0800 Subject: [PATCH 4/9] Address code review changes --- ...analyze_network_with_subnetwork_trace.dart | 135 +++++++----------- .../analyze_network_with_subnetwork_trace.png | Bin 57142 -> 51398 bytes 2 files changed, 52 insertions(+), 83 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index d13dac99..1b41368d 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -30,16 +30,13 @@ class _AnalyzeNetworkWithSubnetworkTraceState extends State with SampleStateSupport { // The utility network used for tracing. - late UtilityNetwork? _utilityNetwork; + late UtilityNetwork _utilityNetwork; // The trace configuration. - late UtilityTraceConfiguration? _configuration; + late UtilityTraceConfiguration _configuration; // The starting location for the trace. - late UtilityElement? _startingLocation; - - // The initial barrier expression. - late UtilityTraceCondition? _initialBarrierExpression; + late UtilityElement _startingLocation; // The default condition that's always present. late UtilityTraceConditionalExpression? _defaultCondition; @@ -48,7 +45,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState final _traceConditionalExpressions = []; // The selected attribute for adding a condition. - late UtilityNetworkAttribute? _selectedAttribute; + UtilityNetworkAttribute? _selectedAttribute; // An array of possible network attributes. var _attributes = []; @@ -108,6 +105,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState @override Widget build(BuildContext context) { return Scaffold( + // Main scaffold for the sample body: SafeArea( child: Stack( children: [ @@ -119,21 +117,24 @@ class _AnalyzeNetworkWithSubnetworkTraceState child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + // Switch to include barriers in the trace SwitchListTile( title: const Text('Include Barriers'), value: _includeBarriers, contentPadding: EdgeInsets.zero, - onChanged: (v) => - setState(() => _includeBarriers = v), + onChanged: (value) => + setState(() => _includeBarriers = value), ), + // Switch to include containers in the trace SwitchListTile( title: const Text('Include Containers'), value: _includeContainers, contentPadding: EdgeInsets.zero, - onChanged: (v) => - setState(() => _includeContainers = v), + onChanged: (value) => + setState(() => _includeContainers = value), ), const SizedBox(height: 14), + // Display conditions if any exist if (_traceConditionalExpressions.isNotEmpty) ...[ Text( 'Conditions (${_traceConditionalExpressions.length}):', @@ -180,11 +181,13 @@ class _AnalyzeNetworkWithSubnetworkTraceState padding: const EdgeInsets.symmetric(horizontal: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 8, children: [ + // Dropdown for selecting attributes Row( + spacing: 10, children: [ const Text('Attributes:'), - const SizedBox(width: 10), DropdownButton( hint: Text( 'Select', @@ -193,11 +196,11 @@ class _AnalyzeNetworkWithSubnetworkTraceState value: _selectedAttribute, items: _attributes .map( - (a) => + (attribute) => DropdownMenuItem( - value: a, + value: attribute, child: Text( - a.name, + attribute.name, style: Theme.of( context, ).textTheme.bodyMedium, @@ -214,10 +217,11 @@ class _AnalyzeNetworkWithSubnetworkTraceState ), ], ), + // Dropdown for selecting comparison operators Row( + spacing: 10, children: [ const Text('Comparison:'), - const SizedBox(width: 10), DropdownButton( hint: Text( 'Operator', @@ -245,7 +249,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState ), ], ), - const SizedBox(height: 8), + // Dropdown or TextField for inputting values based on attribute type if (_selectedAttribute?.domain is CodedValueDomain) DropdownButton( isExpanded: true, @@ -280,19 +284,17 @@ class _AnalyzeNetworkWithSubnetworkTraceState onChanged: (_) => setState(() => _selectedValue = null), ), - const SizedBox(height: 8), + // Buttons for resetting, adding conditions, and running the trace Row( + spacing: 8, children: [ Expanded( flex: 2, child: ElevatedButton( - onPressed: _configuration != null - ? _onReset - : null, + onPressed: _onReset, child: const Text('Reset'), ), ), - const SizedBox(width: 8), Expanded( flex: 3, child: ElevatedButton( @@ -302,13 +304,10 @@ class _AnalyzeNetworkWithSubnetworkTraceState child: const Text('Add Condition'), ), ), - const SizedBox(width: 8), Expanded( flex: 2, child: ElevatedButton( - onPressed: _startingLocation != null - ? _onRunTrace - : null, + onPressed: _onRunTrace, child: const Text('Trace'), ), ), @@ -358,14 +357,13 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Load the utility network. _utilityNetwork = UtilityNetwork(serviceGeodatabase); - await _utilityNetwork!.load(); + await _utilityNetwork.load(); - final definition = _utilityNetwork!.definition; - if (definition == null) return; + final definition = _utilityNetwork.definition; // Create a default starting location. - _startingLocation = await _makeStartingLocation( - definition, + _startingLocation = _makeStartingLocation( + definition!, deviceTableName, assetGroupName, assetTypeName, @@ -374,22 +372,16 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Get the default trace configuration for the specified domain network and tier. final domainNetwork = definition.getDomainNetwork(domainNetworkName); - if (domainNetwork == null) return; - final utilityTierConfiguration = domainNetwork + final utilityTierConfiguration = domainNetwork! .getTier(tierName) ?.getDefaultTraceConfiguration(); - if (utilityTierConfiguration == null) return; // Set the traversability. - utilityTierConfiguration.traversability ??= UtilityTraversability(); - - // Store the initial expression. - _initialBarrierExpression = - utilityTierConfiguration.traversability?.barriers; + utilityTierConfiguration!.traversability ??= UtilityTraversability(); // Initialize default condition: "operational device status" Equal "Open". - _defaultCondition = await _createDefaultCondition(definition); + _defaultCondition = _createDefaultCondition(definition); if (_defaultCondition != null) { // Set the default condition as the barrier. utilityTierConfiguration.traversability?.barriers = _defaultCondition; @@ -399,46 +391,34 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Get network attributes. final attributes = definition.networkAttributes - .where((a) => !a.isSystemDefined) + .where((attribute) => !attribute.isSystemDefined) .toList(); _attributes = attributes; _configuration = utilityTierConfiguration; } // Creates a `UtilityElement` from the asset type to use as the starting location. - Future _makeStartingLocation( + UtilityElement _makeStartingLocation( UtilityNetworkDefinition definition, String deviceTableName, String assetGroupName, String assetTypeName, String globalIdString, - ) async { + ) { // Get the asset type from the definition. final networkSource = definition.getNetworkSource(deviceTableName); - if (networkSource == null) { - showMessageDialog('Network source not found: $deviceTableName'); - } // Get the asset group. final assetGroup = networkSource!.getAssetGroup(assetGroupName); - if (assetGroup == null) { - showMessageDialog('Asset group not found: $assetGroupName'); - } // Get the asset type. final assetType = assetGroup!.getAssetType(assetTypeName); - if (assetType == null) { - showMessageDialog('Asset type not found: $assetTypeName'); - } // Create the global ID. final globalId = Guid.fromString(globalIdString); - if (globalId == null) { - showMessageDialog('Invalid global ID: $globalIdString'); - } // Create the starting location element. - final startingLocation = _utilityNetwork!.createElementWithAssetType( + final startingLocation = _utilityNetwork.createElementWithAssetType( assetType!, globalId: globalId!, ); @@ -455,9 +435,9 @@ class _AnalyzeNetworkWithSubnetworkTraceState } // Creates the default condition: "operational device status" Equal "Open". - Future _createDefaultCondition( + UtilityTraceConditionalExpression? _createDefaultCondition( UtilityNetworkDefinition definition, - ) async { + ) { // Get attributes from definition since _attributes might not be populated yet. final attributes = definition.networkAttributes .where((a) => !a.isSystemDefined) @@ -556,15 +536,13 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Runs a trace with the pending trace configuration. Future _onRunTrace() async { - if (_startingLocation == null || _configuration == null) return; - // Create utility trace parameters for the starting location. final parameters = UtilityTraceParameters( UtilityTraceType.subnetwork, - startingLocations: [_startingLocation!], + startingLocations: [_startingLocation], ); - final configuration = _configuration!; + final configuration = _configuration; configuration.includeBarriers = _includeBarriers; configuration.includeContainers = _includeContainers; @@ -580,14 +558,10 @@ class _AnalyzeNetworkWithSubnetworkTraceState parameters.traceConfiguration = configuration; // Trace the utility network. - final traceResults = await _utilityNetwork!.trace(parameters); - UtilityElementTraceResult? elementResult; - for (final result in traceResults) { - if (result is UtilityElementTraceResult) { - elementResult = result; - break; - } - } + final traceResults = await _utilityNetwork.trace(parameters); + final elementResult = traceResults + .whereType() + .firstOrNull; // Display the number of elements found by the trace. setState(() => _elementsCount = elementResult?.elements.length ?? 0); @@ -599,16 +573,12 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Resets the trace barrier conditions. void _onReset() { - if (_configuration == null) return; - // Reset the conditional expressions. _traceConditionalExpressions.clear(); if (_defaultCondition != null) { _traceConditionalExpressions.add(_defaultCondition!); // Cast to UtilityTraceCondition since barriers expects that type. - _configuration!.traversability?.barriers = _defaultCondition; - } else if (_initialBarrierExpression != null) { - _configuration!.traversability?.barriers = _initialBarrierExpression; + _configuration.traversability?.barriers = _defaultCondition; } // Clear the condition form. @@ -625,11 +595,11 @@ class _AnalyzeNetworkWithSubnetworkTraceState case UtilityAttributeComparisonOperator.greaterThan: return 'Greater Than'; case UtilityAttributeComparisonOperator.greaterThanEqual: - return 'Greater Than Equal'; + return 'Greater Than Or Equal'; case UtilityAttributeComparisonOperator.lessThan: return 'Less Than'; case UtilityAttributeComparisonOperator.lessThanEqual: - return 'Less Than Equal'; + return 'Less Than Or Equal'; case UtilityAttributeComparisonOperator.includesTheValues: return 'Includes The Values'; case UtilityAttributeComparisonOperator.doesNotIncludeTheValues: @@ -680,12 +650,11 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Clears the condition form inputs. void _clearForm() { - _selectedAttribute = null; - _selectedValue = null; _valueController.clear(); - _codedValues = []; - - // Refresh the UI. - setState(() {}); + setState(() { + _selectedAttribute = null; + _selectedValue = null; + _codedValues = []; + }); } } diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png index 5e915f87ec0f372878ecaef2e9cd94a6dec63218..6d956f679644d9be583d1397a0cbe119a564fc49 100644 GIT binary patch literal 51398 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

-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 O0000 Date: Fri, 21 Nov 2025 14:39:26 -0800 Subject: [PATCH 5/9] Add comments --- .../analyze_network_with_subnetwork_trace.dart | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index 1b41368d..ffb27ed5 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -105,7 +105,6 @@ class _AnalyzeNetworkWithSubnetworkTraceState @override Widget build(BuildContext context) { return Scaffold( - // Main scaffold for the sample body: SafeArea( child: Stack( children: [ @@ -117,7 +116,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // Switch to include barriers in the trace + // Switch to include barriers in the trace. SwitchListTile( title: const Text('Include Barriers'), value: _includeBarriers, @@ -125,7 +124,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState onChanged: (value) => setState(() => _includeBarriers = value), ), - // Switch to include containers in the trace + // Switch to include containers in the trace. SwitchListTile( title: const Text('Include Containers'), value: _includeContainers, @@ -134,7 +133,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState setState(() => _includeContainers = value), ), const SizedBox(height: 14), - // Display conditions if any exist + // Display conditions if any exist. if (_traceConditionalExpressions.isNotEmpty) ...[ Text( 'Conditions (${_traceConditionalExpressions.length}):', @@ -183,7 +182,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState crossAxisAlignment: CrossAxisAlignment.start, spacing: 8, children: [ - // Dropdown for selecting attributes + // Dropdown for selecting attributes. Row( spacing: 10, children: [ @@ -217,7 +216,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState ), ], ), - // Dropdown for selecting comparison operators + // Dropdown for selecting comparison operators. Row( spacing: 10, children: [ @@ -249,7 +248,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState ), ], ), - // Dropdown or TextField for inputting values based on attribute type + // Dropdown or TextField for inputting values based on attribute type. if (_selectedAttribute?.domain is CodedValueDomain) DropdownButton( isExpanded: true, @@ -284,7 +283,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState onChanged: (_) => setState(() => _selectedValue = null), ), - // Buttons for resetting, adding conditions, and running the trace + // Buttons for resetting, adding conditions, and running the trace. Row( spacing: 8, children: [ From 870202e37c5847ebe1ac13ed878a7f96484df6c5 Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Mon, 24 Nov 2025 12:17:42 -0800 Subject: [PATCH 6/9] Remove 'default' text --- ...analyze_network_with_subnetwork_trace.dart | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index ffb27ed5..447e72be 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -116,11 +116,20 @@ class _AnalyzeNetworkWithSubnetworkTraceState child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + const SizedBox(height: 14), + Text( + 'TRACE OPTIONS', + style: TextStyle( + fontSize: 15, + color: Theme.of(context).colorScheme.primary, + ), + ), // Switch to include barriers in the trace. SwitchListTile( title: const Text('Include Barriers'), value: _includeBarriers, contentPadding: EdgeInsets.zero, + dense: true, onChanged: (value) => setState(() => _includeBarriers = value), ), @@ -128,6 +137,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState SwitchListTile( title: const Text('Include Containers'), value: _includeContainers, + dense: true, contentPadding: EdgeInsets.zero, onChanged: (value) => setState(() => _includeContainers = value), @@ -136,10 +146,9 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Display conditions if any exist. if (_traceConditionalExpressions.isNotEmpty) ...[ Text( - 'Conditions (${_traceConditionalExpressions.length}):', + 'LIST OF CONDITIONS (${_traceConditionalExpressions.length})', style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16, + fontSize: 15, color: Theme.of(context).colorScheme.primary, ), ), @@ -150,18 +159,8 @@ class _AnalyzeNetworkWithSubnetworkTraceState itemBuilder: (context, index) { final condition = _traceConditionalExpressions[index]; - final isDefault = condition == _defaultCondition; return ListTile( title: Text(_conditionString(condition)), - trailing: isDefault - ? Text( - 'Default', - style: TextStyle( - fontSize: 12, - color: Theme.of(context).primaryColor, - ), - ) - : null, dense: true, minTileHeight: 0, contentPadding: EdgeInsets.zero, From 0245b4431f87855c780d50376c87b2d43470daba Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Mon, 24 Nov 2025 12:47:21 -0800 Subject: [PATCH 7/9] Update screenshot --- .../analyze_network_with_subnetwork_trace.png | Bin 51398 -> 52965 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.png index 6d956f679644d9be583d1397a0cbe119a564fc49..72f193235e4ba2c65537858f1302d1814e428b4a 100644 GIT binary patch literal 52965 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 Yqoph!eXCFsP{5z8q>@CXm~r6$0l|Fx`~Uy| literal 51398 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 Date: Mon, 24 Nov 2025 13:25:55 -0800 Subject: [PATCH 8/9] Clean the code --- ...analyze_network_with_subnetwork_trace.dart | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index 447e72be..057c990a 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -39,7 +39,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState late UtilityElement _startingLocation; // The default condition that's always present. - late UtilityTraceConditionalExpression? _defaultCondition; + late UtilityTraceConditionalExpression _defaultCondition; // An array of conditional expressions. final _traceConditionalExpressions = []; @@ -380,12 +380,10 @@ class _AnalyzeNetworkWithSubnetworkTraceState // Initialize default condition: "operational device status" Equal "Open". _defaultCondition = _createDefaultCondition(definition); - if (_defaultCondition != null) { - // Set the default condition as the barrier. - utilityTierConfiguration.traversability?.barriers = _defaultCondition; - // Add it to the expressions list. - _traceConditionalExpressions.add(_defaultCondition!); - } + // Set the default condition as the barrier. + utilityTierConfiguration.traversability?.barriers = _defaultCondition; + // Add it to the expressions list. + _traceConditionalExpressions.add(_defaultCondition); // Get network attributes. final attributes = definition.networkAttributes @@ -422,18 +420,15 @@ class _AnalyzeNetworkWithSubnetworkTraceState ); // Set the 'Load' terminal for the location. - final terminalConfig = assetType.terminalConfiguration; - if (terminalConfig != null) { - startingLocation.terminal = terminalConfig.terminals.firstWhere( - (t) => t.name == 'Load', - ); - } + startingLocation.terminal = assetType.terminalConfiguration!.terminals.firstWhere( + (t) => t.name == 'Load', + ); return startingLocation; } // Creates the default condition: "operational device status" Equal "Open". - UtilityTraceConditionalExpression? _createDefaultCondition( + UtilityTraceConditionalExpression _createDefaultCondition( UtilityNetworkDefinition definition, ) { // Get attributes from definition since _attributes might not be populated yet. @@ -447,8 +442,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState ); // Check if the attribute has a coded value domain. - final domain = operationalStatusAttr.domain; - if (domain is! CodedValueDomain) return null; + final domain = operationalStatusAttr.domain! as CodedValueDomain; final openValue = domain.codedValues.firstWhere( (cv) => cv.name.toLowerCase() == 'open', @@ -459,7 +453,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState networkAttribute: operationalStatusAttr, comparisonOperator: UtilityAttributeComparisonOperator.equal, value: openValue.code, - ); + )!; } // Determines if a condition can be added. @@ -573,11 +567,9 @@ class _AnalyzeNetworkWithSubnetworkTraceState void _onReset() { // Reset the conditional expressions. _traceConditionalExpressions.clear(); - if (_defaultCondition != null) { - _traceConditionalExpressions.add(_defaultCondition!); - // Cast to UtilityTraceCondition since barriers expects that type. - _configuration.traversability?.barriers = _defaultCondition; - } + _traceConditionalExpressions.add(_defaultCondition); + // Cast to UtilityTraceCondition since barriers expects that type. + _configuration.traversability?.barriers = _defaultCondition; // Clear the condition form. _clearForm(); From 291c77f75c5a19857f3fbdbaaf93c65536eb5558 Mon Sep 17 00:00:00 2001 From: Martino Yovo Date: Mon, 24 Nov 2025 17:28:02 -0800 Subject: [PATCH 9/9] Remove unnecessary params from _makeStartingLocation function --- ...analyze_network_with_subnetwork_trace.dart | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart index 057c990a..a47bab07 100644 --- a/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart +++ b/lib/samples/analyze_network_with_subnetwork_trace/analyze_network_with_subnetwork_trace.dart @@ -339,12 +339,6 @@ class _AnalyzeNetworkWithSubnetworkTraceState const domainNetworkName = 'ElectricDistribution'; const tierName = 'Medium Voltage Radial'; - // Constants for creating the default starting location. - const deviceTableName = 'Electric Distribution Device'; - const assetGroupName = 'Circuit Breaker'; - const assetTypeName = 'Three Phase'; - const globalIdString = '1CAF7740-0BF4-4113-8DB2-654E18800028'; - // Load the service geodatabase. final serviceGeodatabase = ServiceGeodatabase.withUri( Uri.parse( @@ -360,13 +354,7 @@ class _AnalyzeNetworkWithSubnetworkTraceState final definition = _utilityNetwork.definition; // Create a default starting location. - _startingLocation = _makeStartingLocation( - definition!, - deviceTableName, - assetGroupName, - assetTypeName, - globalIdString, - ); + _startingLocation = _makeStartingLocation(definition!); // Get the default trace configuration for the specified domain network and tier. final domainNetwork = definition.getDomainNetwork(domainNetworkName); @@ -394,13 +382,13 @@ class _AnalyzeNetworkWithSubnetworkTraceState } // Creates a `UtilityElement` from the asset type to use as the starting location. - UtilityElement _makeStartingLocation( - UtilityNetworkDefinition definition, - String deviceTableName, - String assetGroupName, - String assetTypeName, - String globalIdString, - ) { + UtilityElement _makeStartingLocation(UtilityNetworkDefinition definition) { + // Constants for creating the default starting location. + const deviceTableName = 'Electric Distribution Device'; + const assetGroupName = 'Circuit Breaker'; + const assetTypeName = 'Three Phase'; + const globalIdString = '1CAF7740-0BF4-4113-8DB2-654E18800028'; + // Get the asset type from the definition. final networkSource = definition.getNetworkSource(deviceTableName); @@ -420,9 +408,8 @@ class _AnalyzeNetworkWithSubnetworkTraceState ); // Set the 'Load' terminal for the location. - startingLocation.terminal = assetType.terminalConfiguration!.terminals.firstWhere( - (t) => t.name == 'Load', - ); + startingLocation.terminal = assetType.terminalConfiguration!.terminals + .firstWhere((t) => t.name == 'Load'); return startingLocation; }