Juan Hernandez has uploaded a new change for review.

Change subject: core, frontend: Query to get raw provider certificates
......................................................................

core, frontend: Query to get raw provider certificates

Currently we have a query that retrieves the certificates of an external
provider converted to a string, and this string is displayed to the
user. The RESTAPI can't easily consume this text, it should rather get
the raw certificates and render them so that callers can decide what
information to extract. To make this possible this patch renames the
existing query, to make it clear that it returns just the text, and adds
a new one that returns the raw certificates, intended for use by the
RESTAPI.

Change-Id: Ie5270bff9b671943fdea1c31369b7ad1d0dd4f67
Related-To: Bug-Url: https://bugzilla.redhat.com/1132259
Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainTextQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
4 files changed, 41 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/33961/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainQuery.java
index 352751b..6d872be 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainQuery.java
@@ -1,8 +1,5 @@
 package org.ovirt.engine.core.bll;
 
-import java.security.cert.Certificate;
-import java.util.List;
-
 import org.ovirt.engine.core.bll.provider.ProviderProxy;
 import org.ovirt.engine.core.bll.provider.ProviderProxyFactory;
 import org.ovirt.engine.core.common.businessentities.Provider;
@@ -21,17 +18,6 @@
     protected void executeQueryCommand() {
         Provider provider = getProvider();
         ProviderProxy proxy = 
ProviderProxyFactory.getInstance().create(provider);
-        
getQueryReturnValue().setReturnValue(chainToString(proxy.getCertificateChain()));
-    }
-
-    private String chainToString(List<? extends Certificate> chain) {
-        StringBuilder certStringBuilder = new StringBuilder();
-        if (chain != null) {
-            for( Certificate certificate : chain ) {
-                certStringBuilder.append(certificate.toString());
-                certStringBuilder.append('\n');
-            }
-        }
-        return certStringBuilder.toString();
+        getQueryReturnValue().setReturnValue(proxy.getCertificateChain());
     }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainTextQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainTextQuery.java
new file mode 100644
index 0000000..45a261e
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetProviderCertificateChainTextQuery.java
@@ -0,0 +1,37 @@
+package org.ovirt.engine.core.bll;
+
+import java.security.cert.Certificate;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.provider.ProviderProxy;
+import org.ovirt.engine.core.bll.provider.ProviderProxyFactory;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.queries.ProviderQueryParameters;
+
+public class GetProviderCertificateChainTextQuery<P extends 
ProviderQueryParameters> extends QueriesCommandBase<P> {
+    public GetProviderCertificateChainTextQuery(P parameters) {
+        super(parameters);
+    }
+
+    private Provider getProvider() {
+        return getParameters().getProvider();
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        Provider provider = getProvider();
+        ProviderProxy proxy = 
ProviderProxyFactory.getInstance().create(provider);
+        
getQueryReturnValue().setReturnValue(chainToString(proxy.getCertificateChain()));
+    }
+
+    private String chainToString(List<? extends Certificate> chain) {
+        StringBuilder certStringBuilder = new StringBuilder();
+        if (chain != null) {
+            for( Certificate certificate : chain ) {
+                certStringBuilder.append(certificate.toString());
+                certStringBuilder.append('\n');
+            }
+        }
+        return certStringBuilder.toString();
+    }
+}
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 cac4b0b..c9b542a 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
@@ -48,7 +48,8 @@
     GetHostGroupsFromExternalProvider(),
     GetComputeResourceFromExternalProvider(),
     GetDiscoveredHostListFromExternalProvider(),
-    GetProviderCertificateChain(),
+    GetProviderCertificateChainText,
+    GetProviderCertificateChain,
     GetHostsForStorageOperation,
     GetServerSSHPublicKey,
     GetServerSSHKeyFingerprint,
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 8a9bdae..40b7051 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -3008,7 +3008,7 @@
                 return source;
             }
         };
-        
Frontend.getInstance().runQuery(VdcQueryType.GetProviderCertificateChain, new 
ProviderQueryParameters(provider), aQuery);
+        
Frontend.getInstance().runQuery(VdcQueryType.GetProviderCertificateChainText, 
new ProviderQueryParameters(provider), aQuery);
     }
 
     private void getAllChildVlanInterfaces(Guid vdsID,


-- 
To view, visit http://gerrit.ovirt.org/33961
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie5270bff9b671943fdea1c31369b7ad1d0dd4f67
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