From 4c992115eb659a49506d19fbb8c116bc44f7421d Mon Sep 17 00:00:00 2001 From: rfeng Date: Thu, 11 Mar 2010 04:45:13 +0000 Subject: Allows RMIHost to return mapped uri git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@921690 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/provider/DefaultProviderFactoryExtensionPoint.java | 11 +++++++++++ .../tuscany/sca/provider/ProviderFactoryExtensionPoint.java | 10 ++++++++++ 2 files changed, 21 insertions(+) (limited to 'sca-java-2.x/trunk/modules/core-spi') diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java index 8621baca2e..6aad6786e3 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java @@ -102,6 +102,17 @@ public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExte loadProviderFactories(); return policyProviderFactories; } + + public

Collection

getProviderFactories(Class

factoryType) { + loadProviderFactories(); + List

factories = new ArrayList

(); + for (ProviderFactory pf : providerFactories.values()) { + if (factoryType.isInstance(pf)) { + factories.add(factoryType.cast(pf)); + } + } + return factories; + } /** * Load provider factories declared under META-INF/services. diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java index d8f9973338..54dd6cc912 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java @@ -19,6 +19,7 @@ package org.apache.tuscany.sca.provider; +import java.util.Collection; import java.util.List; @@ -60,4 +61,13 @@ public interface ProviderFactoryExtensionPoint { */ List getPolicyProviderFactories(); + /** + * Get a collection of provider factories by the factory type + * @param

+ * @param factoryType The factory type such as BindingProviderFactory + * @return a collection of provider factories of the factory type + */ +

Collection

getProviderFactories(Class

factoryType); + + } -- cgit v1.2.3