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