summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/contribution/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-27 21:04:51 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-27 21:04:51 +0000
commit5cfd47acaadaca214fa71ac58fb9225825d3f561 (patch)
tree590e5686b28c64c13a13a29dfc8a26910b83e5f3 /java/sca/modules/contribution/src/main
parent49992e45cb204a23cf1800d5c078e50600ff044c (diff)
Use sca-config XML files for SCA binding/policy definitions
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@830339 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/contribution/src/main')
-rw-r--r--java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
index 7cbf8d5528..e66dee26af 100644
--- a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
+++ b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import java.util.StringTokenizer;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
@@ -103,11 +104,19 @@ public class DefaultModelResolverExtensionPoint implements ModelResolverExtensio
}
// Load model resolvers
- for (ServiceDeclaration modelResolverDeclaration: modelResolverDeclarations) {
+ for (ServiceDeclaration modelResolverDeclaration : modelResolverDeclarations) {
Map<String, String> attributes = modelResolverDeclaration.getAttributes();
String model = attributes.get("model");
+ // The model can be a list of interfaces so that one model resolver can be used
+ // to resolve different types of models
+ if (model != null) {
+ StringTokenizer tokenizer = new StringTokenizer(model);
+ while (tokenizer.hasMoreTokens()) {
+ String key = tokenizer.nextToken();
+ loadedResolvers.put(key, modelResolverDeclaration);
+ }
- loadedResolvers.put(model, modelResolverDeclaration);
+ }
}
}