Juan Hernandez has uploaded a new change for review. Change subject: core, restapi: External provider helper ......................................................................
core, restapi: External provider helper This patch introduces a helper class that will be used by the external provider resource classes. This class contains a method that loads a provider by id, needed in several places, and in order to implement it a new query is also needed. Change-Id: I6977b8acc361aadd2225af4613c44da34e3a3795 Related-To: https://bugzilla.redhat.com/1132259 Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetProviderByIdQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java A backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendExternalProviderHelper.java 3 files changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/33962/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetProviderByIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetProviderByIdQuery.java new file mode 100644 index 0000000..500643d --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetProviderByIdQuery.java @@ -0,0 +1,39 @@ +/* +* Copyright (c) 2014 Red Hat, Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.ovirt.engine.core.bll.provider; + +import org.ovirt.engine.core.bll.QueriesCommandBase; +import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.provider.ProviderDao; + +@SuppressWarnings("unused") +public class GetProviderByIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { + + public GetProviderByIdQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + Guid id = getParameters().getId(); + ProviderDao dao = getDbFacade().getProviderDao(); + Provider provider = dao.get(id); + getQueryReturnValue().setReturnValue(provider); + } +} 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 c9b542a..309375f 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 @@ -339,6 +339,7 @@ // Providers GetAllProviders, + GetProviderById, GetAllNetworksForProvider, //Network QoS diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendExternalProviderHelper.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendExternalProviderHelper.java new file mode 100644 index 0000000..10a27dd --- /dev/null +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendExternalProviderHelper.java @@ -0,0 +1,40 @@ +/* +* Copyright (c) 2014 Red Hat, Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.ovirt.engine.api.restapi.resource; + +import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.compat.Guid; + +/** + * A collection of functions useful for dealing with external providers. + */ +public class BackendExternalProviderHelper { + /** + * Finds the provider that corresponds to the given identifier. + * + * @param resource the resource that will be used to perform the required queries + * @param id the identifier of the provider + * @return the reference to the provider or {@code null} if no such provider exists + */ + public static Provider getProvider(BackendResource resource, String id) { + Guid guid = Guid.createGuidFromString(id); + IdQueryParameters parameters = new IdQueryParameters(guid); + return resource.getEntity(Provider.class, VdcQueryType.GetProviderById, parameters, id, true); + } +} -- To view, visit http://gerrit.ovirt.org/33962 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6977b8acc361aadd2225af4613c44da34e3a3795 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches