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/06/22 13:20:33 UTC

svn commit: r416333 [2/5] - in /incubator/tuscany/sandbox/jboynes/sca: containers/ containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ containers/container.java/ core2/src/main/java/org/apache/tuscany/core/bootstrap/ core2/sr...

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,16 @@
+package org.apache.tuscany.core.component.scope;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.ObjectFactory;
+
+/**
+ * Creates a new module scope context
+ *
+ * @version $$Rev: 412208 $$ $$Date: 2006-06-06 13:47:19 -0700 (Tue, 06 Jun 2006) $$
+ */
+public class ModuleScopeObjectFactory implements ObjectFactory<ModuleScopeContainer> {
+
+    public ModuleScopeContainer getInstance() throws ObjectCreationException {
+        return new ModuleScopeContainer();
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,114 @@
+package org.apache.tuscany.core.component.scope;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.model.Scope;
+
+import org.apache.tuscany.core.component.event.RequestEnd;
+import org.apache.tuscany.core.component.event.RequestStart;
+
+/**
+ * A scope context which manages atomic component instances keyed on the current request context
+ *
+ * @version $Rev: 415162 $ $Date: 2006-06-18 11:19:43 -0700 (Sun, 18 Jun 2006) $
+ */
+public class RequestScopeContainer extends AbstractScopeContainer {
+
+    private final Map<AtomicComponent, Map<Thread, InstanceWrapper>> contexts;
+    private final Map<Thread, List<InstanceWrapper>> destroyQueues;
+
+    public RequestScopeContainer() {
+        this(null);
+    }
+
+    public RequestScopeContainer(WorkContext workContext) {
+        super("Request Scope", workContext);
+        contexts = new ConcurrentHashMap<AtomicComponent, Map<Thread, InstanceWrapper>>();
+        destroyQueues = new ConcurrentHashMap<Thread, List<InstanceWrapper>>();
+    }
+
+    public Scope getScope() {
+        return Scope.REQUEST;
+    }
+
+    public void onEvent(Event event) {
+        checkInit();
+        if (event instanceof RequestStart) {
+            for (Map.Entry<AtomicComponent, Map<Thread, InstanceWrapper>> entry : contexts.entrySet()) {
+                if (entry.getKey().isEagerInit()) {
+                    getInstance(entry.getKey());
+                }
+            }
+        } else if (event instanceof RequestEnd) {
+            shutdownInstances(Thread.currentThread());
+        }
+    }
+
+    public synchronized void start() {
+        if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) {
+            throw new IllegalStateException("Scope must be in UNINITIALIZED or STOPPED state [" + lifecycleState + "]");
+        }
+        lifecycleState = RUNNING;
+    }
+
+    public synchronized void stop() {
+        contexts.clear();
+        synchronized (destroyQueues) {
+            destroyQueues.clear();
+        }
+        lifecycleState = STOPPED;
+    }
+
+    public void register(AtomicComponent component) {
+        contexts.put(component, new ConcurrentHashMap<Thread, InstanceWrapper>());
+    }
+
+    protected InstanceWrapper getInstanceWrapper(AtomicComponent component) throws TargetException {
+        Map<Thread, InstanceWrapper> instanceContextMap = contexts.get(component);
+        assert instanceContextMap != null : "Atomic component not registered";
+        InstanceWrapper ctx = instanceContextMap.get(Thread.currentThread());
+        if (ctx == null) {
+            ctx = new InstanceWrapperImpl(component, component.createInstance());
+            ctx.start();
+            instanceContextMap.put(Thread.currentThread(), ctx);
+            List<InstanceWrapper> destroyQueue = destroyQueues.get(Thread.currentThread());
+            if (destroyQueue == null) {
+                destroyQueue = new ArrayList<InstanceWrapper>();
+                destroyQueues.put(Thread.currentThread(), destroyQueue);
+            }
+            synchronized (destroyQueue) {
+                destroyQueue.add(ctx);
+            }
+        }
+        return ctx;
+    }
+
+    private void shutdownInstances(Thread key) {
+        List<InstanceWrapper> destroyQueue = destroyQueues.remove(key);
+        if (destroyQueue != null && destroyQueue.size() > 0) {
+            Thread thread = Thread.currentThread();
+            for (Map<Thread, InstanceWrapper> map : contexts.values()) {
+                map.remove(thread);
+            }
+            ListIterator<InstanceWrapper> iter = destroyQueue.listIterator(destroyQueue.size());
+            synchronized (destroyQueue) {
+                while (iter.hasPrevious()) {
+                    try {
+                        iter.previous().stop();
+                    } catch (TargetException e) {
+                        // TODO send a monitoring event
+                    }
+                }
+            }
+        }
+    }
+
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,16 @@
+package org.apache.tuscany.core.component.scope;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.ObjectFactory;
+
+/**
+ * Creates a new request scope context
+ *
+ * @version $$Rev: 412208 $$ $$Date: 2006-06-06 13:47:19 -0700 (Tue, 06 Jun 2006) $$
+ */
+public class RequestScopeObjectFactory implements ObjectFactory<RequestScopeContainer> {
+
+    public RequestScopeContainer getInstance() throws ObjectCreationException {
+        return new RequestScopeContainer();
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,71 @@
+package org.apache.tuscany.core.component.scope;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.ScopeNotFoundException;
+import org.apache.tuscany.spi.component.ScopeRegistry;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
+
+/**
+ * The default implementation of a scope registry
+ *
+ * @version $$Rev: 415032 $$ $$Date: 2006-06-17 10:28:07 -0700 (Sat, 17 Jun 2006) $$
+ */
+public class ScopeRegistryImpl implements ScopeRegistry {
+
+    private final Map<Scope, ScopeContainer> scopeCache;
+    private final Map<Scope, ObjectFactory<? extends ScopeContainer>> factoryCache;
+    private final WorkContext workContext;
+
+    public ScopeRegistryImpl(WorkContext workContext) {
+        assert workContext != null;
+        scopeCache = new ConcurrentHashMap<Scope, ScopeContainer>();
+        factoryCache = new ConcurrentHashMap<Scope, ObjectFactory<? extends ScopeContainer>>();
+        this.workContext = workContext;
+    }
+
+    public ScopeContainer getScopeContainer(Scope scope) {
+        assert Scope.MODULE != scope : "Cannot get MODULE scope from the registry";
+        ScopeContainer container = scopeCache.get(scope);
+        if (container == null) {
+            ObjectFactory<? extends ScopeContainer> factory = factoryCache.get(scope);
+            if (factory == null) {
+                ScopeNotFoundException e = new ScopeNotFoundException("Scope object factory not registered for scope");
+                switch (scope) {
+                    case SESSION:
+                        e.setIdentifier("SESSION");
+                        break;
+                    case REQUEST:
+                        e.setIdentifier("REQUEST");
+                        break;
+                    case STATELESS:
+                        e.setIdentifier("STATELESS");
+                        break;
+                    default:
+                        e.setIdentifier("UNKNOWN");
+                        break;
+                }
+                throw e;
+            }
+            container = factory.getInstance();
+            container.setWorkContext(workContext);
+            container.start();
+            scopeCache.put(scope, container);
+        }
+        return container;
+    }
+
+    public <T extends ScopeContainer> void registerFactory(Scope scope, ObjectFactory<T> factory) {
+        factoryCache.put(scope, factory);
+    }
+
+    public void deregisterFactory(Scope scope) {
+        factoryCache.remove(scope);
+    }
+
+
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/ScopeRegistryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,68 @@
+/**
+ *
+ * Copyright 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.
+ */
+package org.apache.tuscany.core.component.scope;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.model.Scope;
+
+/**
+ * A scope context which manages stateless atomic component instances in a non-pooled fashion
+ *
+ * @version $Rev: 412475 $ $Date: 2006-06-07 11:18:25 -0700 (Wed, 07 Jun 2006) $
+ */
+public class StatelessScopeContainer extends AbstractScopeContainer {
+
+    public StatelessScopeContainer() {
+        this(null);
+    }
+
+    public StatelessScopeContainer(WorkContext workContext) {
+        super("Stateless scope", workContext);
+    }
+
+    public Scope getScope() {
+        return Scope.STATELESS;
+    }
+
+    public synchronized void start() {
+        if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) {
+            throw new IllegalStateException("Scope must be in UNINITIALIZED or STOPPED state [" + lifecycleState + "]");
+        }
+        lifecycleState = RUNNING;
+    }
+
+    public synchronized void stop() {
+        if (lifecycleState != RUNNING) {
+            throw new IllegalStateException("Scope in wrong state [" + lifecycleState + "]");
+        }
+        lifecycleState = STOPPED;
+    }
+
+    public void onEvent(Event event) {
+    }
+
+    public void register(AtomicComponent component) {
+        checkInit();
+    }
+
+    protected InstanceWrapper getInstanceWrapper(AtomicComponent component) throws TargetException {
+        InstanceWrapper ctx = new InstanceWrapperImpl(component, component.createInstance());
+        ctx.start();
+        return ctx;
+    }
+
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,16 @@
+package org.apache.tuscany.core.component.scope;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.ObjectFactory;
+
+/**
+ * Creates a new stateless scope context
+ *
+ * @version $$Rev: 412208 $$ $$Date: 2006-06-06 13:47:19 -0700 (Tue, 06 Jun 2006) $$
+ */
+public class StatelessScopeObjectFactory implements ObjectFactory<StatelessScopeContainer> {
+
+    public StatelessScopeContainer getInstance() throws ObjectCreationException {
+        return new StatelessScopeContainer();
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeObjectFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?rev=416333&r1=416332&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Thu Jun 22 04:20:25 2006
@@ -16,8 +16,6 @@
  */
 package org.apache.tuscany.core.deployer;
 
-import org.apache.tuscany.core.builder.Connector;
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.Builder;
 import org.apache.tuscany.spi.component.CompositeComponent;
@@ -29,6 +27,9 @@
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Implementation;
+
+import org.apache.tuscany.core.builder.Connector;
+import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
 
 /**
  * Default implementation of Deployer.

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/PojoAtomicComponent.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/PojoAtomicComponent.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/PojoAtomicComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.component;
+package org.apache.tuscany.core.implementation;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Member;
@@ -10,15 +10,14 @@
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.PojoConfiguration;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.extension.AtomicComponentExtension;
-import org.apache.tuscany.spi.injection.EventInvoker;
-import org.apache.tuscany.spi.injection.Injector;
 import org.apache.tuscany.spi.wire.OutboundWire;
 
 import org.apache.tuscany.core.injection.ArrayMultiplicityObjectFactory;
+import org.apache.tuscany.core.injection.EventInvoker;
 import org.apache.tuscany.core.injection.FieldInjector;
+import org.apache.tuscany.core.injection.Injector;
 import org.apache.tuscany.core.injection.InvalidAccessorException;
 import org.apache.tuscany.core.injection.ListMultiplicityObjectFactory;
 import org.apache.tuscany.core.injection.MethodInjector;

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/model/PojoComponentType.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/model/PojoComponentType.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/model/PojoComponentType.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.spi.model;
+package org.apache.tuscany.core.implementation;
 
 import java.lang.reflect.Member;
 import java.util.ArrayList;
@@ -6,8 +6,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.tuscany.spi.injection.EventInvoker;
-import org.apache.tuscany.spi.injection.Injector;
+import org.apache.tuscany.core.injection.EventInvoker;
+import org.apache.tuscany.core.injection.Injector;
+import org.apache.tuscany.spi.model.ServiceDefinition;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.Property;
+import org.apache.tuscany.spi.model.ComponentType;
+import org.apache.tuscany.spi.model.Scope;
 
 /**
  * A component type specialization for POJO implementations

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoComponentType.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/component/PojoConfiguration.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/component/PojoConfiguration.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/component/PojoConfiguration.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java Thu Jun 22 04:20:25 2006
@@ -11,7 +11,7 @@
  * 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.
  */
-package org.apache.tuscany.spi.component;
+package org.apache.tuscany.core.implementation;
 
 import java.lang.reflect.Member;
 import java.util.ArrayList;
@@ -20,9 +20,12 @@
 import java.util.Map;
 
 import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.injection.EventInvoker;
-import org.apache.tuscany.spi.injection.Injector;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.wire.WireService;
+
+import org.apache.tuscany.core.injection.EventInvoker;
+import org.apache.tuscany.core.injection.Injector;
 
 /**
  * Encapsulates confuration for a Java-based atomic component

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/AbstractCompositeComponent.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/AbstractCompositeComponent.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/AbstractCompositeComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.component;
+package org.apache.tuscany.core.implementation.composite;
 
 import java.lang.reflect.Method;
 import java.util.List;
@@ -22,7 +22,10 @@
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.WireService;
 
-import org.apache.tuscany.core.system.component.SystemService;
+import org.apache.tuscany.core.implementation.system.component.SystemService;
+import org.apache.tuscany.core.component.AutowireComponent;
+import org.apache.tuscany.core.component.AutowireResolutionException;
+import org.apache.tuscany.core.component.ComponentInitException;
 
 /**
  * The base implementation of a composite context

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java (from r416331, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/composite/CompositeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/composite/CompositeBuilder.java&r1=416331&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/composite/CompositeBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java Thu Jun 22 04:20:25 2006
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.core.composite;
+package org.apache.tuscany.core.implementation.composite;
 
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.component.Component;
@@ -31,8 +31,6 @@
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ReferenceTarget;
 import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import org.apache.tuscany.core.component.CompositeComponentImpl;
 
 /**
  * Instantiates a composite component from an assembly definition

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.component;
+package org.apache.tuscany.core.implementation.composite;
 
 import org.osoa.sca.ServiceUnavailableException;
 
@@ -10,6 +10,8 @@
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.wire.WireService;
+
+import org.apache.tuscany.core.component.AutowireComponent;
 
 /**
  * The standard implementation of a composite component. Autowiring is performed by delegating to the parent composite.

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,81 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ *  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.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import javax.xml.namespace.QName;
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.spi.model.Property;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.ServiceDefinition;
+
+import org.apache.tuscany.core.loader.AssemblyConstants;
+
+/**
+ * Loads a composite component definition from an XML-based assembly file
+ *
+ * @version $Rev: 416156 $ $Date: 2006-06-21 16:02:33 -0700 (Wed, 21 Jun 2006) $
+ */
+public class CompositeLoader extends LoaderExtension<CompositeComponentType> {
+    public CompositeLoader() {
+    }
+
+    public CompositeLoader(LoaderRegistry registry) {
+        super(registry);
+    }
+
+    public QName getXMLType() {
+        return AssemblyConstants.COMPOSITE;
+    }
+
+    public CompositeComponentType load(XMLStreamReader reader,
+                                       DeploymentContext deploymentContext)
+        throws XMLStreamException, LoaderException {
+        CompositeComponentType composite = new CompositeComponentType();
+        composite.setName(reader.getAttributeValue(null, "name"));
+        while (true) {
+            switch (reader.next()) {
+                case START_ELEMENT:
+                    ModelObject o = registry.load(reader, deploymentContext);
+                    if (o instanceof ServiceDefinition) {
+                        composite.add((ServiceDefinition) o);
+                    } else if (o instanceof ReferenceDefinition) {
+                        composite.add((ReferenceDefinition) o);
+                    } else if (o instanceof Property<?>) {
+                        composite.add((Property<?>) o);
+                    } else if (o instanceof ComponentDefinition<?>) {
+                        composite.add((ComponentDefinition<? extends Implementation>) o);
+                    }
+                    reader.next();
+                    break;
+                case END_ELEMENT:
+                    return composite;
+            }
+        }
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaAtomicComponent.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaAtomicComponent.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaAtomicComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java Thu Jun 22 04:20:25 2006
@@ -14,17 +14,17 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import java.lang.reflect.Method;
 
-import org.apache.tuscany.spi.component.PojoConfiguration;
+import org.apache.tuscany.core.implementation.PojoConfiguration;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.component.TargetNotFoundException;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
-import org.apache.tuscany.core.component.PojoAtomicComponent;
+import org.apache.tuscany.core.implementation.PojoAtomicComponent;
 
 /**
  * The runtime instantiation of Java component implementations

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentBuilder.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Member;
@@ -7,14 +7,14 @@
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.PojoConfiguration;
+import org.apache.tuscany.core.implementation.PojoConfiguration;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.injection.ContextInjector;
-import org.apache.tuscany.spi.injection.Injector;
-import org.apache.tuscany.spi.injection.PojoObjectFactory;
+import org.apache.tuscany.core.injection.ContextInjector;
+import org.apache.tuscany.core.injection.Injector;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.PojoComponentType;
+import org.apache.tuscany.core.implementation.PojoComponentType;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentTypeLoader.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentTypeLoader.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaComponentTypeLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java Thu Jun 22 04:20:25 2006
@@ -14,14 +14,14 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import java.net.URL;
 
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
 import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.model.PojoComponentType;
+import org.apache.tuscany.core.implementation.PojoComponentType;
 
 import org.apache.tuscany.core.util.JavaIntrospectionHelper;
 

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementation.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementation.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementation.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java Thu Jun 22 04:20:25 2006
@@ -1,7 +1,7 @@
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import org.apache.tuscany.spi.model.AtomicImplementation;
-import org.apache.tuscany.spi.model.PojoComponentType;
+import org.apache.tuscany.core.implementation.PojoComponentType;
 
 /**
  * @version $$Rev$$ $$Date$$

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementation.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java (from r416162, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementationLoader.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementationLoader.java&r1=416162&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaImplementationLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaImplementationLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java (from r415960, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaTargetInvoker.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaTargetInvoker.java&r1=415960&r2=416333&rev=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/JavaTargetInvoker.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java Thu Jun 22 04:20:25 2006
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.container.java;
+package org.apache.tuscany.core.implementation.java;
 
 import java.lang.reflect.Method;
 

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.builder;
+package org.apache.tuscany.core.implementation.system.builder;
 
 import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.builder.BindingBuilder;
@@ -10,16 +10,16 @@
 import org.apache.tuscany.spi.wire.OutboundWire;
 
 import org.apache.tuscany.core.component.AutowireComponent;
-import org.apache.tuscany.core.system.component.SystemReference;
-import org.apache.tuscany.core.system.component.SystemReferenceImpl;
-import org.apache.tuscany.core.system.component.SystemService;
-import org.apache.tuscany.core.system.component.SystemServiceImpl;
-import org.apache.tuscany.core.system.model.SystemBinding;
-import org.apache.tuscany.core.system.wire.SystemInboundWire;
-import org.apache.tuscany.core.system.wire.SystemInboundWireImpl;
-import org.apache.tuscany.core.system.wire.SystemOutboundAutowire;
-import org.apache.tuscany.core.system.wire.SystemOutboundWire;
-import org.apache.tuscany.core.system.wire.SystemOutboundWireImpl;
+import org.apache.tuscany.core.implementation.system.component.SystemReference;
+import org.apache.tuscany.core.implementation.system.component.SystemReferenceImpl;
+import org.apache.tuscany.core.implementation.system.component.SystemService;
+import org.apache.tuscany.core.implementation.system.component.SystemServiceImpl;
+import org.apache.tuscany.core.implementation.system.model.SystemBinding;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWireImpl;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundAutowire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWireImpl;
 
 /**
  * Creates {@link SystemService}s and {@link SystemReference}s by evaluating an assembly definition

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.builder;
+package org.apache.tuscany.core.implementation.system.builder;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Member;
@@ -9,25 +9,25 @@
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.PojoConfiguration;
+import org.apache.tuscany.core.implementation.PojoConfiguration;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.injection.ContextInjector;
-import org.apache.tuscany.spi.injection.Injector;
-import org.apache.tuscany.spi.injection.PojoObjectFactory;
+import org.apache.tuscany.core.injection.ContextInjector;
+import org.apache.tuscany.core.injection.Injector;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
 import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.PojoComponentType;
+import org.apache.tuscany.core.implementation.PojoComponentType;
 import org.apache.tuscany.spi.model.ReferenceTarget;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.wire.OutboundWire;
 
 import org.apache.tuscany.core.component.AutowireComponent;
-import org.apache.tuscany.core.system.component.SystemAtomicComponent;
-import org.apache.tuscany.core.system.component.SystemAtomicComponentImpl;
-import org.apache.tuscany.core.system.model.SystemImplementation;
-import org.apache.tuscany.core.system.wire.SystemInboundWire;
-import org.apache.tuscany.core.system.wire.SystemInboundWireImpl;
-import org.apache.tuscany.core.system.wire.SystemOutboundAutowire;
-import org.apache.tuscany.core.system.wire.SystemOutboundWireImpl;
+import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponent;
+import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWireImpl;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundAutowire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWireImpl;
 import org.apache.tuscany.core.util.JavaIntrospectionHelper;
 
 /**

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java Thu Jun 22 04:20:25 2006
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.core.system.builder;
+package org.apache.tuscany.core.implementation.system.builder;
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
@@ -31,9 +31,9 @@
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
 import org.apache.tuscany.core.component.AutowireComponent;
-import org.apache.tuscany.core.system.component.SystemCompositeComponent;
-import org.apache.tuscany.core.system.component.SystemCompositeComponentImpl;
-import org.apache.tuscany.core.system.model.SystemCompositeImplementation;
+import org.apache.tuscany.core.implementation.system.component.SystemCompositeComponent;
+import org.apache.tuscany.core.implementation.system.component.SystemCompositeComponentImpl;
+import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
 
 /**
  * Produces system compisite components by evaluating an assembly

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/ObjectRegistrationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/ObjectRegistrationException.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/ObjectRegistrationException.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/ObjectRegistrationException.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.component.ComponentRuntimeException;
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponent.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponent.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentImpl.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentImpl.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Member;
@@ -7,20 +7,20 @@
 import java.util.List;
 
 import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.PojoConfiguration;
 import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.injection.Injector;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.OutboundWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
-import org.apache.tuscany.core.component.PojoAtomicComponent;
+import org.apache.tuscany.core.implementation.PojoAtomicComponent;
+import org.apache.tuscany.core.implementation.PojoConfiguration;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
 import org.apache.tuscany.core.injection.ArrayMultiplicityObjectFactory;
 import org.apache.tuscany.core.injection.FieldInjector;
+import org.apache.tuscany.core.injection.Injector;
 import org.apache.tuscany.core.injection.InvalidAccessorException;
 import org.apache.tuscany.core.injection.ListMultiplicityObjectFactory;
 import org.apache.tuscany.core.injection.MethodInjector;
-import org.apache.tuscany.core.system.wire.SystemOutboundWire;
 
 /**
  * Default implementation of a system atomic context

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponent.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponent.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.core.component.AutowireComponent;
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentImpl.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemCompositeComponentImpl.java Thu Jun 22 04:20:25 2006
@@ -1,10 +1,10 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
 
-import org.apache.tuscany.core.component.AbstractCompositeComponent;
 import org.apache.tuscany.core.component.AutowireComponent;
 import org.apache.tuscany.core.component.AutowireResolutionException;
+import org.apache.tuscany.core.implementation.composite.AbstractCompositeComponent;
 
 /**
  * Implements an composite context for system components. In addition, it implements an autowire policy A system context

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReference.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReference.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReference.java Thu Jun 22 04:20:25 2006
@@ -1,9 +1,10 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.component.Reference;
 
 /**
- * A marker for SCA references configured with the {@link org.apache.tuscany.core.system.model.SystemBinding}
+ * A marker for SCA references configured with the
+ * {@link org.apache.tuscany.core.implementation.system.model.SystemBinding}
  *
  * @version $$Rev$$ $$Date$$
  */

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceImpl.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceImpl.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import java.lang.reflect.Method;
 
@@ -12,11 +12,12 @@
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.WireInvocationHandler;
 
-import org.apache.tuscany.core.system.wire.SystemInboundWire;
-import org.apache.tuscany.core.system.wire.SystemOutboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
 
 /**
- * Default implementation of a reference configured with the {@link org.apache.tuscany.core.system.model.SystemBinding}
+ * Default implementation of a reference configured with the
+ * {@link org.apache.tuscany.core.implementation.system.model.SystemBinding}
  *
  * @version $Rev$ $Date$
  */

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemService.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemService.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemService.java Thu Jun 22 04:20:25 2006
@@ -1,9 +1,9 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.component.Service;
 
 /**
- * Marker for services configured with the {@link org.apache.tuscany.core.system.model.SystemBinding}
+ * Marker for services configured with the {@link org.apache.tuscany.core.implementation.system.model.SystemBinding}
  *
  * @version $$Rev$$ $$Date$$
  */

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.CoreRuntimeException;
 import org.apache.tuscany.spi.component.AbstractSCAObject;
@@ -9,11 +9,12 @@
 import org.apache.tuscany.spi.wire.OutboundWire;
 import org.apache.tuscany.spi.wire.WireInvocationHandler;
 
-import org.apache.tuscany.core.system.wire.SystemInboundWire;
-import org.apache.tuscany.core.system.wire.SystemOutboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemInboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
 
 /**
- * Default implementation for services configured with the {@link org.apache.tuscany.core.system.model.SystemBinding}
+ * Default implementation for services configured with the
+ * {@link org.apache.tuscany.core.implementation.system.model.SystemBinding}
  *
  * @version $$Rev$$ $$Date$$
  */

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java Thu Jun 22 04:20:25 2006
@@ -1,9 +1,9 @@
-package org.apache.tuscany.core.system.component;
+package org.apache.tuscany.core.implementation.system.component;
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
 
-import org.apache.tuscany.core.system.wire.SystemOutboundWire;
+import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
 
 /**
  * Uses a system wire to return an object instance

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,56 @@
+/**
+ *
+ * Copyright 2006 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.
+ */
+package org.apache.tuscany.core.implementation.system.loader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+
+import org.apache.tuscany.core.loader.StAXUtil;
+import org.apache.tuscany.core.implementation.system.model.SystemBinding;
+
+/**
+ * Loads a system binding specified in an XML-based assembly
+ *
+ * @version $Rev: 416156 $ $Date: 2006-06-21 16:02:33 -0700 (Wed, 21 Jun 2006) $
+ */
+public class SystemBindingLoader extends LoaderExtension<SystemBinding> {
+    public static final QName SYSTEM_BINDING =
+        new QName("http://tuscany.apache.org/xmlns/system/0.9", "binding.system");
+
+    public SystemBindingLoader() {
+    }
+
+    public SystemBindingLoader(LoaderRegistry registry) {
+        super(registry);
+    }
+
+    public QName getXMLType() {
+        return SYSTEM_BINDING;
+    }
+
+    public SystemBinding load(XMLStreamReader reader, DeploymentContext deploymentContext)
+        throws XMLStreamException, LoaderException {
+        StAXUtil.skipToEndElement(reader);
+        return new SystemBinding();
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemBindingLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,111 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  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.
+ */
+package org.apache.tuscany.core.implementation.system.loader;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.net.URL;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.model.JavaMappedProperty;
+import org.apache.tuscany.spi.model.JavaMappedReference;
+import org.apache.tuscany.spi.model.JavaServiceContract;
+import org.apache.tuscany.spi.model.ServiceDefinition;
+
+import org.apache.tuscany.core.implementation.PojoComponentType;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.apache.tuscany.core.util.JavaIntrospectionHelper;
+
+/**
+ * Loads a system component type
+ *
+ * @version $Rev: 416228 $ $Date: 2006-06-21 19:53:17 -0700 (Wed, 21 Jun 2006) $
+ */
+public class SystemComponentTypeLoader extends ComponentTypeLoaderExtension<SystemImplementation> {
+    protected Class<SystemImplementation> getImplementationClass() {
+        return SystemImplementation.class;
+    }
+
+    public void load(SystemImplementation implementation, DeploymentContext deploymentContext) throws LoaderException {
+        Class<?> implClass = implementation.getImplementationClass();
+        URL sidefile = implClass.getResource(JavaIntrospectionHelper.getBaseName(implClass) + ".componentType");
+        PojoComponentType componentType;
+        if (sidefile == null) {
+            componentType = loadByIntrospection(implementation);
+        } else {
+            componentType = loadFromSidefile(sidefile, deploymentContext);
+        }
+        implementation.setComponentType(componentType);
+    }
+
+    protected PojoComponentType loadByIntrospection(SystemImplementation implementation) {
+        PojoComponentType componentType = new PojoComponentType();
+
+        // FIXME: replace this rudimentary introspection mechanism
+        Class<?> implClass = implementation.getImplementationClass();
+        for (Class<?> serviceIntf : implClass.getInterfaces()) {
+            JavaServiceContract serviceContract = new JavaServiceContract(serviceIntf);
+            ServiceDefinition service = new ServiceDefinition(serviceIntf.getName(), serviceContract);
+            componentType.add(service);
+        }
+        for (Field field : implClass.getFields()) {
+            if (Modifier.isStatic(field.getModifiers())) {
+                continue;
+            }
+            String name = field.getName();
+            Class<?> javaType = field.getType();
+            if (javaType.isInterface()) {
+                JavaMappedReference reference = new JavaMappedReference(name, new JavaServiceContract(javaType), field);
+                componentType.add(reference);
+            } else {
+                JavaMappedProperty<?> property = new JavaMappedProperty(name, null, javaType, field);
+                componentType.add(property);
+            }
+        }
+        for (Method method : implClass.getMethods()) {
+            if (Modifier.isStatic(method.getModifiers())
+                || !(Void.TYPE == method.getReturnType())
+                || method.getParameterTypes().length != 1
+                || !method.getName().startsWith("set")
+                || !(method.getName().length() > 3)
+                ) {
+                continue;
+            }
+            String name = method.getName();
+            name = Character.toLowerCase(name.charAt(3)) + name.substring(4);
+            Class<?> javaType = method.getParameterTypes()[0];
+            if (javaType.isInterface()) {
+                JavaMappedReference reference =
+                    new JavaMappedReference(name, new JavaServiceContract(javaType), method);
+                componentType.add(reference);
+            } else {
+                JavaMappedProperty<?> property = new JavaMappedProperty(name, null, javaType, method);
+                componentType.add(property);
+            }
+        }
+
+        return componentType;
+    }
+
+
+    protected PojoComponentType loadFromSidefile(URL url, DeploymentContext deploymentContext) throws LoaderException {
+        return loaderRegistry.load(url, PojoComponentType.class, deploymentContext);
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemCompositeComponentTypeLoader.java Thu Jun 22 04:20:25 2006
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.core.system.loader;
+package org.apache.tuscany.core.implementation.system.loader;
 
 import java.net.URL;
 
@@ -24,7 +24,7 @@
 import org.apache.tuscany.spi.loader.LoaderRegistry;
 import org.apache.tuscany.spi.model.CompositeComponentType;
 
-import org.apache.tuscany.core.system.model.SystemCompositeImplementation;
+import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
 
 /**
  * Loads a system composite component type

Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java?rev=416333&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java Thu Jun 22 04:20:25 2006
@@ -0,0 +1,63 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ *  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.
+ */
+package org.apache.tuscany.core.implementation.system.loader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+
+import org.apache.tuscany.core.loader.StAXUtil;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+
+/**
+ * Loads information for a system implementation
+ *
+ * @version $Rev: 416156 $ $Date: 2006-06-21 16:02:33 -0700 (Wed, 21 Jun 2006) $
+ */
+public class SystemImplementationLoader extends LoaderExtension<SystemImplementation> {
+    public static final QName SYSTEM_IMPLEMENTATION =
+        new QName("http://tuscany.apache.org/xmlns/system/0.9", "implementation.system");
+
+    public SystemImplementationLoader() {
+    }
+
+    public SystemImplementationLoader(LoaderRegistry registry) {
+        super(registry);
+    }
+
+    public SystemImplementation load(XMLStreamReader reader, DeploymentContext deploymentContext)
+        throws XMLStreamException, LoaderException {
+        assert SYSTEM_IMPLEMENTATION.equals(reader.getName());
+        SystemImplementation implementation = new SystemImplementation();
+        String implClass = reader.getAttributeValue(null, "class");
+        Class<?> implementationClass = StAXUtil.loadClass(implClass, deploymentContext.getClassLoader());
+        implementation.setImplementationClass(implementationClass);
+        registry.loadComponentType(implementation, deploymentContext);
+        StAXUtil.skipToEndElement(reader);
+        return implementation;
+    }
+
+    public QName getXMLType() {
+        return SYSTEM_IMPLEMENTATION;
+    }
+
+}

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemBinding.java?rev=416333&r1=416331&r2=416333&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemBinding.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemBinding.java Thu Jun 22 04:20:25 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.system.model;
+package org.apache.tuscany.core.implementation.system.model;
 
 import org.apache.tuscany.spi.model.Binding;
 



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