You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/02/13 20:16:08 UTC

svn commit: r507166 - in /incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation: PojoAtomicComponent.java PojoComponentContextImpl.java

Author: jboynes
Date: Tue Feb 13 11:16:08 2007
New Revision: 507166

URL: http://svn.apache.org/viewvc?view=rev&rev=507166
Log:
provide a simple ComponentContext implementation for POJO-style implementations

Added:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java   (with props)
Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=507166&r1=507165&r2=507166
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Tue Feb 13 11:16:08 2007
@@ -26,14 +26,7 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetInitializationException;
-import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.extension.AtomicComponentExtension;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.wire.OutboundWire;
+import org.osoa.sca.ComponentContext;
 
 import org.apache.tuscany.core.injection.ArrayMultiplicityObjectFactory;
 import org.apache.tuscany.core.injection.ConversationIDObjectFactory;
@@ -47,6 +40,14 @@
 import org.apache.tuscany.core.injection.NoMultiplicityTypeException;
 import org.apache.tuscany.core.injection.ObjectCallbackException;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.component.TargetDestructionException;
+import org.apache.tuscany.spi.component.TargetInitializationException;
+import org.apache.tuscany.spi.component.TargetResolutionException;
+import org.apache.tuscany.spi.extension.AtomicComponentExtension;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.OutboundWire;
 
 /**
  * Base implementation of an {@link org.apache.tuscany.spi.component.AtomicComponent} whose type is a Java class
@@ -54,6 +55,8 @@
  * @version $$Rev$$ $$Date$$
  */
 public abstract class PojoAtomicComponent extends AtomicComponentExtension {
+    private final ComponentContext componentContext;
+
     protected EventInvoker<Object> initInvoker;
     protected EventInvoker<Object> destroyInvoker;
     protected PojoObjectFactory<?> instanceFactory;
@@ -68,13 +71,13 @@
 
     public PojoAtomicComponent(PojoConfiguration configuration) {
         super(configuration.getName(),
-            configuration.getWireService(),
-            configuration.getWorkContext(),
-            configuration.getScheduler(),
-            configuration.getMonitor(),
-            configuration.getInitLevel(),
-            configuration.getMaxIdleTime(),
-            configuration.getMaxAge());
+              configuration.getWireService(),
+              configuration.getWorkContext(),
+              configuration.getScheduler(),
+              configuration.getMonitor(),
+              configuration.getInitLevel(),
+              configuration.getMaxIdleTime(),
+              configuration.getMaxAge());
         assert configuration.getInstanceFactory() != null : "Object factory was null";
         initInvoker = configuration.getInitInvoker();
         destroyInvoker = configuration.getDestroyInvoker();
@@ -91,6 +94,8 @@
         callbackSites = configuration.getCallbackSite() != null ? configuration.getCallbackSite()
             : new HashMap<String, Member>();
         implementationClass = configuration.getImplementationClass();
+
+        componentContext = new PojoComponentContextImpl(this);
     }
 
 
@@ -279,4 +284,8 @@
 
     protected abstract ObjectFactory<?> createWireFactory(Class<?> interfaze, OutboundWire wire);
 
+
+    public ComponentContext getComponentContext() {
+        return componentContext;
+    }
 }

Added: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java?view=auto&rev=507166
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java Tue Feb 13 11:16:08 2007
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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;
+
+import org.osoa.sca.ComponentContext;
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ServiceReference;
+import org.osoa.sca.RequestContext;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class PojoComponentContextImpl implements ComponentContext {
+    private final PojoAtomicComponent component;
+
+    public PojoComponentContextImpl(PojoAtomicComponent component) {
+        this.component = component;
+    }
+
+    public String getURI() {
+        return component.getUri().toString();
+    }
+
+    public <B, R extends CallableReference<B>> R cast(B target) throws IllegalArgumentException {
+        return null;
+    }
+
+    public <B> B getService(Class<B> businessInterface, String referenceName) {
+        return null;
+    }
+
+    public <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String referenceName) {
+        return null;
+    }
+
+    public <B> B getProperty(Class<B> type, String propertyName) {
+        return null;
+    }
+
+    public <B> ServiceReference<B> createSelfReference(Class<B> businessInterface) {
+        return null;
+    }
+
+    public <B> ServiceReference<B> createSelfReference(Class<B> businessInterface, String serviceName) {
+        return null;
+    }
+
+    public RequestContext getRequestContext() {
+        return null;
+    }
+}

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponentContextImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



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