Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
Java-SCA-2.0-Beta1
-
None
-
All
Description
I was trying to deploy a composite which has component implementing a java implementation annotated with @Service which has the following field
@Service(TestOasis.class)
public class TestOasisImpl implements TestOasis {
@DefaultHelperContext
protected HelperContext helperContext;
This is not a property as it clearly does not have a @Property annotation and hence the composite definition does not define this property. However, the validation is logging this as an error as follows
[Composite:
{http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: SDOSimpleServiceJavaSerOasis] - No type specified on component property: Component = SDOSimpleServiceJavaSerOasis Property = helperContext
This is coming from org.apache.tuscany.sca.builder.impl.ComponentBuilderImpl and the message ID is NoTypeForComponentProperty
This validation is too strict and we should ignore properties defined in Service class which are not annotated with @Property. The CI spec section 8.1 appears to confirm to this deduction.