They are both 2.2.8. I tested with 1.7.2 and 7.0.0-SNAPSHOT.

With 1.7.2 I added the dependency with test scope to replace 2.1.17. With
7.0.0-SNAPSHOT I let it pull 2.2.8 automatically.

I checked with Eclipse dependency hierarchy tool to see if there was
another version.

I also tried 1.7.2 + MyFaces 2.2.9-SNAPSHOT.

The result was the same.

Can it be a bug?

2015-12-07 16:51 GMT-02:00 Romain Manni-Bucau <rmannibu...@gmail.com>:

> sounds like a conflict between jsf api and impl. If you use both api and
> impl of myfaces 2.2.8 then you cant get this exception.
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> <http://www.tomitribe.com>
>
> 2015-12-07 19:15 GMT+01:00 Felipe Jaekel <fkjae...@gmail.com>:
>
> > To start the FacesContext I added myfaces-test22 dependecy and
> > changed EjbContainerTest to extend AbstractViewControllerTestCase.
> >
> > With *@javax.faces.bean.ManagedBean + @javax.faces.bean.ViewScoped* it
> > works, but with *@javax.inject.Named + @javax.faces.view.ViewScoped* I'm
> > getting a *java.lang.ClassCastException:
> > javax.faces.component.UIViewRoot$ViewMap cannot be cast to
> > org.apache.myfaces.view.ViewScopeProxyMap*
> >
> > Any ideas?
> >
> > Thanks
> >
> >
> > *Stacktrace:*
> >
> > FAILED: gerarRelatorio on
> >
> >
> EjbContainerTest(br.com.tecnico.page.teleSuporte.RelatoriosSacwebControllerTest)
> > java.lang.ClassCastException: javax.faces.component.UIViewRoot$ViewMap
> > cannot be cast to org.apache.myfaces.view.ViewScopeProxyMap
> > at
> >
> >
> org.apache.myfaces.cdi.view.ViewScopeContextImpl.getCurrentViewScopeId(ViewScopeContextImpl.java:81)
> > at
> >
> >
> org.apache.myfaces.cdi.view.ViewScopeContextImpl.getContextualStorage(ViewScopeContextImpl.java:98)
> > at
> >
> >
> org.apache.myfaces.cdi.view.ViewScopeContextImpl.get(ViewScopeContextImpl.java:156)
> > at
> >
> >
> org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:46)
> > at
> >
> >
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:100)
> > at
> >
> >
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:70)
> > at
> >
> >
> br.com.tecnico.page.teleSuporte.RelatoriosSacwebController$$OwbNormalScopeProxy0.setFiltro(br/com/spdata/tecnico/page/teleSuporte/RelatoriosSacwebController.java)
> > at
> >
> >
> br.com.tecnico.page.teleSuporte.RelatoriosSacwebControllerTest.gerarRelatorio(RelatoriosSacwebControllerTest.java:27)
> > 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:606)
> > at
> >
> >
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
> > at org.testng.internal.Invoker.invokeMethod(Invoker.java:648)
> > at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:834)
> > at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1142)
> > at
> >
> >
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
> > at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
> > at org.testng.TestRunner.privateRun(TestRunner.java:771)
> > at org.testng.TestRunner.run(TestRunner.java:621)
> > at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
> > at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
> > at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
> > at org.testng.SuiteRunner.run(SuiteRunner.java:259)
> > at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> > at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> > at org.testng.TestNG.runSuitesSequentially(TestNG.java:1176)
> > at org.testng.TestNG.runSuitesLocally(TestNG.java:1101)
> > at org.testng.TestNG.run(TestNG.java:1009)
> > at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
> > at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
> > at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
> >
> >
> > 2015-12-05 18:58 GMT-02:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
> >
> > > Isnt it an "AbstractContext" so you can active getting it from bm?
> > > Le 5 déc. 2015 20:05, "Mark Struberg" <strub...@yahoo.de> a écrit :
> > >
> > > > ViewScope is _not_ part of the CDI spec. Thus ContextsService wont
> help
> > > > you here. This is only for OWB internal Contexts.
> > > >
> > > > You need to use the ‚owner‘ of the Context if you like control it’s
> > > > lifecycle.
> > > > This depends on whether you have
> > > >
> > > > @ManagedBean
> > > > @ViewScoped
> > > > (which would be a JSF managed ViewScoped bean) -> JSF
> > > >
> > > > or
> > > > @ViewScoped
> > > > managed by Apache Deltaspike.
> > > >
> > > > LieGrue,
> > > > strub
> > > >
> > > >
> > > >
> > > >
> > > > > Am 04.12.2015 um 11:53 schrieb Romain Manni-Bucau <
> > > rmannibu...@gmail.com
> > > > >:
> > > > >
> > > > > Hi
> > > > >
> > > > > sure, you just need to start/stop the context using
> > > > > WebBeansContext.current().getContextsService() then you have
> > start/stop
> > > > and
> > > > > you pass ViewScoped.class as scope type.
> > > > >
> > > > >
> > > > > Romain Manni-Bucau
> > > > > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > > > <http://rmannibucau.wordpress.com> | Github <
> > > > https://github.com/rmannibucau> |
> > > > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > > > > <http://www.tomitribe.com>
> > > > >
> > > > > 2015-12-04 11:37 GMT+01:00 Felipe Jaekel <fkjae...@gmail.com>:
> > > > >
> > > > >> Adding beans.xml to main/resources/META-INF solved the problem,
> > > thanks.
> > > > >>
> > > > >> Regular CDI scoped beans are working fine, but I would like also
> to
> > > > >> test javax.faces.view.ViewScoped beans.
> > > > >>
> > > > >> Is it possible?
> > > > >>
> > > > >>
> > > > >> javax.enterprise.context.ContextNotActiveException: WebBeans
> context
> > > > with
> > > > >> scope type annotation @ViewScoped does not exist within current
> > thread
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:330)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:88)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:70)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> br.com.tecnico.page.teleSuporte.RelatoriosSacwebController$$OwbNormalScopeProxy0.gerarRelatorio(br/com/tecnico/page/teleSuporte/RelatoriosSacwebController.java)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> br.com.tecnico.page.teleSuporte.RelatoriosSacwebControllerTest.gerarRelatorio(RelatoriosSacwebControllerTest.java:17)
> > > > >> 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:606)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
> > > > >> at org.testng.internal.Invoker.invokeMethod(Invoker.java:648)
> > > > >> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:834)
> > > > >> at
> org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1142)
> > > > >> at
> > > > >>
> > > > >>
> > > >
> > >
> >
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
> > > > >> at
> > org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
> > > > >> at org.testng.TestRunner.privateRun(TestRunner.java:771)
> > > > >> at org.testng.TestRunner.run(TestRunner.java:621)
> > > > >> at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
> > > > >> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
> > > > >> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
> > > > >> at org.testng.SuiteRunner.run(SuiteRunner.java:259)
> > > > >> at
> org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> > > > >> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> > > > >> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1176)
> > > > >> at org.testng.TestNG.runSuitesLocally(TestNG.java:1101)
> > > > >> at org.testng.TestNG.run(TestNG.java:1009)
> > > > >> at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
> > > > >> at
> org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
> > > > >> at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
> > > > >>
> > > > >>
> > > > >> 2015-12-03 17:52 GMT-02:00 Romain Manni-Bucau <
> > rmannibu...@gmail.com
> > > >:
> > > > >>
> > > > >>> Hi
> > > > >>>
> > > > >>> 2015-12-03 20:43 GMT+01:00 Felipe Jaekel <fkjae...@gmail.com>:
> > > > >>>
> > > > >>>> Hi,
> > > > >>>>
> > > > >>>> I believe this was already discussed on this list, but I didn't
> > > found
> > > > >> the
> > > > >>>> topic on google.
> > > > >>>>
> > > > >>>> I'm able to test EJBs using the EJBContainer as mentioned on
> TomEE
> > > > >>>> examples.
> > > > >>>>
> > > > >>>> But when I try to test a CDI bean I'm getting a
> > > > >>>> UnsatisfiedResolutionException.
> > > > >>>>
> > > > >>>> I tried to add a beans.xml to /src/test/resources/META-INF but
> no
> > > > >>> success.
> > > > >>>>
> > > > >>>>
> > > > >>> and in main/resources/META-INF as well?
> > > > >>>
> > > > >>>
> > > > >>>> Do I need DeltaSpike on this case?
> > > > >>>>
> > > > >>>>
> > > > >>> No worse case you can use ApplicationComposer
> > > > >>>
> > > > >>>
> > > > >>>> Thanks
> > > > >>>>
> > > > >>>>
> > > > >>>> INFORMAÇÕES - Existing thread singleton service in
> > SystemInstance():
> > > > >>>> org.apache.openejb.cdi.ThreadSingletonServiceImpl@4b4b25c8
> > > > >>>> INFORMAÇÕES - OpenWebBeans Container is starting...
> > > > >>>> INFORMAÇÕES - Adding OpenWebBeansPlugin : [CdiPlugin]
> > > > >>>> INFORMAÇÕES - Adding OpenWebBeansPlugin :
> [OpenWebBeansJsfPlugin]
> > > > >>>> GRAVE - CDI Beans module deployment failed
> > > > >>>> org.apache.webbeans.exception.inject.DeploymentException:
> > > > >>>> javax.enterprise.inject.UnsatisfiedResolutionException: Api type
> > > > >>>> [br.com.test.CdiBean] is not found with the qualifiers
> > > > >>>> Qualifiers: [@javax.enterprise.inject.Default()]
> > > > >>>> for injection into Field Injection Point, field name :  bean,
> Bean
> > > > >> Owner
> > > > >>> :
> > > > >>>> [CdiBeanTest, Name:null, WebBeans Type:MANAGED, API
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> Types:[java.lang.Object,br.com.test.EjbContainerTest,br.com.test.CdiBeanTest],
> > > > >>>>
> > > > >>
> > > >
> > Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
> > > > >>>> at
> > > > >>>
> > > org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:215)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:192)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:160)
> > > > >>>> at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:41)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:846)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:652)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:335)
> > > > >>>> at
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
> > > > >>>> at br.com.test.EjbContainerTest.setUp(EjbContainerTest.java:43)
> > > > >>>> 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:606)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
> > > > >>>> at
> > > > >>>
> > > org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
> > > > >>>> at
> > > org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
> > > > >>>> at
> > > org.testng.internal.Invoker.invokeConfigurations(Invoker.java:140)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170)
> > > > >>>> at
> > > org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)
> > > > >>>> at org.testng.TestRunner.privateRun(TestRunner.java:771)
> > > > >>>> at org.testng.TestRunner.run(TestRunner.java:621)
> > > > >>>> at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
> > > > >>>> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
> > > > >>>> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
> > > > >>>> at org.testng.SuiteRunner.run(SuiteRunner.java:259)
> > > > >>>> at
> > org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> > > > >>>> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> > > > >>>> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1176)
> > > > >>>> at org.testng.TestNG.runSuitesLocally(TestNG.java:1101)
> > > > >>>> at org.testng.TestNG.run(TestNG.java:1009)
> > > > >>>> at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
> > > > >>>> at
> > org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
> > > > >>>> at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
> > > > >>>> Caused by:
> javax.enterprise.inject.UnsatisfiedResolutionException:
> > > Api
> > > > >>> type
> > > > >>>> [br.com.test.CdiBean] is not found with the qualifiers
> > > > >>>> Qualifiers: [@javax.enterprise.inject.Default()]
> > > > >>>> for injection into Field Injection Point, field name :  bean,
> Bean
> > > > >> Owner
> > > > >>> :
> > > > >>>> [CdiBeanTest, Name:null, WebBeans Type:MANAGED, API
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> Types:[java.lang.Object,br.com.test.EjbContainerTest,br.com.test.CdiBeanTest],
> > > > >>>>
> > > > >>
> > > >
> > Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:60)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.container.InjectionResolver.checkInjectionPoint(InjectionResolver.java:195)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:960)
> > > > >>>> at
> > > > >>>>
> > > > >>
> > > >
> > org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:491)
> > > > >>>> at
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:422)
> > > > >>>> at
> > > > >>>
> > > org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:202)
> > > > >>>> ... 32 more
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> ----------------------------------------------------------------------------------------
> > > > >>>>
> > > > >>>> @Named
> > > > >>>> public class CdiBean
> > > > >>>> {
> > > > >>>> public double randomNumber()
> > > > >>>> {
> > > > >>>> return Math.random();
> > > > >>>> }
> > > > >>>> }
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> ----------------------------------------------------------------------------------------
> > > > >>>>
> > > > >>>> public class CdiBeanTest extends EjbContainerTest
> > > > >>>> {
> > > > >>>> //@Inject
> > > > >>>> //private StatelessEjb ejb;
> > > > >>>>
> > > > >>>> @Inject
> > > > >>>> private CdiBean bean;
> > > > >>>>
> > > > >>>> @Test
> > > > >>>> public void f()
> > > > >>>> {
> > > > >>>> //System.out.println(ejb.randomNumber());
> > > > >>>> System.out.println(bean.randomNumber());
> > > > >>>> }
> > > > >>>> }
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> ----------------------------------------------------------------------------------------
> > > > >>>>
> > > > >>>> public class EjbContainerTest
> > > > >>>> {
> > > > >>>> protected EJBContainer container;
> > > > >>>>
> > > > >>>> @BeforeClass
> > > > >>>> public void setUp() throws Exception
> > > > >>>> {
> > > > >>>> final Properties properties = new Properties();
> > > > >>>> properties.setProperty("openejb.embedded.remotable", "true");
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > >
> >
> properties.setProperty("openejb.autocreate.jta-datasource-from-non-jta-one",
> > > > >>>> "false");
> > > > >>>>
> > > > >>>>
> > > > >>>>                // dataSource setup ommited
> > > > >>>>
> > > > >>>> container = EJBContainer.createEJBContainer(properties);
> > > > >>>> }
> > > > >>>>
> > > > >>>> @BeforeMethod
> > > > >>>> public void inject() throws NamingException
> > > > >>>> {
> > > > >>>> if(container != null)
> > > > >>>> {
> > > > >>>> container.getContext().bind("inject", this);
> > > > >>>> }
> > > > >>>> }
> > > > >>>>
> > > > >>>> @AfterClass
> > > > >>>> public void close()
> > > > >>>> {
> > > > >>>> if(container != null)
> > > > >>>> {
> > > > >>>> container.close();
> > > > >>>> container = null;
> > > > >>>> }
> > > > >>>> }
> > > > >>>> }
> > > > >>>>
> > > > >>>
> > > > >>
> > > >
> > > >
> > >
> >
>

Reply via email to