Martin Mucha has uploaded a new change for review.

Change subject: restapi: overgrown switch removal
......................................................................

restapi: overgrown switch removal

two overgrown switches replaced by enum field.

Change-Id: I1b877d7123210374470b8c97a937c387921e4521
Signed-off-by: Martin Mucha <mmu...@redhat.com>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
2 files changed, 40 insertions(+), 307 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/29673/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java
index 439ae0f..0d427d4 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/model/PermitType.java
@@ -16,6 +16,8 @@
 
 package org.ovirt.engine.api.model;
 
+import org.ovirt.engine.core.common.businessentities.ActionGroup;
+
 public enum PermitType {
     CREATE_VM,
     DELETE_VM,
@@ -78,7 +80,7 @@
     ASSIGN_CLUSTER_NETWORK,
 
     // rhevm generic
-    CONFIGURE_RHEVM,
+    CONFIGURE_RHEVM(ActionGroup.CONFIGURE_ENGINE),
 
     // Quota
     CONFIGURE_QUOTA,
@@ -117,7 +119,40 @@
     // affinity groups CRUD commands
     MANIPULATE_AFFINITY_GROUPS;
 
+    private final ActionGroup actionGroup;
+
     public String value() {
         return name().toLowerCase();
     }
+
+    PermitType() {
+        actionGroup = calculateActionGroup();
+    }
+
+    private ActionGroup calculateActionGroup() {
+        try {
+             return ActionGroup.valueOf(name());
+        } catch (IllegalArgumentException e) {
+            return null;
+        }
+    }
+
+    PermitType(ActionGroup actionGroup) {
+        this.actionGroup = actionGroup;
+    }
+
+    public ActionGroup getActionGroup() {
+        return actionGroup;
+    }
+
+    public static PermitType valueOf(ActionGroup actionGroup) {
+        for (PermitType permitType : values()) {
+            if (permitType.getActionGroup().equals(actionGroup)) {
+                return permitType;
+            }
+        }
+
+        throw new IllegalArgumentException(
+                "No enum constant for actionGroup '"+actionGroup.name()+"' in 
" + PermitType.class.getName() + " enum.");
+    }
 }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
index ff9d19f..4b76d4c 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
@@ -39,318 +39,16 @@
 
     @Mapping(from = ActionGroup.class, to = PermitType.class)
     public static PermitType map(ActionGroup entity, PermitType template) {
-        switch (entity) {
-        case CREATE_VM:
-            return PermitType.CREATE_VM;
-        case DELETE_VM:
-            return PermitType.DELETE_VM;
-        case EDIT_VM_PROPERTIES:
-            return PermitType.EDIT_VM_PROPERTIES;
-        case VM_BASIC_OPERATIONS:
-            return PermitType.VM_BASIC_OPERATIONS;
-        case CHANGE_VM_CD:
-            return PermitType.CHANGE_VM_CD;
-        case MIGRATE_VM:
-            return PermitType.MIGRATE_VM;
-        case CONNECT_TO_VM:
-            return PermitType.CONNECT_TO_VM;
-        case IMPORT_EXPORT_VM:
-            return PermitType.IMPORT_EXPORT_VM;
-        case CONFIGURE_VM_NETWORK:
-            return PermitType.CONFIGURE_VM_NETWORK;
-        case CONFIGURE_VM_STORAGE:
-            return PermitType.CONFIGURE_VM_STORAGE;
-        case MOVE_VM:
-            return PermitType.MOVE_VM;
-        case MANIPULATE_VM_SNAPSHOTS:
-            return PermitType.MANIPULATE_VM_SNAPSHOTS;
-        case RECONNECT_TO_VM:
-            return PermitType.RECONNECT_TO_VM;
-        case CHANGE_VM_CUSTOM_PROPERTIES:
-            return PermitType.CHANGE_VM_CUSTOM_PROPERTIES;
-        case EDIT_ADMIN_VM_PROPERTIES:
-            return PermitType.EDIT_ADMIN_VM_PROPERTIES;
-        case CREATE_INSTANCE:
-            return PermitType.CREATE_INSTANCE;
-        case CREATE_HOST:
-            return PermitType.CREATE_HOST;
-        case EDIT_HOST_CONFIGURATION:
-            return PermitType.EDIT_HOST_CONFIGURATION;
-        case DELETE_HOST:
-            return PermitType.DELETE_HOST;
-        case MANIPULATE_HOST:
-            return PermitType.MANIPULATE_HOST;
-        case CONFIGURE_HOST_NETWORK:
-            return PermitType.CONFIGURE_HOST_NETWORK;
-        case CREATE_TEMPLATE:
-            return PermitType.CREATE_TEMPLATE;
-        case EDIT_TEMPLATE_PROPERTIES:
-            return PermitType.EDIT_TEMPLATE_PROPERTIES;
-        case EDIT_ADMIN_TEMPLATE_PROPERTIES:
-            return PermitType.EDIT_ADMIN_TEMPLATE_PROPERTIES;
-        case DELETE_TEMPLATE:
-            return PermitType.DELETE_TEMPLATE;
-        case COPY_TEMPLATE:
-            return PermitType.COPY_TEMPLATE;
-        case CONFIGURE_TEMPLATE_NETWORK:
-            return PermitType.CONFIGURE_TEMPLATE_NETWORK;
-        case CREATE_VM_POOL:
-            return PermitType.CREATE_VM_POOL;
-        case EDIT_VM_POOL_CONFIGURATION:
-            return PermitType.EDIT_VM_POOL_CONFIGURATION;
-        case DELETE_VM_POOL:
-            return PermitType.DELETE_VM_POOL;
-        case VM_POOL_BASIC_OPERATIONS:
-            return PermitType.VM_POOL_BASIC_OPERATIONS;
-        case CREATE_CLUSTER:
-            return PermitType.CREATE_CLUSTER;
-        case EDIT_CLUSTER_CONFIGURATION:
-            return PermitType.EDIT_CLUSTER_CONFIGURATION;
-        case DELETE_CLUSTER:
-            return PermitType.DELETE_CLUSTER;
-        case CONFIGURE_CLUSTER_NETWORK:
-            return PermitType.CONFIGURE_CLUSTER_NETWORK;
-        case MANIPULATE_USERS:
-            return PermitType.MANIPULATE_USERS;
-        case MANIPULATE_ROLES:
-            return PermitType.MANIPULATE_ROLES;
-        case MANIPULATE_PERMISSIONS:
-            return PermitType.MANIPULATE_PERMISSIONS;
-        case CREATE_STORAGE_DOMAIN:
-            return PermitType.CREATE_STORAGE_DOMAIN;
-        case EDIT_STORAGE_DOMAIN_CONFIGURATION:
-            return PermitType.EDIT_STORAGE_DOMAIN_CONFIGURATION;
-        case DELETE_STORAGE_DOMAIN:
-            return PermitType.DELETE_STORAGE_DOMAIN;
-        case MANIPULATE_STORAGE_DOMAIN:
-            return PermitType.MANIPULATE_STORAGE_DOMAIN;
-        case CREATE_STORAGE_POOL:
-            return PermitType.CREATE_STORAGE_POOL;
-        case DELETE_STORAGE_POOL:
-            return PermitType.DELETE_STORAGE_POOL;
-        case EDIT_STORAGE_POOL_CONFIGURATION:
-            return PermitType.EDIT_STORAGE_POOL_CONFIGURATION;
-        case CONFIGURE_STORAGE_POOL_NETWORK:
-            return PermitType.CONFIGURE_STORAGE_POOL_NETWORK;
-        case CREATE_STORAGE_POOL_NETWORK:
-            return PermitType.CREATE_STORAGE_POOL_NETWORK;
-        case DELETE_STORAGE_POOL_NETWORK:
-            return PermitType.DELETE_STORAGE_POOL_NETWORK;
-        case ASSIGN_CLUSTER_NETWORK:
-            return PermitType.ASSIGN_CLUSTER_NETWORK;
-        case CONFIGURE_ENGINE:
-            return PermitType.CONFIGURE_RHEVM;
-        case CONFIGURE_QUOTA:
-            return PermitType.CONFIGURE_QUOTA;
-        case CONSUME_QUOTA:
-            return PermitType.CONSUME_QUOTA;
-        case CREATE_GLUSTER_VOLUME:
-            return PermitType.CREATE_GLUSTER_VOLUME;
-        case MANIPULATE_GLUSTER_VOLUME:
-            return PermitType.MANIPULATE_GLUSTER_VOLUME;
-        case DELETE_GLUSTER_VOLUME:
-            return PermitType.DELETE_GLUSTER_VOLUME;
-        case MANIPULATE_GLUSTER_HOOK:
-            return PermitType.MANIPULATE_GLUSTER_HOOK;
-        case CREATE_DISK:
-            return PermitType.CREATE_DISK;
-        case ATTACH_DISK:
-            return PermitType.ATTACH_DISK;
-        case EDIT_DISK_PROPERTIES:
-            return PermitType.EDIT_DISK_PROPERTIES;
-        case CONFIGURE_DISK_STORAGE:
-            return PermitType.CONFIGURE_DISK_STORAGE;
-        case DELETE_DISK:
-            return PermitType.DELETE_DISK;
-        case CONFIGURE_NETWORK_VNIC_PROFILE:
-            return PermitType.CONFIGURE_NETWORK_VNIC_PROFILE;
-        case CREATE_NETWORK_VNIC_PROFILE:
-            return PermitType.CREATE_NETWORK_VNIC_PROFILE;
-        case DELETE_NETWORK_VNIC_PROFILE:
-            return PermitType.DELETE_NETWORK_VNIC_PROFILE;
-        case LOGIN:
-            return PermitType.LOGIN;
-        case INJECT_EXTERNAL_EVENTS:
-            return PermitType.INJECT_EXTERNAL_EVENTS;
-        case MANIPULATE_GLUSTER_SERVICE:
-            return PermitType.MANIPULATE_GLUSTER_SERVICE;
-        case CONFIGURE_SCSI_GENERIC_IO:
-            return PermitType.CONFIGURE_SCSI_GENERIC_IO;
-        case INJECT_EXTERNAL_TASKS:
-            return PermitType.INJECT_EXTERNAL_TASKS;
-        case ACCESS_IMAGE_STORAGE:
-            return PermitType.ACCESS_IMAGE_STORAGE;
-        case TAG_MANAGEMENT:
-            return PermitType.TAG_MANAGEMENT;
-        case AUDIT_LOG_MANAGEMENT:
-                return PermitType.AUDIT_LOG_MANAGEMENT;
-        case BOOKMARK_MANAGEMENT:
-            return PermitType.BOOKMARK_MANAGEMENT;
-        case EVENT_NOTIFICATION_MANAGEMENT:
-            return PermitType.EVENT_NOTIFICATION_MANAGEMENT;
-        case MANIPULATE_AFFINITY_GROUPS:
-            return PermitType.MANIPULATE_AFFINITY_GROUPS;
-        case ADD_USERS_AND_GROUPS_FROM_DIRECTORY:
-            return PermitType.ADD_USERS_AND_GROUPS_FROM_DIRECTORY;
-        default:
+        try {
+            return PermitType.valueOf(entity);
+        } catch (IllegalArgumentException e) {
             return null;
         }
     }
 
     @Mapping(from = PermitType.class, to = ActionGroup.class)
     public static ActionGroup map(PermitType entity, ActionGroup template) {
-        switch (entity) {
-        case CREATE_VM:
-            return ActionGroup.CREATE_VM;
-        case DELETE_VM:
-            return ActionGroup.DELETE_VM;
-        case EDIT_VM_PROPERTIES:
-            return ActionGroup.EDIT_VM_PROPERTIES;
-        case VM_BASIC_OPERATIONS:
-            return ActionGroup.VM_BASIC_OPERATIONS;
-        case CHANGE_VM_CD:
-            return ActionGroup.CHANGE_VM_CD;
-        case MIGRATE_VM:
-            return ActionGroup.MIGRATE_VM;
-        case CONNECT_TO_VM:
-            return ActionGroup.CONNECT_TO_VM;
-        case IMPORT_EXPORT_VM:
-            return ActionGroup.IMPORT_EXPORT_VM;
-        case CONFIGURE_VM_NETWORK:
-            return ActionGroup.CONFIGURE_VM_NETWORK;
-        case CONFIGURE_VM_STORAGE:
-            return ActionGroup.CONFIGURE_VM_STORAGE;
-        case MOVE_VM:
-            return ActionGroup.MOVE_VM;
-        case MANIPULATE_VM_SNAPSHOTS:
-            return ActionGroup.MANIPULATE_VM_SNAPSHOTS;
-        case RECONNECT_TO_VM:
-            return ActionGroup.RECONNECT_TO_VM;
-        case CHANGE_VM_CUSTOM_PROPERTIES:
-            return ActionGroup.CHANGE_VM_CUSTOM_PROPERTIES;
-        case EDIT_ADMIN_VM_PROPERTIES:
-            return ActionGroup.EDIT_ADMIN_VM_PROPERTIES;
-        case CREATE_INSTANCE:
-            return ActionGroup.CREATE_INSTANCE;
-        case CREATE_HOST:
-            return ActionGroup.CREATE_HOST;
-        case EDIT_HOST_CONFIGURATION:
-            return ActionGroup.EDIT_HOST_CONFIGURATION;
-        case DELETE_HOST:
-            return ActionGroup.DELETE_HOST;
-        case MANIPULATE_HOST:
-            return ActionGroup.MANIPULATE_HOST;
-        case CONFIGURE_HOST_NETWORK:
-            return ActionGroup.CONFIGURE_HOST_NETWORK;
-        case CREATE_TEMPLATE:
-            return ActionGroup.CREATE_TEMPLATE;
-        case EDIT_TEMPLATE_PROPERTIES:
-            return ActionGroup.EDIT_TEMPLATE_PROPERTIES;
-        case EDIT_ADMIN_TEMPLATE_PROPERTIES:
-            return ActionGroup.EDIT_ADMIN_TEMPLATE_PROPERTIES;
-        case DELETE_TEMPLATE:
-            return ActionGroup.DELETE_TEMPLATE;
-        case COPY_TEMPLATE:
-            return ActionGroup.COPY_TEMPLATE;
-        case CONFIGURE_TEMPLATE_NETWORK:
-            return ActionGroup.CONFIGURE_TEMPLATE_NETWORK;
-        case CREATE_VM_POOL:
-            return ActionGroup.CREATE_VM_POOL;
-        case EDIT_VM_POOL_CONFIGURATION:
-            return ActionGroup.EDIT_VM_POOL_CONFIGURATION;
-        case DELETE_VM_POOL:
-            return ActionGroup.DELETE_VM_POOL;
-        case VM_POOL_BASIC_OPERATIONS:
-            return ActionGroup.VM_POOL_BASIC_OPERATIONS;
-        case CREATE_CLUSTER:
-            return ActionGroup.CREATE_CLUSTER;
-        case EDIT_CLUSTER_CONFIGURATION:
-            return ActionGroup.EDIT_CLUSTER_CONFIGURATION;
-        case DELETE_CLUSTER:
-            return ActionGroup.DELETE_CLUSTER;
-        case CONFIGURE_CLUSTER_NETWORK:
-            return ActionGroup.CONFIGURE_CLUSTER_NETWORK;
-        case MANIPULATE_USERS:
-            return ActionGroup.MANIPULATE_USERS;
-        case MANIPULATE_ROLES:
-            return ActionGroup.MANIPULATE_ROLES;
-        case MANIPULATE_PERMISSIONS:
-            return ActionGroup.MANIPULATE_PERMISSIONS;
-        case CREATE_STORAGE_DOMAIN:
-            return ActionGroup.CREATE_STORAGE_DOMAIN;
-        case EDIT_STORAGE_DOMAIN_CONFIGURATION:
-            return ActionGroup.EDIT_STORAGE_DOMAIN_CONFIGURATION;
-        case DELETE_STORAGE_DOMAIN:
-            return ActionGroup.DELETE_STORAGE_DOMAIN;
-        case MANIPULATE_STORAGE_DOMAIN:
-            return ActionGroup.MANIPULATE_STORAGE_DOMAIN;
-        case CREATE_STORAGE_POOL:
-            return ActionGroup.CREATE_STORAGE_POOL;
-        case DELETE_STORAGE_POOL:
-            return ActionGroup.DELETE_STORAGE_POOL;
-        case EDIT_STORAGE_POOL_CONFIGURATION:
-            return ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION;
-        case CONFIGURE_STORAGE_POOL_NETWORK:
-            return ActionGroup.CONFIGURE_STORAGE_POOL_NETWORK;
-        case CONFIGURE_RHEVM:
-            return ActionGroup.CONFIGURE_ENGINE;
-        case CONFIGURE_QUOTA:
-            return ActionGroup.CONFIGURE_QUOTA;
-        case CONSUME_QUOTA:
-            return ActionGroup.CONSUME_QUOTA;
-        case CREATE_GLUSTER_VOLUME:
-            return ActionGroup.CREATE_GLUSTER_VOLUME;
-        case MANIPULATE_GLUSTER_VOLUME:
-            return ActionGroup.MANIPULATE_GLUSTER_VOLUME;
-        case DELETE_GLUSTER_VOLUME:
-            return ActionGroup.DELETE_GLUSTER_VOLUME;
-        case CREATE_DISK:
-            return ActionGroup.CREATE_DISK;
-        case ATTACH_DISK:
-            return ActionGroup.ATTACH_DISK;
-        case EDIT_DISK_PROPERTIES:
-            return ActionGroup.EDIT_DISK_PROPERTIES;
-        case CONFIGURE_DISK_STORAGE:
-            return ActionGroup.CONFIGURE_DISK_STORAGE;
-        case DELETE_DISK:
-            return ActionGroup.DELETE_DISK;
-        case CONFIGURE_NETWORK_VNIC_PROFILE:
-            return ActionGroup.CONFIGURE_NETWORK_VNIC_PROFILE;
-        case CREATE_NETWORK_VNIC_PROFILE:
-            return ActionGroup.CREATE_NETWORK_VNIC_PROFILE;
-        case DELETE_NETWORK_VNIC_PROFILE:
-            return ActionGroup.DELETE_NETWORK_VNIC_PROFILE;
-        case LOGIN:
-            return ActionGroup.LOGIN;
-        case INJECT_EXTERNAL_EVENTS:
-            return ActionGroup.INJECT_EXTERNAL_EVENTS;
-        case CREATE_STORAGE_POOL_NETWORK:
-            return ActionGroup.CREATE_STORAGE_POOL_NETWORK;
-        case DELETE_STORAGE_POOL_NETWORK:
-            return ActionGroup.DELETE_STORAGE_POOL_NETWORK;
-        case ASSIGN_CLUSTER_NETWORK:
-            return ActionGroup.ASSIGN_CLUSTER_NETWORK;
-        case CONFIGURE_SCSI_GENERIC_IO:
-            return ActionGroup.CONFIGURE_SCSI_GENERIC_IO;
-        case INJECT_EXTERNAL_TASKS:
-            return ActionGroup.INJECT_EXTERNAL_TASKS;
-        case ACCESS_IMAGE_STORAGE:
-            return ActionGroup.ACCESS_IMAGE_STORAGE;
-        case TAG_MANAGEMENT:
-            return ActionGroup.TAG_MANAGEMENT;
-        case AUDIT_LOG_MANAGEMENT:
-            return ActionGroup.AUDIT_LOG_MANAGEMENT;
-        case BOOKMARK_MANAGEMENT:
-            return ActionGroup.BOOKMARK_MANAGEMENT;
-        case EVENT_NOTIFICATION_MANAGEMENT:
-            return ActionGroup.EVENT_NOTIFICATION_MANAGEMENT;
-        case MANIPULATE_AFFINITY_GROUPS:
-            return ActionGroup.MANIPULATE_AFFINITY_GROUPS;
-        case ADD_USERS_AND_GROUPS_FROM_DIRECTORY:
-            return ActionGroup.ADD_USERS_AND_GROUPS_FROM_DIRECTORY;
-        default:
-            return null;
-        }
+        return entity.getActionGroup();
     }
 
     @Mapping(from = PermitType.class, to = Permit.class)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b877d7123210374470b8c97a937c387921e4521
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Mucha <mmu...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to