Pefrect! No need to sign again :)

On Mon, Jun 20, 2011 at 12:54 AM, Ronald van Kuijk <rvkuijk@gmail.com> wrote:
Ok, thanks, this gives me (even) more confidence :-)

Nothing is checked in yet, since I used my clone for multiple issues. I'll send you a pull reqeust with just the changes for this issue  and create a jira issue for it as mentioned in the contribute part). Everything is on http://www.github.com/kukel

I signed the contributors agreement several years ago, from the time I contributed to the jBPM project. So that should still be around somewhere

Cheers,

Ronald


2011/6/20 Lincoln Baxter, III <lincolnbaxter@gmail.com>

Excellent. That's precisely the solution I was hoping for! Where did you put this? If you send a pull request, I can merge and include it!

Oh, also, please take a look at the contribution guide here before you push things up :) http://seamframework.org/Documentation/SeamForge#H-Contribute - for now it makes merging a lot simpler.

Thanks! Looking forward to seeing what you've done/are doing,
~Lincoln


On Sun, Jun 19, 2011 at 1:06 PM, Ronald van Kuijk <rvkuijk@gmail.com> wrote:
The solutions I currently have is identical to what is done for the seam render test (including the BeanManagerCaptuireExtension ) with one difference. The forge Startup event was to late, and the AfterBeanDiscovery did not work. So I introduced a PreStartup event (could have been 'PostWeldInitialize as well) that did the trick. So I'm not sure this is te solution you want and since it seams not that complicated (certainly now with the knowledge you guys have about this) I'll leave the real solution up to you.

After that a small template resolving error occured but that was solved by removing the '' from my include name. So

@include{'rfc.mv'} became @include{rfc.mv}

But... it works and that is the most important thing



2011/6/17 Ronald van Kuijk <rvkuijk@gmail.com>
Ah, ok. I was already looking in this direction after creating a
testclass that eventually demonstrated the same problem and seeing the
test case in seam-render. I'll try this myself (some experience withe
the seam2 core, not the weld internals) over the weekend and get back
to you after that. Have a good conference.

Cheers,

Ronald

2011/6/17, Lincoln Baxter, III <lincolnbaxter@gmail.com>:
> Ahhh, yes. I know why this is happening. We need to register a custom
> BeanManagerProvider with the ServiceProvider API. I'll take a look at this
> as soon as possible. But it might be a few days since I am getting ready for
> a conference.
>
> If you wanted to try to do this yourself, in a @Singleton or
> @ApplicationScoped bean, we can implement the BeanManagerLocator interface
> and register it. In order to obtain an instance of the BeanManager, we'd
> need a class like this:
>
> It would have to be registered by creating a service file. This file needs
> to contain the fully qualified class name of the provider, for instance:
>
> -------------------------------------------------
> *
> src/main/resources/META-INF/services/org.jboss.seam.solder.beanManager.BeanManagerProvider
> *
> org.jboss.seam.forge.shell.ObserverBeanManagerLocator
>
> -------------------------------------------------
> public class ObserverBeanManagerLocator implements BeanManagerProvider
> {
>   private BeanManager manager;
>
>   public void onStartup(@Observes Startup event, BeanManager manager)
>   {
>      this.manager = manager;
>   }
>
>   public BeanManager getBeanManager()
>   {
>      return manager;
>   }
>
> }
> -------------------------------------------------
>
> On Thu, Jun 16, 2011 at 7:27 PM, Ronald van Kuijk <rvkuijk@gmail.com> wrote:
>
>> I'm making nice progress with extending the scaffolding of webpages from
>> entities. To keep the different pages for different JSF component
>> frameworks
>> as short as possible I'm thinking of working with mvel/seam-render
>> @include
>> templates.
>>
>> Just adding a small line like
>>
>> @include{'rf-colum.mv'}
>>
>> results in the error below when starting seam-forge
>>
>> It does not even make a difference whether the file even exists or not.
>> I'm
>> not sure if this is a seam-render issue or a seam-forge issue, So therefor
>> I
>> post the question here. I have debugged the code and have seen that the
>> *BeanManagerProviders do indeed not give back a BeanManager.
>>
>> Any clues?
>>
>> Cheers,
>>
>> Ronald
>>
>> [ERROR] Failed to execute goal
>> org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli) on project
>> forge-distribution: An exception occured while executing the Java class.
>> [Error: Failed to locate BeanManager using any of these providers:
>> org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11),
>> org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
>> [ERROR] [Near : {... @include{'pf.mv'} ....}]
>> [ERROR] ^
>> [ERROR] [Line: 11, Column: 0]
>> [ERROR] -> [Help 1]
>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
>> goal org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli) on
>> project
>> forge-distribution: An exception occured while executing the Java class.
>> [Error: Failed to locate BeanManager using any of these providers:
>> org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11),
>> org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
>> [Near : {... @include{'pf.mv'} ....}]
>>                     ^
>> [Line: 11, Column: 0]
>>     at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
>>     at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>>     at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>>     at
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>>     at
>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>>     at
>> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>>     at
>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>>     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
>>     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>>     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534)
>>     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>>     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:616)
>>     at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>>     at
>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>>     at
>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>>     at
>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>> Caused by: org.apache.maven.plugin.MojoExecutionException: An exception
>> occured while executing the Java class. [Error: Failed to locate
>> BeanManager
>> using any of these providers:
>> org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11),
>> org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
>> [Near : {... @include{'pf.mv'} ....}]
>>                     ^
>> [Line: 11, Column: 0]
>>     at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:338)
>>     at
>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
>>     at
>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>>     ... 19 more
>> Caused by: [Error: Failed to locate BeanManager using any of these
>> providers:
>> org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11),
>> org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)]
>> [Near : {... @include{'pf.mv'} ....}]
>>                     ^
>> [Line: 11, Column: 0]
>>     at
>> org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileFrom(CustomTemplateCompiler.java:295)
>>     at
>> org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compile(CustomTemplateCompiler.java:88)
>>     at
>> org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileTemplate(CustomTemplateCompiler.java:493)
>>     at
>> org.jboss.seam.render.template.CompiledTemplateResource.<init>(CompiledTemplateResource.java:99)
>>     at
>> org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:140)
>>     at
>> org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:129)
>>     at
>> org.jboss.seam.render.TemplateCompiler.compile(TemplateCompiler.java:107)
>>     at
>> org.metawidget.forge.MetawidgetScaffold.<init>(MetawidgetScaffold.java:122)
>>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>>     at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>     at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
>>     at
>> org.jboss.weld.introspector.jlr.WeldConstructorImpl.newInstance(WeldConstructorImpl.java:239)
>>     at
>> org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:134)
>>     at
>> org.jboss.weld.bean.ManagedBean.createInstance(ManagedBean.java:385)
>>     at
>> org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.produce(ManagedBean.java:234)
>>     at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:338)
>>     at
>> org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:67)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:690)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:728)
>>     at
>> org.jboss.weld.bean.builtin.InstanceImpl.iterator(InstanceImpl.java:147)
>>     at
>> org.jboss.forge.project.services.FacetFactory.getFacets(FacetFactory.java:59)
>>     at
>> org.jboss.forge.project.services.ProjectFactory.registerFacets(ProjectFactory.java:184)
>>     at
>> org.jboss.forge.project.services.ProjectFactory.findProjectRecursively(ProjectFactory.java:129)
>>     at
>> org.jboss.forge.shell.project.ProjectInitializer.doInit(ProjectInitializer.java:87)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:616)
>>     at
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>     at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>     at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>     at
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>     at
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>     at
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>     at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:625)
>>     at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
>>     at
>> org.jboss.forge.shell.project.CurrentProject.setCurrentResource(CurrentProject.java:91)
>>     at org.jboss.forge.shell.ShellImpl.init(ShellImpl.java:317)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:616)
>>     at
>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>     at
>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>     at org.jboss.forge.shell.org
>> $jboss$weld$bean-classpath-ManagedBean-org$jboss$forge$shell$ShellImpl[@javax$enterprise$context$ApplicationScoped()]{org$jboss$forge$shell$ShellImpl$commandHolder[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$environment[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$fshRuntime[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$manager[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$parameters[@javax$inject$Inject()@org$jboss$weld$environment$se$bindings$Parameters()]$org$jboss$forge$shell$ShellImpl$postStartup[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$projectContext[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$promptTypeConverter[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$resourceFactory[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shellConfig[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shutdown[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$doShell(org$jboss$forge$shell$events$AcceptUserInput[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)])$org$jboss$forge$shell$ShellImpl$init(org$jboss$forge$shell$events$Startup[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],org$jboss$forge$shell$completer$PluginCommandCompleter)$org$jboss$forge$shell$ShellImpl$teardown(org$jboss$forge$shell$events$Shutdown[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],javax$enterprise$event$Event<org$jboss$forge$shell$events$PreShutdown>)$}_$$_WeldClientProxy.init(org$jboss$weld$bean-classpath-ManagedBean-org$jboss$forge$shell$ShellImpl[@javax$enterprise$context$ApplicationScoped()]{org$jboss$forge$shell$ShellImpl$commandHolder[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$environment[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$fshRuntime[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$manager[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$parameters[@javax$inject$Inject()@org$jboss$weld$environment$se$bindings$Parameters()]$org$jboss$forge$shell$ShellImpl$postStartup[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$projectContext[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$promptTypeConverter[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$resourceFactory[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shellConfig[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$shutdown[@javax$inject$Inject()]$org$jboss$forge$shell$ShellImpl$doShell(org$jboss$forge$shell$events$AcceptUserInput[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)])$org$jboss$forge$shell$ShellImpl$init(org$jboss$forge$shell$events$Startup[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],org$jboss$forge$shell$completer$PluginCommandCompleter)$org$jboss$forge$shell$ShellImpl$teardown(org$jboss$forge$shell$events$Shutdown[@javax$enterprise$event$Observes(during=IN_PROGRESS,notifyObserver=ALWAYS)],javax$enterprise$event$Event<org$jboss$forge$shell$events$PreShutdown>)$}_$$_WeldClientProxy.java)

>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:616)
>>     at
>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>     at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>     at
>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>     at
>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>     at
>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>     at
>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>     at
>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
>>     at
>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:632)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:619)
>>     at
>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:613)
>>     at org.jboss.forge.shell.Bootstrap$2.run(Bootstrap.java:92)
>>     at java.lang.Thread.run(Thread.java:636)
>> Caused by:
>> org.jboss.seam.solder.beanManager.BeanManagerUnavailableException: Failed
>> to
>> locate BeanManager using any of these providers:
>> org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11),
>> org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)
>>     at
>> org.jboss.seam.solder.beanManager.BeanManagerLocator.getBeanManager(BeanManagerLocator.java:91)
>>     at
>> org.jboss.seam.render.template.nodes.ContextualNode.init(ContextualNode.java:58)
>>     at
>> org.jboss.seam.render.template.nodes.ContextualNode.<init>(ContextualNode.java:40)
>>     at
>> org.jboss.seam.render.template.nodes.IncludeNode.<init>(IncludeNode.java:35)
>>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>>     at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>     at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
>>     at java.lang.Class.newInstance0(Class.java:372)
>>     at java.lang.Class.newInstance(Class.java:325)
>>     at
>> org.jboss.seam.render.template.compiler.CustomTemplateCompiler.compileFrom(CustomTemplateCompiler.java:257)
>>     ... 69 more
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.com
> http://scrumshark.com
> "Keep it Simple"
>


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev



_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"