Roy Golan has uploaded a new change for review. Change subject: core: Added qualifiers for CRUD actions for entities ......................................................................
core: Added qualifiers for CRUD actions for entities Added an EntityAction qualifier. its useful for observing changes in entities involved in bg services or caches such as ResourceManaer.vmManagers or the future Affinity-rules enforcer. USAGE Consider a command the updates and entity and an Observer method to watch that - see ResourceManaer and RemoveVmCommand Change-Id: I731ed7796b7deb830c19959a7c93c73df219d566 Signed-off-by: Roy Golan <rgo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/ActionType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/EntityAction.java D backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/common/qualifiers/VmDeleted.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java 5 files changed, 29 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/42413/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java index 62842d2..8725f53 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java @@ -49,6 +49,8 @@ import org.ovirt.engine.core.common.businessentities.storage.LunDisk; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.locks.LockingGroup; +import org.ovirt.engine.core.common.qualifier.ActionType; +import org.ovirt.engine.core.common.qualifier.EntityAction; import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.VmIconDao; @@ -59,7 +61,7 @@ @NonTransactiveCommandAttribute(forceCompensation = true) public class RemoveVmCommand<T extends RemoveVmParameters> extends VmCommand<T> implements QuotaStorageDependent, TaskHandlerCommand<RemoveVmParameters> { - @Inject + @Inject @EntityAction(ActionType.DELETE) private Event<Guid> vmDeleted; @Inject diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/ActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/ActionType.java new file mode 100644 index 0000000..906c232 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/ActionType.java @@ -0,0 +1,9 @@ +package org.ovirt.engine.core.common.qualifier; + +public enum ActionType { + GENERAL, + CREATE, + READ, + UPDATE, + DELETE, +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/EntityAction.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/EntityAction.java new file mode 100644 index 0000000..6acdba9 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/qualifier/EntityAction.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.core.common.qualifier; + +import javax.inject.Qualifier; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Qualifier +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.PARAMETER, ElementType.FIELD }) +public @interface EntityAction { + ActionType value() default ActionType.GENERAL; +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/common/qualifiers/VmDeleted.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/common/qualifiers/VmDeleted.java deleted file mode 100644 index e149447..0000000 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/common/qualifiers/VmDeleted.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.ovirt.engine.core.common.qualifiers; - -import javax.inject.Qualifier; - -@Qualifier -public @interface VmDeleted { -} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java index 056b497..04b3917 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/ResourceManager.java @@ -38,7 +38,8 @@ import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.interfaces.FutureVDSCall; -import org.ovirt.engine.core.common.qualifiers.VmDeleted; +import org.ovirt.engine.core.common.qualifier.ActionType; +import org.ovirt.engine.core.common.qualifier.EntityAction; import org.ovirt.engine.core.common.vdscommands.FutureVDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSAsyncReturnValue; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; @@ -543,7 +544,7 @@ return vmManagers.get(vmId); } - public void onVmDelete(@Observes @VmDeleted Guid vmId) { + public void onVmDelete(@Observes @EntityAction(ActionType.DELETE) Guid vmId) { vmManagers.remove(vmId); } -- To view, visit https://gerrit.ovirt.org/42413 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I731ed7796b7deb830c19959a7c93c73df219d566 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <rgo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches