
net.intelie.liverig.plugin.widgets.DisplayUnitPipesFunctions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plugin-assets Show documentation
Show all versions of plugin-assets Show documentation
Asset framework for industries solutions
The newest version!
package net.intelie.liverig.plugin.widgets;
import com.google.common.base.Strings;
import net.intelie.liverig.plugin.curves.CalculatedCurves;
import net.intelie.liverig.plugin.curves.Curve;
import net.intelie.liverig.plugin.curves.StandardCurves;
import net.intelie.liverig.units.UnitConverterWithFixup;
import net.intelie.pipes.Export;
import net.intelie.pipes.Inject;
import net.intelie.pipes.types.Type;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
public class DisplayUnitPipesFunctions {
private final DisplayUnitsService displayUnitsService;
private final StandardCurves standardCurves;
private final CalculatedCurves calculatedCurves;
public DisplayUnitPipesFunctions(DisplayUnitsService displayUnitsService, StandardCurves curves, CalculatedCurves calculatedCurves) {
this.displayUnitsService = displayUnitsService;
this.standardCurves = curves;
this.calculatedCurves = calculatedCurves;
}
@Export
public Double curve_display_unit_convert(@Inject("@@context->userConfig->displayUnitSetId") Object displayUnitSetid, Double value, String mnemonic) {
Curve curve = getCurve(mnemonic);
if (curve == null)
return value;
return curve_display_unit_convert(displayUnitSetid, value, mnemonic, curve.unit());
}
@Export
public Double curve_display_unit_convert(@Inject("@@context->userConfig->displayUnitSetId") Object displayUnitSetId, Double value, String mnemonic, String sourceUnit) {
if (displayUnitSetId == null)
return value;
String id = Type.STRING.cast(displayUnitSetId);
DisplayUnit displayUnit = displayUnitsService.get(id);
if (displayUnit == null) {
return value;
}
Map displayUnitDataForMnemonic = displayUnitsService.getDisplayUnitDataForMnemonic(id, mnemonic);
if (displayUnitDataForMnemonic == null) {
return value;
}
String unit = Type.STRING.cast(displayUnitDataForMnemonic.get("unit"));
if (Strings.isNullOrEmpty(unit)) {
return value;
}
return UnitConverterWithFixup.convert(value, sourceUnit, unit);
}
@Export
public Map displayUnitDataForMnemonic(@Inject("@@context->userConfig->displayUnitSetId") Object displayUnitSetId, String mnemonic) {
if (displayUnitSetId == null)
return null;
String id = Type.STRING.cast(displayUnitSetId);
DisplayUnit displayUnit = displayUnitsService.get(id);
if (displayUnit == null) {
return null;
}
return displayUnitsService.getDisplayUnitDataForMnemonic(id, mnemonic);
}
@Export
public String displayUnitSetId(@Inject("@@context->userConfig->displayUnitSetId") Object displayUnitSetId) {
return Type.STRING.cast(displayUnitSetId);
}
@Nullable
private Curve getCurve(String mnemonic) {
Curve curve = standardCurves.getCurve(mnemonic);
if (curve == null)
curve = calculatedCurves.getCurve(mnemonic);
return curve;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy