Martin Mucha has uploaded a new change for review.

Change subject: webadmin: removed caching from EnumTranslator.
......................................................................

webadmin: removed caching from EnumTranslator.

org.ovirt.engine.ui.uicompat.Translator changed to be generic.

org.ovirt.engine.ui.uicompat.EnumTranslator extends generic Translator using 
Enum<?> as type parameter. Doing so there's guarantee that only enum values are 
passed to 'get' method, which removed the need to instantiate EnumTranslator 
with Class<?> type, because passed 'key' parameter will always have same 
(class) type as 'type' field.

Two static factories in EnumTranslator removed and replace by default 
constructor.

Note that key to access resourcebundle is calculated from 
Enum.getDeclaringClass() and not Enum.getClass(); when using polymorphic enum 
name your resourcebundle keys appropriately.

Change-Id: I3df424d8e7a35ed249b2760da79deba7db31b785
Bug-Url: https://bugzilla.redhat.com/??????
Signed-off-by: Martin Mucha <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/FrontendEventsHandlerImpl.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/EnumRenderer.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/VolumeTransportTypeRenderer.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskContainersColumn.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleNode.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronPluginTranslator.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserEventNotifierListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/EnumTranslator.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Translator.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/scheduling/ManagePolicyUnitPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeGeneralView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
22 files changed, 65 insertions(+), 135 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/26048/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/FrontendEventsHandlerImpl.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/FrontendEventsHandlerImpl.java
index 72e59a5..50be966 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/FrontendEventsHandlerImpl.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/FrontendEventsHandlerImpl.java
@@ -44,7 +44,7 @@
     public void runActionExecutionFailed(VdcActionType action, VdcFault fault) 
{
         if (isRaiseErrorModalPanel(action, fault)) {
             errorPopupManager.show(messages.uiCommonRunActionExecutionFailed(
-                    EnumTranslator.createAndTranslate(action), 
fault.getMessage()));
+                    new EnumTranslator().get(action), fault.getMessage()));
         }
     }
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/EnumRenderer.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/EnumRenderer.java
index 81c2924..df967e2 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/EnumRenderer.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/EnumRenderer.java
@@ -14,7 +14,7 @@
 
     @Override
     public String render(E object) {
-        return EnumTranslator.createAndTranslate(object);
+        return new EnumTranslator().get(object);
     }
 
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/VolumeTransportTypeRenderer.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/VolumeTransportTypeRenderer.java
index f8a4d23..b35a981 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/VolumeTransportTypeRenderer.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/renderer/VolumeTransportTypeRenderer.java
@@ -17,7 +17,7 @@
 
     @Override
     public String render(Set<TransportType> transportTypes) {
-        Translator transportTypeTranslator = 
EnumTranslator.create(TransportType.class);
+        Translator transportTypeTranslator = new EnumTranslator();
         StringBuilder transportTypesBuilder = new StringBuilder();
         Iterator<TransportType> iterator = transportTypes.iterator();
         while (iterator.hasNext()) {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskContainersColumn.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskContainersColumn.java
index e9e1d99..6dbf817 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskContainersColumn.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskContainersColumn.java
@@ -20,7 +20,7 @@
             return ""; //$NON-NLS-1$
         }
 
-        String entityType = 
EnumTranslator.createAndTranslate(object.getVmEntityType());
+        String entityType = new EnumTranslator().get(object.getVmEntityType());
 
         if (object.getNumberOfVms() == 1) {
             String entityName = object.getVmNames().get(0);
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
index f204f9f..95a28b0 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/ImageResourceColumn.java
@@ -37,7 +37,7 @@
     }
 
     public void setEnumTitle(Enum<?> enumObj) {
-        setTitle(EnumTranslator.createAndTranslate(enumObj));
+        setTitle(new EnumTranslator().get(enumObj));
     }
 
     public String getDefaultTitle() {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
index c91ae0a..a421934 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
@@ -1440,7 +1440,7 @@
 
         if (!disksAliases.isEmpty()) {
             generalWarningMessage.setText(messages.disksStatusWarning(
-                    EnumTranslator.createAndTranslate(imageStatus),
+                    new EnumTranslator().get(imageStatus),
                     (StringUtils.join(disksAliases, ", ")))); //$NON-NLS-1$
         }
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
index 1ffe3af..d8276d7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
@@ -1290,14 +1290,13 @@
 
         @Override
         public int compare(ProviderType type1, ProviderType type2) {
-            return 
LexoNumericComparator.comp(EnumTranslator.createAndTranslate(type1),
-                    EnumTranslator.createAndTranslate(type2));
+            final EnumTranslator enumTranslator = new EnumTranslator();
+            return LexoNumericComparator.comp(enumTranslator.get(type1), 
enumTranslator.get(type2));
         }
     }
 
     /**
      * pre-defined cluster policies should be ordered first, then order 
lexicographically
-     * @param list - cluster policy list
      */
     public final static class ClusterPolicyComparator implements 
Comparator<ClusterPolicy>, Serializable {
         final LexoNumericComparator lexoNumeric = new LexoNumericComparator();
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleNode.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleNode.java
index 6826e17..062a407 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleNode.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/configure/roles_ui/RoleNode.java
@@ -4,12 +4,9 @@
 
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.ui.uicompat.EnumTranslator;
-import org.ovirt.engine.ui.uicompat.Translator;
 
 @SuppressWarnings("unused")
-public class RoleNode
-{
-    private static Translator actionGroupTranslator = 
EnumTranslator.create(ActionGroup.class);
+public class RoleNode {
 
     public RoleNode(String name, RoleNode[] leafs)
     {
@@ -38,7 +35,7 @@
     {
         this.setName(actionGroup.toString());
         this.setTooltip(tooltip);
-        this.setDesc(RoleNode.actionGroupTranslator.get(actionGroup));
+        this.setDesc(new EnumTranslator().get(actionGroup));
     }
 
     public RoleNode(String name, String desc)
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java
index 44900cb..0194e43 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/pools/PoolGeneralModel.java
@@ -2,9 +2,6 @@
 
 import java.util.ArrayList;
 
-import org.ovirt.engine.core.common.businessentities.DisplayType;
-import org.ovirt.engine.core.common.businessentities.OriginType;
-import org.ovirt.engine.core.common.businessentities.UsbPolicy;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VmPool;
@@ -443,13 +440,9 @@
                     poolGeneralModel.setDefinedMemory(getvm().getVmMemSizeMb() 
+ " MB"); //$NON-NLS-1$
                     
poolGeneralModel.setMinAllocatedMemory(getvm().getMinAllocatedMem() + " MB"); 
//$NON-NLS-1$
 
-                    Translator translator = 
EnumTranslator.create(DisplayType.class);
+                    Translator translator = new EnumTranslator();
                     
poolGeneralModel.setDefaultDisplayType(translator.get(getvm().getDefaultDisplayType()));
-
-                    translator = EnumTranslator.create(OriginType.class);
                     
poolGeneralModel.setOrigin(translator.get(getvm().getOrigin()));
-
-                    translator = EnumTranslator.create(UsbPolicy.class);
                     
poolGeneralModel.setUsbPolicy(translator.get(getvm().getUsbPolicy()));
 
                     
setHasDomain(AsyncDataProvider.isWindowsOsType(getvm().getVmOsId()));
@@ -471,8 +464,7 @@
                             public void onSuccess(Object model1, Object 
ReturnValue1)
                             {
                                 PoolGeneralModel poolGeneralModel1 = 
(PoolGeneralModel) model1;
-                                ArrayList<VDS> hosts =
-                                        (ArrayList<VDS>) 
((VdcQueryReturnValue) ReturnValue1).getReturnValue();
+                                ArrayList<VDS> hosts = ((VdcQueryReturnValue) 
ReturnValue1).getReturnValue();
                                 for (VDS host : hosts)
                                 {
                                     if 
(host.getId().equals(poolGeneralModel1.getvm().getDedicatedVmForVds()))
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronPluginTranslator.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronPluginTranslator.java
index 1baa30d..24c5173 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronPluginTranslator.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronPluginTranslator.java
@@ -15,11 +15,13 @@
     private static final List<String> displayStrings;
     private static final Map<String, OpenstackNetworkPluginType> 
pluginForDisplay;
 
+    private NeutronPluginTranslator() { }
+
     static {
         pluginForDisplay = new HashMap<String, OpenstackNetworkPluginType>();
         displayStrings = new ArrayList<String>();
         for (OpenstackNetworkPluginType plugin : 
OpenstackNetworkPluginType.values()) {
-            String displayString = EnumTranslator.createAndTranslate(plugin);
+            String displayString = new EnumTranslator().get(plugin);
             pluginForDisplay.put(displayString.toLowerCase(), plugin);
             displayStrings.add(displayString);
         }
@@ -40,7 +42,7 @@
 
     public static String getDisplayStringForPluginName(String pluginName) {
         try {
-            return 
EnumTranslator.createAndTranslate(OpenstackNetworkPluginType.valueOf(pluginName));
+            return new 
EnumTranslator().get(OpenstackNetworkPluginType.valueOf(pluginName));
         }
         catch (Exception e) {
             return pluginName == null ? "" : pluginName; //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
index ea74686..374475c 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/templates/TemplateGeneralModel.java
@@ -4,10 +4,7 @@
 import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.DiskImage;
-import org.ovirt.engine.core.common.businessentities.DisplayType;
-import org.ovirt.engine.core.common.businessentities.OriginType;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
-import org.ovirt.engine.core.common.businessentities.UsbPolicy;
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
@@ -358,10 +355,9 @@
 
         setOS(AsyncDataProvider.getOsName(template.getOsId()));
 
-        Translator translator = EnumTranslator.create(DisplayType.class);
+        Translator translator = new EnumTranslator();
         
setDefaultDisplayType(translator.get(template.getDefaultDisplayType()));
 
-        translator = EnumTranslator.create(OriginType.class);
         setOrigin(translator.get(template.getOrigin()));
 
         setHasDomain(AsyncDataProvider.isWindowsOsType(template.getOsId()));
@@ -373,7 +369,6 @@
         setTimeZone(template.getTimeZone());
 
         setHasUsbPolicy(true);
-        translator = EnumTranslator.create(UsbPolicy.class);
         setUsbPolicy(translator.get(template.getUsbPolicy()));
 
         setIsStateless(template.isStateless());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserEventNotifierListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserEventNotifierListModel.java
index f02701f..37aecee 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserEventNotifierListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserEventNotifierListModel.java
@@ -111,8 +111,7 @@
         Map<EventNotificationEntity, HashSet<AuditLogType>> availableEvents =
                 AsyncDataProvider.getAvailableNotificationEvents();
 
-        Translator eventNotificationEntityTranslator = 
EnumTranslator.create(EventNotificationEntity.class);
-        Translator auditLogTypeTranslator = 
EnumTranslator.create(AuditLogType.class);
+        Translator translator = new EnumTranslator();
 
         ArrayList<SelectionTreeNodeModel> list = new 
ArrayList<SelectionTreeNodeModel>();
 
@@ -123,7 +122,7 @@
         {
             SelectionTreeNodeModel stnm = new SelectionTreeNodeModel();
             stnm.setTitle(eventType.toString());
-            
stnm.setDescription(eventNotificationEntityTranslator.containsKey(eventType) ? 
eventNotificationEntityTranslator.get(eventType)
+            stnm.setDescription(translator.containsKey(eventType) ? 
translator.get(eventType)
                     : eventType.toString());
             list.add(stnm);
 
@@ -133,7 +132,7 @@
 
                 String description;
                 try {
-                    description = auditLogTypeTranslator.get(logtype);
+                    description = translator.get(logtype);
                 } catch (MissingResourceException e) {
                     description = logtype.toString();
                 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index a698237..c94f269 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -1407,7 +1407,7 @@
         getWatchdogAction().getEntityChangedEvent().addListener(this);
         ArrayList<String> watchDogActions = new ArrayList<String>();
         for (VmWatchdogAction action : VmWatchdogAction.values()) {
-            watchDogActions.add(EnumTranslator.createAndTranslate(action));
+            watchDogActions.add(new EnumTranslator().get(action));
         }
         getWatchdogAction().setItems(watchDogActions);
 
@@ -1986,11 +1986,11 @@
     private void updateWatchdogItems(Set<VmWatchdogType> vmWatchdogTypes) {
         List<String> watchDogModels = new ArrayList<String>();
         for (VmWatchdogType vmWatchdogType : vmWatchdogTypes) {
-            
watchDogModels.add(EnumTranslator.createAndTranslate(vmWatchdogType));
+            watchDogModels.add(new EnumTranslator().get(vmWatchdogType));
         }
 
         watchDogModels.add(0, null);
-        String oldWatchdogSelected = (String) 
getWatchdogModel().getSelectedItem();
+        String oldWatchdogSelected = getWatchdogModel().getSelectedItem();
         getWatchdogModel().setItems(watchDogModels);
 
         if (watchDogModels.contains(oldWatchdogSelected)) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java
index 52928ec..727dc79 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java
@@ -2,10 +2,7 @@
 
 import java.util.ArrayList;
 
-import org.ovirt.engine.core.common.businessentities.DisplayType;
-import org.ovirt.engine.core.common.businessentities.OriginType;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
-import org.ovirt.engine.core.common.businessentities.UsbPolicy;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VmPauseStatus;
@@ -526,15 +523,13 @@
     }
 
     @Override
-    protected void entityPropertyChanged(Object sender, 
PropertyChangedEventArgs e)
-    {
+    protected void entityPropertyChanged(Object sender, 
PropertyChangedEventArgs e) {
         super.entityPropertyChanged(sender, e);
 
         updateProperties();
     }
 
-    private void updateProperties()
-    {
+    private void updateProperties() {
         VM vm = (VM) getEntity();
 
         setName(vm.getName());
@@ -550,10 +545,9 @@
 
         setOS(AsyncDataProvider.getOsName(vm.getVmOsId()));
 
-        Translator translator = EnumTranslator.create(DisplayType.class);
+        Translator translator = new EnumTranslator();
         setDefaultDisplayType(translator.get(vm.getDefaultDisplayType()));
 
-        translator = EnumTranslator.create(OriginType.class);
         setOrigin(translator.get(vm.getOrigin()));
 
         setIsHighlyAvailable(vm.isAutoStartup());
@@ -562,7 +556,6 @@
 
         setMonitorCount(vm.getNumOfMonitors());
 
-        translator = EnumTranslator.create(UsbPolicy.class);
         setUsbPolicy(translator.get(vm.getUsbPolicy()));
 
         setCpuInfo(ConstantsManager.getInstance().getMessages().cpuInfoLabel(
@@ -588,19 +581,14 @@
         setFqdn(vm.getVmFQDN());
 
         setHasAlert(vm.getVmPauseStatus() != VmPauseStatus.NONE && 
vm.getVmPauseStatus() != VmPauseStatus.NOERR);
-        if (getHasAlert())
-        {
-            translator = EnumTranslator.create(VmPauseStatus.class);
+        if (getHasAlert()) {
             setAlert(translator.get(vm.getVmPauseStatus()));
-        }
-        else
-        {
+        } else {
             setAlert(null);
         }
 
         setHasDefaultHost(vm.getDedicatedVmForVds() != null);
-        if (getHasDefaultHost())
-        {
+        if (getHasDefaultHost()) {
             Frontend.getInstance().runQuery(VdcQueryType.Search, new 
SearchParameters("Host: cluster = " + vm.getVdsGroupName() //$NON-NLS-1$
                     + " sortby name", SearchType.VDS), new AsyncQuery(this, 
//$NON-NLS-1$
                     new INewAsyncCallback() {
@@ -613,8 +601,7 @@
                             {
                                 return;
                             }
-                            ArrayList<VDS> hosts =
-                                    (ArrayList<VDS>) ((VdcQueryReturnValue) 
returnValue).getReturnValue();
+                            ArrayList<VDS> hosts = ((VdcQueryReturnValue) 
returnValue).getReturnValue();
                             for (VDS host : hosts)
                             {
                                 if (localVm.getDedicatedVmForVds() != null
@@ -627,9 +614,7 @@
 
                         }
                     }));
-        }
-        else
-        {
+        } else {
             
setDefaultHost(ConstantsManager.getInstance().getConstants().anyHostInCluster());
         }
     }
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/EnumTranslator.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/EnumTranslator.java
index 0360cf9..b08dd39 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/EnumTranslator.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/EnumTranslator.java
@@ -1,63 +1,33 @@
 package org.ovirt.engine.ui.uicompat;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.MissingResourceException;
 import java.util.logging.Logger;
 
 import com.google.gwt.core.client.GWT;
 
-public class EnumTranslator<T extends Enum<?>> extends Translator {
+public class EnumTranslator extends Translator<Enum<?>> {
     private static final Logger logger = 
Logger.getLogger(EnumTranslator.class.getName());
     private static final UIConstants constants = GWT.create(UIConstants.class);
 
-    private static final Map<Class<? extends Enum<?>>, EnumTranslator> 
translatorsMap = new HashMap<Class<? extends Enum<?>>, EnumTranslator>();
-
     private Enums enums = GWT.create(Enums.class);
-    private Class<T> type;
-
-    public EnumTranslator(Class<T> type) {
-        this.type = type;
-    }
-
-    public static <T extends Enum<?>> Translator create(Class<T> type) {
-        EnumTranslator translator = translatorsMap.get(type);
-        if (translator == null) {
-            translator = new EnumTranslator<T>(type);
-            translatorsMap.put(type, translator);
-        }
-
-        return translator;
-    }
-
-    public static String createAndTranslate(Enum<?> enumObj) {
-        String title = constants.notAvailableLabel();
-
-        if (enumObj != null) {
-            Translator translator = 
EnumTranslator.create(enumObj.getDeclaringClass());
-            title = enumObj.name();
-
-            try {
-                title = translator.get(enumObj);
-            } catch (MissingResourceException e) {
-                // Silently ignore missing resource
-                logger.info("Missing Enum resource: " + 
e.getLocalizedMessage()); //$NON-NLS-1$
-            }
-        }
-
-        return title;
-    }
 
     @Override
-    public String get(Object key) {
-        //FIXME: hack: due to java restriction for method names with chars 
that are not letters, digits, and underscores, replace . with 0
-        if(key == null){
-            return null;
-        }
-        String enumName = type.toString();
-        enumName = 
enumName.substring(enumName.lastIndexOf(".")+1,enumName.length()); //$NON-NLS-1$
-        String translatedEnum = enums.getString(enumName + "___" + 
key.toString()); //$NON-NLS-1$
+    public String get(Enum<?> key) {
+        try {
+            //FIXME: hack: due to java restriction for method names with chars 
that are not letters, digits, and underscores, replace . with 0
+            if(key == null){
+                return null;
+//                return constants.notAvailableLabel();     //TODO MM: NULL or 
this?
+            }
+            String enumName = key.getDeclaringClass().toString();
+            enumName = 
enumName.substring(enumName.lastIndexOf(".")+1,enumName.length()); //$NON-NLS-1$
+            String translatedEnum = enums.getString(enumName + "___" + 
key.toString()); //$NON-NLS-1$
 
-        return translatedEnum;
+            return translatedEnum;
+        } catch (MissingResourceException e) {
+            // Silently ignore missing resource
+            logger.info("Missing Enum resource: " + e.getLocalizedMessage()); 
//$NON-NLS-1$
+            return key.name();
+        }
     }
 }
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Translator.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Translator.java
index e8971c4..9a88186 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Translator.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Translator.java
@@ -1,16 +1,16 @@
 package org.ovirt.engine.ui.uicompat;
 
 
-public class Translator {
+public class Translator<T> {
 
-    public String get(Object key) {
+    public String get(T key) {
         if(key == null) {
             return null;
         }
         return key.toString();
     }
 
-    public boolean containsKey(Object key){
+    public boolean containsKey(T key){
         return get(key)!=null;
     }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java
index b38663b..1f1817f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/host/SubTabHostGeneralPresenter.java
@@ -1,6 +1,5 @@
 package org.ovirt.engine.ui.webadmin.section.main.presenter.tab.host;
 
-import org.ovirt.engine.core.common.businessentities.NonOperationalReason;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.mode.ApplicationMode;
 import org.ovirt.engine.ui.common.place.PlaceRequestFactory;
@@ -17,7 +16,6 @@
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.IEventListener;
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
-import org.ovirt.engine.ui.uicompat.Translator;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import org.ovirt.engine.ui.webadmin.ApplicationMessages;
 import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider;
@@ -141,8 +139,7 @@
             addTextAndLinkAlert(view, 
messages.hostHasNoPowerManagementAlert(), model.getEditHostCommand());
         }
         if (model.getNonOperationalReasonEntity() != null) {
-            Translator translator = 
EnumTranslator.create(NonOperationalReason.class);
-            addTextAlert(view, 
translator.get(model.getNonOperationalReasonEntity()));
+            addTextAlert(view, new 
EnumTranslator().get(model.getNonOperationalReasonEntity()));
         }
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/scheduling/ManagePolicyUnitPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/scheduling/ManagePolicyUnitPopupView.java
index 5bc21a5..73cc83a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/scheduling/ManagePolicyUnitPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/scheduling/ManagePolicyUnitPopupView.java
@@ -93,7 +93,7 @@
         policyUnitTable.addColumn(new TextColumnWithTooltip<PolicyUnit>() {
             @Override
             public String getValue(PolicyUnit object) {
-                return 
EnumTranslator.createAndTranslate(object.getPolicyUnitType());
+                return new EnumTranslator().get(object.getPolicyUnitType());
             }
         }, constants.policyUnitType(), "100px"); //$NON-NLS-1$
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
index 2a06fd1..a1eee20 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
@@ -89,9 +89,9 @@
                     @Override
                     public String getValue(StorageDomain object) {
                         if (object.getStorageDomainType() == 
StorageDomainType.ISO) {
-                            return 
EnumTranslator.createAndTranslate(object.getStorageDomainSharedStatus());
+                            return new 
EnumTranslator().get(object.getStorageDomainSharedStatus());
                         } else {
-                            return 
EnumTranslator.createAndTranslate(object.getStatus());
+                            return new 
EnumTranslator().get(object.getStatus());
                         }
                     }
                 };
@@ -101,7 +101,7 @@
             @Override
             public Long getRawValue(StorageDomain object) {
                 long totalSpace = object.getTotalDiskSize() != null ? 
object.getTotalDiskSize() : 0;
-                return (long) totalSpace;
+                return totalSpace;
             }
         };
         getTable().addColumn(totalSpaceColumn, constants.totalSpaceStorage(), 
"130px"); //$NON-NLS-1$
@@ -110,7 +110,7 @@
             @Override
             public Long getRawValue(StorageDomain object) {
                 long availableDiskSize = object.getAvailableDiskSize() != null 
? object.getAvailableDiskSize() : 0;
-                return (long) availableDiskSize;
+                return availableDiskSize;
             }
         };
         getTable().addColumn(freeSpaceColumn, constants.freeSpaceStorage(), 
"130px"); //$NON-NLS-1$
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
index 2327042..5c270ab 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
@@ -7,15 +7,12 @@
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
-import org.ovirt.engine.core.common.businessentities.gluster.TransportType;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.volumes.VolumeListModel;
-import org.ovirt.engine.ui.uicompat.EnumTranslator;
-import org.ovirt.engine.ui.uicompat.Translator;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.MainTabVolumePresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.AbstractMainTabWithDetailsTableView;
@@ -40,8 +37,6 @@
     interface ViewIdHandler extends ElementIdHandler<MainTabVolumeView> {
         ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
     }
-
-    Translator transportTypeTranslator = 
EnumTranslator.create(TransportType.class);
 
     @Inject
     public MainTabVolumeView(MainModelProvider<GlusterVolumeEntity, 
VolumeListModel> modelProvider,
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeGeneralView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeGeneralView.java
index ebecbf4..008eecb 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeGeneralView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeGeneralView.java
@@ -3,7 +3,6 @@
 import javax.inject.Inject;
 
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
-import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
 import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider;
 import org.ovirt.engine.ui.common.view.AbstractSubTabFormView;
 import org.ovirt.engine.ui.common.widget.form.FormBuilder;
@@ -84,6 +83,13 @@
                     translateVolumeType((GlusterVolumeEntity) 
model.getEntity());
                 }
             }
+
+            private void translateVolumeType(GlusterVolumeEntity volumeEntity) 
{
+                Translator translator = new EnumTranslator();
+                if (translator.containsKey(volumeEntity.getVolumeType())) {
+                    
getDetailModel().setVolumeTypeSilently(translator.get(volumeEntity.getVolumeType()));
+                }
+            }
         });
     }
 
@@ -95,13 +101,6 @@
         
stripeFormItem.setIsAvailable(selectedItem.getVolumeType().isStripedType());
 
         formBuilder.update(getDetailModel());
-    }
-
-    private void translateVolumeType(GlusterVolumeEntity volumeEntity) {
-        Translator translator = EnumTranslator.create(GlusterVolumeType.class);
-        if (translator.containsKey(volumeEntity.getVolumeType())) {
-            
getDetailModel().setVolumeTypeSilently(translator.get(volumeEntity.getVolumeType()));
-        }
     }
 
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
index 9c6868e..2c1c0c0 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmStatusCell.java
@@ -132,7 +132,7 @@
             String html = imagePrototype.getHTML();
 
             // Append tooltip
-            Translator translator = EnumTranslator.create(VmPauseStatus.class);
+            Translator translator = new EnumTranslator();
             String toolTip = translator.get(vm.getVmPauseStatus());
             html = html.replaceFirst("img", "img " + "title='" + toolTip + "' 
"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 


-- 
To view, visit http://gerrit.ovirt.org/26048
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3df424d8e7a35ed249b2760da79deba7db31b785
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Mucha <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to