Right,

Git clone X && mvn test -> error
Le 10 mai 2013 22:04, "Chris.Christo" <[email protected]> a écrit :

> Thanks Romain, tried it but no luck :(
>
> What's the best way to share a sample so I know? I'm guessing some pre
> setup maven project on github or something in which you can git clone and
> mvn install?
>
>
>
>
> On 10 May 2013, at 20:42, Romain Manni-Bucau <[email protected]>
> wrote:
>
> > Maybe try adding ejb in @classes
> >
> > Sharing a sample for next week.can help too ;)
> > Le 10 mai 2013 20:41, "Chris.Christo" <[email protected]> a écrit :
> >
> >> 4.6.0-SNAPSHOT of the standalone
> >>
> >>
> >> On 10 May 2013, at 19:39, Romain Manni-Bucau <[email protected]>
> >> wrote:
> >>
> >>> Which version do you use?
> >>> Le 10 mai 2013 20:33, "Chris.Christo" <[email protected]> a
> écrit :
> >>>
> >>>> sorry, where on trunk?
> >>>>
> >>>> Regardless, I played around with this and managed to get it working.
> >>>>
> >>>> However I have stumbled on something a little strange.
> >>>>
> >>>> Basically when the exception mappers are defined at the @Config level,
> >> any
> >>>> @EJB's within the rest class, that is being tested, do not get
> injected.
> >>>>
> >>>> To explain a little better, here (on pastebin) we have to classes.
> They
> >>>> are practically identical except for where the ExceptionMapper classes
> >> are
> >>>> loaded, one at the @Config level and one within the @Module level
> >> defined
> >>>> on the EjbDeployment of the OpenejbJar.
> >>>>
> >>>> They both pass the test, which basically means that that the exception
> >>>> mapping was setup correctly. However the second class
> >>>> (ExceptionMapperAtConfigTest) passes on the basis that the service
> >> marked
> >>>> @EJB is not injected i.e null. So basically we want this test to fail.
> >>>>
> >>>> ExceptionMapperAtDeploymentTest: http://pastebin.com/aWQjjePD
> >>>>
> >>>> ExceptionMapperAtConfigTest: http://pastebin.com/GFcKYWzs
> >>>>
> >>>>
> >>>> On a side note, to have the exception mappers picked up at the @Config
> >>>> level, you have to have the '@Classes({ GoodExceptionMapper.class,
> >>>> BadExceptionMapper.class })' annotation defined on the method. I have
> no
> >>>> idea why??
> >>>>
> >>>>
> >>>>
> >>>> On 10 May 2013, at 17:35, Romain Manni-Bucau <[email protected]>
> >>>> wrote:
> >>>>
> >>>>> Hi
> >>>>>
> >>>>> on trunk it is set once by jaxrs application only which is far ore
> >> easier
> >>>>> to handle
> >>>>>
> >>>>> *Romain Manni-Bucau*
> >>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> >>>>> *Blog: **http://rmannibucau.wordpress.com/*<
> >>>> http://rmannibucau.wordpress.com/>
> >>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> >>>>> *Github: https://github.com/rmannibucau*
> >>>>>
> >>>>>
> >>>>>
> >>>>> 2013/5/10 Chris.Christo <[email protected]>
> >>>>>
> >>>>>> Hi
> >>>>>>
> >>>>>> Hey I was just wondering if I can set my exception mappers in the
> >>>>>> properties part of my test under the @Configuration, rather than
> >> having
> >>>> to
> >>>>>> apply an exception mapper to each EjbDeployment of the OpenejbJar.
> >>>>>>
> >>>>>> So right now I have something like this link:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>
> https://svn.apache.org/repos/asf/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CheckedExceptionMapperTest.java
> >>>>>>
> >>>>>> To pick out the specific point in the link:
> >>>>>>
> >>>>>> @Module
> >>>>>> @Classes({ ExampleExceptionMapper.class })
> >>>>>> public EjbModule module() {
> >>>>>>  final SingletonBean bean = new SingletonBean(ExampleRest.class);
> >>>>>>  bean.setRestService(true);
> >>>>>>
> >>>>>>  final EjbJar ejbJar = new EjbJar("beans");
> >>>>>>  ejbJar.addEnterpriseBean(bean);
> >>>>>>
> >>>>>>  final OpenejbJar openejbJar = new OpenejbJar();
> >>>>>>  openejbJar.addEjbDeployment(new EjbDeployment(bean));
> >>>>>>
> >>>>>>  final Properties properties =
> >>>>>> openejbJar.getEjbDeployment().iterator().next().getProperties();
> >>>>>>  properties.setProperty("cxf.jaxrs.providers",
> >>>>>>
> >>>>
> >>
> "org.apache.openejb.server.cxf.rs.CheckedExceptionMapperTest$ExampleExceptionMapper");
> >>>>>>
> >>>>>>  final EjbModule module = new EjbModule(ejbJar);
> >>>>>>  module.setOpenejbJar(openejbJar);
> >>>>>>
> >>>>>>  return module;
> >>>>>> }
> >>>>>>
> >>>>>> So here I define the exception mapper (ExampleExceptionMapper) on
> the
> >>>>>> properties of the specific EjbDeployment of the ExampleRest class in
> >> the
> >>>>>> OpenejbJar.
> >>>>>>
> >>>>>> Is there a way to just define it in the global properties with
> >>>>>> @Configuration? I've tried something like this to no avail:
> >>>>>>
> >>>>>> @Configuration
> >>>>>> public Properties config() {
> >>>>>>      final Properties props = new Properties();
> >>>>>>      ...
> >>>>>>      props.setProperty("openejb.cxf.jax-rs.providers",
> >>>>>> ExampleExceptionMapper.class.getName());
> >>>>>>      props.setProperty("openejb.jaxrs.providers.auto", "true");
> >>>>>>      ...
> >>>>>>      return props;
> >>>>>> }
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Thanks,
> >>>>>>
> >>>>>> Chris
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to