You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/05/26 09:54:13 UTC

svn commit: r409583 - /incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/

Author: jmarino
Date: Fri May 26 00:54:13 2006
New Revision: 409583

URL: http://svn.apache.org/viewvc?rev=409583&view=rev
Log:
more Spring namespace handling

Added:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaServiceBeanDefinitionParser.java
Modified:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCABeanDefinitionReader.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandler.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandlerResolver.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCAXMLBeanDefinitionParser.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaReferenceBeanDefinitionParser.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCABeanDefinitionReader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCABeanDefinitionReader.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCABeanDefinitionReader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCABeanDefinitionReader.java Fri May 26 00:54:13 2006
@@ -21,4 +21,5 @@
     protected XmlBeanDefinitionParser createXmlBeanDefinitionParser() {
         return new SCAXmlBeanDefinitionParser(componentType);
     }
+
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandler.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandler.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandler.java Fri May 26 00:54:13 2006
@@ -1,15 +1,14 @@
 package org.apache.tuscany.container.spring;
 
-import org.springframework.beans.factory.xml.NamespaceHandler;
-import org.springframework.beans.factory.xml.BeanDefinitionParser;
-import org.springframework.beans.factory.xml.BeanDefinitionDecorator;
-import org.w3c.dom.Element;
 import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
 
 /**
+ * Handler for processing elements defined in a Spring configuration with the SCA namespace
+ *
  * @version $$Rev$$ $$Date$$
  */
-public class SCANamespaceHandler implements NamespaceHandler {
+public class SCANamespaceHandler extends NamespaceHandlerSupport {
 
     private CompositeComponentType componentType;
 
@@ -18,14 +17,9 @@
     }
 
     public void init() {
-
-    }
-
-    public BeanDefinitionParser findParserForElement(Element element) {
-        return null;
-    }
-
-    public BeanDefinitionDecorator findDecoratorForElement(Element element) {
-        return null;
+        registerBeanDefinitionParser(ScaServiceBeanDefinitionParser.SERVICE_ELEMENT,
+                new ScaServiceBeanDefinitionParser(componentType));
+        registerBeanDefinitionParser(ScaReferenceBeanDefinitionParser.REFERENCE_ELEMENT,
+                new ScaReferenceBeanDefinitionParser(componentType));
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandlerResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandlerResolver.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandlerResolver.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCANamespaceHandlerResolver.java Fri May 26 00:54:13 2006
@@ -5,6 +5,9 @@
 import org.springframework.beans.factory.xml.NamespaceHandler;
 
 /**
+ * Overides the default Spring namespace resolver to autmatically register {@link SCANamespaceHandler} instead
+ * of requiring a value to be supplied in a Spring configuration
+ *
  * @version $$Rev$$ $$Date$$
  */
 public class SCANamespaceHandlerResolver extends DefaultNamespaceHandlerResolver {
@@ -25,10 +28,6 @@
         handler = new SCANamespaceHandler(componentType);
     }
 
-    /**
-     * Locate the {@link org.springframework.beans.factory.xml.NamespaceHandler} for the supplied namespace
-     * URI from the configured mappings.
-     */
     public NamespaceHandler resolve(String namespaceUri) {
         if (SCA_NAMESPACE.equals(namespaceUri)) {
             return handler;

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCAXMLBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCAXMLBeanDefinitionParser.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCAXMLBeanDefinitionParser.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SCAXMLBeanDefinitionParser.java Fri May 26 00:54:13 2006
@@ -1,10 +1,13 @@
 package org.apache.tuscany.container.spring;
 
+import org.apache.tuscany.spi.model.CompositeComponentType;
 import org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser;
 import org.springframework.beans.factory.xml.NamespaceHandlerResolver;
-import org.apache.tuscany.spi.model.CompositeComponentType;
 
 /**
+ * Overrides the default top-level Spring parser to use {@link SCANamespaceHandlerResolver} for resolving
+ * namespace handlers
+ *
  * @version $$Rev$$ $$Date$$
  */
 public class SCAXmlBeanDefinitionParser extends DefaultXmlBeanDefinitionParser {
@@ -20,7 +23,7 @@
         if (classLoader == null) {
             classLoader = Thread.currentThread().getContextClassLoader();
         }
-        return new SCANamespaceHandlerResolver(classLoader,componentType);
+        return new SCANamespaceHandlerResolver(classLoader, componentType);
     }
 
 

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaReferenceBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaReferenceBeanDefinitionParser.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaReferenceBeanDefinitionParser.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaReferenceBeanDefinitionParser.java Fri May 26 00:54:13 2006
@@ -1,17 +1,19 @@
 package org.apache.tuscany.container.spring;
 
+import org.apache.tuscany.spi.model.CompositeComponentType;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.xml.BeanDefinitionParser;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
-import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.context.CompositeContext;
 
 /**
+ * Processes <code>reference</code> elements in a Spring configuration
+ *
  * @version $$Rev$$ $$Date$$
  */
 public class ScaReferenceBeanDefinitionParser implements BeanDefinitionParser {
 
+    public static final String REFERENCE_ELEMENT = "reference";
     private static final String REFERENCE_NAME_ATTRIBUTE = "name";
     private static final String REFERENCE_NAME_PROPERTY = "referenceName";
     private static final String TYPE_ATTRIBUTE = "type";
@@ -20,11 +22,10 @@
     private static final String DEFAULT_SERVICE_ATTRIBUTE = "default";
     //private static final String DEFAULT_SERVICE_PROPERTY = "defaultServiceName";
 
-    private Deployer deploy;
-    private CompositeContext context;
-
-    public ScaReferenceBeanDefinitionParser(Deployer deployer, CompositeContext context ) {
+    private CompositeComponentType componentType;
 
+    public ScaReferenceBeanDefinitionParser(CompositeComponentType componentType) {
+        this.componentType = componentType;
     }
 
     public BeanDefinition parse(Element element, ParserContext parserContext) {

Added: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaServiceBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaServiceBeanDefinitionParser.java?rev=409583&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaServiceBeanDefinitionParser.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/ScaServiceBeanDefinitionParser.java Fri May 26 00:54:13 2006
@@ -0,0 +1,28 @@
+package org.apache.tuscany.container.spring;
+
+import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.beans.factory.xml.BeanDefinitionParser;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
+/**
+ * Processes <code>service</code> elements in a Spring configuration
+ *
+ * @version $$Rev$$ $$Date$$
+ */
+public class ScaServiceBeanDefinitionParser implements BeanDefinitionParser {
+
+    public static final String SERVICE_ELEMENT = "service";
+
+    private CompositeComponentType componentType;
+
+    public ScaServiceBeanDefinitionParser(CompositeComponentType componentType) {
+        this.componentType = componentType;
+    }
+
+    public BeanDefinition parse(Element element, ParserContext parserContext) {
+        return null;
+    }
+
+}

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringComponentTypeLoader.java Fri May 26 00:54:13 2006
@@ -9,6 +9,10 @@
 import org.springframework.core.io.Resource;
 
 /**
+ * Loads a component type for a Spring <code>ApplicationContext</code>. The impplementation creates a new
+ * instance of a Spring application context which is configured with SCA namespace handlers for generating
+ * component type information
+ *
  * @version $$Rev$$ $$Date$$
  */
 public class SpringComponentTypeLoader implements ComponentTypeLoader<SpringImplementation> {

Modified: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java?rev=409583&r1=409582&r2=409583&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java Fri May 26 00:54:13 2006
@@ -1,8 +1,5 @@
 package org.apache.tuscany.container.spring;
 
-import java.net.MalformedURLException;
-import java.net.URL;
-
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.context.ComponentContext;
 import org.apache.tuscany.spi.context.CompositeContext;
@@ -29,7 +26,7 @@
                                   DeploymentContext deploymentContext) throws BuilderConfigException {
         String name = component.getName();
         ConfigurableApplicationContext applicationContext = component.getImplementation().getApplicationContext();
-        SpringCompositeContext context = new SpringCompositeContext(name,applicationContext, parent);
+        SpringCompositeContext context = new SpringCompositeContext(name, applicationContext, parent);
         CompositeComponentType componentType = component.getImplementation().getComponentType();
         for (Service service : componentType.getServices().values()) {
             if (service instanceof BoundService) {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org