[ http://issues.apache.org/jira/browse/TUSCANY-219?page=all ]
     
Jim Marino closed TUSCANY-219:
------------------------------

    Resolution: Fixed

This was fixed as part of the implementation processor framework

> @Property on a setter method does not work
> ------------------------------------------
>
>          Key: TUSCANY-219
>          URL: http://issues.apache.org/jira/browse/TUSCANY-219
>      Project: Tuscany
>         Type: Bug

>   Components: Java SCA Core
>     Versions: 0.91
>     Reporter: Jean-Sebastien Delfino
>     Assignee: Jim Marino
>      Fix For: 0.91

>
> This is a significant problem as following the recommended practice for 
> JavaBean properties causes an exception.
> To reproduce the problem, modify 
> org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentImpl as 
> follows:
>     private String greetingMiddle;
>     
>     @Property
>     public void setGreetingMiddle(String greetingMiddle) {
>         this.greetingMiddle = greetingMiddle;
>     }
>     
>     public String getGreetingMiddle() {
>         return greetingMiddle;
>     }
> run mvn from helloworldmc.
> Here's the surefire report:
> -------------------------------------------------------------------------------
> Battery: 
> org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentTestCase
> -------------------------------------------------------------------------------
> Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 1.034 sec
> testGeetings(org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentTestCase)
>   Time elapsed: 1.008 sec  <<< ERROR!
> [ stdout ] ---------------------------------------------------------------
> [ stderr ] ---------------------------------------------------------------
> [ stacktrace ] -----------------------------------------------------------
> org.apache.tuscany.core.config.InvalidSetterException: public void 
> org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentImpl.setGreetingMiddle(java.lang.String)
>         at 
> org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector.addProperty(Java5ComponentTypeIntrospector.java:332)
>         at 
> org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector.introspectPublicMethods(Java5ComponentTypeIntrospector.java:288)
>         at 
> org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector.introspectAnnotatedMembers(Java5ComponentTypeIntrospector.java:201)
>         at 
> org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector.introspect(Java5ComponentTypeIntrospector.java:80)
>         at 
> org.apache.tuscany.container.java.loader.JavaImplementationLoader.loadComponentTypeByIntrospection(JavaImplementationLoader.java:119)
>         at 
> org.apache.tuscany.container.java.loader.JavaImplementationLoader.loadComponentType(JavaImplementationLoader.java:112)
>         at 
> org.apache.tuscany.container.java.loader.JavaImplementationLoader.load(JavaImplementationLoader.java:91)
>         at 
> org.apache.tuscany.container.java.loader.JavaImplementationLoader.load(JavaImplementationLoader.java:51)
>         at 
> org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl.load(StAXLoaderRegistryImpl.java:64)
>         at 
> org.apache.tuscany.core.loader.assembly.ComponentLoader.load(ComponentLoader.java:80)
>         at 
> org.apache.tuscany.core.loader.assembly.ComponentLoader.load(ComponentLoader.java:53)
>         at 
> org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl.load(StAXLoaderRegistryImpl.java:64)
>         at 
> org.apache.tuscany.core.loader.assembly.AggregateLoader.loadAggregate(AggregateLoader.java:43)
>         at 
> org.apache.tuscany.core.loader.assembly.ModuleLoader.load(ModuleLoader.java:39)
>         at 
> org.apache.tuscany.core.loader.assembly.ModuleLoader.load(ModuleLoader.java:32)
>         at 
> org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl.load(StAXLoaderRegistryImpl.java:64)
>         at 
> org.apache.tuscany.core.config.impl.StAXModuleComponentConfigurationLoaderImpl.loadModule(StAXModuleComponentConfigurationLoaderImpl.java:51)
>         at 
> org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:98)
>         at 
> org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:88)
>         at 
> org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:61)
>         at 
> org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:103)
>         at 
> org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:67)
>         at 
> org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentTestCase.testGeetings(HelloWorldServiceComponentTestCase.java:30)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at junit.framework.TestSuite.runTest(TestSuite.java:208)
>         at junit.framework.TestSuite.run(TestSuite.java:203)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to