anmolbabu has uploaded a new change for review. Change subject: webadming,engine : Refactored SizeUnit as per IEC binary prefixes ......................................................................
webadming,engine : Refactored SizeUnit as per IEC binary prefixes This patch does the following: [1] Adds a AlternateMessage to dynamically form size string(size+unit) which in most places previously usde to do a normal string concat using + operator. [2] Added string equivalent's to SizeUnit enum members and overrided toString of SizeUnit to return this string. The reason is this toString can be later used to localize the string equivalents of SizeUnit units. [3] Removed some unused messges which turned unused after [1] above. [4] Modified some places to use SizeConverter#autoConvert to avoid replication of autoConvert logic. Beyond the scope of this patch(Might need a follow-up patch) : Refactor SizeUnit units in accordance with the IEC binary prefixes. this might be a huge refactoring patch as the number of classes using SizeUnit is considerably huge in number.So, I would like that to be a part of subsequent patch. Change-Id: Ieacb29c0df8d5355a754a3db15f976a986d771fd Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1214137 Signed-off-by: Anmol Babu <anb...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SizeConverter.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/RebalanceFileSizeRenderer.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VolumeCapacityRenderer.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/GlusterCapacityCell.java 7 files changed, 42 insertions(+), 33 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/10/40810/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SizeConverter.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SizeConverter.java index a973578..7f66925 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SizeConverter.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SizeConverter.java @@ -19,18 +19,20 @@ } public static enum SizeUnit { - BYTES(1), - KB(2), - MB(3), - GB(4), - TB(5); + BYTES(1, "B"), + KB(2, "KiB"), + MB(3, "MiB"), + GB(4, "GiB"), + TB(5, "TiB"); private long unitWeight; + private String unitInString; private static List<Pair<Long, SizeUnit>> weightToUnit = new ArrayList<Pair<Long, SizeUnit>>(); - private SizeUnit(long unitWeight) { + private SizeUnit(long unitWeight, String unitString) { this.unitWeight = unitWeight; + this.unitInString = unitString; } static { @@ -61,6 +63,11 @@ public static SizeUnit getMinHandledUnit() { return weightToUnit.get(weightToUnit.size() - 1).getSecond(); } + + @Override + public String toString() { + return unitInString; + } }; public static Number convert(long size, SizeUnit fromUnit, SizeUnit toUnit) { diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java index 6bfe921..be92f35 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java @@ -4,6 +4,7 @@ import org.ovirt.engine.core.common.businessentities.gluster.GlusterGeoRepNonEligibilityReason; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotScheduleRecurrence; +import org.ovirt.engine.core.common.utils.SizeConverter.SizeUnit; public interface UIMessages extends com.google.gwt.i18n.client.Messages { @@ -472,6 +473,16 @@ }) String recurrenceType(@Select GlusterVolumeSnapshotScheduleRecurrence recurrence); + @DefaultMessage("{0} TiB") + @AlternateMessage({ + "BYTES", "{0} B", + "KB", "{0} KiB", + "MB", "{0} MiB", + "GB", "{0} GiB", + "TB", "{0} TiB" + }) + String sizeUnitString(String size, @Select SizeUnit sizeUnit); + @DefaultMessage("Session DB Id:{0}, User:{1}") String userSessionRow(long sessionId, String UserName); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java index a4c52c0..15c37dd 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java @@ -95,18 +95,6 @@ @DefaultMessage("Rebalance {0}") String rebalanceStatusMessage(JobExecutionStatus jobStatus); - @DefaultMessage("{0} Bytes") - String rebalanceFileSizeBytes(String size); - - @DefaultMessage("{0} KB") - String rebalanceFileSizeKb(String size); - - @DefaultMessage("{0} MB") - String rebalanceFileSizeMb(String size); - - @DefaultMessage("{0} GB") - String rebalanceFileSizeGb(String size); - @DefaultMessage("{0}. Moving the display network will drop VM console connectivity until they are restarted.") String moveDisplayNetworkWarning(String networkOperationMessage); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java index 8e5641e..0b16d38 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java @@ -18,6 +18,8 @@ import org.ovirt.engine.ui.common.widget.table.column.AbstractTextColumn; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.gluster.CreateBrickModel; +import org.ovirt.engine.ui.uicompat.ConstantsManager; +import org.ovirt.engine.ui.uicompat.UIMessages; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.gin.AssetProvider; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.CreateBrickPopupPresenterWidget; @@ -100,6 +102,7 @@ Label messageLabel; private final static ApplicationConstants constants = AssetProvider.getConstants(); + private static final UIMessages messages = ConstantsManager.getInstance().getMessages(); private final Driver driver = GWT.create(Driver.class); @@ -139,7 +142,7 @@ @Override public String getValue(StorageDevice entity) { Pair<SizeUnit, Double> convertedSize = SizeConverter.autoConvert(entity.getSize(), SizeUnit.MB); - return formatSize(convertedSize.getSecond()) + " " + convertedSize.getFirst().toString(); //$NON-NLS-1$ + return messages.sizeUnitString(formatSize(convertedSize.getSecond()), convertedSize.getFirst()); //$NON-NLS-1$ } }, constants.size(), "100px"); //$NON-NLS-1$ } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/RebalanceFileSizeRenderer.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/RebalanceFileSizeRenderer.java index efa89a2..8c92e3b 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/RebalanceFileSizeRenderer.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/RebalanceFileSizeRenderer.java @@ -1,28 +1,22 @@ package org.ovirt.engine.ui.webadmin.widget.renderer; +import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.common.utils.SizeConverter; import org.ovirt.engine.core.common.utils.SizeConverter.SizeUnit; -import org.ovirt.engine.ui.webadmin.ApplicationMessages; -import org.ovirt.engine.ui.webadmin.gin.AssetProvider; +import org.ovirt.engine.ui.uicompat.ConstantsManager; +import org.ovirt.engine.ui.uicompat.UIMessages; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.text.shared.AbstractRenderer; public class RebalanceFileSizeRenderer<T extends Number> extends AbstractRenderer<T> { - private final static ApplicationMessages messages = AssetProvider.getMessages(); + private final static UIMessages messages = ConstantsManager.getInstance().getMessages(); @Override public String render(T size) { - if(size.longValue() > SizeConverter.BYTES_IN_GB) { - return messages.rebalanceFileSizeGb(formatSize(SizeConverter.convert(size.longValue(), SizeUnit.BYTES, SizeUnit.GB).doubleValue())); - } else if(size.longValue() > SizeConverter.BYTES_IN_MB) { - return messages.rebalanceFileSizeMb(formatSize(SizeConverter.convert(size.longValue(), SizeUnit.BYTES, SizeUnit.MB).doubleValue())); - } else if(size.longValue() > SizeConverter.BYTES_IN_KB) { - return messages.rebalanceFileSizeKb(formatSize(SizeConverter.convert(size.longValue(), SizeUnit.BYTES, SizeUnit.KB).doubleValue())); - } else { - return messages.rebalanceFileSizeBytes(formatSize(size.doubleValue())); - } + Pair<SizeUnit, Double> sizePair = SizeConverter.autoConvert(size.longValue(), SizeUnit.BYTES); + return messages.sizeUnitString(formatSize(sizePair.getSecond()), sizePair.getFirst()); } public String formatSize(double size) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VolumeCapacityRenderer.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VolumeCapacityRenderer.java index 18c7550..ac3d0d3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VolumeCapacityRenderer.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/renderer/VolumeCapacityRenderer.java @@ -4,12 +4,15 @@ import org.ovirt.engine.core.common.utils.SizeConverter; import org.ovirt.engine.core.common.utils.SizeConverter.SizeUnit; import org.ovirt.engine.ui.common.CommonApplicationConstants; +import org.ovirt.engine.ui.uicompat.ConstantsManager; +import org.ovirt.engine.ui.uicompat.UIMessages; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.text.shared.AbstractRenderer; public class VolumeCapacityRenderer<T extends Number> extends AbstractRenderer<T> { + private static final UIMessages MESSAGES = ConstantsManager.getInstance().getMessages(); private final CommonApplicationConstants constants; public VolumeCapacityRenderer(CommonApplicationConstants constants) { @@ -20,7 +23,7 @@ public String render(T size) { if (size != null) { Pair<SizeUnit, Double> sizeWithUnits = SizeConverter.autoConvert(size.longValue(), SizeUnit.BYTES); - return formatSize(sizeWithUnits.getSecond()) + " " + sizeWithUnits.getFirst();//$NON-NLS-1$ + return MESSAGES.sizeUnitString(formatSize(sizeWithUnits.getSecond()), sizeWithUnits.getFirst());//$NON-NLS-1$ } else { return constants.notAvailableLabel(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/GlusterCapacityCell.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/GlusterCapacityCell.java index de4b1b3..c917846 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/GlusterCapacityCell.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/GlusterCapacityCell.java @@ -5,6 +5,8 @@ import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.common.utils.SizeConverter; import org.ovirt.engine.core.common.utils.SizeConverter.SizeUnit; +import org.ovirt.engine.ui.uicompat.ConstantsManager; +import org.ovirt.engine.ui.uicompat.UIMessages; import org.ovirt.engine.ui.webadmin.ApplicationConstants; import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.ApplicationTemplates; @@ -19,6 +21,7 @@ protected ApplicationTemplates templates = AssetProvider.getTemplates(); protected ApplicationMessages messages = AssetProvider.getMessages(); + private static final UIMessages MESSAGES = ConstantsManager.getInstance().getMessages(); protected ApplicationConstants constants = AssetProvider.getConstants(); private Double freeSize; @@ -31,7 +34,7 @@ return constants.notAvailableLabel(); } else { Pair<SizeUnit, Double> sizeWithUnits = SizeConverter.autoConvert(size.longValue(), inUnit); - return formatSize(sizeWithUnits.getSecond()) + " " + sizeWithUnits.getFirst().toString();//$NON-NLS-1$ + return MESSAGES.sizeUnitString(formatSize(sizeWithUnits.getSecond()), sizeWithUnits.getFirst());//$NON-NLS-1$ } } -- To view, visit https://gerrit.ovirt.org/40810 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ieacb29c0df8d5355a754a3db15f976a986d771fd Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <anb...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches