Gilad Chaplik has uploaded a new change for review. Change subject: webadmin: DataProvider.java cleanup (2/6) ......................................................................
webadmin: DataProvider.java cleanup (2/6) DataProvider is a class which is mostly obsolete, as it contains synchronous calls to the engine, which are not relevant anymore under the GWT platform/infrastructure. The goal is to eliminate this class all-together. In this patch: 1) Removing methods that used old cache mechanism for config values, and replacing them with the new mechanism in AsyncDataProvider (only 2 methods) 2) Removing DataProvider config values mechanism Change-Id: I8eb69268ef416c1738d92129e8c10f3197967a53 Signed-off-by: Gilad Chaplik <[email protected]> Bug-Url: https://bugzilla.redhat.com/881747 --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/DataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.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/userportal/UserPortalLoginModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmGeneralModel.java 7 files changed, 45 insertions(+), 120 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/18/9718/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/DataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/DataProvider.java index 491a01f..ac23b04 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/DataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/DataProvider.java @@ -1,17 +1,12 @@ package org.ovirt.engine.ui.uicommonweb; import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; import org.ovirt.engine.core.common.businessentities.DbUser; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VmTemplate; -import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.interfaces.SearchType; -import org.ovirt.engine.core.common.queries.ConfigurationValues; -import org.ovirt.engine.core.common.queries.GetConfigurationValueParameters; import org.ovirt.engine.core.common.queries.GetVdsGroupByIdParameters; import org.ovirt.engine.core.common.queries.GetVmTemplateParameters; import org.ovirt.engine.core.common.queries.IsVmWithSameNameExistParameters; @@ -19,7 +14,6 @@ import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.core.compat.KeyValuePairCompat; import org.ovirt.engine.ui.frontend.Frontend; /** @@ -43,19 +37,6 @@ } return null; - } - - public static String GetAuthenticationMethod() - { - VdcQueryReturnValue returnValue = - GetConfigFromCache(new GetConfigurationValueParameters(ConfigurationValues.AuthenticationMethod, Config.DefaultConfigurationVersion)); - - if (returnValue != null && returnValue.getSucceeded() && returnValue.getReturnValue() != null) - { - return (String) returnValue.getReturnValue(); - } - - return ""; //$NON-NLS-1$ } public static boolean IsLicenseHasDesktops() @@ -102,84 +83,6 @@ } return null; - } - - public static int GetMaxVmPriority() - { - VdcQueryReturnValue returnValue = - GetConfigFromCache(new GetConfigurationValueParameters(ConfigurationValues.VmPriorityMaxValue, Config.DefaultConfigurationVersion)); - - if (returnValue != null && returnValue.getSucceeded() && returnValue.getReturnValue() != null) - { - return (Integer) returnValue.getReturnValue(); - } - - return 100; - } - - public static int RoundPriority(int priority) - { - int max = GetMaxVmPriority(); - int medium = max / 2; - - int[] levels = new int[] { 1, medium, max }; - - for (int i = 0; i < levels.length; i++) - { - int lengthToLess = levels[i] - priority; - int lengthToMore = levels[i + 1] - priority; - - if (lengthToMore < 0) - { - continue; - } - - return Math.abs(lengthToLess) < lengthToMore ? levels[i] : levels[i + 1]; - } - - return 0; - } - - // dictionary to hold cache of all config values (per version) queried by client, if the request for them succeeded. - private static HashMap<Map.Entry<ConfigurationValues, String>, VdcQueryReturnValue> CachedConfigValues = - new HashMap<Map.Entry<ConfigurationValues, String>, VdcQueryReturnValue>(); - - // helper method to clear the config cache (currently used on each login) - public static void ClearConfigCache() - { - if (CachedConfigValues != null) - { - CachedConfigValues.clear(); - } - - } - - // method to get an item from config while caching it (config is not supposed to change during a session) - public static VdcQueryReturnValue GetConfigFromCache(GetConfigurationValueParameters parameters) - { - Map.Entry<ConfigurationValues, String> config_key = - new KeyValuePairCompat<ConfigurationValues, String>(parameters.getConfigValue(), - parameters.getVersion()); - - // populate cache if not in cache already - if (!CachedConfigValues.containsKey(config_key)) - { - - VdcQueryReturnValue returnValue = Frontend.RunQuery(VdcQueryType.GetConfigurationValue, parameters); - - // only put result in cache if query succeeded - if (returnValue != null && returnValue.getSucceeded()) - { - CachedConfigValues.put(config_key, returnValue); - } - // return actual return value on error - else - { - return returnValue; - } - } - // return value from cache (either it was in, or the query succeeded, and it is now in the cache - return CachedConfigValues.get(config_key); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index 85db6b3..66bbb26 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -2886,4 +2886,33 @@ { return "mode=802.3ad miimon=150"; //$NON-NLS-1$ } + + public static int GetMaxVmPriority() + { + return (Integer) GetConfigValuePreConverted(ConfigurationValues.VmPriorityMaxValue, + Config.DefaultConfigurationVersion); + } + + public static int RoundPriority(int priority) + { + int max = GetMaxVmPriority(); + int medium = max / 2; + + int[] levels = new int[] { 1, medium, max }; + + for (int i = 0; i < levels.length; i++) + { + int lengthToLess = levels[i] - priority; + int lengthToMore = levels[i + 1] - priority; + + if (lengthToMore < 0) + { + continue; + } + + return Math.abs(lengthToLess) < lengthToMore ? levels[i] : levels[i + 1]; + } + + return 0; + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java index 92ec833..91e606f 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java @@ -12,7 +12,6 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; -import org.ovirt.engine.ui.uicommonweb.DataProvider; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; @@ -270,9 +269,6 @@ StartProgress(null); disableLoginScreen(); - - // Clear config cache on login (to make sure we don't use old config in a new session) - DataProvider.ClearConfigCache(); String fullUserName = (String) getUserName().getEntity(); String[] parts = GetUserNameParts(fullUserName); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java index 81f407e..fdae2ac 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java @@ -1,5 +1,10 @@ package org.ovirt.engine.ui.uicommonweb.models.autocomplete; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.compat.ObservableCollection; import org.ovirt.engine.core.compat.StringHelper; import org.ovirt.engine.core.searchbackend.ISyntaxChecker; @@ -7,19 +12,15 @@ import org.ovirt.engine.core.searchbackend.SyntaxContainer; import org.ovirt.engine.core.searchbackend.SyntaxError; import org.ovirt.engine.core.searchbackend.SyntaxObjectType; -import org.ovirt.engine.ui.uicommonweb.DataProvider; +import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; import org.ovirt.engine.ui.uicompat.ITaskTarget; import org.ovirt.engine.ui.uicompat.Task; import org.ovirt.engine.ui.uicompat.TaskContext; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class SearchSuggestModel extends SearchableListModel implements ITaskTarget { - private ISyntaxChecker syntaxChecker; + private final ISyntaxChecker syntaxChecker; @Override public List getItems() @@ -75,7 +76,9 @@ { setItems(new ObservableCollection<Object>()); - syntaxChecker = SyntaxCheckerFactory.CreateUISyntaxChecker(DataProvider.GetAuthenticationMethod()); + syntaxChecker = + SyntaxCheckerFactory.CreateUISyntaxChecker((String) + AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.AuthenticationMethod)); setIsTimerDisabled(true); } 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 9b65239..a10963e 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 @@ -14,7 +14,6 @@ import org.ovirt.engine.core.compat.PropertyChangedEventArgs; import org.ovirt.engine.core.compat.StringFormat; import org.ovirt.engine.core.compat.StringHelper; -import org.ovirt.engine.ui.uicommonweb.DataProvider; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; @@ -492,8 +491,8 @@ public String PriorityToString(int value) { String priorityStr; - int highPriority = DataProvider.GetMaxVmPriority(); - int roundedPriority = DataProvider.RoundPriority(value); + int highPriority = AsyncDataProvider.GetMaxVmPriority(); + int roundedPriority = AsyncDataProvider.RoundPriority(value); if (roundedPriority == 1) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java index 3660f23..56f2f5b 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalLoginModel.java @@ -15,7 +15,6 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; -import org.ovirt.engine.ui.uicommonweb.DataProvider; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.auth.ApplicationGuids; @@ -187,9 +186,6 @@ getDomain().setIsChangable(false); getLoginCommand().setIsExecutionAllowed(false); getIsAutoConnect().setIsChangable(false); - - // Clear config cache on login (to make sure we don't use old config in a new session) - DataProvider.ClearConfigCache(); Frontend.RunAction(VdcActionType.LoginUser, new LoginUserParameters((String) getUserName().getEntity(), (String) getPassword().getEntity(), 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 f63f03a..c406a33 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 @@ -28,7 +28,6 @@ import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.frontend.INewAsyncCallback; -import org.ovirt.engine.ui.uicommonweb.DataProvider; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; @@ -737,18 +736,18 @@ // allowing using of converters' code available in UICommon. public String PriorityToString(int value) { - int highPriority = DataProvider.GetMaxVmPriority(); - int roundedPriority = DataProvider.RoundPriority(value); + int highPriority = AsyncDataProvider.GetMaxVmPriority(); + int roundedPriority = AsyncDataProvider.RoundPriority(value); if (roundedPriority == 1) { return "Low"; //$NON-NLS-1$ } - else if (roundedPriority == DataProvider.GetMaxVmPriority() / 2) + else if (roundedPriority == AsyncDataProvider.GetMaxVmPriority() / 2) { return "Medium"; //$NON-NLS-1$ } - else if (roundedPriority == DataProvider.GetMaxVmPriority()) + else if (roundedPriority == AsyncDataProvider.GetMaxVmPriority()) { return "High"; //$NON-NLS-1$ } -- To view, visit http://gerrit.ovirt.org/9718 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8eb69268ef416c1738d92129e8c10f3197967a53 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Gilad Chaplik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
