Mike Kolesnik has uploaded a new change for review. Change subject: engine: Generify & IoC provider proxy factory ......................................................................
engine: Generify & IoC provider proxy factory To support multiple provider & provider proxy types, this factory should be generic and return the correct type. Also turned the factory into a singleton which returns an instance that can be used for DI, so that interacting classes don't have to rely on a static relationship with the factory class. Change-Id: I79d80c28921e417e9cfbb35bb621bbdb751c667a Signed-off-by: Mike Kolesnik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/TestProviderConnectivityCommand.java 2 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/67/14967/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java index 080a76d..ccb1ae5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java @@ -7,6 +7,12 @@ */ public class ProviderProxyFactory { + private static final ProviderProxyFactory INSTANCE = new ProviderProxyFactory(); + + private ProviderProxyFactory() { + // Singleton private c'tor + } + /** * Create the proxy used to communicate with the given provider. * @@ -14,7 +20,16 @@ * The provider to create the proxy for. * @return The proxy for communicating with the provider */ - public static ProviderProxy create(Provider provider) { - return null; + public <P extends ProviderProxy> P create(Provider provider) { + return (P) null; + } + + /** + * Return the {@link ProviderProxyFactory} for using as a dependency. + * + * @return The {@link ProviderProxyFactory} + */ + public static ProviderProxyFactory getInstance() { + return INSTANCE; } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/TestProviderConnectivityCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/TestProviderConnectivityCommand.java index 07c7d68..709a855 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/TestProviderConnectivityCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/TestProviderConnectivityCommand.java @@ -29,7 +29,7 @@ @Override protected void executeCommand() { - ProviderProxy proxy = ProviderProxyFactory.create(getParameters().getProvider()); + ProviderProxy proxy = ProviderProxyFactory.getInstance().create(getParameters().getProvider()); proxy.testConnection(); setSucceeded(true); -- To view, visit http://gerrit.ovirt.org/14967 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I79d80c28921e417e9cfbb35bb621bbdb751c667a 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
