Change in ovirt-engine[master]: engine: Refactoring of VmTemplateHandler editable fields

ofrenkel at redhat.com ofrenkel at redhat.com
Sun Nov 10 09:05:01 UTC 2013


Omer Frenkel has submitted this change and it was merged.

Change subject: engine: Refactoring of VmTemplateHandler editable fields
......................................................................


engine: Refactoring of VmTemplateHandler editable fields

Introducing annotations EditableOnVm and EditableOnTemplate as a
replacement for hard-coded list of field names in VmTemplateHandler,
which was error-prone and difficult to maintain.

New annotation behavior:

@EditableField:
  describes that this VmBase field will be editable for
  both VMs and VmTemplates.

@EditableOnVm:
  describes that this VmBase field will be editable for VMs.

@EditableOnTemplate:
  describes that this VmBase field will be editable for VmTemplates.

On the derived entities (VmStatic, VmTemplate) you can continue using
plain @EditableField; these annotations were just added for
disambiguation of those VmBase fields that are editable only for
template of for specific VM status and template.

Implementation:

VmHandler includes into permitted fields those annotated with
EditableField, EditableOnVm and EditableOnVmStatusField (see note).
VmTemplateHandler includes into permitted fields those annotated with
EditableField and EditableOnTemplate.

note: EditableOnVmStatus behavior remains unchanged, so if you have for
example field which is editable only when the VM status is down and for
template use the following:

@EditableOnVmStatusField
@EditableOnTemplate
private String timeZone;

Change-Id: I2bd933e14310cf8f58280448a580ed761169f777
Signed-off-by: Martin Betak <mbetak at redhat.com>
---
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateHandler.java
A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EditableOnTemplate.java
A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EditableOnVm.java
M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmBase.java
M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmTemplate.java
6 files changed, 56 insertions(+), 10 deletions(-)

Approvals:
  Omer Frenkel: Verified; Looks good to me, approved



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2bd933e14310cf8f58280448a580ed761169f777
Gerrit-PatchSet: 7
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Betak <mbetak at redhat.com>
Gerrit-Reviewer: Frank Kobzik <fkobzik at redhat.com>
Gerrit-Reviewer: Martin Betak <mbetak at redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek at redhat.com>
Gerrit-Reviewer: Omer Frenkel <ofrenkel at redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan at redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjelinek at redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server



More information about the Engine-commits mailing list