Author: cschneider
Date: Thu Feb 5 15:04:55 2015
New Revision: 1657598
URL: http://svn.apache.org/r1657598
Log:
Extract decision if setter is skipped
Modified:
aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
Modified:
aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java?rev=1657598&r1=1657597&r2=1657598&view=diff
==============================================================================
---
aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
(original)
+++
aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
Thu Feb 5 15:04:55 2015
@@ -213,28 +213,7 @@ public class CmManagedProperties impleme
methods.addAll(Arrays.asList(bean.getClass().getDeclaredMethods()));
for (Method method : methods) {
if (method.getName().equals(setterName)) {
- if (method.getParameterTypes().length == 0) {
- LOGGER.debug("Setter takes no parameters: {}",
method);
- continue;
- }
- if (method.getParameterTypes().length > 1) {
- LOGGER.debug("Setter takes more than one
parameter: {}", method);
- continue;
- }
- if (method.getReturnType() != Void.TYPE) {
- LOGGER.debug("Setter returns a value: {}",
method);
- continue;
- }
- if (Modifier.isAbstract(method.getModifiers())) {
- LOGGER.debug("Setter is abstract: {}", method);
- continue;
- }
- if (!Modifier.isPublic(method.getModifiers())) {
- LOGGER.debug("Setter is not public: {}",
method);
- continue;
- }
- if (Modifier.isStatic(method.getModifiers())) {
- LOGGER.debug("Setter is static: {}", method);
+ if (shouldSkip(method)) {
continue;
}
Class methodParameterType =
method.getParameterTypes()[0];
@@ -284,6 +263,29 @@ public class CmManagedProperties impleme
}
}
+ private boolean shouldSkip(Method method) {
+ String msg = null;
+ if (method.getParameterTypes().length == 0) {
+ msg = "takes no parameters";
+ } else if (method.getParameterTypes().length > 1) {
+ msg = "takes more than one parameter";
+ } else if (method.getReturnType() != Void.TYPE) {
+ msg = "returns a value";
+ } else if (Modifier.isAbstract(method.getModifiers())) {
+ msg = "is abstract";
+ } else if (!Modifier.isPublic(method.getModifiers())) {
+ msg = "is not public";
+ } else if (Modifier.isStatic(method.getModifiers())) {
+ msg = "is static";
+ }
+ if (msg != null) {
+ LOGGER.debug("Skipping setter {} because it " + msg, method);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
private static Throwable getRealCause(Throwable t) {
if (t instanceof InvocationTargetException && t.getCause() != null) {
return t.getCause();