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

Reply via email to