Vojtech Szocs has posted comments on this change.
Change subject: frontend: change VM status icons
......................................................................
Patch Set 7: Looks good to me, but someone else must approve
(6 inline comments)
....................................................
File
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/table/column/VmStatusColumn.java
Line 15: if (vm == null) {
Line 16: return getApplicationResources().vmStatusRunning();
Line 17: }
Line 18:
Line 19: if (vm.isRunOnce()) {
Minor thing: ternary operator might be an option here to reduce code
complexity, for example:
if (vm == null) {
return getApplicationResources().vmStatusRunning();
} else {
return vm.isRunOnce() ? getApplicationResources().runOnceUpImage() :
getApplicationResources().vmStatusRunning();
}
Line 20: return getApplicationResources().runOnceUpImage();
Line 21: } else {
Line 22: return getApplicationResources().vmStatusRunning();
Line 23: }
....................................................
File
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
Line 36: String tooltip;
Line 37:
Line 38: switch (status) {
Line 39: case Up:
Line 40: if (vm.isRunOnce()) {
Minor thing: ternary operator might be an option here to reduce code
complexity, for example:
tooltip = vm.isRunOnce() ? constants.runOnce() : constants.up();
Line 41: tooltip = constants.runOnce();
Line 42: statusImage = resources.runOnceUpImage();
Line 43: } else {
Line 44: tooltip = constants.up();
....................................................
File
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmTypeColumn.java
Line 13: * Image column that corresponds to XAML {@code VmTypeTemplate}.
Line 14: */
Line 15: public class VmTypeColumn extends WebAdminImageResourceColumn<VM> {
Line 16:
Line 17: private Map<VmTypeConfig, Pair<ImageResource, String>>
configToIcon;
Minor thing: consider using final
Line 18:
Line 19: private static final CommonApplicationConstants constants =
ClientGinjectorProvider.instance().getApplicationConstants();
Line 20:
Line 21: public VmTypeColumn() {
Line 34:
Line 35: @Override
Line 36: public ImageResource getValue(VM vm) {
Line 37: if (vm.getVmPoolId() == null) {
Line 38: VmTypeConfig config = new VmTypeConfig(vm.isStateless(),
vm.getVmType());
See my suggestion below, key lookup could be realized more simply, for example:
VmTypeConfig config = VmTypeConfig.for(vm.getVmType(), vm.isStateless());
...
setTitle(config.getTooltip());
return config.getImageResource();
Line 39:
Line 40: if (configToIcon.containsKey(config)) {
Line 41: Pair<ImageResource, String> value =
configToIcon.get(config);
Line 42: setTitle(value.getSecond());
Line 41: Pair<ImageResource, String> value =
configToIcon.get(config);
Line 42: setTitle(value.getSecond());
Line 43: return value.getFirst();
Line 44: } else {
Line 45: return getApplicationResources().manyDesktopsImage();
See my suggestion below, "ManyDesktops" should be represented as default
(fallback) option in VmTypeConfig enum.
Line 46: }
Line 47: } else {
Line 48: return getApplicationResources().manyDesktopsImage();
Line 49: }
Line 48: return getApplicationResources().manyDesktopsImage();
Line 49: }
Line 50: }
Line 51:
Line 52: class VmTypeConfig {
Suggestion: use Java enum to enumerate different VM config vectors:
public enum VmTypeConfig {
DESKTOP_STATELESS(VmType.Desktop, true) {
@Override
public ImageResource getImageResource(ApplicationResources resources) {
return resources.desktopStateless();
}
@Override
public String getTooltip(ApplicationConstants constants) {
return constants.statelessDesktop();
}
},
...
VmTypeConfig(VmType vmType, boolean stateless) {
...
}
public abstract ImageResource getImageResource(ApplicationResources
resources);
public abstract String getTooltip(ApplicationConstants constants);
public static VmTypeConfig from(VmType vmType, boolean stateless) {
// iterate over VmTypeConfig.values() and if not found, fall back to
"ManyDesktops"
}
}
This way, you can get rid of "configToIcon" hash map entirely, reducing code
complexity.
Line 53:
Line 54: private boolean stateless;
Line 55:
Line 56: private VmType vmType;
--
To view, visit http://gerrit.ovirt.org/16374
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I82b16f63527158d4cd44b0b39aed5010d61c2115
Gerrit-PatchSet: 7
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tomas Jelinek <[email protected]>
Gerrit-Reviewer: Tomas Jelinek <[email protected]>
Gerrit-Reviewer: Vojtech Szocs <[email protected]>
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches