use of org.ovirt.engine.core.common.businessentities.EditableVmTemplateField in project ovirt-engine by oVirt.
the class VmTemplateHandler method init.
/**
* Initialize list containers, for identity and permission check. The initialization should be executed
* before calling ObjectIdentityChecker.
*
* @see Backend#initHandlers()
*/
@PostConstruct
public void init() {
final Class<?>[] inspectedClassNames = new Class<?>[] { VmBase.class, VmTemplate.class };
updateVmTemplate = new ObjectIdentityChecker(VmTemplateHandler.class);
for (Pair<EditableVmTemplateField, Field> pair : BaseHandler.extractAnnotatedFields(EditableVmTemplateField.class, inspectedClassNames)) {
String fieldName = pair.getSecond().getName();
updateVmTemplate.addPermittedFields(fieldName);
}
for (Pair<EditableVmField, Field> pair : BaseHandler.extractAnnotatedFields(EditableVmField.class, inspectedClassNames)) {
EditableVmField annotation = pair.getFirst();
List<VMStatus> statusList = Arrays.asList(annotation.onStatuses());
String fieldName = pair.getSecond().getName();
if (statusList.isEmpty()) {
updateVmTemplate.addPermittedFields(fieldName);
}
}
}
Aggregations