You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2008/04/17 14:28:44 UTC

svn commit: r649061 - /incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java

Author: antelder
Date: Thu Apr 17 05:28:33 2008
New Revision: 649061

URL: http://svn.apache.org/viewvc?rev=649061&view=rev
Log:
TUSCANY-2165: apply patch from Vamsavardhana Reddy for Java runtime should inject service references to field with common name in absence of @Reference

Modified:
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java?rev=649061&r1=649060&r2=649061&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java Thu Apr 17 05:28:33 2008
@@ -18,10 +18,12 @@
  */
 package org.apache.tuscany.sca.implementation.java.invocation;
 
+import java.lang.annotation.ElementType;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.Member;
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -172,7 +174,16 @@
                 instanceFactoryProvider.getImplementation().getReferenceMembers().get(ref.getName());
             if (element != null) {
                 if (!(element.getAnchor() instanceof Constructor)) {
-                    instanceFactoryProvider.getInjectionSites().add(element);
+                    if(element.getElementType() == ElementType.FIELD) {
+                        Field field = (Field)element.getAnchor();
+                        if(Modifier.isPublic(field.getModifiers())) {
+                            instanceFactoryProvider.getInjectionSites().add(element);
+                        } else if(field.getAnnotation(org.osoa.sca.annotations.Reference.class) != null) {
+                            instanceFactoryProvider.getInjectionSites().add(element);
+                        }
+                    } else {
+                        instanceFactoryProvider.getInjectionSites().add(element);
+                    }
                 }
                 ComponentReference componentReference = null;
                 List<RuntimeWire> wireList = null;



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