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/02/24 09:42:45 UTC

svn commit: r380621 - in /incubator/tuscany/java/sca: container.java/src/main/java/org/apache/tuscany/container/java/builder/ container.java/src/main/resources/ core/src/main/java/org/apache/tuscany/core/builder/impl/ core/src/main/java/org/apache/tusc...

Author: jmarino
Date: Fri Feb 24 00:42:35 2006
New Revision: 380621

URL: http://svn.apache.org/viewcvs?rev=380621&view=rev
Log:
integration of wire builders into bootstrap configuration; removal of empty package dirs

Added:
    incubator/tuscany/java/sca/core/src/test/resources/system.fragment
Removed:
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/channel/impl/
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/message/handler/
Modified:
    incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java
    incubator/tuscany/java/sca/container.java/src/main/resources/system.fragment
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContext.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java

Modified: incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java?rev=380621&r1=380620&r2=380621&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java (original)
+++ incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilder.java Fri Feb 24 00:42:35 2006
@@ -20,6 +20,7 @@
 import org.apache.tuscany.core.context.ScopeContext;
 import org.apache.tuscany.core.invocation.InvocationConfiguration;
 import org.apache.tuscany.core.invocation.spi.ProxyFactory;
+import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 
 /**
@@ -33,6 +34,10 @@
     public JavaTargetWireBuilder() {
     }
 
+    @Init(eager = true)
+    public void init() {
+    }
+
     public void connect(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope,
             ScopeContext targetScopeContext) throws BuilderConfigException {
         if (!(JavaComponentRuntimeConfiguration.class.isAssignableFrom(targetType))) {
@@ -40,8 +45,8 @@
         }
         for (InvocationConfiguration sourceInvocationConfig : sourceFactory.getProxyConfiguration().getInvocationConfigurations()
                 .values()) {
-            ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(sourceFactory.getProxyConfiguration().getTargetName(), sourceInvocationConfig.getMethod(),
-                    targetScopeContext);
+            ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(sourceFactory.getProxyConfiguration()
+                    .getTargetName(), sourceInvocationConfig.getMethod(), targetScopeContext);
             if (downScope) {
                 // the source scope is shorter than the target, so the invoker can cache the target instance
                 invoker.setCacheable(true);
@@ -52,17 +57,19 @@
         }
     }
 
-    public void completeTargetChain(ProxyFactory targetFactory, Class targetType, ScopeContext targetScopeContext) throws BuilderConfigException {
-        //TODO implement. 
-//        if (!(JavaComponentRuntimeConfiguration.class.isAssignableFrom(targetType))) {
-//            return;
-//        }
-//        for (InvocationConfiguration targetInvocationConfig : targetFactory.getProxyConfiguration().getInvocationConfigurations()
-//                .values()) {
-//            ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(targetFactory.getProxyConfiguration()
-//                    .getTargetName(), ((JavaOperationType) targetInvocationConfig.getOperationType()).getJavaMethod(),
-//                    targetScopeContext);
-//            targetInvocationConfig.setTargetInvoker(invoker);
-//        }
+    public void completeTargetChain(ProxyFactory targetFactory, Class targetType, ScopeContext targetScopeContext)
+            throws BuilderConfigException {
+        // TODO implement.
+        // if (!(JavaComponentRuntimeConfiguration.class.isAssignableFrom(targetType))) {
+        // return;
+        // }
+        // for (InvocationConfiguration targetInvocationConfig :
+        // targetFactory.getProxyConfiguration().getInvocationConfigurations()
+        // .values()) {
+        // ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker(targetFactory.getProxyConfiguration()
+        // .getTargetName(), ((JavaOperationType) targetInvocationConfig.getOperationType()).getJavaMethod(),
+        // targetScopeContext);
+        // targetInvocationConfig.setTargetInvoker(invoker);
+        // }
     }
 }

Modified: incubator/tuscany/java/sca/container.java/src/main/resources/system.fragment
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/main/resources/system.fragment?rev=380621&r1=380620&r2=380621&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/main/resources/system.fragment (original)
+++ incubator/tuscany/java/sca/container.java/src/main/resources/system.fragment Fri Feb 24 00:42:35 2006
@@ -22,8 +22,20 @@
         <system:implementation.system class="org.apache.tuscany.container.java.builder.JavaComponentContextBuilder"/>
     </component>
 
+    <component name="org.apache.tuscany.container.java.builder.JavaTargetWireBuilder">
+        <system:implementation.system class="org.apache.tuscany.container.java.builder.JavaTargetWireBuilder"/>
+    </component>
+    <!-- this needs to be wired to the defailt wire builder in the core system.fragment
+    <wire>
+        <source.uri>org.apache.tuscany.core.builder.impl.DefaultWireBuilder/wireBuilders</source.uri>
+        <target.uri>org.apache.tuscany.container.java.builder.JavaTargetWireBuilder</target.uri>
+    </wire>
+    -->
     <component name="org.apache.tuscany.container.java.loader.JavaSCDLModelLoader">
         <system:implementation.system class="org.apache.tuscany.container.java.loader.JavaSCDLModelLoader"/>
-    </component>
+    </component>
+    
+    
+    
 
 </moduleFragment>

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java?rev=380621&r1=380620&r2=380621&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/DefaultWireBuilder.java Fri Feb 24 00:42:35 2006
@@ -25,6 +25,9 @@
 import org.apache.tuscany.core.invocation.InvocationConfiguration;
 import org.apache.tuscany.core.invocation.impl.MessageChannelImpl;
 import org.apache.tuscany.core.invocation.spi.ProxyFactory;
+import org.apache.tuscany.core.runtime.RuntimeContext;
+import org.apache.tuscany.core.system.annotation.Autowire;
+import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 
 /**
@@ -36,11 +39,23 @@
 @Scope("MODULE")
 public class DefaultWireBuilder implements WireBuilder {
 
+    // collection configured wire builders
+    private List<WireBuilder> builders = new ArrayList();
+
+    private RuntimeContext runtimeContext;
+
+    @Autowire
+    public void setRuntimeContext(RuntimeContext ctx) {
+        runtimeContext = ctx;
+    }
+
     public DefaultWireBuilder() {
     }
 
-    // other configured wire builders
-    private List<WireBuilder> builders = new ArrayList();
+    @Init(eager = true)
+    public void init() {
+        runtimeContext.addBuilder(this);
+    }
 
     /**
      * Adds a wire builder to delegate to
@@ -49,24 +64,31 @@
         builders.add(builder);
     }
 
+    public void setWireBuilders(List<WireBuilder> builders) {
+        builders.addAll(builders);
+    }
+    
     public void connect(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope,
             ScopeContext targetScopeContext) {
         QualifiedName targetName = sourceFactory.getProxyConfiguration().getTargetName();
         // get the proxy chain for the target
         if (targetFactory != null) {
             // if null, the target side has no interceptors or handlers
-            Map<Method, InvocationConfiguration> targetInvocationConfigs = targetFactory.getProxyConfiguration().getInvocationConfigurations();
+            Map<Method, InvocationConfiguration> targetInvocationConfigs = targetFactory.getProxyConfiguration()
+                    .getInvocationConfigurations();
             for (InvocationConfiguration sourceInvocationConfig : sourceFactory.getProxyConfiguration()
                     .getInvocationConfigurations().values()) {
                 // match invocation chains
                 InvocationConfiguration targetInvocationConfig = targetInvocationConfigs.get(sourceInvocationConfig.getMethod());
                 // if handler is configured, add that
                 if (targetInvocationConfig.getRequestHandlers() != null) {
-                    sourceInvocationConfig.setTargetRequestChannel(new MessageChannelImpl(targetInvocationConfig.getRequestHandlers()));
-                    sourceInvocationConfig.setTargetResponseChannel(new MessageChannelImpl(targetInvocationConfig.getResponseHandlers()));
+                    sourceInvocationConfig.setTargetRequestChannel(new MessageChannelImpl(targetInvocationConfig
+                            .getRequestHandlers()));
+                    sourceInvocationConfig.setTargetResponseChannel(new MessageChannelImpl(targetInvocationConfig
+                            .getResponseHandlers()));
                 } else {
                     // no handlers, just connect interceptors
-                    if (targetInvocationConfig.getTargetInterceptor() == null){
+                    if (targetInvocationConfig.getTargetInterceptor() == null) {
                         BuilderConfigException e = new BuilderConfigException("No target handler or interceptor for operation");
                         e.setIdentifier(targetInvocationConfig.getMethod().getName());
                         throw e;
@@ -87,8 +109,9 @@
             // TODO optimize if no proxy needed using NullProxyFactory
         }
     }
-    
-    public void completeTargetChain(ProxyFactory targetFactory, Class targetType,ScopeContext targetScopeContext) throws BuilderConfigException {
+
+    public void completeTargetChain(ProxyFactory targetFactory, Class targetType, ScopeContext targetScopeContext)
+            throws BuilderConfigException {
         // delegate to other wire builders
         for (WireBuilder builder : builders) {
             builder.completeTargetChain(targetFactory, targetType, targetScopeContext);

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContext.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContext.java?rev=380621&r1=380620&r2=380621&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContext.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContext.java Fri Feb 24 00:42:35 2006
@@ -15,6 +15,7 @@
 
 import org.apache.tuscany.common.monitor.MonitorFactory;
 import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
+import org.apache.tuscany.core.builder.WireBuilder;
 import org.apache.tuscany.core.context.AggregateContext;
 import org.apache.tuscany.core.context.AutowireContext;
 import org.apache.tuscany.core.context.ConfigurationContext;
@@ -59,6 +60,11 @@
      * Adds a configuration builder to the runtime
      */
     public void addBuilder(RuntimeConfigurationBuilder builder);
+
+    /**
+     * Adds a wire builder to the runtime
+     */
+    public void addBuilder(WireBuilder builder);
 
     /**
      * Adds an SCDL model loader to the runtime

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java?rev=380621&r1=380620&r2=380621&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java Fri Feb 24 00:42:35 2006
@@ -135,7 +135,12 @@
         assert (builder != null) : "Builder was null";
         builders.add(builder);
     }
-    
+
+    public void addBuilder(WireBuilder builder) {
+        assert (builder != null) : "Builder was null";
+        wireBuilders.add(builder);
+    }
+
     public void addLoader(SCDLModelLoader loader) {
         assert (loader != null) : "Loader was null";
         loaders.add(loader);

Added: incubator/tuscany/java/sca/core/src/test/resources/system.fragment
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/resources/system.fragment?rev=380621&view=auto
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/resources/system.fragment (added)
+++ incubator/tuscany/java/sca/core/src/test/resources/system.fragment Fri Feb 24 00:42:35 2006
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+<moduleFragment xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+        xmlns:system="http://org.apache.tuscany/xmlns/system/0.9"
+		name="org.apache.tuscany.container.java">
+
+    <component name="org.apache.tuscany.core.builder.impl.DefaultWireBuilder">
+        <system:implementation.system class="org.apache.tuscany.core.builder.impl.DefaultWireBuilder"/>
+    </component>
+
+
+</moduleFragment>