summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/core-spi/src/main/java/org/apache/tuscany
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-02-20 20:10:37 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-02-20 20:10:37 +0000
commit3a8a64103bcc4891fb1a1f4cc4538f9d5b62a7ba (patch)
treeccd8919c277ad88c032acb3167fdd4645586cb07 /java/sca/modules/core-spi/src/main/java/org/apache/tuscany
parent7b9fa54dced70baffa6578b0be902b06092584a7 (diff)
Start to implement the SCA policy framework 1.1 spec draft from OASIS OpenCSA
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@746356 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/core-spi/src/main/java/org/apache/tuscany')
-rw-r--r--java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java2
-rw-r--r--java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultDefinitionsProviderExtensionPoint.java12
-rw-r--r--java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java2
-rw-r--r--java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java3
4 files changed, 10 insertions, 9 deletions
diff --git a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java
index 2aea4baa67..b2d0639a16 100644
--- a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java
+++ b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java
@@ -92,7 +92,7 @@ public class DefaultEndpointResolverFactoryExtensionPoint implements EndpointRes
* Load provider factories declared under META-INF/services.
* @param registry
*/
- private void loadProviderFactories() {
+ private synchronized void loadProviderFactories() {
if (loaded)
return;
diff --git a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultDefinitionsProviderExtensionPoint.java b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultDefinitionsProviderExtensionPoint.java
index 47757bee24..fc1c2ed5af 100644
--- a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultDefinitionsProviderExtensionPoint.java
+++ b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultDefinitionsProviderExtensionPoint.java
@@ -38,6 +38,7 @@ public class DefaultDefinitionsProviderExtensionPoint implements
private ExtensionPointRegistry extensionPointRegistry = null;
+ private boolean loaded;
private List<DefinitionsProvider> scaDefnsProviders = new ArrayList<DefinitionsProvider>();
public DefaultDefinitionsProviderExtensionPoint(ExtensionPointRegistry extnPtReg) {
@@ -53,13 +54,14 @@ public class DefaultDefinitionsProviderExtensionPoint implements
}
public List<DefinitionsProvider> getDefinitionsProviders() {
- if (scaDefnsProviders.isEmpty()) {
- loadProviders();
- }
+ loadProviders();
return scaDefnsProviders;
}
- private void loadProviders() {
+ private synchronized void loadProviders() {
+ if(loaded) {
+ return;
+ }
// Get the provider service declarations
Set<ServiceDeclaration> defnProviderDecls;
DefinitionsProvider aProvider = null;
@@ -86,6 +88,6 @@ public class DefaultDefinitionsProviderExtensionPoint implements
} catch (Exception e) {
throw new RuntimeException(e);
}
-
+ loaded = true;
}
}
diff --git a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
index 5e17737d58..518927939f 100644
--- a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
+++ b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
@@ -106,7 +106,7 @@ public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExte
* Load provider factories declared under META-INF/services.
* @param registry
*/
- private void loadProviderFactories() {
+ private synchronized void loadProviderFactories() {
if (loaded)
return;
diff --git a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java
index b60a14d2da..d9ac4d16b0 100644
--- a/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java
+++ b/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java
@@ -21,7 +21,6 @@ package org.apache.tuscany.sca.provider;
import org.apache.tuscany.sca.assembly.Binding;
import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.policy.Policy;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
@@ -29,7 +28,7 @@ import org.apache.tuscany.sca.runtime.RuntimeComponentService;
/**
* @version $Rev$ $Date$
*/
-public interface PolicyProviderFactory<M extends Policy> extends ProviderFactory<M> {
+public interface PolicyProviderFactory<M> extends ProviderFactory<M> {
/**
* Create policy provider for a given reference binding
* @param component