summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-08-24 22:50:49 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-08-24 22:50:49 +0000
commit81358f327591d183cb2ea2efade790a282307d67 (patch)
tree6a2d070da539a8dadba9d0568af5033b647b54cd /sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java
parent27fa5a2336ac250059a5440b5676c757bab68ae2 (diff)
Port the policy changes
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@988752 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java')
-rw-r--r--sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java b/sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java
index 64f4ce20dc..900356698d 100644
--- a/sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java
+++ b/sca-java-2.x/trunk/modules/implementation-spring-tie/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/tie/ScaServiceBeanDefinitionParser.java
@@ -16,6 +16,12 @@
*/
package org.apache.tuscany.sca.implementation.spring.namespace.tie;
+import static org.apache.tuscany.sca.implementation.spring.namespace.tie.ScaNamespaceHandler.getAttribute;
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
import org.apache.tuscany.sca.implementation.spring.context.tie.SCAGenericApplicationContext;
import org.apache.tuscany.sca.implementation.spring.elements.tie.SpringSCAServiceElement;
import org.springframework.beans.factory.config.BeanDefinition;
@@ -36,9 +42,21 @@ public class ScaServiceBeanDefinitionParser implements BeanDefinitionParser {
if (registry instanceof SCAGenericApplicationContext) {
SCAGenericApplicationContext context = (SCAGenericApplicationContext)registry;
SpringSCAServiceElement serviceElement =
- new SpringSCAServiceElement(element.getAttributeNS(null, "name"),
- element.getAttributeNS(null, "target"));
- serviceElement.setType(element.getAttributeNS(null, "type"));
+ new SpringSCAServiceElement(getAttribute(element, "name"), getAttribute(element, "target"));
+ serviceElement.setType(getAttribute(element, "type"));
+
+ String requires = getAttribute(element, "requires");
+ if (requires != null) {
+ List<QName> qnames = ScaNamespaceHandler.resolve(element, requires);
+ serviceElement.getIntentNames().addAll(qnames);
+ }
+
+ String policySets = getAttribute(element, "policySets");
+ if (policySets != null) {
+ List<QName> qnames = ScaNamespaceHandler.resolve(element, policySets);
+ serviceElement.getPolicySetNames().addAll(qnames);
+ }
+
context.addSCAServiceElement(serviceElement);
}
// do nothing, handled by Tuscany