Laszlo Hornyak has uploaded a new change for review. Change subject: engine: remove lazy-initialization from SearchObjects (3/N) ......................................................................
engine: remove lazy-initialization from SearchObjects (3/N) The init method can be removed by initializing SAFE_SEARCH_EXPR with a non-empty value. Change-Id: I17788e5ddb2c83d62a90ac51800fc8ee35fd0a7a Signed-off-by: Laszlo Hornyak <[email protected]> --- M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java 1 file changed, 39 insertions(+), 39 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/16/14616/1 diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java index f4c156d..98da025 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java @@ -1,6 +1,8 @@ package org.ovirt.engine.core.searchbackend; +import java.util.Collections; import java.util.HashSet; +import java.util.Set; public final class SearchObjects { // objects @@ -45,43 +47,44 @@ private static final String HOST_BY_CPU = "Host: sortby cpu_usage desc"; private static final String DATACENTER_BY_NAME = "DataCenter: sortby name"; private static final String VM_BY_STATUS = "Vms: status=Up or status=PoweringUp or status=PoweredDown or status=MigratingTo or status=WaitForLaunch or status=RebootInProgress or status=PoweringDown or status=Paused or status=Unknown sortby cpu_usage desc"; - private static final HashSet<String> SAFE_SEARCH_EXPR = new HashSet<String>(); + @SuppressWarnings("serial") + private static final Set<String> SAFE_SEARCH_EXPR = Collections.unmodifiableSet(new HashSet<String>() { + { + final char SEPERATOR = ':'; - private static void init() { - final char SEPERATOR = ':'; - - SAFE_SEARCH_EXPR.add(VDS_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDS_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VM_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VM_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(AUDIT_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(AUDIT_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(TEMPLATE_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(TEMPLATE_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_USER_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_USER_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_POOL_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_POOL_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_CLUSTER_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_CLUSTER_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_STORAGE_POOL_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_STORAGE_DOMAIN_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_STORAGE_DOMAIN_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(VDC_STORAGE_DOMAIN_IMAGE_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(DISK_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(DISK_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(GLUSTER_VOLUME_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(GLUSTER_VOLUME_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(QUOTA_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(QUOTA_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(NETWORK_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(NETWORK_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); - SAFE_SEARCH_EXPR.add(ALERT.toLowerCase()); - SAFE_SEARCH_EXPR.add(ERROR.toLowerCase()); - SAFE_SEARCH_EXPR.add(HOST_BY_CPU.toLowerCase()); - SAFE_SEARCH_EXPR.add(DATACENTER_BY_NAME.toLowerCase()); - SAFE_SEARCH_EXPR.add(VM_BY_STATUS.toLowerCase()); - } + add(VDS_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDS_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VM_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VM_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(AUDIT_OBJ_NAME.toLowerCase() + SEPERATOR); + add(AUDIT_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(TEMPLATE_OBJ_NAME.toLowerCase() + SEPERATOR); + add(TEMPLATE_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_USER_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_USER_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_POOL_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_POOL_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_CLUSTER_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_CLUSTER_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_STORAGE_POOL_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_STORAGE_DOMAIN_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_STORAGE_DOMAIN_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(VDC_STORAGE_DOMAIN_IMAGE_OBJ_NAME.toLowerCase() + SEPERATOR); + add(DISK_OBJ_NAME.toLowerCase() + SEPERATOR); + add(DISK_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(GLUSTER_VOLUME_OBJ_NAME.toLowerCase() + SEPERATOR); + add(GLUSTER_VOLUME_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(QUOTA_OBJ_NAME.toLowerCase() + SEPERATOR); + add(QUOTA_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(NETWORK_OBJ_NAME.toLowerCase() + SEPERATOR); + add(NETWORK_PLU_OBJ_NAME.toLowerCase() + SEPERATOR); + add(ALERT.toLowerCase()); + add(ERROR.toLowerCase()); + add(HOST_BY_CPU.toLowerCase()); + add(DATACENTER_BY_NAME.toLowerCase()); + add(VM_BY_STATUS.toLowerCase()); + } + }); /** * Determines if a search expression is safe. @@ -89,9 +92,6 @@ * @return boolean */ public static boolean isSafeExpression(String expr) { - if (SAFE_SEARCH_EXPR.size() == 0) { - init(); - } return SAFE_SEARCH_EXPR.contains(expr.toLowerCase()); } } -- To view, visit http://gerrit.ovirt.org/14616 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I17788e5ddb2c83d62a90ac51800fc8ee35fd0a7a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Laszlo Hornyak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
