Author: alien11689
Date: Tue Aug 30 06:08:20 2016
New Revision: 1758328

URL: http://svn.apache.org/viewvc?rev=1758328&view=rev
Log:
[ARIES-1602] Use @Produces via spi handler

Added:
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/javax/ProducesHandler.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanFromFactory.java
      - copied, changed from r1758278, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ProducedBean.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprintRegister.java
      - copied, changed from r1758278, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprinRegister.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java
      - copied, changed from r1757990, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder
      - copied, changed from r1757990, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
Removed:
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprinRegister.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ProducedBean.java
Modified:
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Extensions.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
    
aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/model/ContextTest.java

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Extensions.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Extensions.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Extensions.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Extensions.java
 Tue Aug 30 06:08:20 2016
@@ -18,10 +18,11 @@
  */
 package org.apache.aries.blueprint.plugin;
 
-import org.apache.aries.blueprint.plugin.spi.BeanFinder;
 import org.apache.aries.blueprint.plugin.spi.BeanAnnotationHandler;
+import org.apache.aries.blueprint.plugin.spi.BeanFinder;
 import org.apache.aries.blueprint.plugin.spi.CustomDependencyAnnotationHandler;
 import 
org.apache.aries.blueprint.plugin.spi.CustomFactoryMethodAnnotationHandler;
+import org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder;
 import org.apache.aries.blueprint.plugin.spi.FieldAnnotationHandler;
 import org.apache.aries.blueprint.plugin.spi.InjectLikeHandler;
 import org.apache.aries.blueprint.plugin.spi.MethodAnnotationHandler;
@@ -44,6 +45,7 @@ public class Extensions {
     public static final List<CustomDependencyAnnotationHandler<? extends 
Annotation>> customDependencyAnnotationHandlers = new ArrayList<>();
     public static final List<MethodAnnotationHandler<? extends Annotation>> 
methodAnnotationHandlers = new ArrayList<>();
     public static final List<FieldAnnotationHandler<? extends Annotation>> 
fieldAnnotationHandlers = new ArrayList<>();
+    public static final List<Class<? extends Annotation>> 
factoryMethodAnnotationClasses = new ArrayList<>();
 
     static {
         for (BeanFinder beanFinder : ServiceLoader.load(BeanFinder.class)) {
@@ -84,5 +86,9 @@ public class Extensions {
         for (FieldAnnotationHandler<? extends Annotation> 
fieldAnnotationHandler : ServiceLoader.load(FieldAnnotationHandler.class)) {
             fieldAnnotationHandlers.add(fieldAnnotationHandler);
         }
+
+        for (FactoryMethodFinder<? extends Annotation> factoryMethodFinder : 
ServiceLoader.load(FactoryMethodFinder.class)) {
+            factoryMethodAnnotationClasses.add((Class<? extends Annotation>) 
factoryMethodFinder.factoryMethodAnnotation());
+        }
     }
 }

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/Generator.java
 Tue Aug 30 06:08:20 2016
@@ -22,7 +22,7 @@ import org.apache.aries.blueprint.plugin
 import org.apache.aries.blueprint.plugin.model.ArgumentWriter;
 import org.apache.aries.blueprint.plugin.model.Bean;
 import org.apache.aries.blueprint.plugin.model.Context;
-import org.apache.aries.blueprint.plugin.model.ProducedBean;
+import org.apache.aries.blueprint.plugin.model.BeanFromFactory;
 import org.apache.aries.blueprint.plugin.model.Property;
 import org.apache.aries.blueprint.plugin.model.PropertyWriter;
 import org.apache.aries.blueprint.plugin.spi.BlueprintConfiguration;
@@ -103,8 +103,8 @@ public class Generator implements Proper
         for (Map.Entry<String, String> entry : attributes.entrySet()) {
             writer.writeAttribute(entry.getKey(), entry.getValue());
         }
-        if (bean instanceof ProducedBean) {
-            writeFactory((ProducedBean) bean);
+        if (bean instanceof BeanFromFactory) {
+            writeFactory((BeanFromFactory) bean);
         }
         writer.writeCharacters("\n");
 
@@ -115,7 +115,7 @@ public class Generator implements Proper
         }
     }
 
-    private void writeFactory(ProducedBean bean) throws XMLStreamException {
+    private void writeFactory(BeanFromFactory bean) throws XMLStreamException {
         writer.writeAttribute("factory-ref", bean.factoryBean.id);
         writer.writeAttribute("factory-method", bean.factoryMethod);
     }

Added: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/javax/ProducesHandler.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/javax/ProducesHandler.java?rev=1758328&view=auto
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/javax/ProducesHandler.java
 (added)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/javax/ProducesHandler.java
 Tue Aug 30 06:08:20 2016
@@ -0,0 +1,30 @@
+/**
+ * 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.aries.blueprint.plugin.javax;
+
+import org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder;
+
+import javax.enterprise.inject.Produces;
+
+public class ProducesHandler implements FactoryMethodFinder<Produces> {
+    @Override
+    public Class<Produces> factoryMethodAnnotation() {
+        return Produces.class;
+    }
+}

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
 Tue Aug 30 06:08:20 2016
@@ -70,10 +70,10 @@ public class Bean extends BeanRef implem
         handleMethodsAnnotation(introspector);
     }
 
-    public void resolve(BlueprinRegister blueprinRegister) {
-        resolveArguments(blueprinRegister);
-        resolveFields(blueprinRegister);
-        resolveMethods(blueprinRegister);
+    public void resolve(BlueprintRegister blueprintRegister) {
+        resolveArguments(blueprintRegister);
+        resolveFields(blueprintRegister);
+        resolveMethods(blueprintRegister);
     }
 
     private void handleMethodsAnnotation(Introspector introspector) {
@@ -117,16 +117,16 @@ public class Bean extends BeanRef implem
     }
 
 
-    private void resolveMethods(BlueprinRegister blueprinRegister) {
+    private void resolveMethods(BlueprintRegister blueprintRegister) {
         for (Method method : new 
Introspector(clazz).methodsWith(AnnotationHelper.injectDependencyAnnotations)) {
-            Property prop = Property.create(blueprinRegister, method);
+            Property prop = Property.create(blueprintRegister, method);
             if (prop != null) {
                 properties.add(prop);
             }
         }
     }
 
-    private void resolveFields(BlueprinRegister matcher) {
+    private void resolveFields(BlueprintRegister matcher) {
         for (Field field : new 
Introspector(clazz).fieldsWith(AnnotationHelper.injectDependencyAnnotations)) {
             Property prop = Property.create(matcher, field);
             if (prop != null) {
@@ -135,7 +135,7 @@ public class Bean extends BeanRef implem
         }
     }
 
-    protected void resolveArguments(BlueprinRegister matcher) {
+    protected void resolveArguments(BlueprintRegister matcher) {
         Constructor<?>[] declaredConstructors = 
clazz.getDeclaredConstructors();
         for (Constructor constructor : declaredConstructors) {
             if (declaredConstructors.length == 1 || shouldInject(constructor)) 
{
@@ -154,7 +154,7 @@ public class Bean extends BeanRef implem
         return false;
     }
 
-    protected void resolveArguments(BlueprinRegister blueprinRegister, Class[] 
parameterTypes, Annotation[][] parameterAnnotations) {
+    protected void resolveArguments(BlueprintRegister blueprintRegister, 
Class[] parameterTypes, Annotation[][] parameterAnnotations) {
         for (int i = 0; i < parameterTypes.length; ++i) {
             Annotation[] annotations = parameterAnnotations[i];
             String value = findValue(annotations);
@@ -163,7 +163,7 @@ public class Bean extends BeanRef implem
             for (CustomDependencyAnnotationHandler 
customDependencyAnnotationHandler : 
Extensions.customDependencyAnnotationHandlers) {
                 Annotation annotation = (Annotation) 
AnnotationHelper.findAnnotation(annotations, 
customDependencyAnnotationHandler.getAnnotation());
                 if (annotation != null) {
-                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(parameterTypes[i], 
annotation, ref, blueprinRegister);
+                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(parameterTypes[i], 
annotation, ref, blueprintRegister);
                     if (generatedRef != null) {
                         ref = generatedRef;
                         break;
@@ -174,7 +174,7 @@ public class Bean extends BeanRef implem
             if (ref == null && value == null) {
                 BeanRef template = new BeanRef(parameterTypes[i]);
                 template.setQualifiersFromAnnotations(annotations);
-                BeanRef bean = blueprinRegister.getMatching(template);
+                BeanRef bean = blueprintRegister.getMatching(template);
                 if (bean != null) {
                     ref = bean.id;
                 } else {

Copied: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanFromFactory.java
 (from r1758278, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ProducedBean.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanFromFactory.java?p2=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanFromFactory.java&p1=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ProducedBean.java&r1=1758278&r2=1758328&rev=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/ProducedBean.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanFromFactory.java
 Tue Aug 30 06:08:20 2016
@@ -25,16 +25,16 @@ import org.apache.aries.blueprint.plugin
 
 import java.lang.reflect.Method;
 
-public class ProducedBean extends Bean {
+public class BeanFromFactory extends Bean {
     public String factoryMethod;
     public BeanRef factoryBean;
     private Method producingMethod;
 
-    public ProducedBean(Class<?> clazz, BeanRef factoryBean, Method 
factoryMethod, ContextEnricher contextEnricher) {
+    public BeanFromFactory(Class<?> clazz, BeanRef factoryBean, Method 
factoryMethod, ContextEnricher contextEnricher) {
         this(clazz, null, factoryBean, factoryMethod, contextEnricher);
     }
 
-    public ProducedBean(Class<?> clazz, String id, BeanRef factoryBean, Method 
factoryMethod, ContextEnricher contextEnricher) {
+    public BeanFromFactory(Class<?> clazz, String id, BeanRef factoryBean, 
Method factoryMethod, ContextEnricher contextEnricher) {
         super(clazz, contextEnricher);
         if (id != null) {
             this.id = id;
@@ -59,7 +59,7 @@ public class ProducedBean extends Bean {
     }
 
     @Override
-    protected void resolveArguments(BlueprinRegister matcher) {
+    protected void resolveArguments(BlueprintRegister matcher) {
         resolveArguments(matcher, producingMethod.getParameterTypes(), 
producingMethod.getParameterAnnotations());
     }
 }

Copied: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprintRegister.java
 (from r1758278, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprinRegister.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprintRegister.java?p2=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprintRegister.java&p1=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprinRegister.java&r1=1758278&r2=1758328&rev=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprinRegister.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BlueprintRegister.java
 Tue Aug 30 06:08:20 2016
@@ -20,6 +20,6 @@ package org.apache.aries.blueprint.plugi
 
 import org.apache.aries.blueprint.plugin.spi.ContextEnricher;
 
-public interface BlueprinRegister extends ContextEnricher {
+public interface BlueprintRegister extends ContextEnricher {
     BeanRef getMatching(BeanRef template);
 }

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Context.java
 Tue Aug 30 06:08:20 2016
@@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.service.blueprint.container.BlueprintContainer;
 import org.osgi.service.blueprint.container.Converter;
 
-import javax.enterprise.inject.Produces;
+import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Collection;
@@ -37,7 +37,7 @@ import java.util.Map;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-public class Context implements BlueprinRegister, ContextEnricher {
+public class Context implements BlueprintRegister, ContextEnricher {
 
     SortedSet<BeanRef> reg = new TreeSet<BeanRef>();
     private final Map<String, XmlWriter> blueprintWriters = new HashMap<>();
@@ -70,34 +70,46 @@ public class Context implements Blueprin
         Bean bean = new Bean(clazz, this);
         reg.add(bean);
         reg.addAll(bean.refs);
-        addProducedBeans(bean);
+        addBeansFromFactories(bean);
     }
 
-    private void addProducedBeans(BeanRef factoryBean) {
+    private void addBeansFromFactories(BeanRef factoryBean) {
         for (Method method : factoryBean.clazz.getMethods()) {
-            Produces produces = method.getAnnotation(Produces.class);
+            if (!isFactoryMethod(method)) {
+                continue;
+            }
             String name = AnnotationHelper.findName(method.getAnnotations());
-            if (produces != null) {
-                Class<?> producedClass = method.getReturnType();
-                ProducedBean producedBean;
-                if (name != null) {
-                    producedBean = new ProducedBean(producedClass, name, 
factoryBean, method, this);
-                } else {
-                    producedBean = new ProducedBean(producedClass, 
factoryBean, method, this);
-                }
-                if (AnnotationHelper.findSingletons(method.getAnnotations())) {
-                    producedBean.setSingleton();
-                }
-                reg.add(producedBean);
-                for (CustomFactoryMethodAnnotationHandler 
customFactoryMethodAnnotationHandler : 
Extensions.customFactoryMethodAnnotationHandlers) {
-                    if 
(AnnotationHelper.findAnnotation(method.getAnnotations(), 
customFactoryMethodAnnotationHandler.getAnnotation()) != null) {
-                        
customFactoryMethodAnnotationHandler.handleFactoryMethodAnnotation(method, 
producedBean.id, this);
-                    }
+            Class<?> beanClass = method.getReturnType();
+            BeanFromFactory beanFromFactory;
+            if (name != null) {
+                beanFromFactory = new BeanFromFactory(beanClass, name, 
factoryBean, method, this);
+            } else {
+                beanFromFactory = new BeanFromFactory(beanClass, factoryBean, 
method, this);
+            }
+            if (AnnotationHelper.findSingletons(method.getAnnotations())) {
+                beanFromFactory.setSingleton();
+            }
+            reg.add(beanFromFactory);
+            for (CustomFactoryMethodAnnotationHandler 
customFactoryMethodAnnotationHandler : 
Extensions.customFactoryMethodAnnotationHandlers) {
+                if (AnnotationHelper.findAnnotation(method.getAnnotations(), 
customFactoryMethodAnnotationHandler.getAnnotation()) != null) {
+                    
customFactoryMethodAnnotationHandler.handleFactoryMethodAnnotation(method, 
beanFromFactory.id, this);
                 }
             }
         }
     }
 
+    private boolean isFactoryMethod(Method method) {
+        boolean isFactoryMethod = false;
+        for (Class<? extends Annotation> factoryMethodAnnotationClass : 
Extensions.factoryMethodAnnotationClasses) {
+            Annotation annotation = 
AnnotationHelper.findAnnotation(method.getAnnotations(), 
factoryMethodAnnotationClass);
+            if (annotation != null) {
+                isFactoryMethod = true;
+                break;
+            }
+        }
+        return isFactoryMethod;
+    }
+
     public void resolve() {
         for (Bean bean : getBeans()) {
             bean.resolve(this);

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
 Tue Aug 30 06:08:20 2016
@@ -40,7 +40,7 @@ public class Property implements Compara
         this.isField = isField;
     }
 
-    public static Property create(BlueprinRegister blueprinRegister, Field 
field) {
+    public static Property create(BlueprintRegister blueprintRegister, Field 
field) {
         if (needsInject(field)) {
             String value = AnnotationHelper.findValue(field.getAnnotations());
             if (value != null) {
@@ -50,7 +50,7 @@ public class Property implements Compara
             for (CustomDependencyAnnotationHandler 
customDependencyAnnotationHandler : 
Extensions.customDependencyAnnotationHandlers) {
                 Annotation annotation = (Annotation) 
AnnotationHelper.findAnnotation(field.getAnnotations(), 
customDependencyAnnotationHandler.getAnnotation());
                 if (annotation != null) {
-                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(field, ref, 
blueprinRegister);
+                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(field, ref, 
blueprintRegister);
                     if (generatedRef != null) {
                         ref = generatedRef;
                         break;
@@ -60,7 +60,7 @@ public class Property implements Compara
             if (ref != null) {
                 return new Property(field.getName(), ref, null, true);
             }
-            BeanRef matching = blueprinRegister.getMatching(new 
BeanRef(field));
+            BeanRef matching = blueprintRegister.getMatching(new 
BeanRef(field));
             ref = (matching == null) ? getDefaultRefName(field) : matching.id;
             return new Property(field.getName(), ref, null, true);
         } else {
@@ -69,7 +69,7 @@ public class Property implements Compara
         }
     }
 
-    public static Property create(BlueprinRegister blueprinRegister, Method 
method) {
+    public static Property create(BlueprintRegister blueprintRegister, Method 
method) {
         String propertyName = resolveProperty(method);
         if (propertyName == null) {
             return null;
@@ -88,7 +88,7 @@ public class Property implements Compara
             for (CustomDependencyAnnotationHandler 
customDependencyAnnotationHandler : 
Extensions.customDependencyAnnotationHandlers) {
                 Annotation annotation = (Annotation) 
AnnotationHelper.findAnnotation(method.getAnnotations(), 
customDependencyAnnotationHandler.getAnnotation());
                 if (annotation != null) {
-                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(method, ref, 
blueprinRegister);
+                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(method, ref, 
blueprintRegister);
                     if (generatedRef != null) {
                         ref = generatedRef;
                         break;
@@ -102,7 +102,7 @@ public class Property implements Compara
             for (CustomDependencyAnnotationHandler 
customDependencyAnnotationHandler : 
Extensions.customDependencyAnnotationHandlers) {
                 Annotation annotation = (Annotation) 
AnnotationHelper.findAnnotation(method.getParameterAnnotations()[0], 
customDependencyAnnotationHandler.getAnnotation());
                 if (annotation != null) {
-                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(method.getParameterTypes()[0],
 annotation, ref, blueprinRegister);
+                    String generatedRef = 
customDependencyAnnotationHandler.handleDependencyAnnotation(method.getParameterTypes()[0],
 annotation, ref, blueprintRegister);
                     if (generatedRef != null) {
                         ref = generatedRef;
                         break;
@@ -114,7 +114,7 @@ public class Property implements Compara
             }
 
             BeanRef beanRef = new BeanRef(method);
-            BeanRef matching = blueprinRegister.getMatching(beanRef);
+            BeanRef matching = blueprintRegister.getMatching(beanRef);
             ref = (matching == null) ? beanRef.id : matching.id;
             return new Property(propertyName, ref, null, false);
         }

Copied: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java
 (from r1757990, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java)
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java?p2=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java&p1=aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java&r1=1757990&r2=1758328&rev=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/BeanFinder.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/spi/FactoryMethodFinder.java
 Tue Aug 30 06:08:20 2016
@@ -6,9 +6,9 @@
  * 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
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * 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
@@ -20,8 +20,6 @@ package org.apache.aries.blueprint.plugi
 
 import java.lang.annotation.Annotation;
 
-public interface BeanFinder<A extends Annotation> {
-    Class<A> beanAnnotation();
-
-    boolean isSingleton();
+public interface FactoryMethodFinder<A extends Annotation> {
+    Class<A> factoryMethodAnnotation();
 }

Copied: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder
 (from r1757990, 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder)
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder?p2=aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder&p1=aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder&r1=1757990&r2=1758328&rev=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder
 Tue Aug 30 06:08:20 2016
@@ -15,6 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.aries.blueprint.plugin.spring.ComponentBeanFinder
-org.apache.aries.blueprint.plugin.javax.SingletonBeanFinder
-org.apache.aries.blueprint.plugin.javax.NamedBeanFinder
\ No newline at end of file
+org.apache.aries.blueprint.plugin.javax.ProducesHandler

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/model/ContextTest.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/model/ContextTest.java?rev=1758328&r1=1758327&r2=1758328&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/model/ContextTest.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/model/ContextTest.java
 Tue Aug 30 06:08:20 2016
@@ -86,7 +86,7 @@ public class ContextTest {
     public void testProduced() throws NoSuchFieldException, SecurityException {
         Context context = new Context(blueprintConfiguration, 
MyFactoryBean.class);
         context.resolve();
-        ProducedBean matching = (ProducedBean) context.getMatching(new 
BeanRef(MyProduced.class));
+        BeanFromFactory matching = (BeanFromFactory) context.getMatching(new 
BeanRef(MyProduced.class));
         Assert.assertEquals(MyProduced.class, matching.clazz);
         Assert.assertEquals("myFactoryBean", matching.factoryBean.id);
         Assert.assertEquals("create", matching.factoryMethod);


Reply via email to