Alias service dependancy fails when using injection while adding TypeCoercer
----------------------------------------------------------------------------

                 Key: TAPESTRY-1558
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1558
             Project: Tapestry
          Issue Type: Bug
          Components: Core Components
    Affects Versions: 5.0.5
         Environment: windows XP, jetty 5
            Reporter: Davor Hrg


adding a contribution like this fails:
public static void contributeTypeCoercer(Configuration<CoercionTuple> 
configuration, final Session  session)

works with following:
public static void contributeTypeCoercer(Configuration<CoercionTuple> 
configuration,@InjectService("Session") final Session  session)

the issue is new in 5.0.5-SNAPSHOT
the version is built localy from latest svn source

it seems to be related to: TAPESTRY-1425


exception follows:

15:22:00.546 ERROR! [main] 
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:64)
 >50> Construction of service TypeCoercer failed: Error invoking constructor 
org.apache.tapestry.ioc.internal.services.TypeCoercerImpl(Collection) (at 
TypeCoercerImpl.java:101) (for service 'TypeCoercer'): Error invoking service 
contribution method 
hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, Session): 
Exception constructing service 'Alias': Construction of service 'Alias' has 
failed due to recursion: the service depends on itself in some way. Please 
check org.apache.tapestry.services.TapestryModule.build(Log, String, 
AliasManager, Collection) (at TapestryModule.java:255) for references to 
another service that is itself dependent on service 'Alias'.
java.lang.RuntimeException: Error invoking constructor 
org.apache.tapestry.ioc.internal.services.TypeCoercerImpl(Collection) (at 
TypeCoercerImpl.java:101) (for service 'TypeCoercer'): Error invoking service 
contribution method 
hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, Session): 
Exception constructing service 'Alias': Construction of service 'Alias' has 
failed due to recursion: the service depends on itself in some way. Please 
check org.apache.tapestry.services.TapestryModule.build(Log, String, 
AliasManager, Collection) (at TapestryModule.java:255) for references to 
another service that is itself dependent on service 'Alias'.
        at 
org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:65)
        at 
org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
        at 
org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
        at 
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
        at 
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
        at $TypeCoercer_1131af2b520._delegate($TypeCoercer_1131af2b520.java)
        at $TypeCoercer_1131af2b520.coerce($TypeCoercer_1131af2b520.java)
        at 
org.apache.tapestry.ioc.internal.services.SymbolObjectProvider.provide(SymbolObjectProvider.java:53)
        at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
        at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
        at 
org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:226)
        at 
org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:68)
        at 
org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
        at 
org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
        at 
org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
        at 
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
        at 
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
        at $Alias_1131af2b521._delegate($Alias_1131af2b521.java)
        at $Alias_1131af2b521.getObjectProvider($Alias_1131af2b521.java)
        at 
org.apache.tapestry.services.TapestryModule$2.provide(TapestryModule.java:631)
        at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
        at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
        at 
org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
        at 
org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
        at 
org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
        at 
org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
        at 
org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:60)
        at 
org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
        at 
org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
        at 
org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
        at 
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
        at 
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
        at 
$ServletApplicationInitializer_1131af2b51d._delegate($ServletApplicationInitializer_1131af2b51d.java)
        at 
$ServletApplicationInitializer_1131af2b51d.initializeApplication($ServletApplicationInitializer_1131af2b51d.java)
        at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
        at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
        at 
org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
        at 
org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
        at org.mortbay.util.Container.start(Container.java:72)
        at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
        at org.mortbay.util.Container.start(Container.java:72)
        at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
        at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
        at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: java.lang.RuntimeException: Error invoking service contribution 
method hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, 
Session): Exception constructing service 'Alias': Construction of service 
'Alias' has failed due to recursion: the service depends on itself in some way. 
Please check org.apache.tapestry.services.TapestryModule.build(Log, String, 
AliasManager, Collection) (at TapestryModule.java:255) for references to 
another service that is itself dependent on service 'Alias'.
        at 
org.apache.tapestry.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:112)
        at 
org.apache.tapestry.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:61)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.addToUnorderedConfiguration(RegistryImpl.java:406)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getUnorderedConfiguration(RegistryImpl.java:288)
        at 
org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getUnorderedConfiguration(ServiceResourcesImpl.java:74)
        at 
org.apache.tapestry.ioc.internal.AbstractServiceCreator.addUnorderedConfigurationParameter(AbstractServiceCreator.java:145)
        at 
org.apache.tapestry.ioc.internal.AbstractServiceCreator.getParameterDefaultsWithConfiguration(AbstractServiceCreator.java:109)
        at 
org.apache.tapestry.ioc.internal.ConstructorServiceCreator.getParameterDefaultsWithConfigurations(ConstructorServiceCreator.java:77)
        at 
org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:46)
        ... 52 more
Caused by: java.lang.RuntimeException: Exception constructing service 'Alias': 
Construction of service 'Alias' has failed due to recursion: the service 
depends on itself in some way. Please check 
org.apache.tapestry.services.TapestryModule.build(Log, String, AliasManager, 
Collection) (at TapestryModule.java:255) for references to another service that 
is itself dependent on service 'Alias'.
        at 
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
        at $Alias_1131af2b521._delegate($Alias_1131af2b521.java)
        at $Alias_1131af2b521.getObjectProvider($Alias_1131af2b521.java)
        at 
org.apache.tapestry.services.TapestryModule$2.provide(TapestryModule.java:631)
        at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
        at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
        at 
org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
        at 
org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
        at 
org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:226)
        at 
org.apache.tapestry.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:95)
        ... 60 more
Caused by: java.lang.IllegalStateException: Construction of service 'Alias' has 
failed due to recursion: the service depends on itself in some way. Please 
check org.apache.tapestry.services.TapestryModule.build(Log, String, 
AliasManager, Collection) (at TapestryModule.java:255) for references to 
another service that is itself dependent on service 'Alias'.
        at 
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:52)
        at 
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
        ... 72 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to