diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-12-05 12:26:10 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2011-12-05 12:26:10 +0000 |
commit | 49ebcc7d0da9250df065f0c3e8b9a8abe706b74d (patch) | |
tree | 8eedfbd79b7bd6cc7297b4c8226f7edbc786fddb /sca-java-2.x | |
parent | e0ebb0d6572598345f52c7d2d56cd28b50f69e99 (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')
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java | 13 |
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)); + } } } } |