You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2009/10/15 22:53:21 UTC
svn commit: r825650 - in /tuscany/java/sca/modules/implementation-java/src:
main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/
test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/
Author: antelder
Date: Thu Oct 15 20:53:21 2009
New Revision: 825650
URL: http://svn.apache.org/viewvc?rev=825650&view=rev
Log:
Fix JCA900011 - @Property on a constructor must not have requoired=false
Modified:
tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java
tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/TestAbstractPropertyProcessorTestCase.java
Modified: tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java?rev=825650&r1=825649&r2=825650&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java Thu Oct 15 20:53:21 2009
@@ -174,6 +174,10 @@
if ("".equals(name)) {
name = parameter.getName();
}
+
+ if (!getRequired(annotation)) {
+ throw new InvalidPropertyException("JCA_90014 Constructor property must not have required=false: " + type.getName());
+ }
JavaElementImpl prop = properties.get(name);
// Setter override field
@@ -192,6 +196,7 @@
}
protected abstract String getName(A annotation);
+ protected abstract boolean getRequired(A annotation);
protected abstract void initProperty(Property property, A annotation) throws IntrospectionException;
Modified: tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java?rev=825650&r1=825649&r2=825650&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java Thu Oct 15 20:53:21 2009
@@ -43,4 +43,8 @@
property.setMustSupply(annotation.required());
}
+ @Override
+ protected boolean getRequired(Property annotation) {
+ return annotation.required();
+ }
}
Modified: tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/TestAbstractPropertyProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/TestAbstractPropertyProcessorTestCase.java?rev=825650&r1=825649&r2=825650&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/TestAbstractPropertyProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/TestAbstractPropertyProcessorTestCase.java Thu Oct 15 20:53:21 2009
@@ -142,6 +142,11 @@
protected String getName(Bar annotation) {
return "test";
}
+
+ @Override
+ protected boolean getRequired(Bar annotation) {
+ return true;
+ }
}
private static class Foo {