From d4d1e287751b4696609884c5c1163aa33a2a0048 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Tue, 29 Apr 2014 15:42:50 -0500 Subject: [PATCH] Issue #3081 Use alias in derived paraemters less. Former-commit-id: 1d38fb2df19f761c84b84cdeb05b52ccf6da6d1c [formerly 1d38fb2df19f761c84b84cdeb05b52ccf6da6d1c [formerly cdbfab27991a9536e48436c084801eb507322e7c]] Former-commit-id: 60a7f64a5e7a2ea3553a1a09dff338523c075017 Former-commit-id: 539a32666ba18098af79f11b86d3619a4d2691cd --- .../derivparam/tree/DerivedLevelNode.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/tree/DerivedLevelNode.java b/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/tree/DerivedLevelNode.java index 10ddadd30b..c736917242 100644 --- a/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/tree/DerivedLevelNode.java +++ b/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/tree/DerivedLevelNode.java @@ -61,6 +61,9 @@ import com.raytheon.uf.common.time.DataTime; * ------------- -------- ----------- -------------------------- * Dec 14, 2009 rjpeter Initial creation * Apr 11, 2014 2947 bsteffen Don't check units until data is requested. + * Apr 29, 2014 3081 bsteffen Undo change for 2947 because it prevents + * multiple level derivation from happening + * simultaneously in the function adapter. * * * @@ -401,11 +404,15 @@ public class DerivedLevelNode extends AbstractDerivedDataNode { Set newRecs = new HashSet( records.size()); for (AbstractRequestableData record : records) { - /* Wrap in an alias to perform unit conversion when necessary. */ - AbstractRequestableData alias = new AliasRequestableData(record); - alias.setUnit(field.getUnit()); - newRecs.add(alias); - + if (record.getUnit() != null + && !record.getUnit().equals(field.getUnit()) + && record.getUnit().isCompatible(field.getUnit())) { + AbstractRequestableData alias = new AliasRequestableData(record); + alias.setUnit(field.getUnit()); + newRecs.add(alias); + } else { + newRecs.add(record); + } } return newRecs; }