Mike Kolesnik has uploaded a new change for review. Change subject: engine: Added provider CRUD operations ......................................................................
engine: Added provider CRUD operations Added all CRUD operations on providers. Currently implementation is naive, but it will be improved in the future. Change-Id: Ifa74c2adb7d755f5b916629cec415d56461bbb13 Signed-off-by: Mike Kolesnik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 8 files changed, 163 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/10848/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java index 83322dc..ca04b02 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java @@ -31,7 +31,8 @@ "org.ovirt.engine.core.bll.network.cluster", "org.ovirt.engine.core.bll.network.host", "org.ovirt.engine.core.bll.network.vm", - "org.ovirt.engine.core.bll.network.template" }; + "org.ovirt.engine.core.bll.network.template", + "org.ovirt.engine.core.bll.provider" }; private static ConcurrentMap<String, Class<CommandBase<? extends VdcActionParametersBase>>> commandsCache = new ConcurrentHashMap<String, Class<CommandBase<? extends VdcActionParametersBase>>>(VdcActionType.values().length); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java new file mode 100644 index 0000000..f3d6862 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java @@ -0,0 +1,39 @@ +package org.ovirt.engine.core.bll.provider; + +import java.util.Collections; +import java.util.List; + +import org.ovirt.engine.core.bll.CommandBase; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.ProviderParameters; +import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.compat.Guid; + +@SuppressWarnings("serial") +public class AddProviderCommand<P extends ProviderParameters> extends CommandBase<P> { + + public AddProviderCommand(Guid commandId) { + super(commandId); + } + + public AddProviderCommand(P parameters) { + super(parameters); + } + + @Override + protected void executeCommand() { + getParameters().getProvider().setId(Guid.NewGuid()); + getDbFacade().getNetworkProviderDao().save(getParameters().getProvider()); + getReturnValue().setActionReturnValue(getParameters().getProvider().getId()); + setSucceeded(true); + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(Guid.SYSTEM, + VdcObjectType.System, + ActionGroup.CREATE_STORAGE_POOL)); + } + +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java new file mode 100644 index 0000000..b781ccb --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java @@ -0,0 +1,16 @@ +package org.ovirt.engine.core.bll.provider; + +import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; + +public class GetAllProvidersQuery<P extends VdcQueryParametersBase> extends QueriesCommandBase<P> { + + public GetAllProvidersQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + setReturnValue(getDbFacade().getNetworkProviderDao().getAll()); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java new file mode 100644 index 0000000..b09f745 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java @@ -0,0 +1,36 @@ +package org.ovirt.engine.core.bll.provider; + +import java.util.Collections; +import java.util.List; + +import org.ovirt.engine.core.bll.CommandBase; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.ProviderParameters; +import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.compat.Guid; + +@SuppressWarnings("serial") +public class RemoveProviderCommand<P extends ProviderParameters> extends CommandBase<P> { + + public RemoveProviderCommand(Guid commandId) { + super(commandId); + } + + public RemoveProviderCommand(P parameters) { + super(parameters); + } + + @Override + protected void executeCommand() { + getDbFacade().getNetworkProviderDao().remove(getParameters().getProvider().getId()); + setSucceeded(true); + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(Guid.SYSTEM, + VdcObjectType.System, + ActionGroup.CREATE_STORAGE_POOL)); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java new file mode 100644 index 0000000..04f801c --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java @@ -0,0 +1,36 @@ +package org.ovirt.engine.core.bll.provider; + +import java.util.Collections; +import java.util.List; + +import org.ovirt.engine.core.bll.CommandBase; +import org.ovirt.engine.core.bll.utils.PermissionSubject; +import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.action.ProviderParameters; +import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.compat.Guid; + +@SuppressWarnings("serial") +public class UpdateProviderCommand<P extends ProviderParameters> extends CommandBase<P> { + + public UpdateProviderCommand(Guid commandId) { + super(commandId); + } + + public UpdateProviderCommand(P parameters) { + super(parameters); + } + + @Override + protected void executeCommand() { + getDbFacade().getNetworkProviderDao().update(getParameters().getProvider()); + setSucceeded(true); + } + + @Override + public List<PermissionSubject> getPermissionCheckSubjects() { + return Collections.singletonList(new PermissionSubject(Guid.SYSTEM, + VdcObjectType.System, + ActionGroup.CREATE_STORAGE_POOL)); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java new file mode 100644 index 0000000..8755482 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.businessentities.network.NetworkProvider; + +public class ProviderParameters extends VdcActionParametersBase { + + private static final long serialVersionUID = 308877238353433739L; + + private NetworkProvider provider; + + public ProviderParameters() { + } + + public ProviderParameters(NetworkProvider provider) { + this.provider = provider; + } + + public NetworkProvider getProvider() { + return provider; + } + + public void setProvider(NetworkProvider provider) { + this.provider = provider; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index 5a144c8..f6cd337 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -266,7 +266,12 @@ // External events AddExternalEvent(1500, ActionGroup.INJECT_EXTERNAL_EVENTS, QuotaDependency.NONE), - RemoveExternalEvent(1501, ActionGroup.INJECT_EXTERNAL_EVENTS, QuotaDependency.NONE); + RemoveExternalEvent(1501, ActionGroup.INJECT_EXTERNAL_EVENTS, QuotaDependency.NONE), + + // Providers + AddProvider(1600, QuotaDependency.NONE), + UpdateProvider(1601, QuotaDependency.NONE), + RemoveProvider(1602, QuotaDependency.NONE); private int intValue; private ActionGroup actionGroup; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java index 5c18ced..ff69162 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java @@ -292,6 +292,9 @@ GetGlusterVolumeAdvancedDetails, GetGlusterVolumeProfileInfo, + // Providers + GetAllProviders, + // Default type instead of having to null check Unknown(VdcQueryAuthType.User); -- To view, visit http://gerrit.ovirt.org/10848 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifa74c2adb7d755f5b916629cec415d56461bbb13 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Mike Kolesnik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
