You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2014/02/10 21:13:58 UTC

[1/2] Resource metadata: by default, all metadata is set with display=true (meaning that the detail is avaialble for display to the regular user). If admin wants to set a specific detail to be false, he has to specify it explicitly in addResourceDetail c

Updated Branches:
  refs/heads/master 13bf1ec5d -> e0de79b17


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/test/com/cloud/metadata/ResourceMetaDataManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/metadata/ResourceMetaDataManagerTest.java b/server/test/com/cloud/metadata/ResourceMetaDataManagerTest.java
index fe236d9..d6d8953 100644
--- a/server/test/com/cloud/metadata/ResourceMetaDataManagerTest.java
+++ b/server/test/com/cloud/metadata/ResourceMetaDataManagerTest.java
@@ -89,7 +89,7 @@ public class ResourceMetaDataManagerTest {
         doNothing().when(_nicDetailDao).removeDetail(anyLong(), anyString());
         Map<String, String> map = new HashedMap();
         map.put("key", "value");
-        _resourceMetaDataMgr.addResourceMetaData("1", ResourceTag.ResourceObjectType.Volume, map);
+        _resourceMetaDataMgr.addResourceMetaData("1", ResourceTag.ResourceObjectType.Volume, map, true);
 
     }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/setup/db/db/schema-430to440.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-430to440.sql b/setup/db/db/schema-430to440.sql
index 70f7352..d1d0d06 100644
--- a/setup/db/db/schema-430to440.sql
+++ b/setup/db/db/schema-430to440.sql
@@ -224,7 +224,7 @@ CREATE TABLE `cloud`.`user_details` (
   `user_id` bigint unsigned NOT NULL COMMENT 'VPC gateway id',
   `name` varchar(255) NOT NULL,
   `value` varchar(1024) NOT NULL,
-  `display` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'True if the detail can be displayed to the end user',
+  `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user',
   PRIMARY KEY (`id`),
   CONSTRAINT `fk_user_details__user_id` FOREIGN KEY `fk_user_details__user_id`(`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -453,7 +453,7 @@ CREATE TABLE `cloud`.`autoscale_vmprofile_details` (
   `autoscale_vmprofile_id` bigint unsigned NOT NULL COMMENT 'VPC gateway id',
   `name` varchar(255) NOT NULL,
   `value` varchar(1024) NOT NULL,
-  `display` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'True if the detail can be displayed to the end autoscale_vmprofile',
+  `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user',
   PRIMARY KEY (`id`),
   CONSTRAINT `fk_autoscale_vmprofile_details__autoscale_vmprofile_id` FOREIGN KEY `fk_autoscale_vmprofile_details__autoscale_vmprofile_id`(`autoscale_vmprofile_id`) REFERENCES `autoscale_vmprofiles`(`id`) ON DELETE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -463,7 +463,67 @@ CREATE TABLE `cloud`.`autoscale_vmgroup_details` (
   `autoscale_vmgroup_id` bigint unsigned NOT NULL COMMENT 'VPC gateway id',
   `name` varchar(255) NOT NULL,
   `value` varchar(1024) NOT NULL,
-  `display` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'True if the detail can be displayed to the end autoscale_vmgroup',
+  `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user',
   PRIMARY KEY (`id`),
   CONSTRAINT `fk_autoscale_vmgroup_details__autoscale_vmgroup_id` FOREIGN KEY `fk_autoscale_vmgroup_details__autoscale_vmgroup_id`(`autoscale_vmgroup_id`) REFERENCES `autoscale_vmgroups`(`id`) ON DELETE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+ALTER TABLE `cloud`.`snapshot_details` ADD COLUMN `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+ALTER TABLE `cloud`.`vm_snapshot_details` ADD COLUMN `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+
+ALTER TABLE `cloud`.`data_center_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`data_center_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`service_offering_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`service_offering_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`disk_offering_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`disk_offering_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`firewall_rule_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`firewall_rule_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`network_acl_item_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`network_acl_item_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`network_acl_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`network_acl_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`network_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`network_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`nic_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`nic_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`storage_pool_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`storage_pool_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`remote_access_vpn_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`remote_access_vpn_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`s2s_customer_gateway_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`s2s_customer_gateway_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`s2s_vpn_connection_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`s2s_vpn_connection_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`s2s_vpn_gateway_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`s2s_vpn_gateway_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`user_ip_address_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`user_ip_address_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`user_vm_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`user_vm_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`vm_template_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`vm_template_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`volume_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`volume_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`vpc_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`vpc_details` set `display`=1 where id> 0;
+
+ALTER TABLE `cloud`.`vpc_gateway_details` CHANGE `display` `display` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'True if the detail can be displayed to the end user';
+UPDATE `cloud`.`vpc_gateway_details` set `display`=1 where id> 0;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/utils/src/com/cloud/utils/db/EntityManager.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/EntityManager.java b/utils/src/com/cloud/utils/db/EntityManager.java
index 0ab19fc..61adef5 100644
--- a/utils/src/com/cloud/utils/db/EntityManager.java
+++ b/utils/src/com/cloud/utils/db/EntityManager.java
@@ -70,4 +70,6 @@ public interface EntityManager {
     public <T> List<? extends T> list(Class<T> entityType);
 
     public <T, K extends Serializable> void remove(Class<T> entityType, K id);
+
+    public <T, K extends Serializable> T findByIdIncludingRemoved(Class<T> entityType, K id);
 }


[2/2] git commit: updated refs/heads/master to e0de79b

Posted by al...@apache.org.
Resource metadata: by default, all metadata is set with display=true (meaning that the detail is avaialble for display to the regular user). If admin wants to set a specific detail to be false, he has to specify it explicitly in addResourceDetail command


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e0de79b1
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e0de79b1
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e0de79b1

Branch: refs/heads/master
Commit: e0de79b17099bb26b1cb4548663aba2065ed0aed
Parents: 13bf1ec
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Mon Feb 10 10:09:19 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Mon Feb 10 12:05:59 2014 -0800

----------------------------------------------------------------------
 .../cloud/server/ResourceMetaDataService.java   |  3 +-
 .../org/apache/cloudstack/api/ApiConstants.java |  1 +
 .../user/volume/AddResourceDetailCmd.java       | 13 +++-
 .../user/volume/ListResourceDetailsCmd.java     |  2 +-
 .../cloudstack/api/response/VolumeResponse.java | 10 +--
 .../com/cloud/vm/VirtualMachineManagerImpl.java | 11 ++--
 .../src/com/cloud/dc/DataCenterDetailVO.java    |  3 +-
 .../src/com/cloud/dc/dao/DataCenterDaoImpl.java |  2 +-
 .../cloud/dc/dao/DataCenterDetailsDaoImpl.java  |  4 +-
 .../com/cloud/network/dao/NetworkDetailVO.java  |  3 +-
 .../network/dao/NetworkDetailsDaoImpl.java      |  4 +-
 .../cloud/service/ServiceOfferingDetailsVO.java |  3 +-
 .../service/dao/ServiceOfferingDaoImpl.java     |  2 +-
 .../dao/ServiceOfferingDetailsDaoImpl.java      |  4 +-
 .../com/cloud/storage/VMTemplateDetailVO.java   |  3 +-
 .../src/com/cloud/storage/VolumeDetailVO.java   |  3 +-
 .../storage/dao/SnapshotDetailsDaoImpl.java     |  4 +-
 .../cloud/storage/dao/SnapshotDetailsVO.java    |  9 ++-
 .../storage/dao/StoragePoolDetailsDaoImpl.java  |  4 +-
 .../cloud/storage/dao/VMTemplateDaoImpl.java    | 11 ++--
 .../storage/dao/VMTemplateDetailsDaoImpl.java   |  4 +-
 .../cloud/storage/dao/VolumeDetailsDaoImpl.java |  4 +-
 engine/schema/src/com/cloud/vm/NicDetailVO.java |  3 +-
 .../schema/src/com/cloud/vm/UserVmDetailVO.java |  3 +-
 .../src/com/cloud/vm/dao/NicDetailsDaoImpl.java |  4 +-
 .../src/com/cloud/vm/dao/UserVmDaoImpl.java     |  2 +-
 .../com/cloud/vm/dao/UserVmDetailsDaoImpl.java  |  4 +-
 .../cloud/vm/snapshot/VMSnapshotDetailsVO.java  |  9 ++-
 .../snapshot/dao/VMSnapshotDetailsDaoImpl.java  |  4 +-
 .../AutoScaleVmGroupDetailVO.java               |  3 +-
 .../AutoScaleVmProfileDetailVO.java             |  3 +-
 .../resourcedetail/DiskOfferingDetailVO.java    |  3 +-
 .../resourcedetail/FirewallRuleDetailVO.java    |  3 +-
 .../resourcedetail/NetworkACLItemDetailVO.java  |  3 +-
 .../resourcedetail/NetworkACLListDetailVO.java  |  3 +-
 .../resourcedetail/RemoteAccessVpnDetailVO.java |  3 +-
 .../resourcedetail/ResourceDetailsDao.java      |  2 +-
 .../Site2SiteCustomerGatewayDetailVO.java       |  3 +-
 .../Site2SiteVpnConnectionDetailVO.java         |  3 +-
 .../Site2SiteVpnGatewayDetailVO.java            |  3 +-
 .../resourcedetail/UserIpAddressDetailVO.java   |  3 +-
 .../cloudstack/resourcedetail/VpcDetailVO.java  |  3 +-
 .../resourcedetail/VpcGatewayDetailVO.java      |  3 +-
 .../dao/AutoScaleVmGroupDetailsDaoImpl.java     |  4 +-
 .../dao/AutoScaleVmProfileDetailsDaoImpl.java   |  4 +-
 .../dao/DiskOfferingDetailsDaoImpl.java         |  4 +-
 .../dao/FirewallRuleDetailsDaoImpl.java         |  4 +-
 .../dao/NetworkACLItemDetailsDaoImpl.java       |  4 +-
 .../dao/NetworkACLListDetailsDaoImpl.java       |  4 +-
 .../dao/RemoteAccessVpnDetailsDaoImpl.java      |  4 +-
 .../Site2SiteCustomerGatewayDetailsDaoImpl.java |  4 +-
 .../Site2SiteVpnConnectionDetailsDaoImpl.java   |  4 +-
 .../dao/Site2SiteVpnGatewayDetailsDaoImpl.java  |  4 +-
 .../resourcedetail/dao/UserDetailsDaoImpl.java  |  2 +-
 .../dao/UserIpAddressDetailsDaoImpl.java        |  4 +-
 .../resourcedetail/dao/VpcDetailsDaoImpl.java   |  4 +-
 .../dao/VpcGatewayDetailsDaoImpl.java           |  4 +-
 .../datastore/db/PrimaryDataStoreDaoImpl.java   |  4 +-
 .../datastore/db/PrimaryDataStoreDetailVO.java  |  3 +-
 .../datastore/db/StoragePoolDetailVO.java       |  3 +-
 .../vm/snapshot/dao/VmSnapshotDaoTest.java      |  2 +-
 .../storage/allocator/StorageAllocatorTest.java |  4 +-
 .../db/PrimaryDataStoreDetailsDaoImpl.java      |  4 +-
 .../db/src/com/cloud/dao/EntityManagerImpl.java |  1 +
 .../com/cloud/api/query/QueryManagerImpl.java   |  5 +-
 .../cloud/api/query/dao/VolumeJoinDaoImpl.java  |  2 +-
 .../configuration/ConfigurationManagerImpl.java |  9 ++-
 .../metadata/ResourceMetaDataManagerImpl.java   |  8 +--
 server/src/com/cloud/vm/UserVmManagerImpl.java  |  4 +-
 .../metadata/ResourceMetaDataManagerTest.java   |  2 +-
 setup/db/db/schema-430to440.sql                 | 66 +++++++++++++++++++-
 utils/src/com/cloud/utils/db/EntityManager.java |  2 +
 72 files changed, 227 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/api/src/com/cloud/server/ResourceMetaDataService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/server/ResourceMetaDataService.java b/api/src/com/cloud/server/ResourceMetaDataService.java
index 2871d99..56fe104 100644
--- a/api/src/com/cloud/server/ResourceMetaDataService.java
+++ b/api/src/com/cloud/server/ResourceMetaDataService.java
@@ -30,9 +30,10 @@ public interface ResourceMetaDataService {
      * @param resourceId TODO
      * @param resourceType
      * @param details
+     * @param forDisplay TODO
      * @return
      */
-    boolean addResourceMetaData(String resourceId, ResourceObjectType resourceType, Map<String, String> details);
+    boolean addResourceMetaData(String resourceId, ResourceObjectType resourceType, Map<String, String> details, boolean forDisplay);
 
     /**
      *

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/api/src/org/apache/cloudstack/api/ApiConstants.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java
index d500303..3b9b19c 100755
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -549,6 +549,7 @@ public class ApiConstants {
     public static final String PASSIVE = "passive";
     public static final String VERSION = "version";
     public static final String START = "start";
+    public static final String DISPLAY = "display";
 
     public enum HostDetails {
         all, capacity, events, stats, min;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/api/src/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java b/api/src/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java
index 618be7f..a36f1b5 100644
--- a/api/src/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java
@@ -49,6 +49,9 @@ public class AddResourceDetailCmd extends BaseAsyncCmd {
     @Parameter(name = ApiConstants.RESOURCE_ID, type = CommandType.STRING, required = true, collectionType = CommandType.STRING, description = "resource id to create the details for")
     private String resourceId;
 
+    @Parameter(name = ApiConstants.DISPLAY, type = CommandType.BOOLEAN, description = "pass false if you want this detail to be disabled for the regular user. True by default")
+    private Boolean display;
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -77,6 +80,14 @@ public class AddResourceDetailCmd extends BaseAsyncCmd {
         return resourceId;
     }
 
+    public boolean forDisplay() {
+        if (display != null) {
+            return display;
+        } else {
+            return true;
+        }
+    }
+
 /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -104,7 +115,7 @@ public class AddResourceDetailCmd extends BaseAsyncCmd {
 
     @Override
     public void execute() {
-        _resourceMetaDataService.addResourceMetaData(getResourceId(), getResourceType(), getDetails());
+        _resourceMetaDataService.addResourceMetaData(getResourceId(), getResourceType(), getDetails(), forDisplay());
         setResponseObject(new SuccessResponse(getCommandName()));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java b/api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java
index aed0ae0..2f86c92 100644
--- a/api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java
@@ -37,7 +37,7 @@ public class ListResourceDetailsCmd extends BaseListProjectAndAccountResourcesCm
     @Parameter(name = ApiConstants.RESOURCE_TYPE, type = CommandType.STRING, description = "list by resource type", required = true)
     private String resourceType;
 
-    @Parameter(name = ApiConstants.RESOURCE_ID, type = CommandType.STRING, description = "list by resource id", required = true)
+    @Parameter(name = ApiConstants.RESOURCE_ID, type = CommandType.STRING, description = "list by resource id")
     private String resourceId;
 
     @Parameter(name = ApiConstants.KEY, type = CommandType.STRING, description = "list by key")

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/api/src/org/apache/cloudstack/api/response/VolumeResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/VolumeResponse.java b/api/src/org/apache/cloudstack/api/response/VolumeResponse.java
index f511662..daf5350 100644
--- a/api/src/org/apache/cloudstack/api/response/VolumeResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/VolumeResponse.java
@@ -190,7 +190,7 @@ public class VolumeResponse extends BaseResponse implements ControlledViewEntity
 
     @SerializedName(ApiConstants.DISPLAY_VOLUME)
     @Param(description = "an optional field whether to the display the volume to the end user or not.")
-    private Boolean displayVm;
+    private Boolean displayVolume;
 
     @SerializedName(ApiConstants.PATH)
     @Param(description = "The path of the volume")
@@ -406,12 +406,12 @@ public class VolumeResponse extends BaseResponse implements ControlledViewEntity
         this.tags.add(tag);
     }
 
-    public Boolean getDisplayVm() {
-        return displayVm;
+    public Boolean getDisplayVolume() {
+        return displayVolume;
     }
 
-    public void setDisplayVm(Boolean displayVm) {
-        this.displayVm = displayVm;
+    public void setDisplayVolume(Boolean displayVm) {
+        this.displayVolume = displayVm;
     }
 
     public void setStoragePoolId(String storagePoolId) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 8b4433e..68bb4ea 100755
--- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -40,8 +40,6 @@ import javax.ejb.Local;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import org.apache.log4j.Logger;
-
 import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
 import org.apache.cloudstack.context.CallContext;
 import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
@@ -69,6 +67,7 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
 import org.apache.cloudstack.storage.to.VolumeObjectTO;
 import org.apache.cloudstack.utils.identity.ManagementServerNode;
+import org.apache.log4j.Logger;
 
 import com.cloud.agent.AgentManager;
 import com.cloud.agent.Listener;
@@ -939,11 +938,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
                 //storing the value of overcommit in the vm_details table for doing a capacity check in case the cluster overcommit ratio is changed.
                 if (_uservmDetailsDao.findDetail(vm.getId(), "cpuOvercommitRatio") == null &&
                     ((Float.parseFloat(cluster_detail_cpu.getValue()) > 1f || Float.parseFloat(cluster_detail_ram.getValue()) > 1f))) {
-                    _uservmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue());
-                    _uservmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue());
+                    _uservmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue(), true);
+                    _uservmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue(), true);
                 } else if (_uservmDetailsDao.findDetail(vm.getId(), "cpuOvercommitRatio") != null) {
-                    _uservmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue());
-                    _uservmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue());
+                    _uservmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue(), true);
+                    _uservmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue(), true);
                 }
                 vmProfile.setCpuOvercommitRatio(Float.parseFloat(cluster_detail_cpu.getValue()));
                 vmProfile.setMemoryOvercommitRatio(Float.parseFloat(cluster_detail_ram.getValue()));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/dc/DataCenterDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/dc/DataCenterDetailVO.java b/engine/schema/src/com/cloud/dc/DataCenterDetailVO.java
index e9bf611..5984b44 100644
--- a/engine/schema/src/com/cloud/dc/DataCenterDetailVO.java
+++ b/engine/schema/src/com/cloud/dc/DataCenterDetailVO.java
@@ -48,10 +48,11 @@ public class DataCenterDetailVO implements ResourceDetail {
     protected DataCenterDetailVO() {
     }
 
-    public DataCenterDetailVO(long dcId, String name, String value) {
+    public DataCenterDetailVO(long dcId, String name, String value, boolean display) {
         this.resourceId = dcId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/dc/dao/DataCenterDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/dc/dao/DataCenterDaoImpl.java b/engine/schema/src/com/cloud/dc/dao/DataCenterDaoImpl.java
index a355a9c..ea5039f 100755
--- a/engine/schema/src/com/cloud/dc/dao/DataCenterDaoImpl.java
+++ b/engine/schema/src/com/cloud/dc/dao/DataCenterDaoImpl.java
@@ -375,7 +375,7 @@ public class DataCenterDaoImpl extends GenericDaoBase<DataCenterVO, Long> implem
 
         List<DataCenterDetailVO> resourceDetails = new ArrayList<DataCenterDetailVO>();
         for (String key : details.keySet()) {
-            resourceDetails.add(new DataCenterDetailVO(zone.getId(), key, details.get(key)));
+            resourceDetails.add(new DataCenterDetailVO(zone.getId(), key, details.get(key), true));
         }
 
         _detailsDao.saveDetails(resourceDetails);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java b/engine/schema/src/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java
index 8695988..f3b9efe 100644
--- a/engine/schema/src/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/dc/dao/DataCenterDetailsDaoImpl.java
@@ -41,8 +41,8 @@ public class DataCenterDetailsDaoImpl extends ResourceDetailsDaoBase<DataCenterD
     }
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new DataCenterDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new DataCenterDetailVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/network/dao/NetworkDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/dao/NetworkDetailVO.java b/engine/schema/src/com/cloud/network/dao/NetworkDetailVO.java
index 5228e33..d564eee 100644
--- a/engine/schema/src/com/cloud/network/dao/NetworkDetailVO.java
+++ b/engine/schema/src/com/cloud/network/dao/NetworkDetailVO.java
@@ -48,10 +48,11 @@ public class NetworkDetailVO implements ResourceDetail {
     public NetworkDetailVO() {
     }
 
-    public NetworkDetailVO(long networkId, String name, String value) {
+    public NetworkDetailVO(long networkId, String name, String value, boolean display) {
         this.resourceId = networkId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/network/dao/NetworkDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/dao/NetworkDetailsDaoImpl.java b/engine/schema/src/com/cloud/network/dao/NetworkDetailsDaoImpl.java
index c4fb481..0874a3b 100644
--- a/engine/schema/src/com/cloud/network/dao/NetworkDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/dao/NetworkDetailsDaoImpl.java
@@ -27,8 +27,8 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 public class NetworkDetailsDaoImpl extends ResourceDetailsDaoBase<NetworkDetailVO> implements NetworkDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new NetworkDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new NetworkDetailVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java b/engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java
index a707955..e1a1e93 100644
--- a/engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java
+++ b/engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java
@@ -48,10 +48,11 @@ public class ServiceOfferingDetailsVO implements ResourceDetail {
     protected ServiceOfferingDetailsVO() {
     }
 
-    public ServiceOfferingDetailsVO(long serviceOfferingId, String name, String value) {
+    public ServiceOfferingDetailsVO(long serviceOfferingId, String name, String value, boolean display) {
         this.resourceId = serviceOfferingId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java b/engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java
index 1905d9e..a3ff45c 100644
--- a/engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java
+++ b/engine/schema/src/com/cloud/service/dao/ServiceOfferingDaoImpl.java
@@ -182,7 +182,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase<ServiceOfferingVO, Lo
 
         List<ServiceOfferingDetailsVO> resourceDetails = new ArrayList<ServiceOfferingDetailsVO>();
         for (String key : details.keySet()) {
-            resourceDetails.add(new ServiceOfferingDetailsVO(serviceOffering.getId(), key, details.get(key)));
+            resourceDetails.add(new ServiceOfferingDetailsVO(serviceOffering.getId(), key, details.get(key), true));
         }
 
         detailsDao.saveDetails(resourceDetails);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java b/engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java
index 59c5e33..6e504bc 100644
--- a/engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/service/dao/ServiceOfferingDetailsDaoImpl.java
@@ -29,8 +29,8 @@ import com.cloud.service.ServiceOfferingDetailsVO;
 public class ServiceOfferingDetailsDaoImpl extends ResourceDetailsDaoBase<ServiceOfferingDetailsVO> implements ServiceOfferingDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new ServiceOfferingDetailsVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new ServiceOfferingDetailsVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/VMTemplateDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/VMTemplateDetailVO.java b/engine/schema/src/com/cloud/storage/VMTemplateDetailVO.java
index 5689e7d..90932bf 100644
--- a/engine/schema/src/com/cloud/storage/VMTemplateDetailVO.java
+++ b/engine/schema/src/com/cloud/storage/VMTemplateDetailVO.java
@@ -48,10 +48,11 @@ public class VMTemplateDetailVO implements ResourceDetail {
     public VMTemplateDetailVO() {
     }
 
-    public VMTemplateDetailVO(long templateId, String name, String value) {
+    public VMTemplateDetailVO(long templateId, String name, String value, boolean display) {
         this.resourceId = templateId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/VolumeDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/VolumeDetailVO.java b/engine/schema/src/com/cloud/storage/VolumeDetailVO.java
index 598a350..e4cbb30 100644
--- a/engine/schema/src/com/cloud/storage/VolumeDetailVO.java
+++ b/engine/schema/src/com/cloud/storage/VolumeDetailVO.java
@@ -48,10 +48,11 @@ public class VolumeDetailVO implements ResourceDetail {
     public VolumeDetailVO() {
     }
 
-    public VolumeDetailVO(long volumeId, String name, String value) {
+    public VolumeDetailVO(long volumeId, String name, String value, boolean display) {
         this.resourceId = volumeId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsDaoImpl.java
index f8d3813..e4ae22c 100644
--- a/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsDaoImpl.java
@@ -22,7 +22,7 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 
 public class SnapshotDetailsDaoImpl extends ResourceDetailsDaoBase<SnapshotDetailsVO> implements SnapshotDetailsDao {
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new SnapshotDetailsVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new SnapshotDetailsVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsVO.java b/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsVO.java
index 35a7244..8c372b4 100644
--- a/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsVO.java
+++ b/engine/schema/src/com/cloud/storage/dao/SnapshotDetailsVO.java
@@ -44,14 +44,17 @@ public class SnapshotDetailsVO implements ResourceDetail {
     @Column(name = "value")
     String value;
 
-    public SnapshotDetailsVO() {
+    @Column(name = "display")
+    private boolean display;
 
+    public SnapshotDetailsVO() {
     }
 
-    public SnapshotDetailsVO(Long resourceId, String name, String value) {
+    public SnapshotDetailsVO(Long resourceId, String name, String value, boolean display) {
         this.resourceId = resourceId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override
@@ -71,7 +74,7 @@ public class SnapshotDetailsVO implements ResourceDetail {
 
     @Override
     public boolean isDisplay() {
-        return false;
+        return display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java
index 9d12143..de7141f 100644
--- a/engine/schema/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/storage/dao/StoragePoolDetailsDaoImpl.java
@@ -43,7 +43,7 @@ public class StoragePoolDetailsDaoImpl extends ResourceDetailsDaoBase<StoragePoo
     }
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new StoragePoolDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new StoragePoolDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
index aab3256..34fdca5 100755
--- a/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
+++ b/engine/schema/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
@@ -28,12 +28,10 @@ import javax.ejb.Local;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import com.cloud.template.VirtualMachineTemplate;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
 
 import com.cloud.dc.dao.DataCenterDao;
 import com.cloud.domain.dao.DomainDao;
@@ -51,6 +49,7 @@ import com.cloud.storage.VMTemplateVO;
 import com.cloud.storage.VMTemplateZoneVO;
 import com.cloud.tags.ResourceTagVO;
 import com.cloud.tags.dao.ResourceTagDao;
+import com.cloud.template.VirtualMachineTemplate;
 import com.cloud.utils.db.DB;
 import com.cloud.utils.db.Filter;
 import com.cloud.utils.db.GenericDaoBase;
@@ -416,7 +415,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase<VMTemplateVO, Long> implem
         }
         List<VMTemplateDetailVO> details = new ArrayList<VMTemplateDetailVO>();
         for (String key : detailsStr.keySet()) {
-            VMTemplateDetailVO detail = new VMTemplateDetailVO(tmpl.getId(), key, detailsStr.get(key));
+            VMTemplateDetailVO detail = new VMTemplateDetailVO(tmpl.getId(), key, detailsStr.get(key), true);
             details.add(detail);
         }
 
@@ -752,7 +751,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase<VMTemplateVO, Long> implem
             if (tmplt.getDetails() != null) {
                 List<VMTemplateDetailVO> details = new ArrayList<VMTemplateDetailVO>();
                 for (String key : tmplt.getDetails().keySet()) {
-                    details.add(new VMTemplateDetailVO(tmplt.getId(), key, tmplt.getDetails().get(key)));
+                    details.add(new VMTemplateDetailVO(tmplt.getId(), key, tmplt.getDetails().get(key), true));
                 }
                 _templateDetailsDao.saveDetails(details);
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/VMTemplateDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/VMTemplateDetailsDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/VMTemplateDetailsDaoImpl.java
index c1619be..456cdc6 100644
--- a/engine/schema/src/com/cloud/storage/dao/VMTemplateDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/storage/dao/VMTemplateDetailsDaoImpl.java
@@ -29,7 +29,7 @@ import com.cloud.storage.VMTemplateDetailVO;
 public class VMTemplateDetailsDaoImpl extends ResourceDetailsDaoBase<VMTemplateDetailVO> implements VMTemplateDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new VMTemplateDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new VMTemplateDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/storage/dao/VolumeDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/dao/VolumeDetailsDaoImpl.java b/engine/schema/src/com/cloud/storage/dao/VolumeDetailsDaoImpl.java
index d045b9b..15c020d 100644
--- a/engine/schema/src/com/cloud/storage/dao/VolumeDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/storage/dao/VolumeDetailsDaoImpl.java
@@ -29,8 +29,8 @@ import com.cloud.storage.VolumeDetailVO;
 public class VolumeDetailsDaoImpl extends ResourceDetailsDaoBase<VolumeDetailVO> implements VolumeDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new VolumeDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new VolumeDetailVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/NicDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/NicDetailVO.java b/engine/schema/src/com/cloud/vm/NicDetailVO.java
index 6df9d57..55a15a3 100644
--- a/engine/schema/src/com/cloud/vm/NicDetailVO.java
+++ b/engine/schema/src/com/cloud/vm/NicDetailVO.java
@@ -48,10 +48,11 @@ public class NicDetailVO implements ResourceDetail {
     public NicDetailVO() {
     }
 
-    public NicDetailVO(long nicId, String name, String value) {
+    public NicDetailVO(long nicId, String name, String value, boolean display) {
         this.resourceId = nicId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/UserVmDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/UserVmDetailVO.java b/engine/schema/src/com/cloud/vm/UserVmDetailVO.java
index 2e199cc..e945150 100644
--- a/engine/schema/src/com/cloud/vm/UserVmDetailVO.java
+++ b/engine/schema/src/com/cloud/vm/UserVmDetailVO.java
@@ -48,10 +48,11 @@ public class UserVmDetailVO implements ResourceDetail {
     public UserVmDetailVO() {
     }
 
-    public UserVmDetailVO(long vmId, String name, String value) {
+    public UserVmDetailVO(long vmId, String name, String value, boolean display) {
         this.resourceId = vmId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/dao/NicDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/dao/NicDetailsDaoImpl.java b/engine/schema/src/com/cloud/vm/dao/NicDetailsDaoImpl.java
index 8c95a0e..2bad56d 100644
--- a/engine/schema/src/com/cloud/vm/dao/NicDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/vm/dao/NicDetailsDaoImpl.java
@@ -29,7 +29,7 @@ import com.cloud.vm.NicDetailVO;
 public class NicDetailsDaoImpl extends ResourceDetailsDaoBase<NicDetailVO> implements NicDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new NicDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new NicDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java b/engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java
index 812e628..feacee7 100755
--- a/engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java
+++ b/engine/schema/src/com/cloud/vm/dao/UserVmDaoImpl.java
@@ -343,7 +343,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
         }
         List<UserVmDetailVO> details = new ArrayList<UserVmDetailVO>();
         for (String key : detailsStr.keySet()) {
-            details.add(new UserVmDetailVO(vm.getId(), key, detailsStr.get(key)));
+            details.add(new UserVmDetailVO(vm.getId(), key, detailsStr.get(key), true));
         }
 
         _detailsDao.saveDetails(details);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java b/engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java
index 3f93120..5800cd5 100644
--- a/engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java
@@ -29,8 +29,8 @@ import com.cloud.vm.UserVmDetailVO;
 public class UserVmDetailsDaoImpl extends ResourceDetailsDaoBase<UserVmDetailVO> implements UserVmDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new UserVmDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new UserVmDetailVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotDetailsVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotDetailsVO.java b/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotDetailsVO.java
index 4531393..9efefef 100644
--- a/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotDetailsVO.java
+++ b/engine/schema/src/com/cloud/vm/snapshot/VMSnapshotDetailsVO.java
@@ -44,14 +44,17 @@ public class VMSnapshotDetailsVO implements ResourceDetail {
     @Column(name = "value")
     String value;
 
-    public VMSnapshotDetailsVO() {
+    @Column(name = "display")
+    private boolean display;
 
+    public VMSnapshotDetailsVO() {
     }
 
-    public VMSnapshotDetailsVO(long vmSnapshotId, String name, String value) {
+    public VMSnapshotDetailsVO(long vmSnapshotId, String name, String value, boolean display) {
         this.resourceId = vmSnapshotId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override
@@ -76,6 +79,6 @@ public class VMSnapshotDetailsVO implements ResourceDetail {
 
     @Override
     public boolean isDisplay() {
-        return false;
+        return display;
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/com/cloud/vm/snapshot/dao/VMSnapshotDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/vm/snapshot/dao/VMSnapshotDetailsDaoImpl.java b/engine/schema/src/com/cloud/vm/snapshot/dao/VMSnapshotDetailsDaoImpl.java
index bfa912d..a3cba7a 100644
--- a/engine/schema/src/com/cloud/vm/snapshot/dao/VMSnapshotDetailsDaoImpl.java
+++ b/engine/schema/src/com/cloud/vm/snapshot/dao/VMSnapshotDetailsDaoImpl.java
@@ -25,7 +25,7 @@ import com.cloud.vm.snapshot.VMSnapshotDetailsVO;
 public class VMSnapshotDetailsDaoImpl extends ResourceDetailsDaoBase<VMSnapshotDetailsVO> implements VMSnapshotDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new VMSnapshotDetailsVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new VMSnapshotDetailsVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmGroupDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmGroupDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmGroupDetailVO.java
index a657caa..969044e 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmGroupDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmGroupDetailVO.java
@@ -48,10 +48,11 @@ public class AutoScaleVmGroupDetailVO implements ResourceDetail {
     public AutoScaleVmGroupDetailVO() {
     }
 
-    public AutoScaleVmGroupDetailVO(long id, String name, String value) {
+    public AutoScaleVmGroupDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmProfileDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmProfileDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmProfileDetailVO.java
index 06d7296..9ac3ec0 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmProfileDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/AutoScaleVmProfileDetailVO.java
@@ -48,10 +48,11 @@ public class AutoScaleVmProfileDetailVO implements ResourceDetail {
     public AutoScaleVmProfileDetailVO() {
     }
 
-    public AutoScaleVmProfileDetailVO(long id, String name, String value) {
+    public AutoScaleVmProfileDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/DiskOfferingDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/DiskOfferingDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/DiskOfferingDetailVO.java
index bdee3c1..00eb701 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/DiskOfferingDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/DiskOfferingDetailVO.java
@@ -48,10 +48,11 @@ public class DiskOfferingDetailVO implements ResourceDetail {
     public DiskOfferingDetailVO() {
     }
 
-    public DiskOfferingDetailVO(long id, String name, String value) {
+    public DiskOfferingDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/FirewallRuleDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/FirewallRuleDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/FirewallRuleDetailVO.java
index b8c636a..d3180bd 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/FirewallRuleDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/FirewallRuleDetailVO.java
@@ -48,10 +48,11 @@ public class FirewallRuleDetailVO implements ResourceDetail {
     public FirewallRuleDetailVO() {
     }
 
-    public FirewallRuleDetailVO(long id, String name, String value) {
+    public FirewallRuleDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLItemDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLItemDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLItemDetailVO.java
index 5abf59c..222808b 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLItemDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLItemDetailVO.java
@@ -48,10 +48,11 @@ public class NetworkACLItemDetailVO implements ResourceDetail {
     public NetworkACLItemDetailVO() {
     }
 
-    public NetworkACLItemDetailVO(long id, String name, String value) {
+    public NetworkACLItemDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLListDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLListDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLListDetailVO.java
index f60ba8c..91f291c 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLListDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/NetworkACLListDetailVO.java
@@ -48,10 +48,11 @@ public class NetworkACLListDetailVO implements ResourceDetail {
     public NetworkACLListDetailVO() {
     }
 
-    public NetworkACLListDetailVO(long id, String name, String value) {
+    public NetworkACLListDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/RemoteAccessVpnDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/RemoteAccessVpnDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/RemoteAccessVpnDetailVO.java
index 295727f..35b1b20 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/RemoteAccessVpnDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/RemoteAccessVpnDetailVO.java
@@ -48,10 +48,11 @@ public class RemoteAccessVpnDetailVO implements ResourceDetail {
     public RemoteAccessVpnDetailVO() {
     }
 
-    public RemoteAccessVpnDetailVO(long id, String name, String value) {
+    public RemoteAccessVpnDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/ResourceDetailsDao.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/ResourceDetailsDao.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/ResourceDetailsDao.java
index f016658..5002683 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/ResourceDetailsDao.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/ResourceDetailsDao.java
@@ -66,6 +66,6 @@ public interface ResourceDetailsDao<R extends ResourceDetail> extends GenericDao
 
     public void saveDetails(List<R> details);
 
-    public void addDetail(long resourceId, String key, String value);
+    public void addDetail(long resourceId, String key, String value, boolean display);
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteCustomerGatewayDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteCustomerGatewayDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteCustomerGatewayDetailVO.java
index 1a2743c..4d7de45 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteCustomerGatewayDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteCustomerGatewayDetailVO.java
@@ -48,10 +48,11 @@ public class Site2SiteCustomerGatewayDetailVO implements ResourceDetail {
     public Site2SiteCustomerGatewayDetailVO() {
     }
 
-    public Site2SiteCustomerGatewayDetailVO(long id, String name, String value) {
+    public Site2SiteCustomerGatewayDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnConnectionDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnConnectionDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnConnectionDetailVO.java
index 9a4b616..5daddf5 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnConnectionDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnConnectionDetailVO.java
@@ -48,10 +48,11 @@ public class Site2SiteVpnConnectionDetailVO implements ResourceDetail {
     public Site2SiteVpnConnectionDetailVO() {
     }
 
-    public Site2SiteVpnConnectionDetailVO(long id, String name, String value) {
+    public Site2SiteVpnConnectionDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnGatewayDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnGatewayDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnGatewayDetailVO.java
index 244e218..1ed7d85 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnGatewayDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/Site2SiteVpnGatewayDetailVO.java
@@ -48,10 +48,11 @@ public class Site2SiteVpnGatewayDetailVO implements ResourceDetail {
     public Site2SiteVpnGatewayDetailVO() {
     }
 
-    public Site2SiteVpnGatewayDetailVO(long id, String name, String value) {
+    public Site2SiteVpnGatewayDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/UserIpAddressDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/UserIpAddressDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/UserIpAddressDetailVO.java
index 2bbadcb..4ac4299 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/UserIpAddressDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/UserIpAddressDetailVO.java
@@ -48,10 +48,11 @@ public class UserIpAddressDetailVO implements ResourceDetail {
     public UserIpAddressDetailVO() {
     }
 
-    public UserIpAddressDetailVO(long id, String name, String value) {
+    public UserIpAddressDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcDetailVO.java
index beb38b5..ee97962 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcDetailVO.java
@@ -48,10 +48,11 @@ public class VpcDetailVO implements ResourceDetail {
     public VpcDetailVO() {
     }
 
-    public VpcDetailVO(long id, String name, String value) {
+    public VpcDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcGatewayDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcGatewayDetailVO.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcGatewayDetailVO.java
index b78bfa8..0a7e8bd 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcGatewayDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/VpcGatewayDetailVO.java
@@ -48,10 +48,11 @@ public class VpcGatewayDetailVO implements ResourceDetail {
     public VpcGatewayDetailVO() {
     }
 
-    public VpcGatewayDetailVO(long id, String name, String value) {
+    public VpcGatewayDetailVO(long id, String name, String value, boolean display) {
         this.resourceId = id;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmGroupDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmGroupDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmGroupDetailsDaoImpl.java
index b4c82bc..3d32a68 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmGroupDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmGroupDetailsDaoImpl.java
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
 public class AutoScaleVmGroupDetailsDaoImpl extends ResourceDetailsDaoBase<AutoScaleVmGroupDetailVO> implements AutoScaleVmGroupDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new AutoScaleVmGroupDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new AutoScaleVmGroupDetailVO(resourceId, key, value, display));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmProfileDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmProfileDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmProfileDetailsDaoImpl.java
index 17e0316..736acef 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmProfileDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/AutoScaleVmProfileDetailsDaoImpl.java
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
 public class AutoScaleVmProfileDetailsDaoImpl extends ResourceDetailsDaoBase<AutoScaleVmProfileDetailVO> implements AutoScaleVmProfileDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new AutoScaleVmProfileDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new AutoScaleVmProfileDetailVO(resourceId, key, value, display));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDaoImpl.java
index e2fc26e..c7c7e6c 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/DiskOfferingDetailsDaoImpl.java
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
 public class DiskOfferingDetailsDaoImpl extends ResourceDetailsDaoBase<DiskOfferingDetailVO> implements DiskOfferingDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new DiskOfferingDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new DiskOfferingDetailVO(resourceId, key, value, display));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/FirewallRuleDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/FirewallRuleDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/FirewallRuleDetailsDaoImpl.java
index 1c1e839..fa90493 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/FirewallRuleDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/FirewallRuleDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 public class FirewallRuleDetailsDaoImpl extends ResourceDetailsDaoBase<FirewallRuleDetailVO> implements FirewallRuleDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new FirewallRuleDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new FirewallRuleDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLItemDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLItemDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLItemDetailsDaoImpl.java
index 03d1282..d8686a2 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLItemDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLItemDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 public class NetworkACLItemDetailsDaoImpl extends ResourceDetailsDaoBase<NetworkACLItemDetailVO> implements NetworkACLItemDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new NetworkACLItemDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new NetworkACLItemDetailVO(resourceId, key, value, display));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLListDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLListDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLListDetailsDaoImpl.java
index e07110f..b204ce2 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLListDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/NetworkACLListDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 public class NetworkACLListDetailsDaoImpl extends ResourceDetailsDaoBase<NetworkACLListDetailVO> implements NetworkACLListDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new NetworkACLListDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new NetworkACLListDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/RemoteAccessVpnDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/RemoteAccessVpnDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/RemoteAccessVpnDetailsDaoImpl.java
index e8f312e..125369b 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/RemoteAccessVpnDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/RemoteAccessVpnDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.ResourceDetailsDaoBase;
 public class RemoteAccessVpnDetailsDaoImpl extends ResourceDetailsDaoBase<RemoteAccessVpnDetailVO> implements RemoteAccessVpnDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new RemoteAccessVpnDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new RemoteAccessVpnDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteCustomerGatewayDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteCustomerGatewayDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteCustomerGatewayDetailsDaoImpl.java
index 71e810e..73650fe 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteCustomerGatewayDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteCustomerGatewayDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.Site2SiteCustomerGatewayDetailVO;
 public class Site2SiteCustomerGatewayDetailsDaoImpl extends ResourceDetailsDaoBase<Site2SiteCustomerGatewayDetailVO> implements Site2SiteCustomerGatewayDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new Site2SiteCustomerGatewayDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new Site2SiteCustomerGatewayDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnConnectionDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnConnectionDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnConnectionDetailsDaoImpl.java
index 7261df8..099977d 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnConnectionDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnConnectionDetailsDaoImpl.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
 public class Site2SiteVpnConnectionDetailsDaoImpl extends ResourceDetailsDaoBase<Site2SiteVpnConnectionDetailVO> implements Site2SiteVpnConnectionDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new Site2SiteVpnConnectionDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new Site2SiteVpnConnectionDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnGatewayDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnGatewayDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnGatewayDetailsDaoImpl.java
index 1e6b480..9502b65 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnGatewayDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/Site2SiteVpnGatewayDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.Site2SiteVpnGatewayDetailVO;
 public class Site2SiteVpnGatewayDetailsDaoImpl extends ResourceDetailsDaoBase<Site2SiteVpnGatewayDetailVO> implements Site2SiteVpnGatewayDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new Site2SiteVpnGatewayDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new Site2SiteVpnGatewayDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserDetailsDaoImpl.java
index 5081852..d77ee87 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserDetailsDaoImpl.java
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
 public class UserDetailsDaoImpl extends ResourceDetailsDaoBase<UserDetailVO> implements UserDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
+    public void addDetail(long resourceId, String key, String value, boolean display) {
         super.addDetail(new UserDetailVO(resourceId, key, value));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserIpAddressDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserIpAddressDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserIpAddressDetailsDaoImpl.java
index a8d211e..4444da0 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserIpAddressDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/UserIpAddressDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.UserIpAddressDetailVO;
 public class UserIpAddressDetailsDaoImpl extends ResourceDetailsDaoBase<UserIpAddressDetailVO> implements UserIpAddressDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new UserIpAddressDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new UserIpAddressDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcDetailsDaoImpl.java
index fb22c7c..b455656 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.VpcDetailVO;
 public class VpcDetailsDaoImpl extends ResourceDetailsDaoBase<VpcDetailVO> implements VpcDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new VpcDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new VpcDetailVO(resourceId, key, value, display));
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcGatewayDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcGatewayDetailsDaoImpl.java b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcGatewayDetailsDaoImpl.java
index 871c363..e8d632d 100644
--- a/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcGatewayDetailsDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/resourcedetail/dao/VpcGatewayDetailsDaoImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.resourcedetail.VpcGatewayDetailVO;
 public class VpcGatewayDetailsDaoImpl extends ResourceDetailsDaoBase<VpcGatewayDetailVO> implements VpcGatewayDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new VpcGatewayDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new VpcGatewayDetailVO(resourceId, key, value, display));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java
index 1a59494..57afa16 100644
--- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java
+++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java
@@ -232,7 +232,7 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<StoragePoolVO, Long>
         pool = super.persist(pool);
         if (details != null) {
             for (Map.Entry<String, String> detail : details.entrySet()) {
-                StoragePoolDetailVO vo = new StoragePoolDetailVO(pool.getId(), detail.getKey(), detail.getValue());
+                StoragePoolDetailVO vo = new StoragePoolDetailVO(pool.getId(), detail.getKey(), detail.getValue(), true);
                 _detailsDao.persist(vo);
             }
         }
@@ -388,7 +388,7 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<StoragePoolVO, Long>
         if (details != null) {
             List<StoragePoolDetailVO> detailsVO = new ArrayList<StoragePoolDetailVO>();
             for (String key : details.keySet()) {
-                detailsVO.add(new StoragePoolDetailVO(poolId, key, details.get(key)));
+                detailsVO.add(new StoragePoolDetailVO(poolId, key, details.get(key), true));
             }
             _detailsDao.saveDetails(detailsVO);
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDetailVO.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDetailVO.java
index a7998b3..2051077 100644
--- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDetailVO.java
@@ -45,10 +45,11 @@ public class PrimaryDataStoreDetailVO implements ResourceDetail {
     @Column(name = "display")
     private boolean display;
 
-    public PrimaryDataStoreDetailVO(long poolId, String name, String value) {
+    public PrimaryDataStoreDetailVO(long poolId, String name, String value, boolean display) {
         this.resourceId = poolId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     protected PrimaryDataStoreDetailVO() {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/schema/src/org/apache/cloudstack/storage/datastore/db/StoragePoolDetailVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/StoragePoolDetailVO.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/StoragePoolDetailVO.java
index f2d2098..a4c0de1 100644
--- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/StoragePoolDetailVO.java
+++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/StoragePoolDetailVO.java
@@ -45,10 +45,11 @@ public class StoragePoolDetailVO implements ResourceDetail {
     @Column(name = "display")
     private boolean display;
 
-    public StoragePoolDetailVO(long poolId, String name, String value) {
+    public StoragePoolDetailVO(long poolId, String name, String value, boolean display) {
         this.resourceId = poolId;
         this.name = name;
         this.value = value;
+        this.display = display;
     }
 
     public StoragePoolDetailVO() {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/storage/integration-test/test/com/cloud/vm/snapshot/dao/VmSnapshotDaoTest.java
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/com/cloud/vm/snapshot/dao/VmSnapshotDaoTest.java b/engine/storage/integration-test/test/com/cloud/vm/snapshot/dao/VmSnapshotDaoTest.java
index a16a333..38b4f29 100644
--- a/engine/storage/integration-test/test/com/cloud/vm/snapshot/dao/VmSnapshotDaoTest.java
+++ b/engine/storage/integration-test/test/com/cloud/vm/snapshot/dao/VmSnapshotDaoTest.java
@@ -41,7 +41,7 @@ public class VmSnapshotDaoTest extends CloudStackTestNGBase {
 
     @Test
     public void testVmSnapshotDetails() {
-        VMSnapshotDetailsVO detailsVO = new VMSnapshotDetailsVO(1L, "test", "foo");
+        VMSnapshotDetailsVO detailsVO = new VMSnapshotDetailsVO(1L, "test", "foo", display);
         vmsnapshotDetailsDao.persist(detailsVO);
         Map<String, String> details = vmsnapshotDetailsDao.listDetailsKeyPairs(1L);
         Assert.assertTrue(details.containsKey("test"));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java
----------------------------------------------------------------------
diff --git a/engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java b/engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java
index bb74a37..a03125d 100644
--- a/engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java
+++ b/engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java
@@ -251,7 +251,7 @@ public class StorageAllocatorTest {
     public void testClusterAllocatorWithTags() {
         try {
             createDb();
-            StoragePoolDetailVO detailVO = new StoragePoolDetailVO(this.storagePoolId, "high", "true");
+            StoragePoolDetailVO detailVO = new StoragePoolDetailVO(this.storagePoolId, "high", "true", display);
             poolDetailsDao.persist(detailVO);
             DiskOfferingVO diskOff = this.diskOfferingDao.findById(diskOffering.getId());
             List<String> tags = new ArrayList<String>();
@@ -285,7 +285,7 @@ public class StorageAllocatorTest {
     public void testClusterAllocatorWithWrongTag() {
         try {
             createDb();
-            StoragePoolDetailVO detailVO = new StoragePoolDetailVO(this.storagePoolId, "high", "true");
+            StoragePoolDetailVO detailVO = new StoragePoolDetailVO(this.storagePoolId, "high", "true", display);
             poolDetailsDao.persist(detailVO);
             DiskOfferingVO diskOff = this.diskOfferingDao.findById(diskOffering.getId());
             List<String> tags = new ArrayList<String>();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/engine/storage/src/org/apache/cloudstack/storage/volume/db/PrimaryDataStoreDetailsDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/PrimaryDataStoreDetailsDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/PrimaryDataStoreDetailsDaoImpl.java
index 8ba3e12..a520e32 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/PrimaryDataStoreDetailsDaoImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/volume/db/PrimaryDataStoreDetailsDaoImpl.java
@@ -26,8 +26,8 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDetailsDao;
 public class PrimaryDataStoreDetailsDaoImpl extends ResourceDetailsDaoBase<PrimaryDataStoreDetailVO> implements PrimaryDataStoreDetailsDao {
 
     @Override
-    public void addDetail(long resourceId, String key, String value) {
-        super.addDetail(new PrimaryDataStoreDetailVO(resourceId, key, value));
+    public void addDetail(long resourceId, String key, String value, boolean display) {
+        super.addDetail(new PrimaryDataStoreDetailVO(resourceId, key, value, display));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/framework/db/src/com/cloud/dao/EntityManagerImpl.java
----------------------------------------------------------------------
diff --git a/framework/db/src/com/cloud/dao/EntityManagerImpl.java b/framework/db/src/com/cloud/dao/EntityManagerImpl.java
index 499ee3e..b531d1a 100644
--- a/framework/db/src/com/cloud/dao/EntityManagerImpl.java
+++ b/framework/db/src/com/cloud/dao/EntityManagerImpl.java
@@ -45,6 +45,7 @@ public class EntityManagerImpl extends ManagerBase implements EntityManager {
         return dao.findById(id);
     }
 
+    @Override
     public <T, K extends Serializable> T findByIdIncludingRemoved(Class<T> entityType, K id) {
         GenericDao<? extends T, K> dao = (GenericDao<? extends T, K>)GenericDaoBase.getDao(entityType);
         return dao.findByIdIncludingRemoved(id);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 27a0529..4d5a42f 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -3228,7 +3228,10 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
         Boolean forDisplay = cmd.forDisplay();
         ResourceTag.ResourceObjectType resourceType = cmd.getResourceType();
         String resourceIdStr = cmd.getResourceId();
-        long resourceId = _taggedResourceMgr.getResourceId(resourceIdStr, resourceType);
+        Long resourceId = null;
+        if (resourceIdStr != null) {
+            resourceId = _taggedResourceMgr.getResourceId(resourceIdStr, resourceType);
+        }
         List<? extends ResourceDetail> detailList = new ArrayList<ResourceDetail>();
         ResourceDetail requestedDetail = null;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
index 3604883..5fa27dc 100644
--- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java
@@ -208,7 +208,7 @@ public class VolumeJoinDaoImpl extends GenericDaoBase<VolumeJoinVO, Long> implem
         }
 
         volResponse.setExtractable(isExtractable);
-        volResponse.setDisplayVm(volume.isDisplayVolume());
+        volResponse.setDisplayVolume(volume.isDisplayVolume());
 
         // set async job
         if (volume.getJobId() != null) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
index 49fee93..1c1da1f 100755
--- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -36,8 +36,6 @@ import javax.ejb.Local;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import org.apache.log4j.Logger;
-
 import org.apache.cloudstack.acl.SecurityChecker;
 import org.apache.cloudstack.affinity.AffinityGroup;
 import org.apache.cloudstack.affinity.AffinityGroupService;
@@ -85,6 +83,7 @@ import org.apache.cloudstack.region.dao.RegionDao;
 import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao;
 import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
+import org.apache.log4j.Logger;
 
 import com.cloud.alert.AlertManager;
 import com.cloud.api.ApiDBUtils;
@@ -443,7 +442,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
                 if (zone == null) {
                     throw new InvalidParameterValueException("unable to find zone by id " + resourceId);
                 }
-                _dcDetailsDao.addDetail(resourceId, name, value);
+                _dcDetailsDao.addDetail(resourceId, name, value, true);
                 break;
             case Cluster:
                 ClusterVO cluster = _clusterDao.findById(resourceId);
@@ -465,7 +464,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
                 if (pool == null) {
                     throw new InvalidParameterValueException("unable to find storage pool by id " + resourceId);
                 }
-                _storagePoolDetailsDao.addDetail(resourceId, name, value);
+                _storagePoolDetailsDao.addDetail(resourceId, name, value, true);
 
                 break;
 
@@ -2039,7 +2038,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
             if (details != null) {
                 List<ServiceOfferingDetailsVO> detailsVO = new ArrayList<ServiceOfferingDetailsVO>();
                 for (Entry<String, String> detailEntry : details.entrySet()) {
-                    detailsVO.add(new ServiceOfferingDetailsVO(offering.getId(), detailEntry.getKey(), detailEntry.getValue()));
+                    detailsVO.add(new ServiceOfferingDetailsVO(offering.getId(), detailEntry.getKey(), detailEntry.getValue(), true));
                 }
 
                 _serviceOfferingDetailsDao.saveDetails(detailsVO);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java b/server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
index 17b4895..d91da92 100644
--- a/server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
+++ b/server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
@@ -159,7 +159,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
     @Override
     @DB
     @ActionEvent(eventType = EventTypes.EVENT_RESOURCE_DETAILS_CREATE, eventDescription = "creating resource meta data")
-    public boolean addResourceMetaData(final String resourceId, final ResourceObjectType resourceType, final Map<String, String> details) {
+    public boolean addResourceMetaData(final String resourceId, final ResourceObjectType resourceType, final Map<String, String> details, final boolean forDisplay) {
         return Transaction.execute(new TransactionCallback<Boolean>() {
             @Override
             public Boolean doInTransaction(TransactionStatus status) {
@@ -171,7 +171,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
                     }
 
                     DetailDaoHelper newDetailDaoHelper = new DetailDaoHelper(resourceType);
-                    newDetailDaoHelper.addDetail(_taggedResourceMgr.getResourceId(resourceId, resourceType), key, value);
+                    newDetailDaoHelper.addDetail(_taggedResourceMgr.getResourceId(resourceId, resourceType), key, value, forDisplay);
                 }
 
                 return true;
@@ -215,8 +215,8 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
             return dao.findDetail(resourceId, key);
         }
 
-        private void addDetail(long resourceId, String key, String value) {
-            dao.addDetail(resourceId, key, value);
+        private void addDetail(long resourceId, String key, String value, boolean forDisplay) {
+            dao.addDetail(resourceId, key, value, forDisplay);
         }
 
         private Map<String, String> getDetailsMap(long resourceId, Boolean forDisplay) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e0de79b1/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index f6f20cc..5457dea 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -1431,7 +1431,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
         details.put(UsageEventVO.DynamicParameters.memory.name(), serviceOffering.getRamSize().toString());
         List<UserVmDetailVO> detailList = new ArrayList<UserVmDetailVO>();
         for (String key : details.keySet()) {
-            UserVmDetailVO detailVO = new UserVmDetailVO(vmId, key, details.get(key));
+            UserVmDetailVO detailVO = new UserVmDetailVO(vmId, key, details.get(key), true);
             detailList.add(detailVO);
         }
         _uservmDetailsDao.saveDetails(detailList);
@@ -1445,7 +1445,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
         details.remove(UsageEventVO.DynamicParameters.memory.name());
         List<UserVmDetailVO> detailList = new ArrayList<UserVmDetailVO>();
         for (String key : details.keySet()) {
-            UserVmDetailVO detailVO = new UserVmDetailVO(vmId, key, details.get(key));
+            UserVmDetailVO detailVO = new UserVmDetailVO(vmId, key, details.get(key), true);
             detailList.add(detailVO);
         }
         _uservmDetailsDao.saveDetails(detailList);