svn commit: r1746854 - in /aries/trunk/blueprint/blueprint-maven-plugin/src: main/java/org/apache/aries/blueprint/plugin/model/ test/java/org/apache/aries/blueprint/plugin/

2016-06-04 Thread alien11689
Author: alien11689
Date: Sat Jun  4 22:05:02 2016
New Revision: 1746854

URL: http://svn.apache.org/viewvc?rev=1746854=rev
Log:
[ARIES-1562] Refactor after change

Modified:

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/BeanRef.java

aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/OsgiServiceRef.java

aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/GeneratorTest.java

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=1746854=1746853=1746854=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
 Sat Jun  4 22:05:02 2016
@@ -43,7 +43,7 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 public class Bean extends BeanRef {
-public String initMethod;
+public final String initMethod;
 public String destroyMethod;
 public SortedSet properties = new TreeSet<>();
 public List constructorArguments = new ArrayList<>();
@@ -57,45 +57,65 @@ public class Bean extends BeanRef {
 super(clazz, BeanRef.getBeanName(clazz));
 Introspector introspector = new Introspector(clazz);
 
-// Init method
-Method initMethod = introspector.methodWith(PostConstruct.class);
-if (initMethod != null) {
-this.initMethod = initMethod.getName();
-}
+initMethod = findMethodAnnotatedWith(introspector, 
PostConstruct.class);
+destroyMethod = findMethodAnnotatedWith(introspector, 
PreDestroy.class);
 
-// Destroy method
-Method destroyMethod = introspector.methodWith(PreDestroy.class);
-if (destroyMethod != null) {
-this.destroyMethod = destroyMethod.getName();
-}
+interpretTransactionalMethods(clazz);
 
-// Transactional methods
-transactionDefs.addAll(new JavaxTransactionFactory().create(clazz));
-transactionDefs.addAll(new SpringTransactionFactory().create(clazz));
 this.isPrototype = isPrototype(clazz);
-this.persistenceFields = 
introspector.fieldsWith(PersistenceContext.class, PersistenceUnit.class);
+this.persistenceFields = findPersistenceFields(introspector);
+
 setQualifiersFromAnnotations(clazz.getAnnotations());
 
+interpretServiceProvider();
+}
+
+private void interpretServiceProvider() {
 ServiceProvider serviceProvider = ServiceProvider.fromBean(this);
-if(serviceProvider != null){
+if (serviceProvider != null) {
 serviceProviders.add(serviceProvider);
 }
 }
 
+private List findPersistenceFields(Introspector introspector) {
+return introspector.fieldsWith(PersistenceContext.class, 
PersistenceUnit.class);
+}
+
+private void interpretTransactionalMethods(Class clazz) {
+transactionDefs.addAll(new JavaxTransactionFactory().create(clazz));
+transactionDefs.addAll(new SpringTransactionFactory().create(clazz));
+}
+
+private String findMethodAnnotatedWith(Introspector introspector, Class annotation) {
+Method initMethod = introspector.methodWith(annotation);
+if (initMethod == null) {
+return null;
+}
+return initMethod.getName();
+}
+
 private boolean isPrototype(Class clazz) {
 return clazz.getAnnotation(Singleton.class) == null && 
clazz.getAnnotation(Component.class) == null;
 }
 
 public void resolve(Matcher matcher) {
 resolveArguments(matcher);
-for (Field field : new Introspector(clazz).fieldsWith(Value.class, 
Autowired.class, Inject.class)) {
-Property prop = Property.create(matcher, field);
+resolveFiields(matcher);
+resolveMethods(matcher);
+}
+
+private void resolveMethods(Matcher matcher) {
+for (Method method : new Introspector(clazz).methodsWith(Value.class, 
Autowired.class, Inject.class)) {
+Property prop = Property.create(matcher, method);
 if (prop != null) {
 properties.add(prop);
 }
 }
-for (Method method : new Introspector(clazz).methodsWith(Value.class, 
Autowired.class, Inject.class)) {
-Property prop = Property.create(matcher, method);
+}
+
+private void resolveFiields(Matcher matcher) {
+for (Field field : new 

svn commit: r1746848 - in /aries/trunk/blueprint/blueprint-maven-plugin/src: main/java/org/apache/aries/blueprint/plugin/model/ test/java/org/apache/aries/blueprint/plugin/ test/java/org/apache/aries/

2016-06-04 Thread alien11689
Author: alien11689
Date: Sat Jun  4 19:46:45 2016
New Revision: 1746848

URL: http://svn.apache.org/viewvc?rev=1746848=rev
Log:
[ARIES-1562] Allow for setter injection

Added:

aries/trunk/blueprint/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithSetters.java
Modified:

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/BeanRef.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/Introspector.java

aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/OsgiServiceRef.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/GeneratorTest.java

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=1746848=1746847=1746848=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
 Sat Jun  4 19:46:45 2016
@@ -94,6 +94,12 @@ public class Bean extends BeanRef {
 properties.add(prop);
 }
 }
+for (Method method : new Introspector(clazz).methodsWith(Value.class, 
Autowired.class, Inject.class)) {
+Property prop = Property.create(matcher, method);
+if (prop != null) {
+properties.add(prop);
+}
+}
 }
 
 protected void resolveArguments(Matcher matcher) {

Modified: 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java?rev=1746848=1746847=1746848=diff
==
--- 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/BeanRef.java
 Sat Jun  4 19:46:45 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
- * 
+ * 
  * 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
@@ -24,6 +24,7 @@ import javax.inject.Named;
 import javax.inject.Qualifier;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -50,6 +51,16 @@ public class BeanRef implements Comparab
 setQualifiersFromAnnotations(annotations);
 }
 
+public BeanRef(Method method) {
+this(method.getParameterTypes()[0]);
+Annotation[] annotations = method.getAnnotations();
+setQualifiersFromAnnotations(annotations);
+Named named = method.getAnnotation(Named.class);
+if (named != null) {
+id = named.value();
+}
+}
+
 protected void setQualifiersFromAnnotations(Annotation[] annotations) {
 for (Annotation ann : annotations) {
 if (isQualifier(ann) != null) {
@@ -81,6 +92,9 @@ public class BeanRef implements Comparab
 
 public boolean matches(BeanRef template) {
 boolean assignable = template.clazz.isAssignableFrom(this.clazz);
+if (template.id != null) {
+return template.id.equals(id);
+}
 return assignable && 
qualifiers.values().containsAll(template.qualifiers.values());
 }
 

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=1746848=1746847=1746848=diff
==
---