From 49ebcc7d0da9250df065f0c3e8b9a8abe706b74d Mon Sep 17 00:00:00 2001 From: antelder Date: Mon, 5 Dec 2011 12:26:10 +0000 Subject: 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 --- .../java/introspect/impl/HeuristicPojoProcessor.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'sca-java-2.x/trunk/modules/implementation-java') 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)); + } } } } -- cgit v1.2.3