You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by al...@apache.org on 2017/02/11 16:41:52 UTC
svn commit: r1782620 - in
/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model:
Argument.java Bean.java Property.java
Author: alien11689
Date: Sat Feb 11 16:41:52 2017
New Revision: 1782620
URL: http://svn.apache.org/viewvc?rev=1782620&view=rev
Log:
[REFACTOR] Clean code duplication in BMP
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Argument.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Argument.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Argument.java?rev=1782620&r1=1782619&r2=1782620&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Argument.java (original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Argument.java Sat Feb 11 16:41:52 2017
@@ -30,12 +30,20 @@ import static org.apache.aries.blueprint
import static org.apache.aries.blueprint.plugin.model.AnnotationHelper.findValue;
import static org.apache.aries.blueprint.plugin.model.NamingHelper.getBeanName;
-class Argument implements XmlWriter{
+class Argument implements XmlWriter {
private final String ref;
private final String value;
Argument(BlueprintRegistry blueprintRegistry, Class<?> argumentClass, Annotation[] annotations) {
- String value = findValue(annotations);
+ this.value = findValue(annotations);
+ if (value != null) {
+ ref = null;
+ return;
+ }
+ this.ref = findRef(blueprintRegistry, argumentClass, annotations);
+ }
+
+ private String findRef(BlueprintRegistry blueprintRegistry, Class<?> argumentClass, Annotation[] annotations) {
String ref = findName(annotations);
for (CustomDependencyAnnotationHandler customDependencyAnnotationHandler : Handlers.CUSTOM_DEPENDENCY_ANNOTATION_HANDLERS) {
@@ -49,22 +57,16 @@ class Argument implements XmlWriter{
}
}
- if (ref == null && value == null) {
+ if (ref == null) {
BeanTemplate template = new BeanTemplate(argumentClass, annotations);
BeanRef bean = blueprintRegistry.getMatching(template);
if (bean != null) {
ref = bean.id;
} else {
- String name = findName(annotations);
- if (name != null) {
- ref = name;
- } else {
- ref = getBeanName(argumentClass);
- }
+ ref = getBeanName(argumentClass);
}
}
- this.value = value;
- this.ref = ref;
+ return ref;
}
String getRef() {
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java?rev=1782620&r1=1782619&r2=1782620&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java (original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Bean.java Sat Feb 11 16:41:52 2017
@@ -22,7 +22,6 @@ import org.apache.aries.blueprint.plugin
import org.apache.aries.blueprint.plugin.spi.BeanAnnotationHandler;
import org.apache.aries.blueprint.plugin.spi.BeanEnricher;
import org.apache.aries.blueprint.plugin.spi.ContextEnricher;
-import org.apache.aries.blueprint.plugin.spi.CustomDependencyAnnotationHandler;
import org.apache.aries.blueprint.plugin.spi.FieldAnnotationHandler;
import org.apache.aries.blueprint.plugin.spi.InjectLikeHandler;
import org.apache.aries.blueprint.plugin.spi.MethodAnnotationHandler;
@@ -42,9 +41,7 @@ import java.util.Map;
import java.util.SortedSet;
import java.util.TreeSet;
-import static org.apache.aries.blueprint.plugin.model.AnnotationHelper.findName;
import static org.apache.aries.blueprint.plugin.model.AnnotationHelper.findSingleton;
-import static org.apache.aries.blueprint.plugin.model.AnnotationHelper.findValue;
import static org.apache.aries.blueprint.plugin.model.NamingHelper.getBeanName;
class Bean implements BeanEnricher, XmlWriter {
Modified: aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java?rev=1782620&r1=1782619&r2=1782620&view=diff
==============================================================================
--- aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java (original)
+++ aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/model/Property.java Sat Feb 11 16:41:52 2017
@@ -53,15 +53,9 @@ class Property implements Comparable<Pro
return new Property(field.getName(), null, value, true);
}
String ref = getForcedRefName(field);
- for (CustomDependencyAnnotationHandler customDependencyAnnotationHandler : Handlers.CUSTOM_DEPENDENCY_ANNOTATION_HANDLERS) {
- Annotation annotation = (Annotation) AnnotationHelper.findAnnotation(field.getAnnotations(), customDependencyAnnotationHandler.getAnnotation());
- if (annotation != null) {
- String generatedRef = customDependencyAnnotationHandler.handleDependencyAnnotation(field, ref, blueprintRegistry);
- if (generatedRef != null) {
- ref = generatedRef;
- break;
- }
- }
+ String refFromCustomeDependencyHandler = getRefFromCustomDependencyHandlers(blueprintRegistry, field, ref);
+ if (refFromCustomeDependencyHandler != null) {
+ ref = refFromCustomeDependencyHandler;
}
if (ref != null) {
return new Property(field.getName(), ref, null, true);
@@ -75,6 +69,19 @@ class Property implements Comparable<Pro
}
}
+ private static String getRefFromCustomDependencyHandlers(BlueprintRegistry blueprintRegistry, AnnotatedElement annotatedElement, String ref) {
+ for (CustomDependencyAnnotationHandler customDependencyAnnotationHandler : Handlers.CUSTOM_DEPENDENCY_ANNOTATION_HANDLERS) {
+ Annotation annotation = (Annotation) AnnotationHelper.findAnnotation(annotatedElement.getAnnotations(), customDependencyAnnotationHandler.getAnnotation());
+ if (annotation != null) {
+ String generatedRef = customDependencyAnnotationHandler.handleDependencyAnnotation(annotatedElement, ref, blueprintRegistry);
+ if (generatedRef != null) {
+ return generatedRef;
+ }
+ }
+ }
+ return null;
+ }
+
static Property create(BlueprintRegistry blueprintRegistry, Method method) {
String propertyName = resolveProperty(method);
if (propertyName == null) {
@@ -91,16 +98,11 @@ class Property implements Comparable<Pro
if (ref == null) {
ref = findName(method.getParameterAnnotations()[0]);
}
- for (CustomDependencyAnnotationHandler customDependencyAnnotationHandler : Handlers.CUSTOM_DEPENDENCY_ANNOTATION_HANDLERS) {
- Annotation annotation = (Annotation) AnnotationHelper.findAnnotation(method.getAnnotations(), customDependencyAnnotationHandler.getAnnotation());
- if (annotation != null) {
- String generatedRef = customDependencyAnnotationHandler.handleDependencyAnnotation(method, ref, blueprintRegistry);
- if (generatedRef != null) {
- ref = generatedRef;
- break;
- }
- }
+ String refFromCustomeDependencyHandler = getRefFromCustomDependencyHandlers(blueprintRegistry, method, ref);
+ if (refFromCustomeDependencyHandler != null) {
+ ref = refFromCustomeDependencyHandler;
}
+
if (ref != null) {
return new Property(propertyName, ref, null, false);
}