summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/implementation-java
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-12-05 12:26:10 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-12-05 12:26:10 +0000
commit49ebcc7d0da9250df065f0c3e8b9a8abe706b74d (patch)
tree8eedfbd79b7bd6cc7297b4c8226f7edbc786fddb /sca-java-2.x/trunk/modules/implementation-java
parente0ebb0d6572598345f52c7d2d56cd28b50f69e99 (diff)
TUSCANY-3965: Fix so that fields that are candidates for being properties but which have some annotation on them then are not used as properties
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1210426 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-java')
-rw-r--r--sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
index 19d3992781..ac92d7b802 100644
--- a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
+++ b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
@@ -162,6 +162,13 @@ public class HeuristicPojoProcessor extends BaseJavaClassVisitor {
return false;
}
+ private static boolean isAnnotated(AnnotatedElement element) {
+ for (Annotation a : element.getAnnotations()) {
+ return true;
+ }
+ return false;
+ }
+
private static boolean isSCAAnnotation(Annotation a) {
return a.annotationType().getName().startsWith("org.oasisopen.sca.annotation.");
}
@@ -261,8 +268,10 @@ public class HeuristicPojoProcessor extends BaseJavaClassVisitor {
}
} else {
if (!type.getPropertyMembers().containsKey(name)) {
- type.getProperties().add(createProperty(name, paramType, genericType));
- type.getPropertyMembers().put(name, new JavaElementImpl(field));
+ if (!isAnnotated(field)) { // if the field has an annotation then its not a property
+ type.getProperties().add(createProperty(name, paramType, genericType));
+ type.getPropertyMembers().put(name, new JavaElementImpl(field));
+ }
}
}
}