simonbence commented on a change in pull request #4420:
URL: https://github.com/apache/nifi/pull/4420#discussion_r483547447



##########
File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/StatusHistoryUtil.java
##########
@@ -76,14 +76,14 @@ public static StatusDescriptorDTO 
createStatusDescriptorDto(final MetricDescript
 
     public static List<StatusDescriptorDTO> createFieldDescriptorDtos(final 
Collection<MetricDescriptor<?>> metricDescriptors) {
         final List<StatusDescriptorDTO> dtos = new ArrayList<>();
+        final Map<Integer, MetricDescriptor<?>> orderedDescriptors = new 
HashMap<>();
 
-        final Set<MetricDescriptor<?>> allDescriptors = new LinkedHashSet<>();
         for (final MetricDescriptor<?> metricDescriptor : metricDescriptors) {

Review comment:
       The order of the items counts, as it determines the order of the metrics 
in the answer JSON, thus the order of the items in the UI.
   
   The two-step mechanism was introduced to provide the ascending order 
specified by the identifier of the metric. As the result StatusDescriptorDTO 
does not contain this information, only its position carries the expected 
ordering, I had to ask back to the original MetricDescriptor. The incoming 
collection is not guaranteed to be ordered.
   
   An other possible way would be to sort, as you mention, and not in the end 
result but the input argument or more precisely on its copy. Copying and then 
sorting that collection does not look much nicer in my perspective so if you do 
not insist, I would keep it this way.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to