Daniel Erez has uploaded a new change for review. Change subject: core: ProviderProxy interface - getProviderValidator ......................................................................
core: ProviderProxy interface - getProviderValidator ProviderProxy interface: adding 'getProviderValidator' signature in order to support a specific provider validator for each provider proxy type (will be used for CinderProviderValidator). Change-Id: Ifc062d7b62d6769afa97d100e239a313f72b3c4b Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/BaseProviderProxy.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxy.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/network/openstack/OpenstackNetworkProviderProxy.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/AbstractOpenStackStorageProviderProxy.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackImageProviderProxy.java 5 files changed, 39 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/38873/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/BaseProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/BaseProviderProxy.java index a0bb728..36aabd2 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/BaseProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/BaseProviderProxy.java @@ -37,6 +37,7 @@ private URL url; private Provider<?> hostProvider; + private ProviderValidator providerValidator; protected static enum HttpMethodType { GET, @@ -194,5 +195,12 @@ return result; } + @Override + public ProviderValidator getProviderValidator() { + if (providerValidator == null) { + providerValidator = new ProviderValidator(hostProvider); + } + return providerValidator; + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxy.java index 2d4bf6b..ef62621 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxy.java @@ -4,7 +4,7 @@ import java.util.List; -public interface ProviderProxy { +public interface ProviderProxy<T extends ProviderValidator> { /** * Test the connection to the provider.<br> @@ -37,4 +37,10 @@ */ void onRemoval(); + /** + * Gets a specific validator for the provider + * @return + */ + T getProviderValidator(); + } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/network/openstack/OpenstackNetworkProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/network/openstack/OpenstackNetworkProviderProxy.java index f81f07f..53567a2 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/network/openstack/OpenstackNetworkProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/network/openstack/OpenstackNetworkProviderProxy.java @@ -12,6 +12,7 @@ import org.apache.commons.lang.NotImplementedException; import org.apache.commons.lang.StringUtils; import org.codehaus.jackson.annotate.JsonIgnoreProperties; +import org.ovirt.engine.core.bll.provider.ProviderValidator; import org.ovirt.engine.core.bll.provider.network.NetworkProviderProxy; import org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties; import org.ovirt.engine.core.common.businessentities.Provider; @@ -55,6 +56,8 @@ private Provider<OpenstackNetworkProviderProperties> provider; private Quantum client; + + private ProviderValidator providerValidator; public OpenstackNetworkProviderProxy(Provider<OpenstackNetworkProviderProperties> provider) { this.provider = provider; @@ -339,4 +342,12 @@ private static class ApiRootResponse { // No implementation since we don't care what's inside the response, just that it succeeded. } + + @Override + public ProviderValidator getProviderValidator() { + if (providerValidator == null) { + providerValidator = new ProviderValidator(provider); + } + return providerValidator; + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/AbstractOpenStackStorageProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/AbstractOpenStackStorageProviderProxy.java index 59e888b..ec3c551 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/AbstractOpenStackStorageProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/AbstractOpenStackStorageProviderProxy.java @@ -7,6 +7,7 @@ import com.woorea.openstack.keystone.model.Access; import com.woorea.openstack.keystone.utils.KeystoneTokenProvider; import org.ovirt.engine.core.bll.provider.ProviderProxy; +import org.ovirt.engine.core.bll.provider.ProviderValidator; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic; @@ -24,7 +25,7 @@ import java.security.cert.Certificate; import java.util.List; -public abstract class AbstractOpenStackStorageProviderProxy<C extends OpenStackClient, T extends TenantProviderProperties> implements ProviderProxy { +public abstract class AbstractOpenStackStorageProviderProxy<C extends OpenStackClient, T extends TenantProviderProperties, V extends ProviderValidator> implements ProviderProxy<V> { protected C client; @@ -36,6 +37,8 @@ protected StorageDomain storageDomain; + protected V providerValidator; + @Override public void testConnection() { try { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackImageProviderProxy.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackImageProviderProxy.java index 9a06d7b..72d31a7 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackImageProviderProxy.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/storage/OpenStackImageProviderProxy.java @@ -9,6 +9,7 @@ import java.util.Map; import org.ovirt.engine.core.bll.provider.ProviderProxyFactory; +import org.ovirt.engine.core.bll.provider.ProviderValidator; import org.ovirt.engine.core.common.businessentities.OpenStackImageProviderProperties; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.StorageDomain; @@ -27,7 +28,7 @@ import com.woorea.openstack.glance.model.ImageDownload; import com.woorea.openstack.glance.model.Images; -public class OpenStackImageProviderProxy extends AbstractOpenStackStorageProviderProxy<Glance, OpenStackImageProviderProperties> { +public class OpenStackImageProviderProxy extends AbstractOpenStackStorageProviderProxy<Glance, OpenStackImageProviderProperties, ProviderValidator> { enum GlanceImageFormat { RAW("raw"), @@ -300,4 +301,11 @@ return getProvider().getUrl() + API_VERSION + "/images/" + id; } + @Override + public ProviderValidator getProviderValidator() { + if (providerValidator == null) { + providerValidator = new ProviderValidator(provider); + } + return providerValidator; + } } -- To view, visit https://gerrit.ovirt.org/38873 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc062d7b62d6769afa97d100e239a313f72b3c4b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches